nrgy
Version:
The library for reactive programming using efficient computing and MVC/MVVM patterns
34 lines (31 loc) • 917 B
JavaScript
import {
ControllerConstructorError
} from "./chunk-WLVNLWGT.js";
// src/ditox/withContainer.ts
var DITOX_EXTENSION_CONTAINER_KEY = "ditox.container";
function withContainer() {
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"
);
}
return { ...sourceContext, container };
};
}
function provideDependencyContainer(container) {
return (params) => {
setDependencyContainerToParams(params, container);
return params;
};
}
function setDependencyContainerToParams(params, container) {
params[DITOX_EXTENSION_CONTAINER_KEY] = container;
}
export {
DITOX_EXTENSION_CONTAINER_KEY,
withContainer,
provideDependencyContainer,
setDependencyContainerToParams
};