LogoLogo
ChangelogGitHubTwitterGitter
v2.x
v2.x
  • Introduction
  • Overview
    • Getting started
    • Effects
    • Routing
    • Middlewares
    • Error handling
    • How does it glue​ together?
  • Advanced
    • Context
    • Server events
    • Validation
    • Streaming
    • Output interceptor
  • WebSockets
    • Getting started
    • Effects
    • Middlewares
    • Error handling
    • Connections handling
  • API Reference
    • core
      • bindTo
      • createServer
      • combineRoutes
      • createContextToken
      • EffectFactory
      • r.pipe
      • httpListener
      • operator: matchEvent
      • operator: use
    • websockets
      • webSocketListener
      • operator: broadcast
      • operator: mapToServer
    • middleware-body
    • middleware-logger
    • middleware-io
    • middleware-jwt
      • Token signing
    • middleware-joi
    • middleware-cors
    • middleware-multipart
  • Other
    • Migration from version 1.x
    • Changelog
    • FAQ
Powered by GitBook
On this page
  • Importing
  • Type declaration
  • Example
  1. API Reference
  2. core

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);
  ],
});
PreviouscoreNextcreateServer

Last updated 6 years ago