UNPKG

ts-ioc-container

Version:
18 lines (17 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asKey = exports.asAlias = exports.register = exports.getTransformers = exports.scope = void 0; const IContainer_1 = require("../container/IContainer"); const metadata_1 = require("../metadata"); const ProviderPipe_1 = require("../provider/ProviderPipe"); const scope = (...predicates) => (r) => r.when(...predicates); exports.scope = scope; const METADATA_KEY = 'registration'; const getTransformers = (Target) => (0, metadata_1.getMetadata)(Target, METADATA_KEY) ?? []; exports.getTransformers = getTransformers; const register = (...mappers) => (0, metadata_1.setMetadata)(METADATA_KEY, mappers.map((m) => ((0, ProviderPipe_1.isProviderPipe)(m) ? (r) => m.mapRegistration(r) : m))); exports.register = register; const asAlias = (target) => (r) => r.bindToAlias((0, IContainer_1.isDependencyKey)(target) ? target : target.key); exports.asAlias = asAlias; const asKey = (key) => (r) => r.bindToKey(key); exports.asKey = asKey;