@nucypher/taco 0.5.0 → 0.6.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/cjs/conditions/base/contract.d.ts +2 -428
  2. package/dist/cjs/conditions/base/contract.js +7 -80
  3. package/dist/cjs/conditions/base/contract.js.map +1 -1
  4. package/dist/cjs/conditions/base/index.d.ts +1 -0
  5. package/dist/cjs/conditions/base/index.js +2 -1
  6. package/dist/cjs/conditions/base/index.js.map +1 -1
  7. package/dist/cjs/conditions/base/json-api.d.ts +7 -0
  8. package/dist/cjs/conditions/base/json-api.js +19 -0
  9. package/dist/cjs/conditions/base/json-api.js.map +1 -0
  10. package/dist/cjs/conditions/base/rpc.d.ts +2 -42
  11. package/dist/cjs/conditions/base/rpc.js +7 -22
  12. package/dist/cjs/conditions/base/rpc.js.map +1 -1
  13. package/dist/cjs/conditions/base/time.d.ts +2 -40
  14. package/dist/cjs/conditions/base/time.js +8 -15
  15. package/dist/cjs/conditions/base/time.js.map +1 -1
  16. package/dist/cjs/conditions/compound-condition.d.ts +2 -4
  17. package/dist/cjs/conditions/compound-condition.js +7 -38
  18. package/dist/cjs/conditions/compound-condition.js.map +1 -1
  19. package/dist/cjs/conditions/condition-factory.js +11 -0
  20. package/dist/cjs/conditions/condition-factory.js.map +1 -1
  21. package/dist/cjs/conditions/condition.d.ts +1 -1
  22. package/dist/cjs/conditions/condition.js +3 -1
  23. package/dist/cjs/conditions/condition.js.map +1 -1
  24. package/dist/cjs/conditions/const.d.ts +1 -0
  25. package/dist/cjs/conditions/const.js +5 -2
  26. package/dist/cjs/conditions/const.js.map +1 -1
  27. package/dist/cjs/conditions/context/context.js +1 -1
  28. package/dist/cjs/conditions/context/context.js.map +1 -1
  29. package/dist/cjs/conditions/if-then-else-condition.d.ts +7 -0
  30. package/dist/cjs/conditions/if-then-else-condition.js +18 -0
  31. package/dist/cjs/conditions/if-then-else-condition.js.map +1 -0
  32. package/dist/cjs/conditions/index.d.ts +2 -0
  33. package/dist/cjs/conditions/index.js +3 -1
  34. package/dist/cjs/conditions/index.js.map +1 -1
  35. package/dist/cjs/conditions/multi-condition.d.ts +2 -0
  36. package/dist/cjs/conditions/multi-condition.js +35 -0
  37. package/dist/cjs/conditions/multi-condition.js.map +1 -0
  38. package/dist/cjs/conditions/schemas/common.d.ts +12 -0
  39. package/dist/cjs/conditions/schemas/common.js +36 -0
  40. package/dist/cjs/conditions/schemas/common.js.map +1 -0
  41. package/dist/cjs/conditions/schemas/compound.d.ts +4 -0
  42. package/dist/cjs/conditions/schemas/compound.js +36 -0
  43. package/dist/cjs/conditions/schemas/compound.js.map +1 -0
  44. package/dist/cjs/conditions/schemas/context.d.ts +3 -0
  45. package/dist/cjs/conditions/schemas/context.js +16 -0
  46. package/dist/cjs/conditions/schemas/context.js.map +1 -0
  47. package/dist/cjs/conditions/schemas/contract.d.ts +428 -0
  48. package/dist/cjs/conditions/schemas/contract.js +81 -0
  49. package/dist/cjs/conditions/schemas/contract.js.map +1 -0
  50. package/dist/cjs/conditions/schemas/if-then-else.d.ts +4 -0
  51. package/dist/cjs/conditions/schemas/if-then-else.js +40 -0
  52. package/dist/cjs/conditions/schemas/if-then-else.js.map +1 -0
  53. package/dist/cjs/conditions/schemas/json-api.d.ts +46 -0
  54. package/dist/cjs/conditions/schemas/json-api.js +37 -0
  55. package/dist/cjs/conditions/schemas/json-api.js.map +1 -0
  56. package/dist/cjs/conditions/schemas/return-value-test.d.ts +15 -0
  57. package/dist/cjs/conditions/schemas/return-value-test.js +11 -0
  58. package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -0
  59. package/dist/cjs/conditions/schemas/rpc.d.ts +42 -0
  60. package/dist/cjs/conditions/schemas/rpc.js +58 -0
  61. package/dist/cjs/conditions/schemas/rpc.js.map +1 -0
  62. package/dist/cjs/conditions/schemas/sequential.d.ts +6 -0
  63. package/dist/cjs/conditions/schemas/sequential.js +39 -0
  64. package/dist/cjs/conditions/schemas/sequential.js.map +1 -0
  65. package/dist/cjs/conditions/schemas/time.d.ts +40 -0
  66. package/dist/cjs/conditions/schemas/time.js +16 -0
  67. package/dist/cjs/conditions/schemas/time.js.map +1 -0
  68. package/dist/cjs/conditions/schemas/utils.d.ts +2 -0
  69. package/dist/cjs/conditions/schemas/utils.js +21 -0
  70. package/dist/cjs/conditions/schemas/utils.js.map +1 -0
  71. package/dist/cjs/conditions/sequential.d.ts +7 -0
  72. package/dist/cjs/conditions/sequential.js +18 -0
  73. package/dist/cjs/conditions/sequential.js.map +1 -0
  74. package/dist/cjs/conditions/shared.d.ts +2 -19
  75. package/dist/cjs/conditions/shared.js +6 -32
  76. package/dist/cjs/conditions/shared.js.map +1 -1
  77. package/dist/es/conditions/base/contract.d.ts +2 -428
  78. package/dist/es/conditions/base/contract.js +2 -77
  79. package/dist/es/conditions/base/contract.js.map +1 -1
  80. package/dist/es/conditions/base/index.d.ts +1 -0
  81. package/dist/es/conditions/base/index.js +1 -0
  82. package/dist/es/conditions/base/index.js.map +1 -1
  83. package/dist/es/conditions/base/json-api.d.ts +7 -0
  84. package/dist/es/conditions/base/json-api.js +12 -0
  85. package/dist/es/conditions/base/json-api.js.map +1 -0
  86. package/dist/es/conditions/base/rpc.d.ts +2 -42
  87. package/dist/es/conditions/base/rpc.js +2 -16
  88. package/dist/es/conditions/base/rpc.js.map +1 -1
  89. package/dist/es/conditions/base/time.d.ts +2 -40
  90. package/dist/es/conditions/base/time.js +2 -12
  91. package/dist/es/conditions/base/time.js.map +1 -1
  92. package/dist/es/conditions/compound-condition.d.ts +2 -4
  93. package/dist/es/conditions/compound-condition.js +2 -35
  94. package/dist/es/conditions/compound-condition.js.map +1 -1
  95. package/dist/es/conditions/condition-factory.js +11 -0
  96. package/dist/es/conditions/condition-factory.js.map +1 -1
  97. package/dist/es/conditions/condition.d.ts +1 -1
  98. package/dist/es/conditions/condition.js +1 -0
  99. package/dist/es/conditions/condition.js.map +1 -1
  100. package/dist/es/conditions/const.d.ts +1 -0
  101. package/dist/es/conditions/const.js +4 -1
  102. package/dist/es/conditions/const.js.map +1 -1
  103. package/dist/es/conditions/context/context.js +2 -2
  104. package/dist/es/conditions/context/context.js.map +1 -1
  105. package/dist/es/conditions/if-then-else-condition.d.ts +7 -0
  106. package/dist/es/conditions/if-then-else-condition.js +12 -0
  107. package/dist/es/conditions/if-then-else-condition.js.map +1 -0
  108. package/dist/es/conditions/index.d.ts +2 -0
  109. package/dist/es/conditions/index.js +2 -0
  110. package/dist/es/conditions/index.js.map +1 -1
  111. package/dist/es/conditions/multi-condition.d.ts +2 -0
  112. package/dist/es/conditions/multi-condition.js +31 -0
  113. package/dist/es/conditions/multi-condition.js.map +1 -0
  114. package/dist/es/conditions/schemas/common.d.ts +12 -0
  115. package/dist/es/conditions/schemas/common.js +33 -0
  116. package/dist/es/conditions/schemas/common.js.map +1 -0
  117. package/dist/es/conditions/schemas/compound.d.ts +4 -0
  118. package/dist/es/conditions/schemas/compound.js +33 -0
  119. package/dist/es/conditions/schemas/compound.js.map +1 -0
  120. package/dist/es/conditions/schemas/context.d.ts +3 -0
  121. package/dist/es/conditions/schemas/context.js +13 -0
  122. package/dist/es/conditions/schemas/context.js.map +1 -0
  123. package/dist/es/conditions/schemas/contract.d.ts +428 -0
  124. package/dist/es/conditions/schemas/contract.js +78 -0
  125. package/dist/es/conditions/schemas/contract.js.map +1 -0
  126. package/dist/es/conditions/schemas/if-then-else.d.ts +4 -0
  127. package/dist/es/conditions/schemas/if-then-else.js +37 -0
  128. package/dist/es/conditions/schemas/if-then-else.js.map +1 -0
  129. package/dist/es/conditions/schemas/json-api.d.ts +46 -0
  130. package/dist/es/conditions/schemas/json-api.js +34 -0
  131. package/dist/es/conditions/schemas/json-api.js.map +1 -0
  132. package/dist/es/conditions/schemas/return-value-test.d.ts +15 -0
  133. package/dist/es/conditions/schemas/return-value-test.js +8 -0
  134. package/dist/es/conditions/schemas/return-value-test.js.map +1 -0
  135. package/dist/es/conditions/schemas/rpc.d.ts +42 -0
  136. package/dist/es/conditions/schemas/rpc.js +32 -0
  137. package/dist/es/conditions/schemas/rpc.js.map +1 -0
  138. package/dist/es/conditions/schemas/sequential.d.ts +6 -0
  139. package/dist/es/conditions/schemas/sequential.js +36 -0
  140. package/dist/es/conditions/schemas/sequential.js.map +1 -0
  141. package/dist/es/conditions/schemas/time.d.ts +40 -0
  142. package/dist/es/conditions/schemas/time.js +13 -0
  143. package/dist/es/conditions/schemas/time.js.map +1 -0
  144. package/dist/es/conditions/schemas/utils.d.ts +2 -0
  145. package/dist/es/conditions/schemas/utils.js +18 -0
  146. package/dist/es/conditions/schemas/utils.js.map +1 -0
  147. package/dist/es/conditions/sequential.d.ts +7 -0
  148. package/dist/es/conditions/sequential.js +12 -0
  149. package/dist/es/conditions/sequential.js.map +1 -0
  150. package/dist/es/conditions/shared.d.ts +2 -19
  151. package/dist/es/conditions/shared.js +2 -31
  152. package/dist/es/conditions/shared.js.map +1 -1
  153. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  154. package/dist/tsconfig.es.tsbuildinfo +1 -1
  155. package/package.json +4 -3
