Cutie extension for creating objects with async arguments. It's based on the Async Tree Pattern.
npm install @cuties/created
npm test
npm run build
Let's say you have an object User
:
class User {
constructor (name, email) {
this.name = name
this.email = email
}
}
But in some cases you can get name
and email
only via async calls, so you need User
to have async arguments, but User
is not an async object. This lib provides the object Created
, which solves the problem.
const { Created } = require('@cuties/cutie')
const User = require('./User')
new Created(
User, new RetrievedSomehowUserName(), new RetrievedSomehowUserEmail()
).call()
And in this case Created
represents User
with properties from the specified async objects.
So, the signature of Created
is
new Created(ObjThatYouNeedToCreate, ...asyncArgsOfObjThatYouNeedToCreate)