##// END OF EJS Templates
working on fluent configuration, di annotations removed
working on fluent configuration, di annotations removed

File last commit:

r134:511bcc634d65 ioc ts support
r134:511bcc634d65 ioc ts support
Show More
config.ts
23 lines | 866 B | video/mp2t | TypeScriptLexer
import { Services } from "./services";
import { configure } from "../di/traits";
import { LifetimeManager } from "../di/LifetimeManager";
export const config = configure<Services>()
.register("host", s => s.value("example.com"))
.register("bar2", bar2 => Promise.all([import("./Foo"), import("./Bar")])
.then(([{ Foo }, { Bar }]) => {
const lifetime = LifetimeManager.hierarchyLifetime();
bar2.factory((resolve, activate) => {
const bar = new Bar({
foo: activate(lifetime, () => new Foo()),
nested: {
lazy: resolve("foo", { lazy: true })
},
host: resolve("host")
}, "some text");
bar.setName(resolve("host"));
return bar;
});
})
);