@pax2pay/model-banking 0.1.663 → 0.1.664
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/Merchant/Category.ts +2 -0
- package/dist/cjs/Merchant/Category.d.ts +2 -0
- package/dist/cjs/Merchant/Category.js +2 -0
- package/dist/cjs/Merchant/Category.js.map +1 -1
- package/dist/cjs/Transaction/index.d.ts +3 -3
- package/dist/cjs/policy/Mcc/Action.d.ts +2 -0
- package/dist/cjs/policy/Mcc/Action.js +2 -0
- package/dist/cjs/policy/Mcc/Action.js.map +1 -1
- package/dist/cjs/policy/Mcc/Creatable.d.ts +17 -0
- package/dist/cjs/policy/Mcc/Creatable.js +9 -0
- package/dist/cjs/policy/Mcc/Creatable.js.map +1 -1
- package/dist/cjs/policy/Mcc/Group.d.ts +3 -0
- package/dist/cjs/policy/Mcc/Group.js +9 -0
- package/dist/cjs/policy/Mcc/Group.js.map +1 -1
- package/dist/cjs/policy/Mcc/Updatable.d.ts +2 -0
- package/dist/cjs/policy/Mcc/Updatable.js +2 -0
- package/dist/cjs/policy/Mcc/Updatable.js.map +1 -1
- package/dist/cjs/policy/Mcc/index.d.ts +2 -0
- package/dist/cjs/policy/Mcc/index.js +7 -0
- package/dist/cjs/policy/Mcc/index.js.map +1 -1
- package/dist/mjs/Merchant/Category.d.ts +2 -0
- package/dist/mjs/Merchant/Category.js +2 -0
- package/dist/mjs/Merchant/Category.js.map +1 -1
- package/dist/mjs/Transaction/index.d.ts +3 -3
- package/dist/mjs/policy/Mcc/Action.d.ts +2 -0
- package/dist/mjs/policy/Mcc/Action.js +2 -0
- package/dist/mjs/policy/Mcc/Action.js.map +1 -1
- package/dist/mjs/policy/Mcc/Creatable.d.ts +17 -0
- package/dist/mjs/policy/Mcc/Creatable.js +9 -0
- package/dist/mjs/policy/Mcc/Creatable.js.map +1 -1
- package/dist/mjs/policy/Mcc/Group.d.ts +3 -0
- package/dist/mjs/policy/Mcc/Group.js +9 -0
- package/dist/mjs/policy/Mcc/Group.js.map +1 -1
- package/dist/mjs/policy/Mcc/Updatable.d.ts +2 -0
- package/dist/mjs/policy/Mcc/Updatable.js +2 -0
- package/dist/mjs/policy/Mcc/Updatable.js.map +1 -1
- package/dist/mjs/policy/Mcc/index.d.ts +2 -0
- package/dist/mjs/policy/Mcc/index.js +7 -0
- package/dist/mjs/policy/Mcc/index.js.map +1 -1
- package/package.json +1 -1
- package/policy/Mcc/Action.ts +2 -0
- package/policy/Mcc/Creatable.ts +9 -0
- package/policy/Mcc/Group.ts +9 -0
- package/policy/Mcc/Updatable.ts +2 -0
- package/policy/Mcc/index.ts +7 -0
package/Merchant/Category.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isly } from "isly"
|
|
2
|
+
import { zod } from "../zod"
|
|
2
3
|
|
|
3
4
|
export type Category = string
|
|
4
5
|
|
|
@@ -7,4 +8,5 @@ export namespace Category {
|
|
|
7
8
|
"Merchant.Category",
|
|
8
9
|
(value: any): value is Category => typeof value === "string" && /^\d{4}$/.test(value)
|
|
9
10
|
)
|
|
11
|
+
export const typeZod: zod.ZodType<Category> = zod.string().regex(/^\d{4}$/)
|
|
10
12
|
}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Category = void 0;
|
|
4
4
|
const isly_1 = require("isly");
|
|
5
|
+
const zod_1 = require("../zod");
|
|
5
6
|
var Category;
|
|
6
7
|
(function (Category) {
|
|
7
8
|
Category.type = isly_1.isly.fromIs("Merchant.Category", (value) => typeof value === "string" && /^\d{4}$/.test(value));
|
|
9
|
+
Category.typeZod = zod_1.zod.string().regex(/^\d{4}$/);
|
|
8
10
|
})(Category || (exports.Category = Category = {}));
|
|
9
11
|
//# sourceMappingURL=Category.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Category.js","sourceRoot":"","sources":["../../../Merchant/Category.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;
|
|
1
|
+
{"version":3,"file":"Category.js","sourceRoot":"","sources":["../../../Merchant/Category.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,gCAA4B;AAI5B,IAAiB,QAAQ,CAMxB;AAND,WAAiB,QAAQ;IACX,aAAI,GAAG,WAAI,CAAC,MAAM,CAC9B,mBAAmB,EACnB,CAAC,KAAU,EAAqB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CACrF,CAAA;IACY,gBAAO,GAA0B,SAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AAC5E,CAAC,EANgB,QAAQ,wBAAR,QAAQ,QAMxB"}
|
|
@@ -1561,6 +1561,7 @@ export declare namespace Transaction {
|
|
|
1561
1561
|
denied: "denied";
|
|
1562
1562
|
"merchant lock violation": "merchant lock violation";
|
|
1563
1563
|
}>], null>]>;
|
|
1564
|
+
description: zod.ZodString;
|
|
1564
1565
|
state: zod.ZodOptional<zod.ZodAny>;
|
|
1565
1566
|
reference: zod.ZodOptional<zod.ZodObject<{
|
|
1566
1567
|
supplier: zod.ZodOptional<zod.ZodEnum<{
|
|
@@ -1635,7 +1636,6 @@ export declare namespace Transaction {
|
|
|
1635
1636
|
transactor: zod.ZodOptional<zod.ZodString>;
|
|
1636
1637
|
}, zod.z.core.$strip>]>;
|
|
1637
1638
|
posted: zod.ZodString;
|
|
1638
|
-
description: zod.ZodString;
|
|
1639
1639
|
by: zod.ZodOptional<zod.ZodString>;
|
|
1640
1640
|
organization: zod.ZodString;
|
|
1641
1641
|
accountId: zod.ZodString;
|
|
@@ -2789,6 +2789,7 @@ export declare namespace Transaction {
|
|
|
2789
2789
|
denied: "denied";
|
|
2790
2790
|
"merchant lock violation": "merchant lock violation";
|
|
2791
2791
|
}>], null>]>;
|
|
2792
|
+
description: zod.ZodString;
|
|
2792
2793
|
reference: zod.ZodOptional<zod.ZodObject<{
|
|
2793
2794
|
supplier: zod.ZodOptional<zod.ZodEnum<{
|
|
2794
2795
|
paxgiro: "paxgiro";
|
|
@@ -2862,7 +2863,6 @@ export declare namespace Transaction {
|
|
|
2862
2863
|
transactor: zod.ZodOptional<zod.ZodString>;
|
|
2863
2864
|
}, zod.z.core.$strip>]>;
|
|
2864
2865
|
posted: zod.ZodString;
|
|
2865
|
-
description: zod.ZodString;
|
|
2866
2866
|
by: zod.ZodOptional<zod.ZodString>;
|
|
2867
2867
|
organization: zod.ZodString;
|
|
2868
2868
|
accountId: zod.ZodString;
|
|
@@ -3999,6 +3999,7 @@ export declare namespace Transaction {
|
|
|
3999
3999
|
denied: "denied";
|
|
4000
4000
|
"merchant lock violation": "merchant lock violation";
|
|
4001
4001
|
}>], null>]>;
|
|
4002
|
+
description: zod.ZodString;
|
|
4002
4003
|
state: zod.ZodOptional<zod.ZodAny>;
|
|
4003
4004
|
reference: zod.ZodOptional<zod.ZodObject<{
|
|
4004
4005
|
supplier: zod.ZodOptional<zod.ZodEnum<{
|
|
@@ -4013,7 +4014,6 @@ export declare namespace Transaction {
|
|
|
4013
4014
|
network: zod.ZodOptional<zod.ZodString>;
|
|
4014
4015
|
}, zod.z.core.$strip>>;
|
|
4015
4016
|
posted: zod.ZodString;
|
|
4016
|
-
description: zod.ZodString;
|
|
4017
4017
|
by: zod.ZodOptional<zod.ZodString>;
|
|
4018
4018
|
organization: zod.ZodString;
|
|
4019
4019
|
accountId: zod.ZodString;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
export type Action = (typeof Action.values)[number];
|
|
3
4
|
export declare namespace Action {
|
|
4
5
|
const values: readonly ["allow", "block"];
|
|
5
6
|
const type: isly.Type<"allow" | "block">;
|
|
7
|
+
const typeZod: zod.ZodType<Action>;
|
|
6
8
|
}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Action = void 0;
|
|
4
4
|
const isly_1 = require("isly");
|
|
5
|
+
const zod_1 = require("../../zod");
|
|
5
6
|
var Action;
|
|
6
7
|
(function (Action) {
|
|
7
8
|
Action.values = ["allow", "block"];
|
|
8
9
|
Action.type = isly_1.isly.string(Action.values);
|
|
10
|
+
Action.typeZod = zod_1.zod.enum(Action.values);
|
|
9
11
|
})(Action || (exports.Action = Action = {}));
|
|
10
12
|
//# sourceMappingURL=Action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../../policy/Mcc/Action.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../../policy/Mcc/Action.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,mCAA+B;AAG/B,IAAiB,MAAM,CAItB;AAJD,WAAiB,MAAM;IACT,aAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAA;IACpC,WAAI,GAAG,WAAI,CAAC,MAAM,CAAS,OAAA,MAAM,CAAC,CAAA;IAClC,cAAO,GAAwB,SAAG,CAAC,IAAI,CAAC,OAAA,MAAM,CAAC,CAAA;AAC7D,CAAC,EAJgB,MAAM,sBAAN,MAAM,QAItB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Card } from "../../Card";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
import { Action } from "./Action";
|
|
3
4
|
import { Group } from "./Group";
|
|
4
5
|
export interface Creatable {
|
|
@@ -11,4 +12,20 @@ export interface Creatable {
|
|
|
11
12
|
}
|
|
12
13
|
export declare namespace Creatable {
|
|
13
14
|
const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
|
|
15
|
+
const typeZod: zod.ZodObject<{
|
|
16
|
+
action: zod.ZodType<"allow" | "block", unknown, zod.z.core.$ZodTypeInternals<"allow" | "block", unknown>>;
|
|
17
|
+
name: zod.ZodString;
|
|
18
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
19
|
+
organization: zod.ZodOptional<zod.ZodString>;
|
|
20
|
+
stacks: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
21
|
+
"test-paxgiro": "test-paxgiro";
|
|
22
|
+
"test-tpl-paxgiro": "test-tpl-paxgiro";
|
|
23
|
+
"test-diners-clowd9": "test-diners-clowd9";
|
|
24
|
+
"uk-visa-tpl-marqeta": "uk-visa-tpl-marqeta";
|
|
25
|
+
"uk-diners-clowd9": "uk-diners-clowd9";
|
|
26
|
+
"uk-diners-dpg": "uk-diners-dpg";
|
|
27
|
+
"uk-mc-tpl-marqeta": "uk-mc-tpl-marqeta";
|
|
28
|
+
}>>>;
|
|
29
|
+
group: zod.ZodType<Group, unknown, zod.z.core.$ZodTypeInternals<Group, unknown>>;
|
|
30
|
+
}, zod.z.core.$strip>;
|
|
14
31
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Creatable = void 0;
|
|
4
4
|
const isly_1 = require("isly");
|
|
5
5
|
const Card_1 = require("../../Card");
|
|
6
|
+
const zod_1 = require("../../zod");
|
|
6
7
|
const Action_1 = require("./Action");
|
|
7
8
|
const Group_1 = require("./Group");
|
|
8
9
|
var Creatable;
|
|
@@ -15,5 +16,13 @@ var Creatable;
|
|
|
15
16
|
stacks: Card_1.Card.Stack.type.array().optional(),
|
|
16
17
|
group: Group_1.Group.type,
|
|
17
18
|
});
|
|
19
|
+
Creatable.typeZod = zod_1.zod.object({
|
|
20
|
+
action: Action_1.Action.typeZod,
|
|
21
|
+
name: zod_1.zod.string(),
|
|
22
|
+
description: zod_1.zod.string().optional(),
|
|
23
|
+
organization: zod_1.zod.string().optional(),
|
|
24
|
+
stacks: zod_1.zod.array(Card_1.Card.Stack.typeZod).optional(),
|
|
25
|
+
group: Group_1.Group.typeZod,
|
|
26
|
+
});
|
|
18
27
|
})(Creatable || (exports.Creatable = Creatable = {}));
|
|
19
28
|
//# sourceMappingURL=Creatable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Creatable.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,qCAAiC;AACjC,qCAAiC;AACjC,mCAA+B;AAU/B,IAAiB,SAAS,
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Creatable.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,qCAAiC;AACjC,mCAA+B;AAC/B,qCAAiC;AACjC,mCAA+B;AAU/B,IAAiB,SAAS,CAiBzB;AAjBD,WAAiB,SAAS;IACZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,MAAM,EAAE,eAAM,CAAC,IAAI;QACnB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,YAAY,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,MAAM,EAAE,WAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC1C,KAAK,EAAE,aAAK,CAAC,IAAI;KACjB,CAAC,CAAA;IACW,iBAAO,GAAG,SAAG,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,eAAM,CAAC,OAAO;QACtB,IAAI,EAAE,SAAG,CAAC,MAAM,EAAE;QAClB,WAAW,EAAE,SAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,YAAY,EAAE,SAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,SAAG,CAAC,KAAK,CAAC,WAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QAChD,KAAK,EAAE,aAAK,CAAC,OAAO;KACpB,CAAkC,CAAA;AACpC,CAAC,EAjBgB,SAAS,yBAAT,SAAS,QAiBzB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Merchant } from "../../Merchant";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
export interface Group {
|
|
3
4
|
values: Merchant.Category[];
|
|
4
5
|
ranges: Group.Range[];
|
|
@@ -10,7 +11,9 @@ export declare namespace Group {
|
|
|
10
11
|
}
|
|
11
12
|
namespace Range {
|
|
12
13
|
const type: import("isly/dist/cjs/object").IslyObject<Range, object>;
|
|
14
|
+
const typeZod: zod.ZodType<Range>;
|
|
13
15
|
}
|
|
14
16
|
const type: import("isly/dist/cjs/object").IslyObject<Group, object>;
|
|
17
|
+
const typeZod: zod.ZodType<Group>;
|
|
15
18
|
function within(set: Group, category: Merchant.Category): boolean;
|
|
16
19
|
}
|
|
@@ -3,13 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Group = void 0;
|
|
4
4
|
const isly_1 = require("isly");
|
|
5
5
|
const Merchant_1 = require("../../Merchant");
|
|
6
|
+
const zod_1 = require("../../zod");
|
|
6
7
|
var Group;
|
|
7
8
|
(function (Group) {
|
|
8
9
|
let Range;
|
|
9
10
|
(function (Range) {
|
|
10
11
|
Range.type = isly_1.isly.object({ from: Merchant_1.Merchant.Category.type, to: Merchant_1.Merchant.Category.type });
|
|
12
|
+
Range.typeZod = zod_1.zod.object({
|
|
13
|
+
from: Merchant_1.Merchant.Category.typeZod,
|
|
14
|
+
to: Merchant_1.Merchant.Category.typeZod,
|
|
15
|
+
});
|
|
11
16
|
})(Range = Group.Range || (Group.Range = {}));
|
|
12
17
|
Group.type = isly_1.isly.object({ values: Merchant_1.Merchant.Category.type.array(), ranges: Range.type.array() });
|
|
18
|
+
Group.typeZod = zod_1.zod.object({
|
|
19
|
+
values: zod_1.zod.array(Merchant_1.Merchant.Category.typeZod),
|
|
20
|
+
ranges: zod_1.zod.array(Range.typeZod),
|
|
21
|
+
});
|
|
13
22
|
function within(set, category) {
|
|
14
23
|
return set.values.includes(category) || set.ranges.some(r => r.from <= category && category <= r.to);
|
|
15
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../policy/Mcc/Group.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,6CAAyC;
|
|
1
|
+
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../policy/Mcc/Group.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,6CAAyC;AACzC,mCAA+B;AAM/B,IAAiB,KAAK,CAoBrB;AApBD,WAAiB,KAAK;IAKrB,IAAiB,KAAK,CAMrB;IAND,WAAiB,KAAK;QACR,UAAI,GAAG,WAAI,CAAC,MAAM,CAAQ,EAAE,IAAI,EAAE,mBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,mBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;QACvF,aAAO,GAAuB,SAAG,CAAC,MAAM,CAAC;YACrD,IAAI,EAAE,mBAAQ,CAAC,QAAQ,CAAC,OAAO;YAC/B,EAAE,EAAE,mBAAQ,CAAC,QAAQ,CAAC,OAAO;SAC7B,CAAC,CAAA;IACH,CAAC,EANgB,KAAK,GAAL,WAAK,KAAL,WAAK,QAMrB;IACY,UAAI,GAAG,WAAI,CAAC,MAAM,CAAQ,EAAE,MAAM,EAAE,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACjG,aAAO,GAAuB,SAAG,CAAC,MAAM,CAAC;QACrD,MAAM,EAAE,SAAG,CAAC,KAAK,CAAC,mBAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5C,MAAM,EAAE,SAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;KAChC,CAAC,CAAA;IACF,SAAgB,MAAM,CAAC,GAAU,EAAE,QAA2B;QAC7D,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IAFe,YAAM,SAErB,CAAA;AACF,CAAC,EApBgB,KAAK,qBAAL,KAAK,QAoBrB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { zod } from "../../zod";
|
|
1
2
|
import { Creatable } from "./Creatable";
|
|
2
3
|
export interface Updatable extends Creatable {
|
|
3
4
|
id: string;
|
|
4
5
|
}
|
|
5
6
|
export declare namespace Updatable {
|
|
6
7
|
const type: import("isly/dist/cjs/object").IslyObject<Updatable, Creatable>;
|
|
8
|
+
const typeZod: zod.ZodType<Updatable>;
|
|
7
9
|
}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Updatable = void 0;
|
|
4
4
|
const isly_1 = require("isly");
|
|
5
|
+
const zod_1 = require("../../zod");
|
|
5
6
|
const Creatable_1 = require("./Creatable");
|
|
6
7
|
var Updatable;
|
|
7
8
|
(function (Updatable) {
|
|
8
9
|
Updatable.type = Creatable_1.Creatable.type.extend({ id: isly_1.isly.string() });
|
|
10
|
+
Updatable.typeZod = Creatable_1.Creatable.typeZod.extend({ id: zod_1.zod.string() });
|
|
9
11
|
})(Updatable || (exports.Updatable = Updatable = {}));
|
|
10
12
|
//# sourceMappingURL=Updatable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Updatable.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,2CAAuC;AAKvC,IAAiB,SAAS,
|
|
1
|
+
{"version":3,"file":"Updatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Updatable.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,mCAA+B;AAC/B,2CAAuC;AAKvC,IAAiB,SAAS,CAGzB;AAHD,WAAiB,SAAS;IACZ,cAAI,GAAG,qBAAS,CAAC,IAAI,CAAC,MAAM,CAAY,EAAE,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9D,iBAAO,GAA2B,qBAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC9F,CAAC,EAHgB,SAAS,yBAAT,SAAS,QAGzB"}
|
|
@@ -2,6 +2,7 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { Card } from "../../Card";
|
|
3
3
|
import { Merchant } from "../../Merchant";
|
|
4
4
|
import { Realm } from "../../Realm";
|
|
5
|
+
import { zod } from "../../zod";
|
|
5
6
|
import { Action as MCCAction } from "./Action";
|
|
6
7
|
import { Creatable as MccCreatable } from "./Creatable";
|
|
7
8
|
import { Group as MCCGroup } from "./Group";
|
|
@@ -23,6 +24,7 @@ export declare namespace Mcc {
|
|
|
23
24
|
organization?: string;
|
|
24
25
|
};
|
|
25
26
|
const type: import("isly/dist/cjs/object").IslyObject<Mcc, Creatable>;
|
|
27
|
+
const typeZod: zod.ZodType<Mcc>;
|
|
26
28
|
function match(policy: Mcc, transaction: TransactionInput): boolean;
|
|
27
29
|
function resolve(policies: Mcc[], transaction: TransactionInput): Mcc[];
|
|
28
30
|
function isAllowed(policies: Mcc[], transaction: TransactionInput): boolean | undefined;
|
|
@@ -5,6 +5,7 @@ const isoly_1 = require("isoly");
|
|
|
5
5
|
const isly_1 = require("isly");
|
|
6
6
|
const Card_1 = require("../../Card");
|
|
7
7
|
const Realm_1 = require("../../Realm");
|
|
8
|
+
const zod_1 = require("../../zod");
|
|
8
9
|
const Action_1 = require("./Action");
|
|
9
10
|
const Creatable_1 = require("./Creatable");
|
|
10
11
|
const Group_1 = require("./Group");
|
|
@@ -21,6 +22,12 @@ var Mcc;
|
|
|
21
22
|
created: isly_1.isly.fromIs("isoly.DateTime", isoly_1.isoly.DateTime.is),
|
|
22
23
|
updated: isly_1.isly.fromIs("isoly.DateTime", isoly_1.isoly.DateTime.is),
|
|
23
24
|
});
|
|
25
|
+
Mcc.typeZod = Mcc.Creatable.typeZod.extend({
|
|
26
|
+
id: zod_1.zod.string(),
|
|
27
|
+
realm: Realm_1.Realm.typeZod,
|
|
28
|
+
created: zod_1.zod.string().refine(isoly_1.isoly.DateTime.is),
|
|
29
|
+
updated: zod_1.zod.string().refine(isoly_1.isoly.DateTime.is),
|
|
30
|
+
});
|
|
24
31
|
function match(policy, transaction) {
|
|
25
32
|
const stack = transaction.preset ? Card_1.Card.Preset.presets[transaction.preset] : undefined;
|
|
26
33
|
const stackMatches = !policy.stacks || (!!stack && policy.stacks.includes(stack));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../policy/Mcc/index.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,qCAAiC;AAEjC,uCAAmC;AACnC,qCAA8C;AAC9C,2CAAuD;AACvD,mCAA2C;AAC3C,2CAAuD;AAQvD,IAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../policy/Mcc/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
|
+
import { zod } from "../zod";
|
|
2
3
|
export var Category;
|
|
3
4
|
(function (Category) {
|
|
4
5
|
Category.type = isly.fromIs("Merchant.Category", (value) => typeof value === "string" && /^\d{4}$/.test(value));
|
|
6
|
+
Category.typeZod = zod.string().regex(/^\d{4}$/);
|
|
5
7
|
})(Category || (Category = {}));
|
|
6
8
|
//# sourceMappingURL=Category.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Category.js","sourceRoot":"","sources":["../../../Merchant/Category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Category.js","sourceRoot":"","sources":["../../../Merchant/Category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAI5B,MAAM,KAAW,QAAQ,CAMxB;AAND,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,mBAAmB,EACnB,CAAC,KAAU,EAAqB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CACrF,CAAA;IACY,gBAAO,GAA0B,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;AAC5E,CAAC,EANgB,QAAQ,KAAR,QAAQ,QAMxB"}
|
|
@@ -1561,6 +1561,7 @@ export declare namespace Transaction {
|
|
|
1561
1561
|
denied: "denied";
|
|
1562
1562
|
"merchant lock violation": "merchant lock violation";
|
|
1563
1563
|
}>], null>]>;
|
|
1564
|
+
description: zod.ZodString;
|
|
1564
1565
|
state: zod.ZodOptional<zod.ZodAny>;
|
|
1565
1566
|
reference: zod.ZodOptional<zod.ZodObject<{
|
|
1566
1567
|
supplier: zod.ZodOptional<zod.ZodEnum<{
|
|
@@ -1635,7 +1636,6 @@ export declare namespace Transaction {
|
|
|
1635
1636
|
transactor: zod.ZodOptional<zod.ZodString>;
|
|
1636
1637
|
}, zod.z.core.$strip>]>;
|
|
1637
1638
|
posted: zod.ZodString;
|
|
1638
|
-
description: zod.ZodString;
|
|
1639
1639
|
by: zod.ZodOptional<zod.ZodString>;
|
|
1640
1640
|
organization: zod.ZodString;
|
|
1641
1641
|
accountId: zod.ZodString;
|
|
@@ -2789,6 +2789,7 @@ export declare namespace Transaction {
|
|
|
2789
2789
|
denied: "denied";
|
|
2790
2790
|
"merchant lock violation": "merchant lock violation";
|
|
2791
2791
|
}>], null>]>;
|
|
2792
|
+
description: zod.ZodString;
|
|
2792
2793
|
reference: zod.ZodOptional<zod.ZodObject<{
|
|
2793
2794
|
supplier: zod.ZodOptional<zod.ZodEnum<{
|
|
2794
2795
|
paxgiro: "paxgiro";
|
|
@@ -2862,7 +2863,6 @@ export declare namespace Transaction {
|
|
|
2862
2863
|
transactor: zod.ZodOptional<zod.ZodString>;
|
|
2863
2864
|
}, zod.z.core.$strip>]>;
|
|
2864
2865
|
posted: zod.ZodString;
|
|
2865
|
-
description: zod.ZodString;
|
|
2866
2866
|
by: zod.ZodOptional<zod.ZodString>;
|
|
2867
2867
|
organization: zod.ZodString;
|
|
2868
2868
|
accountId: zod.ZodString;
|
|
@@ -3999,6 +3999,7 @@ export declare namespace Transaction {
|
|
|
3999
3999
|
denied: "denied";
|
|
4000
4000
|
"merchant lock violation": "merchant lock violation";
|
|
4001
4001
|
}>], null>]>;
|
|
4002
|
+
description: zod.ZodString;
|
|
4002
4003
|
state: zod.ZodOptional<zod.ZodAny>;
|
|
4003
4004
|
reference: zod.ZodOptional<zod.ZodObject<{
|
|
4004
4005
|
supplier: zod.ZodOptional<zod.ZodEnum<{
|
|
@@ -4013,7 +4014,6 @@ export declare namespace Transaction {
|
|
|
4013
4014
|
network: zod.ZodOptional<zod.ZodString>;
|
|
4014
4015
|
}, zod.z.core.$strip>>;
|
|
4015
4016
|
posted: zod.ZodString;
|
|
4016
|
-
description: zod.ZodString;
|
|
4017
4017
|
by: zod.ZodOptional<zod.ZodString>;
|
|
4018
4018
|
organization: zod.ZodString;
|
|
4019
4019
|
accountId: zod.ZodString;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
export type Action = (typeof Action.values)[number];
|
|
3
4
|
export declare namespace Action {
|
|
4
5
|
const values: readonly ["allow", "block"];
|
|
5
6
|
const type: isly.Type<"allow" | "block">;
|
|
7
|
+
const typeZod: zod.ZodType<Action>;
|
|
6
8
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
export var Action;
|
|
3
4
|
(function (Action) {
|
|
4
5
|
Action.values = ["allow", "block"];
|
|
5
6
|
Action.type = isly.string(Action.values);
|
|
7
|
+
Action.typeZod = zod.enum(Action.values);
|
|
6
8
|
})(Action || (Action = {}));
|
|
7
9
|
//# sourceMappingURL=Action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../../policy/Mcc/Action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../../../policy/Mcc/Action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAG/B,MAAM,KAAW,MAAM,CAItB;AAJD,WAAiB,MAAM;IACT,aAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAA;IACpC,WAAI,GAAG,IAAI,CAAC,MAAM,CAAS,OAAA,MAAM,CAAC,CAAA;IAClC,cAAO,GAAwB,GAAG,CAAC,IAAI,CAAC,OAAA,MAAM,CAAC,CAAA;AAC7D,CAAC,EAJgB,MAAM,KAAN,MAAM,QAItB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Card } from "../../Card";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
import { Action } from "./Action";
|
|
3
4
|
import { Group } from "./Group";
|
|
4
5
|
export interface Creatable {
|
|
@@ -11,4 +12,20 @@ export interface Creatable {
|
|
|
11
12
|
}
|
|
12
13
|
export declare namespace Creatable {
|
|
13
14
|
const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
|
|
15
|
+
const typeZod: zod.ZodObject<{
|
|
16
|
+
action: zod.ZodType<"allow" | "block", unknown, zod.z.core.$ZodTypeInternals<"allow" | "block", unknown>>;
|
|
17
|
+
name: zod.ZodString;
|
|
18
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
19
|
+
organization: zod.ZodOptional<zod.ZodString>;
|
|
20
|
+
stacks: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
21
|
+
"test-paxgiro": "test-paxgiro";
|
|
22
|
+
"test-tpl-paxgiro": "test-tpl-paxgiro";
|
|
23
|
+
"test-diners-clowd9": "test-diners-clowd9";
|
|
24
|
+
"uk-visa-tpl-marqeta": "uk-visa-tpl-marqeta";
|
|
25
|
+
"uk-diners-clowd9": "uk-diners-clowd9";
|
|
26
|
+
"uk-diners-dpg": "uk-diners-dpg";
|
|
27
|
+
"uk-mc-tpl-marqeta": "uk-mc-tpl-marqeta";
|
|
28
|
+
}>>>;
|
|
29
|
+
group: zod.ZodType<Group, unknown, zod.z.core.$ZodTypeInternals<Group, unknown>>;
|
|
30
|
+
}, zod.z.core.$strip>;
|
|
14
31
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
2
|
import { Card } from "../../Card";
|
|
3
|
+
import { zod } from "../../zod";
|
|
3
4
|
import { Action } from "./Action";
|
|
4
5
|
import { Group } from "./Group";
|
|
5
6
|
export var Creatable;
|
|
@@ -12,5 +13,13 @@ export var Creatable;
|
|
|
12
13
|
stacks: Card.Stack.type.array().optional(),
|
|
13
14
|
group: Group.type,
|
|
14
15
|
});
|
|
16
|
+
Creatable.typeZod = zod.object({
|
|
17
|
+
action: Action.typeZod,
|
|
18
|
+
name: zod.string(),
|
|
19
|
+
description: zod.string().optional(),
|
|
20
|
+
organization: zod.string().optional(),
|
|
21
|
+
stacks: zod.array(Card.Stack.typeZod).optional(),
|
|
22
|
+
group: Group.typeZod,
|
|
23
|
+
});
|
|
15
24
|
})(Creatable || (Creatable = {}));
|
|
16
25
|
//# sourceMappingURL=Creatable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAU/B,MAAM,KAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAU/B,MAAM,KAAW,SAAS,CAiBzB;AAjBD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAC1C,KAAK,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAA;IACW,iBAAO,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE;QAClB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QAChD,KAAK,EAAE,KAAK,CAAC,OAAO;KACpB,CAAkC,CAAA;AACpC,CAAC,EAjBgB,SAAS,KAAT,SAAS,QAiBzB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Merchant } from "../../Merchant";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
export interface Group {
|
|
3
4
|
values: Merchant.Category[];
|
|
4
5
|
ranges: Group.Range[];
|
|
@@ -10,7 +11,9 @@ export declare namespace Group {
|
|
|
10
11
|
}
|
|
11
12
|
namespace Range {
|
|
12
13
|
const type: import("isly/dist/cjs/object").IslyObject<Range, object>;
|
|
14
|
+
const typeZod: zod.ZodType<Range>;
|
|
13
15
|
}
|
|
14
16
|
const type: import("isly/dist/cjs/object").IslyObject<Group, object>;
|
|
17
|
+
const typeZod: zod.ZodType<Group>;
|
|
15
18
|
function within(set: Group, category: Merchant.Category): boolean;
|
|
16
19
|
}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
2
|
import { Merchant } from "../../Merchant";
|
|
3
|
+
import { zod } from "../../zod";
|
|
3
4
|
export var Group;
|
|
4
5
|
(function (Group) {
|
|
5
6
|
let Range;
|
|
6
7
|
(function (Range) {
|
|
7
8
|
Range.type = isly.object({ from: Merchant.Category.type, to: Merchant.Category.type });
|
|
9
|
+
Range.typeZod = zod.object({
|
|
10
|
+
from: Merchant.Category.typeZod,
|
|
11
|
+
to: Merchant.Category.typeZod,
|
|
12
|
+
});
|
|
8
13
|
})(Range = Group.Range || (Group.Range = {}));
|
|
9
14
|
Group.type = isly.object({ values: Merchant.Category.type.array(), ranges: Range.type.array() });
|
|
15
|
+
Group.typeZod = zod.object({
|
|
16
|
+
values: zod.array(Merchant.Category.typeZod),
|
|
17
|
+
ranges: zod.array(Range.typeZod),
|
|
18
|
+
});
|
|
10
19
|
function within(set, category) {
|
|
11
20
|
return set.values.includes(category) || set.ranges.some(r => r.from <= category && category <= r.to);
|
|
12
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../policy/Mcc/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../policy/Mcc/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAM/B,MAAM,KAAW,KAAK,CAoBrB;AApBD,WAAiB,KAAK;IAKrB,IAAiB,KAAK,CAMrB;IAND,WAAiB,KAAK;QACR,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;QACvF,aAAO,GAAuB,GAAG,CAAC,MAAM,CAAC;YACrD,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;YAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;SAC7B,CAAC,CAAA;IACH,CAAC,EANgB,KAAK,GAAL,WAAK,KAAL,WAAK,QAMrB;IACY,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACjG,aAAO,GAAuB,GAAG,CAAC,MAAM,CAAC;QACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;KAChC,CAAC,CAAA;IACF,SAAgB,MAAM,CAAC,GAAU,EAAE,QAA2B;QAC7D,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IAFe,YAAM,SAErB,CAAA;AACF,CAAC,EApBgB,KAAK,KAAL,KAAK,QAoBrB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { zod } from "../../zod";
|
|
1
2
|
import { Creatable } from "./Creatable";
|
|
2
3
|
export interface Updatable extends Creatable {
|
|
3
4
|
id: string;
|
|
4
5
|
}
|
|
5
6
|
export declare namespace Updatable {
|
|
6
7
|
const type: import("isly/dist/cjs/object").IslyObject<Updatable, Creatable>;
|
|
8
|
+
const typeZod: zod.ZodType<Updatable>;
|
|
7
9
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { isly } from "isly";
|
|
2
|
+
import { zod } from "../../zod";
|
|
2
3
|
import { Creatable } from "./Creatable";
|
|
3
4
|
export var Updatable;
|
|
4
5
|
(function (Updatable) {
|
|
5
6
|
Updatable.type = Creatable.type.extend({ id: isly.string() });
|
|
7
|
+
Updatable.typeZod = Creatable.typeZod.extend({ id: zod.string() });
|
|
6
8
|
})(Updatable || (Updatable = {}));
|
|
7
9
|
//# sourceMappingURL=Updatable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Updatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAKvC,MAAM,KAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"Updatable.js","sourceRoot":"","sources":["../../../../policy/Mcc/Updatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAKvC,MAAM,KAAW,SAAS,CAGzB;AAHD,WAAiB,SAAS;IACZ,cAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAY,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9D,iBAAO,GAA2B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC9F,CAAC,EAHgB,SAAS,KAAT,SAAS,QAGzB"}
|
|
@@ -2,6 +2,7 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { Card } from "../../Card";
|
|
3
3
|
import { Merchant } from "../../Merchant";
|
|
4
4
|
import { Realm } from "../../Realm";
|
|
5
|
+
import { zod } from "../../zod";
|
|
5
6
|
import { Action as MCCAction } from "./Action";
|
|
6
7
|
import { Creatable as MccCreatable } from "./Creatable";
|
|
7
8
|
import { Group as MCCGroup } from "./Group";
|
|
@@ -23,6 +24,7 @@ export declare namespace Mcc {
|
|
|
23
24
|
organization?: string;
|
|
24
25
|
};
|
|
25
26
|
const type: import("isly/dist/cjs/object").IslyObject<Mcc, Creatable>;
|
|
27
|
+
const typeZod: zod.ZodType<Mcc>;
|
|
26
28
|
function match(policy: Mcc, transaction: TransactionInput): boolean;
|
|
27
29
|
function resolve(policies: Mcc[], transaction: TransactionInput): Mcc[];
|
|
28
30
|
function isAllowed(policies: Mcc[], transaction: TransactionInput): boolean | undefined;
|
|
@@ -2,6 +2,7 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { isly } from "isly";
|
|
3
3
|
import { Card } from "../../Card";
|
|
4
4
|
import { Realm } from "../../Realm";
|
|
5
|
+
import { zod } from "../../zod";
|
|
5
6
|
import { Action as MCCAction } from "./Action";
|
|
6
7
|
import { Creatable as MccCreatable } from "./Creatable";
|
|
7
8
|
import { Group as MCCGroup } from "./Group";
|
|
@@ -18,6 +19,12 @@ export var Mcc;
|
|
|
18
19
|
created: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
|
|
19
20
|
updated: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
|
|
20
21
|
});
|
|
22
|
+
Mcc.typeZod = Mcc.Creatable.typeZod.extend({
|
|
23
|
+
id: zod.string(),
|
|
24
|
+
realm: Realm.typeZod,
|
|
25
|
+
created: zod.string().refine(isoly.DateTime.is),
|
|
26
|
+
updated: zod.string().refine(isoly.DateTime.is),
|
|
27
|
+
});
|
|
21
28
|
function match(policy, transaction) {
|
|
22
29
|
const stack = transaction.preset ? Card.Preset.presets[transaction.preset] : undefined;
|
|
23
30
|
const stackMatches = !policy.stacks || (!!stack && policy.stacks.includes(stack));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../policy/Mcc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAQvD,MAAM,KAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../policy/Mcc/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/policy/Mcc/Action.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { isly } from "isly"
|
|
2
|
+
import { zod } from "../../zod"
|
|
2
3
|
|
|
3
4
|
export type Action = (typeof Action.values)[number]
|
|
4
5
|
export namespace Action {
|
|
5
6
|
export const values = ["allow", "block"] as const
|
|
6
7
|
export const type = isly.string<Action>(values)
|
|
8
|
+
export const typeZod: zod.ZodType<Action> = zod.enum(values)
|
|
7
9
|
}
|
package/policy/Mcc/Creatable.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isly } from "isly"
|
|
2
2
|
import { Card } from "../../Card"
|
|
3
|
+
import { zod } from "../../zod"
|
|
3
4
|
import { Action } from "./Action"
|
|
4
5
|
import { Group } from "./Group"
|
|
5
6
|
|
|
@@ -20,4 +21,12 @@ export namespace Creatable {
|
|
|
20
21
|
stacks: Card.Stack.type.array().optional(),
|
|
21
22
|
group: Group.type,
|
|
22
23
|
})
|
|
24
|
+
export const typeZod = zod.object({
|
|
25
|
+
action: Action.typeZod,
|
|
26
|
+
name: zod.string(),
|
|
27
|
+
description: zod.string().optional(),
|
|
28
|
+
organization: zod.string().optional(),
|
|
29
|
+
stacks: zod.array(Card.Stack.typeZod).optional(),
|
|
30
|
+
group: Group.typeZod,
|
|
31
|
+
}) satisfies zod.ZodType<Creatable>
|
|
23
32
|
}
|
package/policy/Mcc/Group.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isly } from "isly"
|
|
2
2
|
import { Merchant } from "../../Merchant"
|
|
3
|
+
import { zod } from "../../zod"
|
|
3
4
|
|
|
4
5
|
export interface Group {
|
|
5
6
|
values: Merchant.Category[]
|
|
@@ -12,8 +13,16 @@ export namespace Group {
|
|
|
12
13
|
}
|
|
13
14
|
export namespace Range {
|
|
14
15
|
export const type = isly.object<Range>({ from: Merchant.Category.type, to: Merchant.Category.type })
|
|
16
|
+
export const typeZod: zod.ZodType<Range> = zod.object({
|
|
17
|
+
from: Merchant.Category.typeZod,
|
|
18
|
+
to: Merchant.Category.typeZod,
|
|
19
|
+
})
|
|
15
20
|
}
|
|
16
21
|
export const type = isly.object<Group>({ values: Merchant.Category.type.array(), ranges: Range.type.array() })
|
|
22
|
+
export const typeZod: zod.ZodType<Group> = zod.object({
|
|
23
|
+
values: zod.array(Merchant.Category.typeZod),
|
|
24
|
+
ranges: zod.array(Range.typeZod),
|
|
25
|
+
})
|
|
17
26
|
export function within(set: Group, category: Merchant.Category): boolean {
|
|
18
27
|
return set.values.includes(category) || set.ranges.some(r => r.from <= category && category <= r.to)
|
|
19
28
|
}
|
package/policy/Mcc/Updatable.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isly } from "isly"
|
|
2
|
+
import { zod } from "../../zod"
|
|
2
3
|
import { Creatable } from "./Creatable"
|
|
3
4
|
|
|
4
5
|
export interface Updatable extends Creatable {
|
|
@@ -6,4 +7,5 @@ export interface Updatable extends Creatable {
|
|
|
6
7
|
}
|
|
7
8
|
export namespace Updatable {
|
|
8
9
|
export const type = Creatable.type.extend<Updatable>({ id: isly.string() })
|
|
10
|
+
export const typeZod: zod.ZodType<Updatable> = Creatable.typeZod.extend({ id: zod.string() })
|
|
9
11
|
}
|
package/policy/Mcc/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { isly } from "isly"
|
|
|
3
3
|
import { Card } from "../../Card"
|
|
4
4
|
import { Merchant } from "../../Merchant"
|
|
5
5
|
import { Realm } from "../../Realm"
|
|
6
|
+
import { zod } from "../../zod"
|
|
6
7
|
import { Action as MCCAction } from "./Action"
|
|
7
8
|
import { Creatable as MccCreatable } from "./Creatable"
|
|
8
9
|
import { Group as MCCGroup } from "./Group"
|
|
@@ -26,6 +27,12 @@ export namespace Mcc {
|
|
|
26
27
|
created: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
|
|
27
28
|
updated: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
|
|
28
29
|
})
|
|
30
|
+
export const typeZod: zod.ZodType<Mcc> = Creatable.typeZod.extend({
|
|
31
|
+
id: zod.string(),
|
|
32
|
+
realm: Realm.typeZod,
|
|
33
|
+
created: zod.string().refine(isoly.DateTime.is),
|
|
34
|
+
updated: zod.string().refine(isoly.DateTime.is),
|
|
35
|
+
})
|
|
29
36
|
export function match(policy: Mcc, transaction: TransactionInput): boolean {
|
|
30
37
|
const stack = transaction.preset ? Card.Preset.presets[transaction.preset] : undefined
|
|
31
38
|
const stackMatches = !policy.stacks || (!!stack && policy.stacks.includes(stack))
|