@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.
- package/dist/cjs/conditions/base/contract.d.ts +2 -428
- package/dist/cjs/conditions/base/contract.js +7 -80
- package/dist/cjs/conditions/base/contract.js.map +1 -1
- package/dist/cjs/conditions/base/index.d.ts +1 -0
- package/dist/cjs/conditions/base/index.js +2 -1
- package/dist/cjs/conditions/base/index.js.map +1 -1
- package/dist/cjs/conditions/base/json-api.d.ts +7 -0
- package/dist/cjs/conditions/base/json-api.js +19 -0
- package/dist/cjs/conditions/base/json-api.js.map +1 -0
- package/dist/cjs/conditions/base/rpc.d.ts +2 -42
- package/dist/cjs/conditions/base/rpc.js +7 -22
- package/dist/cjs/conditions/base/rpc.js.map +1 -1
- package/dist/cjs/conditions/base/time.d.ts +2 -40
- package/dist/cjs/conditions/base/time.js +8 -15
- package/dist/cjs/conditions/base/time.js.map +1 -1
- package/dist/cjs/conditions/compound-condition.d.ts +2 -4
- package/dist/cjs/conditions/compound-condition.js +7 -38
- package/dist/cjs/conditions/compound-condition.js.map +1 -1
- package/dist/cjs/conditions/condition-factory.js +11 -0
- package/dist/cjs/conditions/condition-factory.js.map +1 -1
- package/dist/cjs/conditions/condition.d.ts +1 -1
- package/dist/cjs/conditions/condition.js +3 -1
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/conditions/const.d.ts +1 -0
- package/dist/cjs/conditions/const.js +5 -2
- package/dist/cjs/conditions/const.js.map +1 -1
- package/dist/cjs/conditions/context/context.js +1 -1
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/if-then-else-condition.d.ts +7 -0
- package/dist/cjs/conditions/if-then-else-condition.js +18 -0
- package/dist/cjs/conditions/if-then-else-condition.js.map +1 -0
- package/dist/cjs/conditions/index.d.ts +2 -0
- package/dist/cjs/conditions/index.js +3 -1
- package/dist/cjs/conditions/index.js.map +1 -1
- package/dist/cjs/conditions/multi-condition.d.ts +2 -0
- package/dist/cjs/conditions/multi-condition.js +35 -0
- package/dist/cjs/conditions/multi-condition.js.map +1 -0
- package/dist/cjs/conditions/schemas/common.d.ts +12 -0
- package/dist/cjs/conditions/schemas/common.js +36 -0
- package/dist/cjs/conditions/schemas/common.js.map +1 -0
- package/dist/cjs/conditions/schemas/compound.d.ts +4 -0
- package/dist/cjs/conditions/schemas/compound.js +36 -0
- package/dist/cjs/conditions/schemas/compound.js.map +1 -0
- package/dist/cjs/conditions/schemas/context.d.ts +3 -0
- package/dist/cjs/conditions/schemas/context.js +16 -0
- package/dist/cjs/conditions/schemas/context.js.map +1 -0
- package/dist/cjs/conditions/schemas/contract.d.ts +428 -0
- package/dist/cjs/conditions/schemas/contract.js +81 -0
- package/dist/cjs/conditions/schemas/contract.js.map +1 -0
- package/dist/cjs/conditions/schemas/if-then-else.d.ts +4 -0
- package/dist/cjs/conditions/schemas/if-then-else.js +40 -0
- package/dist/cjs/conditions/schemas/if-then-else.js.map +1 -0
- package/dist/cjs/conditions/schemas/json-api.d.ts +46 -0
- package/dist/cjs/conditions/schemas/json-api.js +37 -0
- package/dist/cjs/conditions/schemas/json-api.js.map +1 -0
- package/dist/cjs/conditions/schemas/return-value-test.d.ts +15 -0
- package/dist/cjs/conditions/schemas/return-value-test.js +11 -0
- package/dist/cjs/conditions/schemas/return-value-test.js.map +1 -0
- package/dist/cjs/conditions/schemas/rpc.d.ts +42 -0
- package/dist/cjs/conditions/schemas/rpc.js +58 -0
- package/dist/cjs/conditions/schemas/rpc.js.map +1 -0
- package/dist/cjs/conditions/schemas/sequential.d.ts +6 -0
- package/dist/cjs/conditions/schemas/sequential.js +39 -0
- package/dist/cjs/conditions/schemas/sequential.js.map +1 -0
- package/dist/cjs/conditions/schemas/time.d.ts +40 -0
- package/dist/cjs/conditions/schemas/time.js +16 -0
- package/dist/cjs/conditions/schemas/time.js.map +1 -0
- package/dist/cjs/conditions/schemas/utils.d.ts +2 -0
- package/dist/cjs/conditions/schemas/utils.js +21 -0
- package/dist/cjs/conditions/schemas/utils.js.map +1 -0
- package/dist/cjs/conditions/sequential.d.ts +7 -0
- package/dist/cjs/conditions/sequential.js +18 -0
- package/dist/cjs/conditions/sequential.js.map +1 -0
- package/dist/cjs/conditions/shared.d.ts +2 -19
- package/dist/cjs/conditions/shared.js +6 -32
- package/dist/cjs/conditions/shared.js.map +1 -1
- package/dist/es/conditions/base/contract.d.ts +2 -428
- package/dist/es/conditions/base/contract.js +2 -77
- package/dist/es/conditions/base/contract.js.map +1 -1
- package/dist/es/conditions/base/index.d.ts +1 -0
- package/dist/es/conditions/base/index.js +1 -0
- package/dist/es/conditions/base/index.js.map +1 -1
- package/dist/es/conditions/base/json-api.d.ts +7 -0
- package/dist/es/conditions/base/json-api.js +12 -0
- package/dist/es/conditions/base/json-api.js.map +1 -0
- package/dist/es/conditions/base/rpc.d.ts +2 -42
- package/dist/es/conditions/base/rpc.js +2 -16
- package/dist/es/conditions/base/rpc.js.map +1 -1
- package/dist/es/conditions/base/time.d.ts +2 -40
- package/dist/es/conditions/base/time.js +2 -12
- package/dist/es/conditions/base/time.js.map +1 -1
- package/dist/es/conditions/compound-condition.d.ts +2 -4
- package/dist/es/conditions/compound-condition.js +2 -35
- package/dist/es/conditions/compound-condition.js.map +1 -1
- package/dist/es/conditions/condition-factory.js +11 -0
- package/dist/es/conditions/condition-factory.js.map +1 -1
- package/dist/es/conditions/condition.d.ts +1 -1
- package/dist/es/conditions/condition.js +1 -0
- package/dist/es/conditions/condition.js.map +1 -1
- package/dist/es/conditions/const.d.ts +1 -0
- package/dist/es/conditions/const.js +4 -1
- package/dist/es/conditions/const.js.map +1 -1
- package/dist/es/conditions/context/context.js +2 -2
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/if-then-else-condition.d.ts +7 -0
- package/dist/es/conditions/if-then-else-condition.js +12 -0
- package/dist/es/conditions/if-then-else-condition.js.map +1 -0
- package/dist/es/conditions/index.d.ts +2 -0
- package/dist/es/conditions/index.js +2 -0
- package/dist/es/conditions/index.js.map +1 -1
- package/dist/es/conditions/multi-condition.d.ts +2 -0
- package/dist/es/conditions/multi-condition.js +31 -0
- package/dist/es/conditions/multi-condition.js.map +1 -0
- package/dist/es/conditions/schemas/common.d.ts +12 -0
- package/dist/es/conditions/schemas/common.js +33 -0
- package/dist/es/conditions/schemas/common.js.map +1 -0
- package/dist/es/conditions/schemas/compound.d.ts +4 -0
- package/dist/es/conditions/schemas/compound.js +33 -0
- package/dist/es/conditions/schemas/compound.js.map +1 -0
- package/dist/es/conditions/schemas/context.d.ts +3 -0
- package/dist/es/conditions/schemas/context.js +13 -0
- package/dist/es/conditions/schemas/context.js.map +1 -0
- package/dist/es/conditions/schemas/contract.d.ts +428 -0
- package/dist/es/conditions/schemas/contract.js +78 -0
- package/dist/es/conditions/schemas/contract.js.map +1 -0
- package/dist/es/conditions/schemas/if-then-else.d.ts +4 -0
- package/dist/es/conditions/schemas/if-then-else.js +37 -0
- package/dist/es/conditions/schemas/if-then-else.js.map +1 -0
- package/dist/es/conditions/schemas/json-api.d.ts +46 -0
- package/dist/es/conditions/schemas/json-api.js +34 -0
- package/dist/es/conditions/schemas/json-api.js.map +1 -0
- package/dist/es/conditions/schemas/return-value-test.d.ts +15 -0
- package/dist/es/conditions/schemas/return-value-test.js +8 -0
- package/dist/es/conditions/schemas/return-value-test.js.map +1 -0
- package/dist/es/conditions/schemas/rpc.d.ts +42 -0
- package/dist/es/conditions/schemas/rpc.js +32 -0
- package/dist/es/conditions/schemas/rpc.js.map +1 -0
- package/dist/es/conditions/schemas/sequential.d.ts +6 -0
- package/dist/es/conditions/schemas/sequential.js +36 -0
- package/dist/es/conditions/schemas/sequential.js.map +1 -0
- package/dist/es/conditions/schemas/time.d.ts +40 -0
- package/dist/es/conditions/schemas/time.js +13 -0
- package/dist/es/conditions/schemas/time.js.map +1 -0
- package/dist/es/conditions/schemas/utils.d.ts +2 -0
- package/dist/es/conditions/schemas/utils.js +18 -0
- package/dist/es/conditions/schemas/utils.js.map +1 -0
- package/dist/es/conditions/sequential.d.ts +7 -0
- package/dist/es/conditions/sequential.js +12 -0
- package/dist/es/conditions/sequential.js.map +1 -0
- package/dist/es/conditions/shared.d.ts +2 -19
- package/dist/es/conditions/shared.js +2 -31
- package/dist/es/conditions/shared.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +4 -3
|
@@ -1,30 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RpcCondition = exports.
|
|
7
|
-
const zod_1 = require("zod");
|
|
3
|
+
exports.RpcCondition = exports.RpcConditionType = exports.rpcConditionSchema = void 0;
|
|
8
4
|
const condition_1 = require("../condition");
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
exports.RpcConditionType
|
|
13
|
-
exports.rpcConditionSchema = zod_1.z.object({
|
|
14
|
-
conditionType: zod_1.z.literal(exports.RpcConditionType).default(exports.RpcConditionType),
|
|
15
|
-
chain: (0, zod_2.default)(const_1.SUPPORTED_CHAIN_IDS),
|
|
16
|
-
method: zod_1.z.enum(['eth_getBalance']),
|
|
17
|
-
parameters: zod_1.z.union([
|
|
18
|
-
zod_1.z.array(shared_1.EthAddressOrUserAddressSchema).nonempty(),
|
|
19
|
-
// Using tuple here because ordering matters
|
|
20
|
-
zod_1.z.tuple([shared_1.EthAddressOrUserAddressSchema, shared_1.paramOrContextParamSchema]),
|
|
21
|
-
]),
|
|
22
|
-
returnValueTest: shared_1.returnValueTestSchema, // Update to allow multiple return values after expanding supported methods
|
|
23
|
-
});
|
|
5
|
+
const rpc_1 = require("../schemas/rpc");
|
|
6
|
+
var rpc_2 = require("../schemas/rpc");
|
|
7
|
+
Object.defineProperty(exports, "rpcConditionSchema", { enumerable: true, get: function () { return rpc_2.rpcConditionSchema; } });
|
|
8
|
+
Object.defineProperty(exports, "RpcConditionType", { enumerable: true, get: function () { return rpc_2.RpcConditionType; } });
|
|
24
9
|
class RpcCondition extends condition_1.Condition {
|
|
25
10
|
constructor(value) {
|
|
26
|
-
super(
|
|
27
|
-
conditionType:
|
|
11
|
+
super(rpc_1.rpcConditionSchema, {
|
|
12
|
+
conditionType: rpc_1.RpcConditionType,
|
|
28
13
|
...value,
|
|
29
14
|
});
|
|
30
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/rpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/rpc.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,wCAIwB;AAGxB,sCAIwB;AAFtB,yGAAA,kBAAkB,OAAA;AAClB,uGAAA,gBAAgB,OAAA;AAGlB,MAAa,YAAa,SAAQ,qBAAS;IACzC,YAAY,KAA2C;QACrD,KAAK,CAAC,wBAAkB,EAAE;YACxB,aAAa,EAAE,sBAAgB;YAC/B,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,oCAOC"}
|
|
@@ -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
|
|
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,23 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimeCondition = exports.
|
|
4
|
-
const zod_1 = require("zod");
|
|
3
|
+
exports.TimeCondition = exports.TimeConditionType = exports.timeConditionSchema = exports.TimeConditionMethod = void 0;
|
|
5
4
|
const condition_1 = require("../condition");
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.TimeConditionType
|
|
11
|
-
exports.TimeConditionMethod = 'blocktime';
|
|
12
|
-
exports.timeConditionSchema = zod_1.z.object({
|
|
13
|
-
...restShape,
|
|
14
|
-
conditionType: zod_1.z.literal(exports.TimeConditionType).default(exports.TimeConditionType),
|
|
15
|
-
method: zod_1.z.literal(exports.TimeConditionMethod).default(exports.TimeConditionMethod),
|
|
16
|
-
});
|
|
5
|
+
const time_1 = require("../schemas/time");
|
|
6
|
+
var time_2 = require("../schemas/time");
|
|
7
|
+
Object.defineProperty(exports, "TimeConditionMethod", { enumerable: true, get: function () { return time_2.TimeConditionMethod; } });
|
|
8
|
+
Object.defineProperty(exports, "timeConditionSchema", { enumerable: true, get: function () { return time_2.timeConditionSchema; } });
|
|
9
|
+
Object.defineProperty(exports, "TimeConditionType", { enumerable: true, get: function () { return time_2.TimeConditionType; } });
|
|
17
10
|
class TimeCondition extends condition_1.Condition {
|
|
18
11
|
constructor(value) {
|
|
19
|
-
super(
|
|
20
|
-
conditionType:
|
|
12
|
+
super(time_1.timeConditionSchema, {
|
|
13
|
+
conditionType: time_1.TimeConditionType,
|
|
21
14
|
...value,
|
|
22
15
|
});
|
|
23
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/conditions/base/time.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,0CAIyB;AAGzB,wCAKyB;AAJvB,2GAAA,mBAAmB,OAAA;AAEnB,2GAAA,mBAAmB,OAAA;AACnB,yGAAA,iBAAiB,OAAA;AAGnB,MAAa,aAAc,SAAQ,qBAAS;IAC1C,YAAY,KAA4C;QACtD,KAAK,CAAC,0BAAmB,EAAE;YACzB,aAAa,EAAE,wBAAiB;YAChC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,sCAOC"}
|
|
@@ -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
|
|
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,46 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CompoundCondition = exports.
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const contract_1 = require("./base/contract");
|
|
6
|
-
const rpc_1 = require("./base/rpc");
|
|
7
|
-
const time_1 = require("./base/time");
|
|
3
|
+
exports.CompoundCondition = exports.CompoundConditionType = exports.compoundConditionSchema = void 0;
|
|
8
4
|
const condition_1 = require("./condition");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
.literal(exports.CompoundConditionType)
|
|
14
|
-
.default(exports.CompoundConditionType),
|
|
15
|
-
operator: zod_1.z.enum(['and', 'or', 'not']),
|
|
16
|
-
operands: zod_1.z
|
|
17
|
-
.array(zod_1.z.lazy(() => zod_1.z.union([
|
|
18
|
-
rpc_1.rpcConditionSchema,
|
|
19
|
-
time_1.timeConditionSchema,
|
|
20
|
-
contract_1.contractConditionSchema,
|
|
21
|
-
exports.compoundConditionSchema,
|
|
22
|
-
])))
|
|
23
|
-
.min(1),
|
|
24
|
-
})
|
|
25
|
-
.refine((condition) => {
|
|
26
|
-
// 'and' and 'or' operators must have at least 2 operands
|
|
27
|
-
if (['and', 'or'].includes(condition.operator)) {
|
|
28
|
-
return condition.operands.length >= 2;
|
|
29
|
-
}
|
|
30
|
-
// 'not' operator must have exactly 1 operand
|
|
31
|
-
if (condition.operator === 'not') {
|
|
32
|
-
return condition.operands.length === 1;
|
|
33
|
-
}
|
|
34
|
-
// We test positive cases exhaustively, so we return false here:
|
|
35
|
-
return false;
|
|
36
|
-
}, ({ operands, operator }) => ({
|
|
37
|
-
message: `Invalid number of operands ${operands.length} for operator "${operator}"`,
|
|
38
|
-
path: ['operands'],
|
|
39
|
-
}));
|
|
5
|
+
const compound_1 = require("./schemas/compound");
|
|
6
|
+
var compound_2 = require("./schemas/compound");
|
|
7
|
+
Object.defineProperty(exports, "compoundConditionSchema", { enumerable: true, get: function () { return compound_2.compoundConditionSchema; } });
|
|
8
|
+
Object.defineProperty(exports, "CompoundConditionType", { enumerable: true, get: function () { return compound_2.CompoundConditionType; } });
|
|
40
9
|
class CompoundCondition extends condition_1.Condition {
|
|
41
10
|
constructor(value) {
|
|
42
|
-
super(
|
|
43
|
-
conditionType:
|
|
11
|
+
super(compound_1.compoundConditionSchema, {
|
|
12
|
+
conditionType: compound_1.CompoundConditionType,
|
|
44
13
|
...value,
|
|
45
14
|
});
|
|
46
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"compound-condition.js","sourceRoot":"","sources":["../../../src/conditions/compound-condition.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AACxD,iDAI4B;AAG5B,+CAI4B;AAF1B,mHAAA,uBAAuB,OAAA;AACvB,iHAAA,qBAAqB,OAAA;AAKvB,MAAa,iBAAkB,SAAQ,qBAAS;IAC9C,YAAY,KAAgD;QAC1D,KAAK,CAAC,kCAAuB,EAAE;YAC7B,aAAa,EAAE,gCAAqB;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,qBAAS,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;AAnCD,8CAmCC"}
|
|
@@ -2,21 +2,32 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConditionFactory = void 0;
|
|
4
4
|
const contract_1 = require("./base/contract");
|
|
5
|
+
const json_api_1 = require("./base/json-api");
|
|
5
6
|
const rpc_1 = require("./base/rpc");
|
|
6
7
|
const time_1 = require("./base/time");
|
|
7
8
|
const compound_condition_1 = require("./compound-condition");
|
|
9
|
+
const if_then_else_condition_1 = require("./if-then-else-condition");
|
|
10
|
+
const sequential_1 = require("./sequential");
|
|
8
11
|
const ERR_INVALID_CONDITION_TYPE = (type) => `Invalid condition type: ${type}`;
|
|
9
12
|
class ConditionFactory {
|
|
10
13
|
static conditionFromProps(props) {
|
|
11
14
|
switch (props.conditionType) {
|
|
15
|
+
// Base Conditions
|
|
12
16
|
case rpc_1.RpcConditionType:
|
|
13
17
|
return new rpc_1.RpcCondition(props);
|
|
14
18
|
case time_1.TimeConditionType:
|
|
15
19
|
return new time_1.TimeCondition(props);
|
|
16
20
|
case contract_1.ContractConditionType:
|
|
17
21
|
return new contract_1.ContractCondition(props);
|
|
22
|
+
case json_api_1.JsonApiConditionType:
|
|
23
|
+
return new json_api_1.JsonApiCondition(props);
|
|
24
|
+
// Logical Conditions
|
|
18
25
|
case compound_condition_1.CompoundConditionType:
|
|
19
26
|
return new compound_condition_1.CompoundCondition(props);
|
|
27
|
+
case sequential_1.SequentialConditionType:
|
|
28
|
+
return new sequential_1.SequentialCondition(props);
|
|
29
|
+
case if_then_else_condition_1.IfThenElseConditionType:
|
|
30
|
+
return new if_then_else_condition_1.IfThenElseCondition(props);
|
|
20
31
|
default:
|
|
21
32
|
throw new Error(ERR_INVALID_CONDITION_TYPE(props.conditionType));
|
|
22
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":";;;AAAA,8CAIyB;AACzB,oCAA+E;AAC/E,sCAIqB;AACrB,6DAI8B;
|
|
1
|
+
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":";;;AAAA,8CAIyB;AACzB,8CAIyB;AACzB,oCAA+E;AAC/E,sCAIqB;AACrB,6DAI8B;AAE9B,qEAIkC;AAClC,6CAIsB;AAEtB,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,EAAE,CAClD,2BAA2B,IAAI,EAAE,CAAC;AAEpC,MAAa,gBAAgB;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAqB;QACpD,QAAQ,KAAK,CAAC,aAAa,EAAE,CAAC;YAC5B,kBAAkB;YAClB,KAAK,sBAAgB;gBACnB,OAAO,IAAI,kBAAY,CAAC,KAA0B,CAAC,CAAC;YACtD,KAAK,wBAAiB;gBACpB,OAAO,IAAI,oBAAa,CAAC,KAA2B,CAAC,CAAC;YACxD,KAAK,gCAAqB;gBACxB,OAAO,IAAI,4BAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,+BAAoB;gBACvB,OAAO,IAAI,2BAAgB,CAAC,KAA8B,CAAC,CAAC;YAC9D,qBAAqB;YACrB,KAAK,0CAAqB;gBACxB,OAAO,IAAI,sCAAiB,CAAC,KAA+B,CAAC,CAAC;YAChE,KAAK,oCAAuB;gBAC1B,OAAO,IAAI,gCAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE,KAAK,gDAAuB;gBAC1B,OAAO,IAAI,4CAAmB,CAAC,KAAiC,CAAC,CAAC;YACpE;gBACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAvBD,4CAuBC"}
|
|
@@ -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,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Condition = void 0;
|
|
3
|
+
exports.Condition = exports.baseConditionSchema = void 0;
|
|
4
4
|
const shared_1 = require("@nucypher/shared");
|
|
5
5
|
const const_1 = require("./const");
|
|
6
|
+
var common_1 = require("./schemas/common");
|
|
7
|
+
Object.defineProperty(exports, "baseConditionSchema", { enumerable: true, get: function () { return common_1.baseConditionSchema; } });
|
|
6
8
|
const ERR_INVALID_CONDITION = (error) => `Invalid condition: ${JSON.stringify(error.issues)}`;
|
|
7
9
|
class Condition {
|
|
8
10
|
schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGhD,mCAA8C;
|
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAGhD,mCAA8C;AAE9C,2CAAuD;AAA9C,6GAAA,mBAAmB,OAAA;AAK5B,MAAM,qBAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAClD,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAEvD,MAAa,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,2BAAmB,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,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF;AApDD,8BAoDC"}
|
|
@@ -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,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.USER_ADDRESS_PARAMS = exports.SUPPORTED_CHAIN_IDS = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_REGEXP = void 0;
|
|
3
|
+
exports.USER_ADDRESS_PARAMS = exports.SUPPORTED_CHAIN_IDS = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = exports.CONTEXT_PARAM_REGEXP = void 0;
|
|
4
4
|
const shared_1 = require("@nucypher/shared");
|
|
5
5
|
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
6
6
|
// Only allow alphanumeric characters and underscores
|
|
7
|
-
|
|
7
|
+
const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
|
|
8
|
+
exports.CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
|
|
9
|
+
// Entire string is context param
|
|
10
|
+
exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
|
|
8
11
|
exports.CONTEXT_PARAM_PREFIX = ':';
|
|
9
12
|
exports.SUPPORTED_CHAIN_IDS = [
|
|
10
13
|
shared_1.ChainId.POLYGON,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,mDAG6B;AAE7B,qDAAqD;
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,mDAG6B;AAE7B,qDAAqD;AACrD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAE7C,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAExE,iCAAiC;AACpB,QAAA,+BAA+B,GAAG,IAAI,MAAM,CACvD,IAAI,uBAAuB,GAAG,CAC/B,CAAC;AAEW,QAAA,oBAAoB,GAAG,GAAG,CAAC;AAE3B,QAAA,mBAAmB,GAAG;IACjC,gBAAO,CAAC,OAAO;IACf,gBAAO,CAAC,IAAI;IACZ,gBAAO,CAAC,OAAO;IACf,gBAAO,CAAC,gBAAgB;CACzB,CAAC;AAEW,QAAA,mBAAmB,GAAG;IACjC,+CAAmC;IACnC,+CAA+C;IAC/C,sCAA0B;CAC3B,CAAC"}
|
|
@@ -87,7 +87,7 @@ class ConditionContext {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
static isContextParameter(param) {
|
|
90
|
-
return !!String(param).match(const_1.
|
|
90
|
+
return !!String(param).match(const_1.CONTEXT_PARAM_FULL_MATCH_REGEXP);
|
|
91
91
|
}
|
|
92
92
|
static findContextParameters(condition) {
|
|
93
93
|
// 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,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IfThenElseCondition = exports.IfThenElseConditionType = exports.ifThenElseConditionSchema = void 0;
|
|
4
|
+
const condition_1 = require("./condition");
|
|
5
|
+
const if_then_else_1 = require("./schemas/if-then-else");
|
|
6
|
+
var if_then_else_2 = require("./schemas/if-then-else");
|
|
7
|
+
Object.defineProperty(exports, "ifThenElseConditionSchema", { enumerable: true, get: function () { return if_then_else_2.ifThenElseConditionSchema; } });
|
|
8
|
+
Object.defineProperty(exports, "IfThenElseConditionType", { enumerable: true, get: function () { return if_then_else_2.IfThenElseConditionType; } });
|
|
9
|
+
class IfThenElseCondition extends condition_1.Condition {
|
|
10
|
+
constructor(value) {
|
|
11
|
+
super(if_then_else_1.ifThenElseConditionSchema, {
|
|
12
|
+
conditionType: if_then_else_1.IfThenElseConditionType,
|
|
13
|
+
...value,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.IfThenElseCondition = IfThenElseCondition;
|
|
18
|
+
//# 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,2CAAwC;AACxC,yDAIgC;AAGhC,uDAIgC;AAF9B,yHAAA,yBAAyB,OAAA;AACzB,uHAAA,uBAAuB,OAAA;AAGzB,MAAa,mBAAoB,SAAQ,qBAAS;IAChD,YAAY,KAAkD;QAC5D,KAAK,CAAC,wCAAyB,EAAE;YAC/B,aAAa,EAAE,sCAAuB;YACtC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,kDAOC"}
|
|
@@ -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 };
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.predefined = exports.base = exports.context = exports.ConditionFactory = exports.conditionExpr = exports.condition = exports.compound = void 0;
|
|
26
|
+
exports.predefined = exports.base = exports.sequential = exports.ifThenElse = exports.context = exports.ConditionFactory = exports.conditionExpr = exports.condition = exports.compound = void 0;
|
|
27
27
|
const base = __importStar(require("./base"));
|
|
28
28
|
exports.base = base;
|
|
29
29
|
const predefined = __importStar(require("./predefined"));
|
|
@@ -34,4 +34,6 @@ exports.conditionExpr = __importStar(require("./condition-expr"));
|
|
|
34
34
|
var condition_factory_1 = require("./condition-factory");
|
|
35
35
|
Object.defineProperty(exports, "ConditionFactory", { enumerable: true, get: function () { return condition_factory_1.ConditionFactory; } });
|
|
36
36
|
exports.context = __importStar(require("./context"));
|
|
37
|
+
exports.ifThenElse = __importStar(require("./if-then-else-condition"));
|
|
38
|
+
exports.sequential = __importStar(require("./sequential"));
|
|
37
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conditions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAUtB,oBAAI;AATb,yDAA2C;AAS5B,gCAAU;AAPzB,iEAAiD;AACjD,yDAAyC;AACzC,kEAAkD;AAClD,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,qDAAqC;AACrC,uEAAuD;AACvD,2DAA2C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.maxNestedDepth = void 0;
|
|
4
|
+
const compound_condition_1 = require("./compound-condition");
|
|
5
|
+
const if_then_else_condition_1 = require("./if-then-else-condition");
|
|
6
|
+
const sequential_1 = require("./sequential");
|
|
7
|
+
const maxNestedDepth = (maxDepth) => (condition, currentDepth = 1) => {
|
|
8
|
+
if (condition.conditionType === compound_condition_1.CompoundConditionType ||
|
|
9
|
+
condition.conditionType === sequential_1.SequentialConditionType ||
|
|
10
|
+
condition.conditionType === if_then_else_condition_1.IfThenElseConditionType) {
|
|
11
|
+
if (currentDepth > maxDepth) {
|
|
12
|
+
// no more multi-condition types allowed at this level
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (condition.conditionType === compound_condition_1.CompoundConditionType) {
|
|
16
|
+
return condition.operands.every((child) => (0, exports.maxNestedDepth)(maxDepth)(child, currentDepth + 1));
|
|
17
|
+
}
|
|
18
|
+
else if (condition.conditionType === sequential_1.SequentialConditionType) {
|
|
19
|
+
return condition.conditionVariables.every((child) => (0, exports.maxNestedDepth)(maxDepth)(child.condition, currentDepth + 1));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
// if-then-else condition
|
|
23
|
+
const ifThenElseConditions = [];
|
|
24
|
+
ifThenElseConditions.push(condition.ifCondition);
|
|
25
|
+
ifThenElseConditions.push(condition.thenCondition);
|
|
26
|
+
if (typeof condition.elseCondition !== 'boolean') {
|
|
27
|
+
ifThenElseConditions.push(condition.elseCondition);
|
|
28
|
+
}
|
|
29
|
+
return ifThenElseConditions.every((child) => (0, exports.maxNestedDepth)(maxDepth)(child, currentDepth + 1));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
};
|
|
34
|
+
exports.maxNestedDepth = maxNestedDepth;
|
|
35
|
+
//# 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,6DAA6D;AAE7D,qEAAmE;AACnE,6CAA+E;AAExE,MAAM,cAAc,GACzB,CAAC,QAAgB,EAAE,EAAE,CACrB,CAAC,SAAyB,EAAE,YAAY,GAAG,CAAC,EAAW,EAAE;IACvD,IACE,SAAS,CAAC,aAAa,KAAK,0CAAqB;QACjD,SAAS,CAAC,aAAa,KAAK,oCAAuB;QACnD,SAAS,CAAC,aAAa,KAAK,gDAAuB,EACnD,CAAC;QACD,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;YAC5B,sDAAsD;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,SAAS,CAAC,aAAa,KAAK,0CAAqB,EAAE,CAAC;YACtD,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAqB,EAAE,EAAE,CACxD,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,CAAC,aAAa,KAAK,oCAAuB,EAAE,CAAC;YAC/D,OAAO,SAAS,CAAC,kBAAkB,CAAC,KAAK,CACvC,CAAC,KAA6B,EAAE,EAAE,CAChC,IAAA,sBAAc,EAAC,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,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AArCS,QAAA,cAAc,kBAqCvB"}
|
|
@@ -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,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.baseConditionSchema = exports.UserAddressSchema = exports.plainStringSchema = void 0;
|
|
4
|
+
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const const_1 = require("../const");
|
|
7
|
+
// We want to discriminate between ContextParams and plain strings
|
|
8
|
+
// If a string starts with `:`, it's a ContextParam
|
|
9
|
+
exports.plainStringSchema = zod_1.z.string().refine((str) => {
|
|
10
|
+
return !str.startsWith(const_1.CONTEXT_PARAM_PREFIX);
|
|
11
|
+
}, {
|
|
12
|
+
message: `String must not be a context parameter i.e. not start with "${const_1.CONTEXT_PARAM_PREFIX}"`,
|
|
13
|
+
});
|
|
14
|
+
exports.UserAddressSchema = zod_1.z.enum([
|
|
15
|
+
taco_auth_1.USER_ADDRESS_PARAM_DEFAULT,
|
|
16
|
+
taco_auth_1.USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
|
|
17
|
+
]);
|
|
18
|
+
exports.baseConditionSchema = zod_1.z.object({
|
|
19
|
+
conditionType: zod_1.z.string(),
|
|
20
|
+
});
|
|
21
|
+
// Source: https://github.com/colinhacks/zod/issues/831#issuecomment-1063481764
|
|
22
|
+
const createUnion = (values) => {
|
|
23
|
+
const zodLiterals = values.map((value) => zod_1.z.literal(value));
|
|
24
|
+
return zod_1.z.union(zodLiterals);
|
|
25
|
+
};
|
|
26
|
+
function createUnionSchema(values) {
|
|
27
|
+
if (values.length === 0) {
|
|
28
|
+
return zod_1.z.never();
|
|
29
|
+
}
|
|
30
|
+
if (values.length === 1) {
|
|
31
|
+
return zod_1.z.literal(values[0]);
|
|
32
|
+
}
|
|
33
|
+
return createUnion(values);
|
|
34
|
+
}
|
|
35
|
+
exports.default = createUnionSchema;
|
|
36
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":";;;AAAA,mDAG6B;AAC7B,6BAA+C;AAE/C,oCAAgD;AAEhD,kEAAkE;AAClE,mDAAmD;AACtC,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,4BAAoB,CAAC,CAAC;AAC/C,CAAC,EACD;IACE,OAAO,EAAE,+DAA+D,4BAAoB,GAAG;CAChG,CACF,CAAC;AAEW,QAAA,iBAAiB,GAAG,OAAC,CAAC,IAAI,CAAC;IACtC,sCAA0B;IAC1B,+CAAmC;CACpC,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,OAAC,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,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAIzD,CAAC;IACF,OAAO,OAAC,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,OAAC,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAChB,MAAqE,CACtE,CAAC;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compoundConditionSchema = exports.CompoundConditionType = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const multi_condition_1 = require("../multi-condition");
|
|
6
|
+
const common_1 = require("./common");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
exports.CompoundConditionType = 'compound';
|
|
9
|
+
exports.compoundConditionSchema = zod_1.z.lazy(() => common_1.baseConditionSchema
|
|
10
|
+
.extend({
|
|
11
|
+
conditionType: zod_1.z
|
|
12
|
+
.literal(exports.CompoundConditionType)
|
|
13
|
+
.default(exports.CompoundConditionType),
|
|
14
|
+
operator: zod_1.z.enum(['and', 'or', 'not']),
|
|
15
|
+
operands: zod_1.z.array(utils_1.anyConditionSchema).min(1).max(5),
|
|
16
|
+
})
|
|
17
|
+
.refine((condition) => {
|
|
18
|
+
// 'and' and 'or' operators must have at least 2 operands
|
|
19
|
+
if (['and', 'or'].includes(condition.operator)) {
|
|
20
|
+
return condition.operands.length >= 2;
|
|
21
|
+
}
|
|
22
|
+
// 'not' operator must have exactly 1 operand
|
|
23
|
+
if (condition.operator === 'not') {
|
|
24
|
+
return condition.operands.length === 1;
|
|
25
|
+
}
|
|
26
|
+
// We test positive cases exhaustively, so we return false here:
|
|
27
|
+
return false;
|
|
28
|
+
}, ({ operands, operator }) => ({
|
|
29
|
+
message: `Invalid number of operands ${operands.length} for operator "${operator}"`,
|
|
30
|
+
path: ['operands'],
|
|
31
|
+
}))
|
|
32
|
+
.refine((condition) => (0, multi_condition_1.maxNestedDepth)(2)(condition), {
|
|
33
|
+
message: 'Exceeded max nested depth of 2 for multi-condition type',
|
|
34
|
+
path: ['operands'],
|
|
35
|
+
}));
|
|
36
|
+
//# sourceMappingURL=compound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compound.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/compound.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,wDAAoD;AAEpD,qCAA+C;AAC/C,mCAA6C;AAEhC,QAAA,qBAAqB,GAAG,UAAU,CAAC;AAEnC,QAAA,uBAAuB,GAAgB,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC9D,4BAAmB;KAChB,MAAM,CAAC;IACN,aAAa,EAAE,OAAC;SACb,OAAO,CAAC,6BAAqB,CAAC;SAC9B,OAAO,CAAC,6BAAqB,CAAC;IACjC,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,0BAAkB,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,IAAA,gCAAc,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC3C;IACE,OAAO,EAAE,yDAAyD;IAClE,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CACF,CACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.paramOrContextParamSchema = exports.contextParamSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const const_1 = require("../const");
|
|
6
|
+
const common_1 = require("./common");
|
|
7
|
+
exports.contextParamSchema = zod_1.z
|
|
8
|
+
.string()
|
|
9
|
+
.regex(const_1.CONTEXT_PARAM_FULL_MATCH_REGEXP);
|
|
10
|
+
const paramSchema = zod_1.z.union([common_1.plainStringSchema, zod_1.z.boolean(), zod_1.z.number()]);
|
|
11
|
+
exports.paramOrContextParamSchema = zod_1.z.union([
|
|
12
|
+
paramSchema,
|
|
13
|
+
exports.contextParamSchema,
|
|
14
|
+
zod_1.z.lazy(() => zod_1.z.array(exports.paramOrContextParamSchema)),
|
|
15
|
+
]);
|
|
16
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/context.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,oCAA2D;AAE3D,qCAA6C;AAEhC,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,uCAA+B,CAAC,CAAC;AAE1C,MAAM,WAAW,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,0BAAiB,EAAE,OAAC,CAAC,OAAO,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE7D,QAAA,yBAAyB,GAAgB,OAAC,CAAC,KAAK,CAAC;IAC5D,WAAW;IACX,0BAAkB;IAClB,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAC,CAAC,KAAK,CAAC,iCAAyB,CAAC,CAAC;CACjD,CAAC,CAAC"}
|