bindTo

Binds injection token to dependency.

Importing

import { bindTo } from '@marblejs/core';

Type declaration

bindTo :: ContextToken -> ContextDependency -> BoundDependency

Example

Bind context token to basic types (eg. object):

import { reader, bindTo, createServer, createContextToken } from '@marblejs/core';
const config: Config = { /* ... */ };
const configReader = reader.map(() => config);
const Token = createContextToken<Config>();
// ----------------
createServer({
// ...
dependencies: [
bindTo(Token)(configReader),
],
});

Bind context token to injectable factory function:

import { reader, bindTo, createServer, createContextToken } from '@marblejs/core';
const fooReader = reader.map(ctx => {
const dependency = context.get(...);
// ...
};
const Token = createContextToken<Foo>();
// ----------------
createServer({
// ...
dependencies: [
bindTo(Token)(fooReader);
],
});