rektide / async-get

Lookup the value by path of an object, asynchronously. Ala _.get.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

async-get

Lookup the value of an object by path, asynchronously. An async ______.get.

If you have an async function, use async-get to lookup anything you'd use out of input parameters!

Async-get is an async-ified version of Lodash's .get. All promises encountered during lookup will be awaited.

Example

Given a place object which is comprised of numerous promises,

const placeVi= Promise.resolve({
	country: "USA",
	state: "VI",
	population: Promise.resolve(123498)
})

One could look up population,

const population= await get(placeVi, ["population"])

while having the placeVi and population promises decompacted, resolved out for you.

In addition to resolving encountered values of the input object, promises encountered while recursing the pathArray are also handled:

const population2= await get(placeVi, Promise.resolve({population: Promise.resolve(123498)}))

And, finally, there is a third, optional parameter accepted, a defaultValue, which can be used:

const stateBird= await get(placeVi, ["bird"], Promise.resolve("unknown"))

About

Lookup the value by path of an object, asynchronously. Ala _.get.


Languages

Language:JavaScript 100.0%