@@ -1,45 +1,7 @@
1
- import { z } from 'zod';
2
1
  import { Condition } from '../condition';
2
+ import { TimeConditionProps } from '../schemas/time';
3
3
  import { OmitConditionType } from '../shared';
4
- export declare const TimeConditionType = "time";
5
- export declare const TimeConditionMethod = "blocktime";
6
- export declare const timeConditionSchema: z.ZodObject<{
7
- conditionType: z.ZodDefault<z.ZodLiteral<"time">>;
8
- method: z.ZodDefault<z.ZodLiteral<"blocktime">>;
9
- chain: z.ZodNever | z.ZodLiteral<z.Primitive> | z.ZodUnion<[z.ZodLiteral<z.Primitive>, z.ZodLiteral<z.Primitive>, ...z.ZodLiteral<z.Primitive>[]]>;
10
- returnValueTest: z.ZodObject<{
11
- index: z.ZodOptional<z.ZodNumber>;
12
- comparator: z.ZodEnum<["==", ">", "<", ">=", "<=", "!="]>;
13
- value: z.ZodType<any, z.ZodTypeDef, any>;
14
- }, "strip", z.ZodTypeAny, {
15
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
16
- index?: number | undefined;
17
- value?: any;
18
- }, {
19
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
20
- index?: number | undefined;
21
- value?: any;
22
- }>;
23
- }, "strip", z.ZodTypeAny, {
24
- conditionType: "time";
25
- method: "blocktime";
26
- returnValueTest: {
27
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
28
- index?: number | undefined;
29
- value?: any;
30
- };
31
- chain?: z.Primitive;
32
- }, {
33
- returnValueTest: {
34
- comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
35
- index?: number | undefined;
36
- value?: any;
37
- };
38
- conditionType?: "time" | undefined;
39
- method?: "blocktime" | undefined;
40
- chain?: z.Primitive;
41
- }>;
42
- export type TimeConditionProps = z.infer<typeof timeConditionSchema>;
4
+ export { TimeConditionMethod, TimeConditionProps, timeConditionSchema, TimeConditionType, } from '../schemas/time';
43
5
  export declare class TimeCondition extends Condition {
44
6
  constructor(value: OmitConditionType<TimeConditionProps>);
45
7
  }
