UNPKG

nrgy

Version:

The library for reactive programming using efficient computing and MVC/MVVM patterns

39 lines (36 loc) 1.01 kB
import { DITOX_EXTENSION_CONTAINER_KEY, provideDependencyContainer, withContainer } from "./chunk-AJLPQIAO.js"; import { ControllerConstructorError } from "./chunk-WLVNLWGT.js"; import "./chunk-JYWBIFMU.js"; import "./chunk-6EESSQRU.js"; // src/ditox/withInjections.ts import { resolveValues } from "ditox"; function withInjections(tokens) { return (sourceContext, extensionParams) => { const container = extensionParams == null ? void 0 : extensionParams[DITOX_EXTENSION_CONTAINER_KEY]; if (!container) { throw new ControllerConstructorError( "Dependency injection container is not provided" ); } const deps = resolveValues(container, tokens)[0]; return { ...sourceContext, deps }; }; } // src/ditox/applyInjections.ts function applyInjections(controller) { return (container) => { return new controller([provideDependencyContainer(container)]); }; } export { applyInjections, provideDependencyContainer, withContainer, withInjections };