@triviality/core
Version:
Purely typed service container
30 lines • 2.07 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var ReferenceContext_1 = require("./ReferenceContext");
var OverrideContext_1 = require("./OverrideContext");
var ComposeContext_1 = require("./ComposeContext");
var ServicesContext_1 = require("./ServicesContext");
var ConstructContext_1 = require("./ConstructContext");
var RegistryContext_1 = require("./RegistryContext");
var MergeFeatureContext_1 = require("./MergeFeatureContext");
var Container_1 = require("../Container");
var ramda_1 = require("ramda");
var AsyncContext_1 = require("./AsyncContext");
exports.createFeatureFactoryContext = function (context) {
var container = context.container;
return (__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, container.references().serviceFactoryObject()), ReferenceContext_1.createServiceFactoryReferenceContext()), OverrideContext_1.createFeatureFactoryOverrideContext(container)), ComposeContext_1.createFeatureFactoryComposeContext(container)), ServicesContext_1.createFeatureFactoryServicesContext(container)), ConstructContext_1.createFeatureFactoryConstructContext(container)), RegistryContext_1.createFeatureFactoryRegistryContext(container)), MergeFeatureContext_1.createFeatureMergeContext(context)), AsyncContext_1.createFeatureFactoryAsyncContext(context)));
};
var FACTORY_CONTEXT_TAGS = ramda_1.keys(exports.createFeatureFactoryContext({ container: new Container_1.ServiceFunctionReferenceContainer(), invoke: function () { return void 0; } }));
exports.hasContextTag = function (tag) { return ramda_1.includes(tag, FACTORY_CONTEXT_TAGS); };
//# sourceMappingURL=createFeatureFactoryContext.js.map
;