@nucypher/taco 0.6.0-alpha.1 → 0.6.0-alpha.2
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/README.md +2 -2
- 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 +1 -1
- package/dist/cjs/conditions/base/json-api.js +1 -2
- package/dist/cjs/conditions/base/json-api.js.map +1 -1
- package/dist/cjs/conditions/base/json-rpc.d.ts +7 -0
- package/dist/cjs/conditions/base/json-rpc.js +18 -0
- package/dist/cjs/conditions/base/json-rpc.js.map +1 -0
- package/dist/cjs/conditions/condition-factory.js +3 -0
- package/dist/cjs/conditions/condition-factory.js.map +1 -1
- package/dist/cjs/conditions/const.d.ts +0 -2
- package/dist/cjs/conditions/const.js +1 -8
- package/dist/cjs/conditions/const.js.map +1 -1
- package/dist/cjs/conditions/context/context.d.ts +1 -0
- package/dist/cjs/conditions/context/context.js +46 -51
- package/dist/cjs/conditions/context/context.js.map +1 -1
- package/dist/cjs/conditions/schemas/common.d.ts +2 -0
- package/dist/cjs/conditions/schemas/common.js +31 -1
- package/dist/cjs/conditions/schemas/common.js.map +1 -1
- package/dist/cjs/conditions/schemas/contract.d.ts +13 -13
- package/dist/cjs/conditions/schemas/json-api.d.ts +1 -2
- package/dist/cjs/conditions/schemas/json-api.js +5 -25
- package/dist/cjs/conditions/schemas/json-api.js.map +1 -1
- package/dist/cjs/conditions/schemas/json-rpc.d.ts +48 -0
- package/dist/cjs/conditions/schemas/json-rpc.js +21 -0
- package/dist/cjs/conditions/schemas/json-rpc.js.map +1 -0
- package/dist/cjs/conditions/schemas/rpc.d.ts +7 -7
- package/dist/cjs/conditions/schemas/rpc.js +2 -26
- package/dist/cjs/conditions/schemas/rpc.js.map +1 -1
- package/dist/cjs/conditions/schemas/time.d.ts +4 -4
- package/dist/cjs/conditions/schemas/utils.js +2 -0
- package/dist/cjs/conditions/schemas/utils.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 +1 -1
- package/dist/es/conditions/base/json-api.js +1 -1
- package/dist/es/conditions/base/json-api.js.map +1 -1
- package/dist/es/conditions/base/json-rpc.d.ts +7 -0
- package/dist/es/conditions/base/json-rpc.js +12 -0
- package/dist/es/conditions/base/json-rpc.js.map +1 -0
- package/dist/es/conditions/condition-factory.js +3 -0
- package/dist/es/conditions/condition-factory.js.map +1 -1
- package/dist/es/conditions/const.d.ts +0 -2
- package/dist/es/conditions/const.js +0 -7
- package/dist/es/conditions/const.js.map +1 -1
- package/dist/es/conditions/context/context.d.ts +1 -0
- package/dist/es/conditions/context/context.js +47 -52
- package/dist/es/conditions/context/context.js.map +1 -1
- package/dist/es/conditions/schemas/common.d.ts +2 -0
- package/dist/es/conditions/schemas/common.js +31 -1
- package/dist/es/conditions/schemas/common.js.map +1 -1
- package/dist/es/conditions/schemas/contract.d.ts +13 -13
- package/dist/es/conditions/schemas/json-api.d.ts +1 -2
- package/dist/es/conditions/schemas/json-api.js +3 -23
- package/dist/es/conditions/schemas/json-api.js.map +1 -1
- package/dist/es/conditions/schemas/json-rpc.d.ts +48 -0
- package/dist/es/conditions/schemas/json-rpc.js +18 -0
- package/dist/es/conditions/schemas/json-rpc.js.map +1 -0
- package/dist/es/conditions/schemas/rpc.d.ts +7 -7
- package/dist/es/conditions/schemas/rpc.js +2 -3
- package/dist/es/conditions/schemas/rpc.js.map +1 -1
- package/dist/es/conditions/schemas/time.d.ts +4 -4
- package/dist/es/conditions/schemas/utils.js +2 -0
- package/dist/es/conditions/schemas/utils.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.es.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/cjs/conditions/context/providers.d.ts +0 -16
- package/dist/cjs/conditions/context/providers.js +0 -111
- package/dist/cjs/conditions/context/providers.js.map +0 -1
- package/dist/cjs/web3.d.ts +0 -33
- package/dist/cjs/web3.js +0 -3
- package/dist/cjs/web3.js.map +0 -1
- package/dist/es/conditions/context/providers.d.ts +0 -16
- package/dist/es/conditions/context/providers.js +0 -107
- package/dist/es/conditions/context/providers.js.map +0 -1
- package/dist/es/web3.d.ts +0 -33
- package/dist/es/web3.js +0 -2
- package/dist/es/web3.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
To use `taco`, you need to connect with a proper network: `mainnet`, `testnet`, or `devnet`. You can find a proper version for each network in the [npmjs.com package tags](https://www.npmjs.com/package/@nucypher/taco?activeTab=versions).
|
|
8
8
|
|
|
9
|
-
Visit [our documentation](https://docs.
|
|
9
|
+
Visit [our documentation](https://docs.taco.build/taco-integration/) to learn more.
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
@@ -67,4 +67,4 @@ const decryptedMessage = await decrypt(
|
|
|
67
67
|
## Learn more
|
|
68
68
|
|
|
69
69
|
Please find developer documentation for
|
|
70
|
-
TACo [here](https://docs.
|
|
70
|
+
TACo [here](https://docs.taco.build/).
|
|
@@ -25,9 +25,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
return result;
|
|
26
26
|
};
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.time = exports.rpc = exports.jsonApi = exports.contract = void 0;
|
|
28
|
+
exports.time = exports.rpc = exports.jsonRpc = exports.jsonApi = exports.contract = void 0;
|
|
29
29
|
exports.contract = __importStar(require("./contract"));
|
|
30
30
|
exports.jsonApi = __importStar(require("./json-api"));
|
|
31
|
+
exports.jsonRpc = __importStar(require("./json-rpc"));
|
|
31
32
|
exports.rpc = __importStar(require("./rpc"));
|
|
32
33
|
exports.time = __importStar(require("./time"));
|
|
33
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,uDAAuC;AACvC,sDAAsC;AACtC,6CAA6B;AAC7B,+CAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/conditions/base/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,uDAAuC;AACvC,sDAAsC;AACtC,sDAAsC;AACtC,6CAA6B;AAC7B,+CAA+B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Condition } from '../condition';
|
|
2
2
|
import { JsonApiConditionProps } from '../schemas/json-api';
|
|
3
3
|
import { OmitConditionType } from '../shared';
|
|
4
|
-
export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType,
|
|
4
|
+
export { JsonApiConditionProps, jsonApiConditionSchema, JsonApiConditionType, } from '../schemas/json-api';
|
|
5
5
|
export declare class JsonApiCondition extends Condition {
|
|
6
6
|
constructor(value: OmitConditionType<JsonApiConditionProps>);
|
|
7
7
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JsonApiCondition = exports.
|
|
3
|
+
exports.JsonApiCondition = exports.JsonApiConditionType = exports.jsonApiConditionSchema = void 0;
|
|
4
4
|
const condition_1 = require("../condition");
|
|
5
5
|
const json_api_1 = require("../schemas/json-api");
|
|
6
6
|
var json_api_2 = require("../schemas/json-api");
|
|
7
7
|
Object.defineProperty(exports, "jsonApiConditionSchema", { enumerable: true, get: function () { return json_api_2.jsonApiConditionSchema; } });
|
|
8
8
|
Object.defineProperty(exports, "JsonApiConditionType", { enumerable: true, get: function () { return json_api_2.JsonApiConditionType; } });
|
|
9
|
-
Object.defineProperty(exports, "jsonPathSchema", { enumerable: true, get: function () { return json_api_2.jsonPathSchema; } });
|
|
10
9
|
class JsonApiCondition extends condition_1.Condition {
|
|
11
10
|
constructor(value) {
|
|
12
11
|
super(json_api_1.jsonApiConditionSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAI6B;AAG7B,
|
|
1
|
+
{"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-api.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAI6B;AAG7B,gDAI6B;AAF3B,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AAGtB,MAAa,gBAAiB,SAAQ,qBAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,iCAAsB,EAAE;YAC5B,aAAa,EAAE,+BAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,4CAOC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Condition } from '../condition';
|
|
2
|
+
import { JsonRpcConditionProps } from '../schemas/json-rpc';
|
|
3
|
+
import { OmitConditionType } from '../shared';
|
|
4
|
+
export { JsonRpcConditionProps, jsonRpcConditionSchema, JsonRpcConditionType, } from '../schemas/json-rpc';
|
|
5
|
+
export declare class JsonRpcCondition extends Condition {
|
|
6
|
+
constructor(value: OmitConditionType<JsonRpcConditionProps>);
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonRpcCondition = exports.JsonRpcConditionType = exports.jsonRpcConditionSchema = void 0;
|
|
4
|
+
const condition_1 = require("../condition");
|
|
5
|
+
const json_rpc_1 = require("../schemas/json-rpc");
|
|
6
|
+
var json_rpc_2 = require("../schemas/json-rpc");
|
|
7
|
+
Object.defineProperty(exports, "jsonRpcConditionSchema", { enumerable: true, get: function () { return json_rpc_2.jsonRpcConditionSchema; } });
|
|
8
|
+
Object.defineProperty(exports, "JsonRpcConditionType", { enumerable: true, get: function () { return json_rpc_2.JsonRpcConditionType; } });
|
|
9
|
+
class JsonRpcCondition extends condition_1.Condition {
|
|
10
|
+
constructor(value) {
|
|
11
|
+
super(json_rpc_1.jsonRpcConditionSchema, {
|
|
12
|
+
conditionType: json_rpc_1.JsonRpcConditionType,
|
|
13
|
+
...value,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.JsonRpcCondition = JsonRpcCondition;
|
|
18
|
+
//# sourceMappingURL=json-rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/base/json-rpc.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAI6B;AAG7B,gDAI6B;AAF3B,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AAGtB,MAAa,gBAAiB,SAAQ,qBAAS;IAC7C,YAAY,KAA+C;QACzD,KAAK,CAAC,iCAAsB,EAAE;YAC5B,aAAa,EAAE,+BAAoB;YACnC,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;CACF;AAPD,4CAOC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ConditionFactory = void 0;
|
|
4
4
|
const contract_1 = require("./base/contract");
|
|
5
5
|
const json_api_1 = require("./base/json-api");
|
|
6
|
+
const json_rpc_1 = require("./base/json-rpc");
|
|
6
7
|
const rpc_1 = require("./base/rpc");
|
|
7
8
|
const time_1 = require("./base/time");
|
|
8
9
|
const compound_condition_1 = require("./compound-condition");
|
|
@@ -21,6 +22,8 @@ class ConditionFactory {
|
|
|
21
22
|
return new contract_1.ContractCondition(props);
|
|
22
23
|
case json_api_1.JsonApiConditionType:
|
|
23
24
|
return new json_api_1.JsonApiCondition(props);
|
|
25
|
+
case json_rpc_1.JsonRpcConditionType:
|
|
26
|
+
return new json_rpc_1.JsonRpcCondition(props);
|
|
24
27
|
// Logical Conditions
|
|
25
28
|
case compound_condition_1.CompoundConditionType:
|
|
26
29
|
return new compound_condition_1.CompoundCondition(props);
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"condition-factory.js","sourceRoot":"","sources":["../../../src/conditions/condition-factory.ts"],"names":[],"mappings":";;;AAAA,8CAIyB;AACzB,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,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;AAzBD,4CAyBC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { ChainId } from '@nucypher/shared';
|
|
2
1
|
export declare const CONTEXT_PARAM_REGEXP: RegExp;
|
|
3
2
|
export declare const CONTEXT_PARAM_FULL_MATCH_REGEXP: RegExp;
|
|
4
3
|
export declare const CONTEXT_PARAM_PREFIX = ":";
|
|
5
|
-
export declare const SUPPORTED_CHAIN_IDS: ChainId[];
|
|
6
4
|
export declare const USER_ADDRESS_PARAMS: string[];
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.USER_ADDRESS_PARAMS = exports.
|
|
4
|
-
const shared_1 = require("@nucypher/shared");
|
|
3
|
+
exports.USER_ADDRESS_PARAMS = exports.CONTEXT_PARAM_PREFIX = exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = exports.CONTEXT_PARAM_REGEXP = void 0;
|
|
5
4
|
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
6
5
|
// Only allow alphanumeric characters and underscores
|
|
7
6
|
const contextParamRegexString = ':[a-zA-Z_][a-zA-Z0-9_]*';
|
|
@@ -9,12 +8,6 @@ exports.CONTEXT_PARAM_REGEXP = new RegExp(contextParamRegexString);
|
|
|
9
8
|
// Entire string is context param
|
|
10
9
|
exports.CONTEXT_PARAM_FULL_MATCH_REGEXP = new RegExp(`^${contextParamRegexString}$`);
|
|
11
10
|
exports.CONTEXT_PARAM_PREFIX = ':';
|
|
12
|
-
exports.SUPPORTED_CHAIN_IDS = [
|
|
13
|
-
shared_1.ChainId.POLYGON,
|
|
14
|
-
shared_1.ChainId.AMOY,
|
|
15
|
-
shared_1.ChainId.SEPOLIA,
|
|
16
|
-
shared_1.ChainId.ETHEREUM_MAINNET,
|
|
17
|
-
];
|
|
18
11
|
exports.USER_ADDRESS_PARAMS = [
|
|
19
12
|
taco_auth_1.USER_ADDRESS_PARAM_EXTERNAL_EIP4361,
|
|
20
13
|
// Ordering matters, this should always be last
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/conditions/const.ts"],"names":[],"mappings":";;;AAAA,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,+CAAmC;IACnC,+CAA+C;IAC/C,sCAA0B;CAC3B,CAAC"}
|
|
@@ -17,6 +17,7 @@ export declare class ConditionContext {
|
|
|
17
17
|
private fillAuthContextParameters;
|
|
18
18
|
private validateCustomContextParameter;
|
|
19
19
|
private static isContextParameter;
|
|
20
|
+
private static findContextParameter;
|
|
20
21
|
private static findContextParameters;
|
|
21
22
|
addCustomContextParameterValues(customContextParameters: Record<string, CustomContextParam>): void;
|
|
22
23
|
addAuthProvider(contextParam: string, authProvider: AuthProvider): void;
|
|
@@ -4,10 +4,8 @@ exports.ConditionContext = exports.RESERVED_CONTEXT_PARAMS = void 0;
|
|
|
4
4
|
const shared_1 = require("@nucypher/shared");
|
|
5
5
|
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
6
6
|
const types_1 = require("../../types");
|
|
7
|
-
const compound_condition_1 = require("../compound-condition");
|
|
8
7
|
const condition_expr_1 = require("../condition-expr");
|
|
9
8
|
const const_1 = require("../const");
|
|
10
|
-
const json_api_1 = require("../schemas/json-api");
|
|
11
9
|
const ERR_RESERVED_PARAM = (key) => `Cannot use reserved parameter name ${key} as custom parameter`;
|
|
12
10
|
const ERR_INVALID_CUSTOM_PARAM = (key) => `Custom parameter ${key} must start with ${const_1.CONTEXT_PARAM_PREFIX}`;
|
|
13
11
|
const ERR_AUTH_PROVIDER_REQUIRED = (key) => `No matching authentication provider to satisfy ${key} context variable in condition`;
|
|
@@ -90,62 +88,59 @@ class ConditionContext {
|
|
|
90
88
|
static isContextParameter(param) {
|
|
91
89
|
return !!String(param).match(const_1.CONTEXT_PARAM_FULL_MATCH_REGEXP);
|
|
92
90
|
}
|
|
93
|
-
static
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const rvt = condition.returnValueTest.value;
|
|
99
|
-
// Return value test can be a single parameter or an array of parameters
|
|
100
|
-
if (Array.isArray(rvt)) {
|
|
101
|
-
rvt.forEach((value) => {
|
|
102
|
-
if (ConditionContext.isContextParameter(value)) {
|
|
103
|
-
requestedParameters.add(value);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
else if (ConditionContext.isContextParameter(rvt)) {
|
|
108
|
-
requestedParameters.add(rvt);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// Not a context parameter, we can skip
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Check condition parameters
|
|
115
|
-
for (const param of condition.parameters ?? []) {
|
|
116
|
-
if (this.isContextParameter(param)) {
|
|
117
|
-
requestedParameters.add(param);
|
|
118
|
-
}
|
|
91
|
+
static findContextParameter(value) {
|
|
92
|
+
const includedContextVars = new Set();
|
|
93
|
+
// value not set
|
|
94
|
+
if (!value) {
|
|
95
|
+
return includedContextVars;
|
|
119
96
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
for (const param of innerParams) {
|
|
125
|
-
requestedParameters.add(param);
|
|
126
|
-
}
|
|
97
|
+
if (typeof value === 'string') {
|
|
98
|
+
if (this.isContextParameter(value)) {
|
|
99
|
+
// entire string is context parameter
|
|
100
|
+
includedContextVars.add(String(value));
|
|
127
101
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
if (condition.query) {
|
|
138
|
-
const queryParams = condition.query.match(":[a-zA-Z_]*");
|
|
139
|
-
if (queryParams) {
|
|
140
|
-
for (const param of queryParams) {
|
|
141
|
-
requestedParameters.add(param);
|
|
102
|
+
else {
|
|
103
|
+
// context var could be substring; find all matches
|
|
104
|
+
const contextVarMatches = value.match(
|
|
105
|
+
// RegExp with 'g' is stateful, so new instance needed every time
|
|
106
|
+
new RegExp(const_1.CONTEXT_PARAM_REGEXP.source, 'g'));
|
|
107
|
+
if (contextVarMatches) {
|
|
108
|
+
for (const match of contextVarMatches) {
|
|
109
|
+
includedContextVars.add(match);
|
|
142
110
|
}
|
|
143
111
|
}
|
|
144
112
|
}
|
|
145
|
-
|
|
146
|
-
|
|
113
|
+
}
|
|
114
|
+
else if (Array.isArray(value)) {
|
|
115
|
+
// array
|
|
116
|
+
value.forEach((subValue) => {
|
|
117
|
+
const contextVarsForValue = this.findContextParameter(subValue);
|
|
118
|
+
contextVarsForValue.forEach((contextVar) => {
|
|
119
|
+
includedContextVars.add(contextVar);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
else if (typeof value === 'object') {
|
|
124
|
+
// dictionary (Record<string, T> - complex object eg. Condition, ConditionVariable, ReturnValueTest etc.)
|
|
125
|
+
for (const [, entry] of Object.entries(value)) {
|
|
126
|
+
const contextVarsForValue = this.findContextParameter(entry);
|
|
127
|
+
contextVarsForValue.forEach((contextVar) => {
|
|
128
|
+
includedContextVars.add(contextVar);
|
|
129
|
+
});
|
|
147
130
|
}
|
|
148
131
|
}
|
|
132
|
+
return includedContextVars;
|
|
133
|
+
}
|
|
134
|
+
static findContextParameters(condition) {
|
|
135
|
+
// find all the context variables we need
|
|
136
|
+
const requestedParameters = new Set();
|
|
137
|
+
// iterate through all properties in ConditionProps
|
|
138
|
+
const properties = Object.keys(condition);
|
|
139
|
+
properties.forEach((prop) => {
|
|
140
|
+
this.findContextParameter(condition[prop]).forEach((contextVar) => {
|
|
141
|
+
requestedParameters.add(contextVar);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
149
144
|
return requestedParameters;
|
|
150
145
|
}
|
|
151
146
|
addCustomContextParameterValues(customContextParameters) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,mDAO6B;AAE7B,uCAA0D;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/conditions/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,3 +10,5 @@ export declare const baseConditionSchema: z.ZodObject<{
|
|
|
10
10
|
}>;
|
|
11
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
12
|
export default createUnionSchema;
|
|
13
|
+
export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
14
|
+
export declare const httpsURLSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.baseConditionSchema = exports.UserAddressSchema = exports.plainStringSchema = void 0;
|
|
3
|
+
exports.httpsURLSchema = exports.jsonPathSchema = exports.baseConditionSchema = exports.UserAddressSchema = exports.plainStringSchema = void 0;
|
|
4
|
+
const jsonpath_1 = require("@astronautlabs/jsonpath");
|
|
4
5
|
const taco_auth_1 = require("@nucypher/taco-auth");
|
|
5
6
|
const zod_1 = require("zod");
|
|
6
7
|
const const_1 = require("../const");
|
|
@@ -33,4 +34,33 @@ function createUnionSchema(values) {
|
|
|
33
34
|
return createUnion(values);
|
|
34
35
|
}
|
|
35
36
|
exports.default = createUnionSchema;
|
|
37
|
+
const validateJSONPath = (jsonPath) => {
|
|
38
|
+
// account for embedded context variables
|
|
39
|
+
if (const_1.CONTEXT_PARAM_REGEXP.test(jsonPath)) {
|
|
40
|
+
// skip validation
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
jsonpath_1.JSONPath.parse(jsonPath);
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.jsonPathSchema = zod_1.z
|
|
52
|
+
.string()
|
|
53
|
+
.refine((val) => validateJSONPath(val), {
|
|
54
|
+
message: 'Invalid JSONPath expression',
|
|
55
|
+
});
|
|
56
|
+
const validateHttpsURL = (url) => {
|
|
57
|
+
return URL.canParse(url) && url.startsWith('https://');
|
|
58
|
+
};
|
|
59
|
+
// Use our own URL refinement check due to https://github.com/colinhacks/zod/issues/2236
|
|
60
|
+
exports.httpsURLSchema = zod_1.z
|
|
61
|
+
.string()
|
|
62
|
+
.url()
|
|
63
|
+
.refine((url) => validateHttpsURL(url), {
|
|
64
|
+
message: 'Invalid URL',
|
|
65
|
+
});
|
|
36
66
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":";;;AAAA,mDAG6B;AAC7B,6BAA+C;AAE/C,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/common.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AACnD,mDAG6B;AAC7B,6BAA+C;AAE/C,oCAAsE;AAEtE,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;AAEjC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAW,EAAE;IACrD,yCAAyC;IACzC,IAAI,4BAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,kBAAkB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,mBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,6BAA6B;CACvC,CAAC,CAAC;AAEL,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAW,EAAE;IAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,wFAAwF;AAC3E,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;IACtC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC"}
|
|
@@ -154,7 +154,7 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
154
154
|
index?: number | undefined;
|
|
155
155
|
value?: any;
|
|
156
156
|
}>;
|
|
157
|
-
chain: z.
|
|
157
|
+
chain: z.ZodNumber;
|
|
158
158
|
conditionType: z.ZodDefault<z.ZodLiteral<"contract">>;
|
|
159
159
|
contractAddress: z.ZodEffects<z.ZodString, string, string>;
|
|
160
160
|
standardContractType: z.ZodOptional<z.ZodEnum<["ERC20", "ERC721"]>>;
|
|
@@ -301,15 +301,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
301
301
|
parameters: z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">;
|
|
302
302
|
}, "strip", z.ZodTypeAny, {
|
|
303
303
|
conditionType: "contract";
|
|
304
|
-
|
|
304
|
+
method: string;
|
|
305
305
|
returnValueTest: {
|
|
306
306
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
307
307
|
index?: number | undefined;
|
|
308
308
|
value?: any;
|
|
309
309
|
};
|
|
310
|
-
|
|
310
|
+
parameters: any[];
|
|
311
|
+
chain: number;
|
|
311
312
|
contractAddress: string;
|
|
312
|
-
chain?: z.Primitive;
|
|
313
313
|
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
314
314
|
functionAbi?: {
|
|
315
315
|
type: "function";
|
|
@@ -331,15 +331,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
331
331
|
stateMutability: "view" | "pure";
|
|
332
332
|
} | undefined;
|
|
333
333
|
}, {
|
|
334
|
-
|
|
334
|
+
method: string;
|
|
335
335
|
returnValueTest: {
|
|
336
336
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
337
337
|
index?: number | undefined;
|
|
338
338
|
value?: any;
|
|
339
339
|
};
|
|
340
|
-
|
|
340
|
+
parameters: any[];
|
|
341
|
+
chain: number;
|
|
341
342
|
contractAddress: string;
|
|
342
|
-
chain?: z.Primitive;
|
|
343
343
|
conditionType?: "contract" | undefined;
|
|
344
344
|
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
345
345
|
functionAbi?: {
|
|
@@ -363,15 +363,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
363
363
|
} | undefined;
|
|
364
364
|
}>, {
|
|
365
365
|
conditionType: "contract";
|
|
366
|
-
|
|
366
|
+
method: string;
|
|
367
367
|
returnValueTest: {
|
|
368
368
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
369
369
|
index?: number | undefined;
|
|
370
370
|
value?: any;
|
|
371
371
|
};
|
|
372
|
-
|
|
372
|
+
parameters: any[];
|
|
373
|
+
chain: number;
|
|
373
374
|
contractAddress: string;
|
|
374
|
-
chain?: z.Primitive;
|
|
375
375
|
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
376
376
|
functionAbi?: {
|
|
377
377
|
type: "function";
|
|
@@ -393,15 +393,15 @@ export declare const contractConditionSchema: z.ZodEffects<z.ZodObject<{
|
|
|
393
393
|
stateMutability: "view" | "pure";
|
|
394
394
|
} | undefined;
|
|
395
395
|
}, {
|
|
396
|
-
|
|
396
|
+
method: string;
|
|
397
397
|
returnValueTest: {
|
|
398
398
|
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
399
399
|
index?: number | undefined;
|
|
400
400
|
value?: any;
|
|
401
401
|
};
|
|
402
|
-
|
|
402
|
+
parameters: any[];
|
|
403
|
+
chain: number;
|
|
403
404
|
contractAddress: string;
|
|
404
|
-
chain?: z.Primitive;
|
|
405
405
|
conditionType?: "contract" | undefined;
|
|
406
406
|
standardContractType?: "ERC20" | "ERC721" | undefined;
|
|
407
407
|
functionAbi?: {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const JsonApiConditionType = "json-api";
|
|
3
|
-
export declare const jsonPathSchema: z.ZodEffects<z.ZodString, string, string>;
|
|
4
3
|
export declare const jsonApiConditionSchema: z.ZodObject<{
|
|
5
4
|
conditionType: z.ZodDefault<z.ZodLiteral<"json-api">>;
|
|
6
|
-
endpoint: z.ZodString
|
|
5
|
+
endpoint: z.ZodEffects<z.ZodString, string, string>;
|
|
7
6
|
parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
8
7
|
query: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
9
8
|
authorizationToken: z.ZodOptional<z.ZodString>;
|
|
@@ -1,36 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.jsonApiConditionSchema = exports.
|
|
4
|
-
const jsonpath_1 = require("@astronautlabs/jsonpath");
|
|
3
|
+
exports.jsonApiConditionSchema = exports.JsonApiConditionType = void 0;
|
|
5
4
|
const zod_1 = require("zod");
|
|
6
|
-
const
|
|
5
|
+
const common_1 = require("./common");
|
|
7
6
|
const context_1 = require("./context");
|
|
8
7
|
const return_value_test_1 = require("./return-value-test");
|
|
9
8
|
exports.JsonApiConditionType = 'json-api';
|
|
10
|
-
|
|
11
|
-
// account for embedded context variables
|
|
12
|
-
if (const_1.CONTEXT_PARAM_REGEXP.test(jsonPath)) {
|
|
13
|
-
// skip validation
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
try {
|
|
17
|
-
jsonpath_1.JSONPath.parse(jsonPath);
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
exports.jsonPathSchema = zod_1.z
|
|
25
|
-
.string()
|
|
26
|
-
.refine((val) => validateJSONPath(val), {
|
|
27
|
-
message: 'Invalid JSONPath expression',
|
|
28
|
-
});
|
|
29
|
-
exports.jsonApiConditionSchema = zod_1.z.object({
|
|
9
|
+
exports.jsonApiConditionSchema = common_1.baseConditionSchema.extend({
|
|
30
10
|
conditionType: zod_1.z.literal(exports.JsonApiConditionType).default(exports.JsonApiConditionType),
|
|
31
|
-
endpoint:
|
|
11
|
+
endpoint: common_1.httpsURLSchema,
|
|
32
12
|
parameters: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
|
|
33
|
-
query:
|
|
13
|
+
query: common_1.jsonPathSchema.optional(),
|
|
34
14
|
authorizationToken: context_1.contextParamSchema.optional(),
|
|
35
15
|
returnValueTest: return_value_test_1.returnValueTestSchema, // Update to allow multiple return values after expanding supported methods
|
|
36
16
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-api.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"json-api.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-api.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAA+E;AAC/E,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAC5E,QAAQ,EAAE,uBAAc;IACxB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,yCAAqB,EAAE,2EAA2E;CACpH,CAAC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const JsonRpcConditionType = "json-rpc";
|
|
3
|
+
export declare const jsonRpcConditionSchema: z.ZodObject<{
|
|
4
|
+
conditionType: z.ZodDefault<z.ZodLiteral<"json-rpc">>;
|
|
5
|
+
endpoint: z.ZodEffects<z.ZodString, string, string>;
|
|
6
|
+
method: z.ZodString;
|
|
7
|
+
params: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnknown, "many">, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
|
|
8
|
+
query: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
9
|
+
authorizationToken: z.ZodOptional<z.ZodString>;
|
|
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: "json-rpc";
|
|
25
|
+
endpoint: string;
|
|
26
|
+
method: string;
|
|
27
|
+
returnValueTest: {
|
|
28
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
29
|
+
index?: number | undefined;
|
|
30
|
+
value?: any;
|
|
31
|
+
};
|
|
32
|
+
params?: unknown[] | Record<string, unknown> | undefined;
|
|
33
|
+
query?: string | undefined;
|
|
34
|
+
authorizationToken?: string | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
endpoint: string;
|
|
37
|
+
method: string;
|
|
38
|
+
returnValueTest: {
|
|
39
|
+
comparator: "==" | ">" | "<" | ">=" | "<=" | "!=";
|
|
40
|
+
index?: number | undefined;
|
|
41
|
+
value?: any;
|
|
42
|
+
};
|
|
43
|
+
conditionType?: "json-rpc" | undefined;
|
|
44
|
+
params?: unknown[] | Record<string, unknown> | undefined;
|
|
45
|
+
query?: string | undefined;
|
|
46
|
+
authorizationToken?: string | undefined;
|
|
47
|
+
}>;
|
|
48
|
+
export type JsonRpcConditionProps = z.infer<typeof jsonRpcConditionSchema>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jsonRpcConditionSchema = exports.JsonRpcConditionType = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
const context_1 = require("./context");
|
|
7
|
+
const return_value_test_1 = require("./return-value-test");
|
|
8
|
+
exports.JsonRpcConditionType = 'json-rpc';
|
|
9
|
+
exports.jsonRpcConditionSchema = common_1.baseConditionSchema.extend({
|
|
10
|
+
conditionType: zod_1.z.literal(exports.JsonRpcConditionType).default(exports.JsonRpcConditionType),
|
|
11
|
+
endpoint: common_1.httpsURLSchema,
|
|
12
|
+
method: zod_1.z.string(),
|
|
13
|
+
// list or dictionary
|
|
14
|
+
params: zod_1.z
|
|
15
|
+
.union([zod_1.z.array(zod_1.z.unknown()), zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())])
|
|
16
|
+
.optional(),
|
|
17
|
+
query: common_1.jsonPathSchema.optional(),
|
|
18
|
+
authorizationToken: context_1.contextParamSchema.optional(),
|
|
19
|
+
returnValueTest: return_value_test_1.returnValueTestSchema,
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=json-rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-rpc.js","sourceRoot":"","sources":["../../../../src/conditions/schemas/json-rpc.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAA+E;AAC/E,uCAA+C;AAC/C,2DAA4D;AAE/C,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,sBAAsB,GAAG,4BAAmB,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC,CAAC,OAAO,CAAC,4BAAoB,CAAC;IAC5E,QAAQ,EAAE,uBAAc;IACxB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,qBAAqB;IACrB,MAAM,EAAE,OAAC;SACN,KAAK,CAAC,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAChE,QAAQ,EAAE;IACb,KAAK,EAAE,uBAAc,CAAC,QAAQ,EAAE;IAChC,kBAAkB,EAAE,4BAAkB,CAAC,QAAQ,EAAE;IACjD,eAAe,EAAE,yCAAqB;CACvC,CAAC,CAAC"}
|