@@ -1,16 +1,6 @@
1
- import { z } from 'zod';
2
1
  import { Condition } from '../condition';
3
- import { rpcConditionSchema } from './rpc';
4
- // TimeCondition is an RpcCondition with the method set to 'blocktime' and no parameters
5
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
- const { parameters: _, ...restShape } = rpcConditionSchema.shape;
7
- export const TimeConditionType = 'time';
8
- export const TimeConditionMethod = 'blocktime';
9
- export const timeConditionSchema = z.object({
10
- ...restShape,
11
- conditionType: z.literal(TimeConditionType).default(TimeConditionType),
12
- method: z.literal(TimeConditionMethod).default(TimeConditionMethod),
13
- });
2
+ import { timeConditionSchema, TimeConditionType, } from '../schemas/time';
3
+ export { TimeConditionMethod, timeConditionSchema, TimeConditionType, } from '../schemas/time';
14
4
  export class TimeCondition extends Condition {
15
5
  constructor(value) {
16
6
  super(timeConditionSchema, {
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,wFAAwF;AACxF,6DAA6D;AAC7D,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,SAAS;IACZ,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;CACpE,CAAC,CAAC;AAIH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,KAA4C;QACtD,KAAK,CAAC,mBAAmB,EAAE;YACzB,aAAa,EAAE,iBAAiB;YAChC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,mBAAmB,EAEnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,KAA4C;QACtD,KAAK,CAAC,mBAAmB,EAAE;YACzB,aAAa,EAAE,iBAAiB;YAChC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,9 +1,7 @@
1
- import { z } from 'zod';
2
1
  import { Condition, ConditionProps } from './condition';
2
+ import { CompoundConditionProps } from './schemas/compound';
3
3
  import { OmitConditionType } from './shared';
4
- export declare const CompoundConditionType = "compound";
5
- export declare const compoundConditionSchema: z.ZodSchema;
6
- export type CompoundConditionProps = z.infer<typeof compoundConditionSchema>;
4
+ export { CompoundConditionProps, compoundConditionSchema, CompoundConditionType, } from './schemas/compound';
7
5
  export type ConditionOrProps = Condition | ConditionProps;
8
6
  export declare class CompoundCondition extends Condition {
9
7
  constructor(value: OmitConditionType<CompoundConditionProps>);
@@ -1,39 +1,6 @@
1
- import { z } from 'zod';
2
- import { contractConditionSchema } from './base/contract';
3
- import { rpcConditionSchema } from './base/rpc';
4
- import { timeConditionSchema } from './base/time';
5
1
  import { Condition } from './condition';
6
- export const CompoundConditionType = 'compound';
7
- export const compoundConditionSchema = z
8
- .object({
9
- conditionType: z
10
- .literal(CompoundConditionType)
11
- .default(CompoundConditionType),
12
- operator: z.enum(['and', 'or', 'not']),
13
- operands: z
14
- .array(z.lazy(() => z.union([
15
- rpcConditionSchema,
16
- timeConditionSchema,
17
- contractConditionSchema,
18
- compoundConditionSchema,
19
- ])))
20
- .min(1),
21
- })
22
- .refine((condition) => {
23
- // 'and' and 'or' operators must have at least 2 operands
24
- if (['and', 'or'].includes(condition.operator)) {
25
- return condition.operands.length >= 2;
26
- }
27
- // 'not' operator must have exactly 1 operand
28
- if (condition.operator === 'not') {
29
- return condition.operands.length === 1;
30
- }
31
- // We test positive cases exhaustively, so we return false here:
32
- return false;
33
- }, ({ operands, operator }) => ({
34
- message: `Invalid number of operands ${operands.length} for operator "${operator}"`,
35
- path: ['operands'],
36
- }));
2
+ import { compoundConditionSchema, CompoundConditionType, } from './schemas/compound';
3
+ export { compoundConditionSchema, CompoundConditionType, } from './schemas/compound';
37
4
  export class CompoundCondition extends Condition {
38
5
  constructor(value) {
39
6
  super(compoundConditionSchema, {
@@ -1 +1 @@
1
- {"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAGxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAgB,CAAC;KAClD,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,qBAAqB,CAAC;SAC9B,OAAO,CAAC,qBAAqB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACV,CAAC,CAAC,KAAK,CAAC;QACN,kBAAkB;QAClB,mBAAmB;QACnB,uBAAuB;QACvB,uBAAuB;KACxB,CAAC,CACH,CACF;SACA,GAAG,CAAC,CAAC,CAAC;CACV,CAAC;KACD,MAAM,CACL,CAAC,SAAS,EAAE,EAAE;IACZ,yDAAyD;IACzD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,6CAA6C;IAC7C,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,gEAAgE;IAChE,OAAO,KAAK,CAAC;AACf,CAAC,EACD,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,8BAA8B,QAAQ,CAAC,MAAM,kBAAkB,QAAQ,GAAG;IACnF,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC,CACH,CAAC;AAMJ,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,YAAY,KAAgD;QAC1D,KAAK,CAAC,uBAAuB,EAAE;YAC7B,aAAa,EAAE,qBAAqB;YACpC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,YAAY,CACzB,QAA4B,EAC5B,QAA8B;QAE9B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,iBAAiB,CAAC;YAC3B,QAAQ;YACR,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,UAA8B;QAC7C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,UAA8B;QAC9C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,SAA2B;QAC3C,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AACxD,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC9C,YAAY,KAAgD;QAC1D,KAAK,CAAC,uBAAuB,EAAE;YAC7B,aAAa,EAAE,qBAAqB;YACpC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,YAAY,CACzB,QAA4B,EAC5B,QAA8B;QAE9B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,OAAO,YAAY,SAAS,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,iBAAiB,CAAC;YAC3B,QAAQ;YACR,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,EAAE,CAAC,UAA8B;QAC7C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,UAA8B;QAC9C,OAAO,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,SAA2B;QAC3C,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -1,19 +1,30 @@
1
1
  import { ContractCondition, ContractConditionType, } from './base/contract';
2
+ import { JsonApiCondition, JsonApiConditionType, } from './base/json-api';
2
3
  import { RpcCondition, RpcConditionType } from './base/rpc';
3
4
  import { TimeCondition, TimeConditionType, } from './base/time';
4
5
  import { CompoundCondition, CompoundConditionType, } from './compound-condition';
6
+ import { IfThenElseCondition, IfThenElseConditionType, } from './if-then-else-condition';
7
+ import { SequentialCondition, SequentialConditionType, } from './sequential';
5
8
  const ERR_INVALID_CONDITION_TYPE = (type) => `Invalid condition type: ${type}`;
6
9
  export class ConditionFactory {
7
10
  static conditionFromProps(props) {
8
11
  switch (props.conditionType) {
12
+ // Base Conditions
9
13
  case RpcConditionType:
10
14
  return new RpcCondition(props);
11
15
  case TimeConditionType:
12
16
  return new TimeCondition(props);
13
17
  case ContractConditionType:
14
18
  return new ContractCondition(props);
19
+ case JsonApiConditionType:
20
+ return new JsonApiCondition(props);
21
+ // Logical Conditions
15
22
  case CompoundConditionType:
16
23
  return new CompoundCondition(props);
24
+ case SequentialConditionType:
25
+ return new SequentialCondition(props);
26
+ case IfThenElseConditionType:
27
+ return new IfThenElseCondition(props);
17
28
  default:
18
29
  throw new Error(ERR_INVALID_CONDITION_TYPE(props.conditionType));
19
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,iBAAiB;gBACpB,OAAO,IAAI,aAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,aAAa,EAEb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EAEnB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,kBAAkB;YAClB,KAAK,gBAAgB;gBACnB,OAAO,IAAI,YAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,iBAAiB;gBACpB,OAAO,IAAI,aAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,oBAAoB;gBACvB,OAAO,IAAI,gBAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,qBAAqB;YACrB,KAAK,qBAAqB;gBACxB,OAAO,IAAI,iBAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,mBAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ export { baseConditionSchema } from './schemas/common';
2
3
  type ConditionSchema = z.ZodSchema;
3
4
  export type ConditionProps = z.infer<ConditionSchema>;
4
5
  export declare class Condition {
@@ -14,4 +15,3 @@ export declare class Condition {
14
15
  toObj(): ConditionProps;
15
16
  equals(other: Condition): boolean;
16
17
  }
17
- export {};
@@ -1,5 +1,6 @@
1
1
  import { objectEquals } from '@nucypher/shared';
2
2
  import { USER_ADDRESS_PARAMS } from './const';
3
+ export { baseConditionSchema } from './schemas/common';
3
4
  const ERR_INVALID_CONDITION = (error) => `Invalid condition: ${JSON.stringify(error.issues)}`;
4
5
  export class Condition {
5
6
  schema;
@@ -1 +1 @@
1
- {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAK9C,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAM,OAAO,SAAS;IAEF;IACA;IAFlB,YACkB,MAAuB,EACvB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAgB;QAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,MAAuB,EACvB,KAAqB;QAKrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,8CAA8C;IACvC,2BAA2B;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,sBAAsB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAgB;QAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAKvD,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAM,OAAO,SAAS;IAEF;IACA;IAFlB,YACkB,MAAuB,EACvB,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAgB;QAErC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,MAAuB,EACvB,KAAqB;QAKrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,8CAA8C;IACvC,2BAA2B;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,sBAAsB;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK;QACV,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAgB;QAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { ChainId } from '@nucypher/shared';
2
2
  export declare const CONTEXT_PARAM_REGEXP: RegExp;
3
+ export declare const CONTEXT_PARAM_FULL_MATCH_REGEXP: RegExp;
3
4
  export declare const CONTEXT_PARAM_PREFIX = ":";
4
5
  export declare const SUPPORTED_CHAIN_IDS: ChainId[];
5
6
  export declare const USER_ADDRESS_PARAMS: string[];
@@ -1,7 +1,10 @@
1
1
  import { ChainId } from '@nucypher/shared';
2
2
  import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
3
3
  // Only allow alphanumeric characters and underscores
4
- export const CONTEXT_PARAM_REGEXP = new RegExp('^:[a-zA-Z_][a-zA-Z0-9_]*$');
4
+ const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
5
+ export const CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
6
+ // Entire string is context param
7
+ export const CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
5
8
  export const CONTEXT_PARAM_PREFIX = ':';
6
9
  export const SUPPORTED_CHAIN_IDS = [
7
10
  ChainId.POLYGON,
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mCAAmC;IACnC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAE7B,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACjC,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mCAAmC;IACnC,+CAA+C;IAC/C,0BAA0B;CAC3B,CAAC"}
@@ -3,7 +3,7 @@ import { EIP4361AuthProvider, SingleSignOnEIP4361AuthProvider, USER_ADDRESS_PARA
3
3
  import { CoreConditions, CoreContext } from '../../types';
4
4
  import { CompoundConditionType } from '../compound-condition';
5
5
  import { ConditionExpression } from '../condition-expr';
6
- import { CONTEXT_PARAM_PREFIX, CONTEXT_PARAM_REGEXP, USER_ADDRESS_PARAMS, } from '../const';
6
+ import { CONTEXT_PARAM_FULL_MATCH_REGEXP, CONTEXT_PARAM_PREFIX, USER_ADDRESS_PARAMS, } from '../const';
7
7
  const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
8
8
  const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${CONTEXT_PARAM_PREFIX}`;
9
9
  const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
@@ -84,7 +84,7 @@ export class ConditionContext {
84
84
  }
85
85
  }
86
86
  static isContextParameter(param) {
87
- return !!String(param).match(CONTEXT_PARAM_REGEXP);
87
+ return !!String(param).match(CONTEXT_PARAM_FULL_MATCH_REGEXP);
88
88
  }
89
89
  static findContextParameters(condition) {
90
90
  // First, we want to find all the parameters we need to add
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Condition } from './condition';
2
+ import { IfThenElseConditionProps } from './schemas/if-then-else';
3
+ import { OmitConditionType } from './shared';
4
+ export { IfThenElseConditionProps, ifThenElseConditionSchema, IfThenElseConditionType, } from './schemas/if-then-else';
5
+ export declare class IfThenElseCondition extends Condition {
6
+ constructor(value: OmitConditionType<IfThenElseConditionProps>);
7
+ }
@@ -0,0 +1,12 @@
1
+ import { Condition } from './condition';
2
+ import { ifThenElseConditionSchema, IfThenElseConditionType, } from './schemas/if-then-else';
3
+ export { ifThenElseConditionSchema, IfThenElseConditionType, } from './schemas/if-then-else';
4
+ export class IfThenElseCondition extends Condition {
5
+ constructor(value) {
6
+ super(ifThenElseConditionSchema, {
7
+ conditionType: IfThenElseConditionType,
8
+ ...value,
9
+ });
10
+ }
11
+ }
12
+ //# sourceMappingURL=if-then-else-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if-then-else-condition.js","sourceRoot":"","sources":["../../../src/conditions/if-then-else-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,KAAkD;QAC5D,KAAK,CAAC,yBAAyB,EAAE;YAC/B,aAAa,EAAE,uBAAuB;YACtC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -5,4 +5,6 @@ export * as condition from './condition';
5
5
  export * as conditionExpr from './condition-expr';
6
6
  export { ConditionFactory } from './condition-factory';
7
7
  export * as context from './context';
8
+ export * as ifThenElse from './if-then-else-condition';
9
+ export * as sequential from './sequential';
8
10
  export { base, predefined };
@@ -5,5 +5,7 @@ export * as condition from './condition';
5
5
  export * as conditionExpr from './condition-expr';
6
6
  export { ConditionFactory } from './condition-factory';
7
7
  export * as context from './context';
8
+ export * as ifThenElse from './if-then-else-condition';
9
+ export * as sequential from './sequential';
8
10
  export { base, predefined };
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ConditionProps } from './condition';
2
+ export declare const maxNestedDepth: (maxDepth: number) => (condition: ConditionProps, currentDepth?: number) => boolean;
@@ -0,0 +1,31 @@
1
+ import { CompoundConditionType } from './compound-condition';
2
+ import { IfThenElseConditionType } from './if-then-else-condition';
3
+ import { SequentialConditionType } from './sequential';
4
+ export const maxNestedDepth = (maxDepth) => (condition, currentDepth = 1) => {
5
+ if (condition.conditionType === CompoundConditionType ||
6
+ condition.conditionType === SequentialConditionType ||
7
+ condition.conditionType === IfThenElseConditionType) {
8
+ if (currentDepth > maxDepth) {
9
+ // no more multi-condition types allowed at this level
10
+ return false;
11
+ }
12
+ if (condition.conditionType === CompoundConditionType) {
13
+ return condition.operands.every((child) => maxNestedDepth(maxDepth)(child, currentDepth + 1));
14
+ }
15
+ else if (condition.conditionType === SequentialConditionType) {
16
+ return condition.conditionVariables.every((child) => maxNestedDepth(maxDepth)(child.condition, currentDepth + 1));
17
+ }
18
+ else {
19
+ // if-then-else condition
20
+ const ifThenElseConditions = [];
21
+ ifThenElseConditions.push(condition.ifCondition);
22
+ ifThenElseConditions.push(condition.thenCondition);
23
+ if (typeof condition.elseCondition !== 'boolean') {
24
+ ifThenElseConditions.push(condition.elseCondition);
25
+ }
26
+ return ifThenElseConditions.every((child) => maxNestedDepth(maxDepth)(child, currentDepth + 1));
27
+ }
28
+ }
29
+ return true;
30
+ };
31
+ //# sourceMappingURL=multi-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-condition.js","sourceRoot":"","sources":["../../../src/conditions/multi-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAA0B,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE/E,MAAM,CAAC,MAAM,cAAc,GACzB,CAAC,QAAgB,EAAE,EAAE,CACrB,CAAC,SAAyB,EAAE,YAAY,GAAG,CAAC,EAAW,EAAE;IACvD,IACE,SAAS,CAAC,aAAa,KAAK,qBAAqB;QACjD,SAAS,CAAC,aAAa,KAAK,uBAAuB;QACnD,SAAS,CAAC,aAAa,KAAK,uBAAuB,EACnD,CAAC;QACD,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;YAC5B,sDAAsD;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,SAAS,CAAC,aAAa,KAAK,qBAAqB,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAqB,EAAE,EAAE,CACxD,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,CAAC,aAAa,KAAK,uBAAuB,EAAE,CAAC;YAC/D,OAAO,SAAS,CAAC,kBAAkB,CAAC,KAAK,CACvC,CAAC,KAA6B,EAAE,EAAE,CAChC,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,GAAG,CAAC,CAAC,CAC9D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,MAAM,oBAAoB,GAAG,EAAE,CAAC;YAChC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACjD,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACjD,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,KAAqB,EAAE,EAAE,CAC1D,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Primitive, z } from 'zod';
2
+ export declare const plainStringSchema: z.ZodEffects<z.ZodString, string, string>;
3
+ export declare const UserAddressSchema: z.ZodEnum<[":userAddress", ":userAddressExternalEIP4361"]>;
4
+ export declare const baseConditionSchema: z.ZodObject<{
5
+ conditionType: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ conditionType: string;
8
+ }, {
9
+ conditionType: string;
10
+ }>;
11
+ declare function createUnionSchema<T extends readonly Primitive[]>(values: T): z.ZodNever | z.ZodLiteral<Primitive> | z.ZodUnion<[z.ZodLiteral<Primitive>, z.ZodLiteral<Primitive>, ...z.ZodLiteral<Primitive>[]]>;
12
+ export default createUnionSchema;
@@ -0,0 +1,33 @@
1
+ import { USER_ADDRESS_PARAM_DEFAULT, USER_ADDRESS_PARAM_EXTERNAL_EIP4361, } from '@nucypher/taco-auth';
2
+ import { z } from 'zod';
3
+ import { CONTEXT_PARAM_PREFIX } from '../const';
4
+ // We want to discriminate between ContextParams and plain strings
5
+ // If a string starts with `:`, it's a ContextParam
6
+ export const plainStringSchema = z.string().refine((str) => {
7
+ return !str.startsWith(CONTEXT_PARAM_PREFIX);
8
+ }, {
9
+ message: `String must not be a context parameter i.e. not start with "${CONTEXT_PARAM_PREFIX}"`,
10
+ });
11
+ export const UserAddressSchema = z.enum([
12
+ USER_ADDRESS_PARAM_DEFAULT,
13
+ USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
14
+ ]);
15
+ export const baseConditionSchema = z.object({
16
+ conditionType: z.string(),
17
+ });
18
+ // Source: https://github.com/colinhacks/zod/issues/831#issuecomment-1063481764
19
+ const createUnion = (values) => {
20
+ const zodLiterals = values.map((value) => z.literal(value));
21
+ return z.union(zodLiterals);
22
+ };
23
+ function createUnionSchema(values) {
24
+ if (values.length === 0) {
25
+ return z.never();
26
+ }
27
+ if (values.length === 1) {
28
+ return z.literal(values[0]);
29
+ }
30
+ return createUnion(values);
31
+ }
32
+ export default createUnionSchema;
33
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAa,CAAC,EAAc,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,kEAAkE;AAClE,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,oBAAoB,GAAG;CAChG,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,0BAA0B;IAC1B,mCAAmC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,WAAW,GAAG,CAGlB,MAAS,EACT,EAAE;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,iBAAiB,CAAiC,MAAS;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const CompoundConditionType = "compound";
3
+ export declare const compoundConditionSchema: z.ZodSchema;
4
+ export type CompoundConditionProps = z.infer<typeof compoundConditionSchema>;
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import { maxNestedDepth } from '../multi-condition';
3
+ import { baseConditionSchema } from './common';
4
+ import { anyConditionSchema } from './utils';
5
+ export const CompoundConditionType = 'compound';
6
+ export const compoundConditionSchema = z.lazy(() => baseConditionSchema
7
+ .extend({
8
+ conditionType: z
9
+ .literal(CompoundConditionType)
10
+ .default(CompoundConditionType),
11
+ operator: z.enum(['and', 'or', 'not']),
12
+ operands: z.array(anyConditionSchema).min(1).max(5),
13
+ })
14
+ .refine((condition) => {
15
+ // 'and' and 'or' operators must have at least 2 operands
16
+ if (['and', 'or'].includes(condition.operator)) {
17
+ return condition.operands.length >= 2;
18
+ }
19
+ // 'not' operator must have exactly 1 operand
20
+ if (condition.operator === 'not') {
21
+ return condition.operands.length === 1;
22
+ }
23
+ // We test positive cases exhaustively, so we return false here:
24
+ return false;
25
+ }, ({ operands, operator }) => ({
26
+ message: `Invalid number of operands ${operands.length} for operator "${operator}"`,
27
+ path: ['operands'],
28
+ }))
29
+ .refine((condition) => maxNestedDepth(2)(condition), {
30
+ message: 'Exceeded max nested depth of 2 for multi-condition type',
31
+ path: ['operands'],
32
+ }));
33
+ //# sourceMappingURL=compound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compound.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/compound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,uBAAuB,GAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC9D,mBAAmB;KAChB,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,OAAO,CAAC,qBAAqB,CAAC;SAC9B,OAAO,CAAC,qBAAqB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;KACD,MAAM,CACL,CAAC,SAAS,EAAE,EAAE;IACZ,yDAAyD;IACzD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,6CAA6C;IAC7C,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,gEAAgE;IAChE,OAAO,KAAK,CAAC;AACf,CAAC,EACD,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,8BAA8B,QAAQ,CAAC,MAAM,kBAAkB,QAAQ,GAAG;IACnF,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC,CACH;KACA,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC3C;IACE,OAAO,EAAE,yDAAyD;IAClE,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CACF,CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ export declare const contextParamSchema: z.ZodString;
3
+ export declare const paramOrContextParamSchema: z.ZodSchema;
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ import { CONTEXT_PARAM_FULL_MATCH_REGEXP } from '../const';
3
+ import { plainStringSchema } from './common';
4
+ export const contextParamSchema = z
5
+ .string()
6
+ .regex(CONTEXT_PARAM_FULL_MATCH_REGEXP);
7
+ const paramSchema = z.union([plainStringSchema, z.boolean(), z.number()]);
8
+ export const paramOrContextParamSchema = z.union([
9
+ paramSchema,
10
+ contextParamSchema,
11
+ z.lazy(() => z.array(paramOrContextParamSchema)),
12
+ ]);
13
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAE1C,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,yBAAyB,GAAgB,CAAC,CAAC,KAAK,CAAC;IAC5D,WAAW;IACX,kBAAkB;IAClB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;CACjD,CAAC,CAAC"}