Abstract
Readonly
Abstract
innerThis key determines the dependencies that will be passed to this.init()
.
Abstract
initGiven a provider of K or an error, return a provider of T or an error.
Resolves to a Promise of the target value, allowing a synchronous resource to depend on an asynchronous one.
Applicable when this
is a key that resolves to a function, for example
a SubcomponentDefinition or a FactoryKey.
Resolves to the output of the function when called with args.
class UserFactory extends FactoryKey(
(name: string, id: number) => new User(name, id),
) { private _: any }
container.inject({ user: UserFactory.Build(name, id) }, ({ user }) => {
console.log(user.name, user.id)
})
Rest
...args: ArgsPrevents dependency cycles on src from causing a compilation error.
Requests a function returning a lazily-computed value for this key.
Applies the given transform to the resolved value of this DependencyKey.
class IdNum extends TypeKey<number>() { private _: any }
class IdStr extends TypeKey({
default: IdNum.Map(id => id.toString()),
}) { private _: any }
Requests a value for this key if provided, otherwise undefined
.
Requests a function returning this key's output type.
Requests a value for this key, without compile-time verification of dependencies. An exception will be thrown if the dependency is not available upon request.
Static verification that this key can be resolved synchronously is still performed.
Generated using TypeDoc
A key that transforms a provider for K into a provider of T.
Not meant to be extended by library consumers. Instead, use the implementations provided in Inject.