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

42 lines
2.7 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.curryBuildPlanServiceNodeFromResolvedValueElementMetadata = curryBuildPlanServiceNodeFromResolvedValueElementMetadata;
const BindingConstraintsImplementation_1 = require("../../binding/models/BindingConstraintsImplementation");
const ResolvedValueElementMetadataKind_1 = require("../../metadata/models/ResolvedValueElementMetadataKind");
const buildFilteredServiceBindings_1 = require("../calculations/buildFilteredServiceBindings");
const checkServiceNodeSingleInjectionBindings_1 = require("../calculations/checkServiceNodeSingleInjectionBindings");
const getServiceFromMaybeLazyServiceIdentifier_1 = require("../calculations/getServiceFromMaybeLazyServiceIdentifier");
function curryBuildPlanServiceNodeFromResolvedValueElementMetadata(buildServiceNodeBindings) {
return (params, bindingConstraintsList, elementMetadata) => {
const serviceIdentifier = (0, getServiceFromMaybeLazyServiceIdentifier_1.getServiceFromMaybeLazyServiceIdentifier)(elementMetadata.value);
const updatedBindingConstraintsList = bindingConstraintsList.concat({
getAncestorsCalled: false,
name: elementMetadata.name,
serviceIdentifier,
tags: elementMetadata.tags,
});
const bindingConstraints = new BindingConstraintsImplementation_1.BindingConstraintsImplementation(updatedBindingConstraintsList.last);
const chained = elementMetadata.kind ===
ResolvedValueElementMetadataKind_1.ResolvedValueElementMetadataKind.multipleInjection &&
elementMetadata.chained;
const filteredServiceBindings = (0, buildFilteredServiceBindings_1.buildFilteredServiceBindings)(params, bindingConstraints, {
chained,
});
const serviceNodeBindings = [];
const serviceNode = {
bindings: serviceNodeBindings,
isContextFree: true,
serviceIdentifier,
};
serviceNodeBindings.push(...buildServiceNodeBindings(params, updatedBindingConstraintsList, filteredServiceBindings, serviceNode, chained));
serviceNode.isContextFree =
!updatedBindingConstraintsList.last.elem.getAncestorsCalled;
if (elementMetadata.kind === ResolvedValueElementMetadataKind_1.ResolvedValueElementMetadataKind.singleInjection) {
(0, checkServiceNodeSingleInjectionBindings_1.checkServiceNodeSingleInjectionBindings)(serviceNode, elementMetadata.optional, updatedBindingConstraintsList.last);
const [planBindingNode] = serviceNodeBindings;
serviceNode.bindings = planBindingNode;
}
return serviceNode;
};
}
//# sourceMappingURL=curryBuildPlanServiceNodeFromResolvedValueElementMetadata.js.map