di-tory
Version:
Compose applications with dependency injection
31 lines (30 loc) • 834 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.exit = exports.getStore = exports.run = exports.enter = exports.init = void 0;
const diAsyncStore = new WeakMap();
let asyncScopeApi = {
enter() { },
run: (fn) => fn(),
getStore: () => diAsyncStore,
exit() { },
};
const init = (api) => {
asyncScopeApi = api;
asyncScopeApi.enter();
};
exports.init = init;
const enter = () => asyncScopeApi.enter();
exports.enter = enter;
const run = (fn) => asyncScopeApi.run(fn);
exports.run = run;
const getStore = () => asyncScopeApi.getStore();
exports.getStore = getStore;
const exit = () => asyncScopeApi.exit();
exports.exit = exit;
exports.default = {
init: exports.init,
enter: exports.enter,
run: exports.run,
getStore: exports.getStore,
exit: exports.exit,
};