UNPKG

@nucypher/taco

Version:

### [`nucypher/taco-web`](../../README.md)

39 lines 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sequentialConditionSchema = exports.conditionVariableSchema = exports.SequentialConditionType = void 0; const zod_1 = require("zod"); const multi_condition_1 = require("../multi-condition"); const common_1 = require("./common"); const utils_1 = require("./utils"); exports.SequentialConditionType = 'sequential'; exports.conditionVariableSchema = zod_1.z.lazy(() => zod_1.z.object({ varName: common_1.plainStringSchema, condition: utils_1.anyConditionSchema, })); exports.sequentialConditionSchema = common_1.baseConditionSchema .extend({ conditionType: zod_1.z .literal(exports.SequentialConditionType) .default(exports.SequentialConditionType), conditionVariables: zod_1.z.array(exports.conditionVariableSchema).min(2).max(5), }) .refine((condition) => (0, multi_condition_1.maxNestedDepth)(2)(condition), { message: 'Exceeded max nested depth of 2 for multi-condition type', path: ['conditionVariables'], }) .refine( // check for duplicate var names (condition) => { const seen = new Set(); return condition.conditionVariables.every((child) => { if (seen.has(child.varName)) { return false; } seen.add(child.varName); return true; }); }, { message: 'Duplicate variable names are not allowed', path: ['conditionVariables'], }); //# sourceMappingURL=sequential.js.map