The custom resolve function is by its nature sync, that's what cuddlefish uses. For this to be async, this could cause things to get weird. If it's possible, the whole mapping process should just be done in a worker.