Files
NapCatQQ/.pnpm-store/v3/files/b8/d42819a7846429e05f1076b851c308aac3d14a8c1dcb410e5cf8e9d4cd222582a84d9a1aaf8d3832d6dfdd05abadcf53f687c2966f0516fcdc232659160a47
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

33 lines
2.0 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.curryBuildPlanServiceNode = curryBuildPlanServiceNode;
const BindingConstraintsImplementation_1 = require("../../binding/models/BindingConstraintsImplementation");
const buildFilteredServiceBindings_1 = require("../calculations/buildFilteredServiceBindings");
const buildPlanBindingConstraintsList_1 = require("../calculations/buildPlanBindingConstraintsList");
const checkServiceNodeSingleInjectionBindings_1 = require("../calculations/checkServiceNodeSingleInjectionBindings");
function curryBuildPlanServiceNode(buildServiceNodeBindings) {
return (params) => {
const bindingConstraintsList = (0, buildPlanBindingConstraintsList_1.buildPlanBindingConstraintsList)(params);
const bindingConstraints = new BindingConstraintsImplementation_1.BindingConstraintsImplementation(bindingConstraintsList.last);
const chained = params.rootConstraints.isMultiple && params.rootConstraints.chained;
const filteredServiceBindings = (0, buildFilteredServiceBindings_1.buildFilteredServiceBindings)(params, bindingConstraints, {
chained,
});
const serviceNodeBindings = [];
const serviceNode = {
bindings: serviceNodeBindings,
isContextFree: true,
serviceIdentifier: params.rootConstraints.serviceIdentifier,
};
serviceNodeBindings.push(...buildServiceNodeBindings(params, bindingConstraintsList, filteredServiceBindings, serviceNode, chained));
serviceNode.isContextFree =
!bindingConstraintsList.last.elem.getAncestorsCalled;
if (!params.rootConstraints.isMultiple) {
(0, checkServiceNodeSingleInjectionBindings_1.checkServiceNodeSingleInjectionBindings)(serviceNode, params.rootConstraints.isOptional ?? false, bindingConstraintsList.last);
const [planBindingNode] = serviceNodeBindings;
serviceNode.bindings = planBindingNode;
}
return serviceNode;
};
}
//# sourceMappingURL=curryBuildPlanServiceNode.js.map