config.ts
32 lines
| 1.0 KiB
| video/mp2t
|
TypeScriptLexer
|
|
r124 | import { configure, dependency, Services, $type } from "./services"; | ||
|
|
r123 | import { Foo } from "./Foo"; | ||
| import { Bar } from "./Bar"; | ||||
|
|
r124 | import { Box } from "./Box"; | ||
|
|
r125 | import { ConfigBuilder, TypeBuilder } from "../di/fluent/interfaces"; | ||
|
|
r110 | |||
|
|
r125 | export declare function build<T>(): TypeBuilder<T, Services>; | ||
| export declare const config: ConfigBuilder<Services>; | ||||
| config | ||||
|
|
r126 | .register("bar", s => s | ||
| .wire(import("./Bar"), "service") | ||||
| .inject("setName", "heell") | ||||
| ) | ||||
| .register("box", s => s.wire(import("./Box"))) | ||||
|
|
r123 | .register("host", "example.com") | ||
|
|
r124 | // .registerType("bar2", Bar, [{ foo: dependency("foo"), host: "" }]); | ||
|
|
r125 | .register("bar2", s => s.type(Bar, | ||
|
|
r124 | { | ||
|
|
r125 | foo: build().type(Foo) | ||
|
|
r124 | .activate("context"), | ||
|
|
r125 | nested: { lazy: dependency("foo", {lazy: true}) }, | ||
| host: dependency("host") | ||||
|
|
r124 | }, | ||
| "") | ||||
|
|
r125 | .inject("setName", dependency("host")) | ||
|
|
r124 | ) | ||
|
|
r125 | .register("box", s => s | ||
| .type(Box, dependency("bar")) | ||||
| .activate("context") | ||||
| ); | ||||
|
|
r124 | |||
