rdesign/frontend/node_modules/@copilotkit/shared/dist/utils/conditions.cjs.map

1 line
4.4 KiB
Plaintext

{"version":3,"file":"conditions.cjs","names":[],"sources":["../../src/utils/conditions.ts"],"sourcesContent":["export type ComparisonRule =\n | \"EQUALS\"\n | \"NOT_EQUALS\"\n | \"GREATER_THAN\"\n | \"LESS_THAN\"\n | \"CONTAINS\"\n | \"NOT_CONTAINS\"\n | \"MATCHES\"\n | \"STARTS_WITH\"\n | \"ENDS_WITH\";\nexport type LogicalRule = \"AND\" | \"OR\" | \"NOT\";\nexport type ExistenceRule = \"EXISTS\" | \"NOT_EXISTS\";\n\nexport type Rule = ComparisonRule | LogicalRule | ExistenceRule;\n\nexport interface BaseCondition {\n rule: Rule;\n path?: string;\n}\n\nexport interface ComparisonCondition extends BaseCondition {\n rule: ComparisonRule;\n value: any;\n}\n\nexport interface LogicalCondition extends BaseCondition {\n rule: LogicalRule;\n conditions: Condition[];\n}\n\nexport interface ExistenceCondition extends BaseCondition {\n rule: ExistenceRule;\n}\n\nexport type Condition =\n | ComparisonCondition\n | LogicalCondition\n | ExistenceCondition;\n\nexport function executeConditions({\n conditions,\n value,\n}: {\n conditions?: Condition[];\n value: any;\n}): boolean {\n // If no conditions, consider it a pass\n if (!conditions?.length) return true;\n\n // Run all conditions (implicit AND)\n return conditions.every((condition) => executeCondition(condition, value));\n}\n\nfunction executeCondition(condition: Condition, value: any): boolean {\n const targetValue = condition.path\n ? getValueFromPath(value, condition.path)\n : value;\n\n switch (condition.rule) {\n // Logical\n case \"AND\":\n return (condition as LogicalCondition).conditions.every((c) =>\n executeCondition(c, value),\n );\n case \"OR\":\n return (condition as LogicalCondition).conditions.some((c) =>\n executeCondition(c, value),\n );\n case \"NOT\":\n return !(condition as LogicalCondition).conditions.every((c) =>\n executeCondition(c, value),\n );\n\n // Comparison\n case \"EQUALS\":\n return targetValue === (condition as ComparisonCondition).value;\n case \"NOT_EQUALS\":\n return targetValue !== (condition as ComparisonCondition).value;\n case \"GREATER_THAN\":\n return targetValue > (condition as ComparisonCondition).value;\n case \"LESS_THAN\":\n return targetValue < (condition as ComparisonCondition).value;\n case \"CONTAINS\":\n return (\n Array.isArray(targetValue) &&\n targetValue.includes((condition as ComparisonCondition).value)\n );\n case \"NOT_CONTAINS\":\n return (\n Array.isArray(targetValue) &&\n !targetValue.includes((condition as ComparisonCondition).value)\n );\n case \"MATCHES\":\n return new RegExp((condition as ComparisonCondition).value).test(\n String(targetValue),\n );\n case \"STARTS_WITH\":\n return String(targetValue).startsWith(\n (condition as ComparisonCondition).value,\n );\n case \"ENDS_WITH\":\n return String(targetValue).endsWith(\n (condition as ComparisonCondition).value,\n );\n\n // Existence\n case \"EXISTS\":\n return targetValue !== undefined && targetValue !== null;\n case \"NOT_EXISTS\":\n return targetValue === undefined || targetValue === null;\n }\n}\n\nfunction getValueFromPath(obj: any, path: string): any {\n return path.split(\".\").reduce((acc, part) => acc?.[part], obj);\n}\n"],"mappings":";;AAuCA,SAAgB,kBAAkB,EAChC,YACA,SAIU;AAEV,KAAI,CAAC,YAAY,OAAQ,QAAO;AAGhC,QAAO,WAAW,OAAO,cAAc,iBAAiB,WAAW,MAAM,CAAC;;AAG5E,SAAS,iBAAiB,WAAsB,OAAqB;CACnE,MAAM,cAAc,UAAU,OAC1B,iBAAiB,OAAO,UAAU,KAAK,GACvC;AAEJ,SAAQ,UAAU,MAAlB;EAEE,KAAK,MACH,QAAQ,UAA+B,WAAW,OAAO,MACvD,iBAAiB,GAAG,MAAM,CAC3B;EACH,KAAK,KACH,QAAQ,UAA+B,WAAW,MAAM,MACtD,iBAAiB,GAAG,MAAM,CAC3B;EACH,KAAK,MACH,QAAO,CAAE,UAA+B,WAAW,OAAO,MACxD,iBAAiB,GAAG,MAAM,CAC3B;EAGH,KAAK,SACH,QAAO,gBAAiB,UAAkC;EAC5D,KAAK,aACH,QAAO,gBAAiB,UAAkC;EAC5D,KAAK,eACH,QAAO,cAAe,UAAkC;EAC1D,KAAK,YACH,QAAO,cAAe,UAAkC;EAC1D,KAAK,WACH,QACE,MAAM,QAAQ,YAAY,IAC1B,YAAY,SAAU,UAAkC,MAAM;EAElE,KAAK,eACH,QACE,MAAM,QAAQ,YAAY,IAC1B,CAAC,YAAY,SAAU,UAAkC,MAAM;EAEnE,KAAK,UACH,QAAO,IAAI,OAAQ,UAAkC,MAAM,CAAC,KAC1D,OAAO,YAAY,CACpB;EACH,KAAK,cACH,QAAO,OAAO,YAAY,CAAC,WACxB,UAAkC,MACpC;EACH,KAAK,YACH,QAAO,OAAO,YAAY,CAAC,SACxB,UAAkC,MACpC;EAGH,KAAK,SACH,QAAO,gBAAgB,UAAa,gBAAgB;EACtD,KAAK,aACH,QAAO,gBAAgB,UAAa,gBAAgB;;;AAI1D,SAAS,iBAAiB,KAAU,MAAmB;AACrD,QAAO,KAAK,MAAM,IAAI,CAAC,QAAQ,KAAK,SAAS,MAAM,OAAO,IAAI"}