@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.
Files changed (45) hide show
  1. package/Merchant/Category.ts +2 -0
  2. package/dist/cjs/Merchant/Category.d.ts +2 -0
  3. package/dist/cjs/Merchant/Category.js +2 -0
  4. package/dist/cjs/Merchant/Category.js.map +1 -1
  5. package/dist/cjs/Transaction/index.d.ts +3 -3
  6. package/dist/cjs/policy/Mcc/Action.d.ts +2 -0
  7. package/dist/cjs/policy/Mcc/Action.js +2 -0
  8. package/dist/cjs/policy/Mcc/Action.js.map +1 -1
  9. package/dist/cjs/policy/Mcc/Creatable.d.ts +17 -0
  10. package/dist/cjs/policy/Mcc/Creatable.js +9 -0
  11. package/dist/cjs/policy/Mcc/Creatable.js.map +1 -1
  12. package/dist/cjs/policy/Mcc/Group.d.ts +3 -0
  13. package/dist/cjs/policy/Mcc/Group.js +9 -0
  14. package/dist/cjs/policy/Mcc/Group.js.map +1 -1
  15. package/dist/cjs/policy/Mcc/Updatable.d.ts +2 -0
  16. package/dist/cjs/policy/Mcc/Updatable.js +2 -0
  17. package/dist/cjs/policy/Mcc/Updatable.js.map +1 -1
  18. package/dist/cjs/policy/Mcc/index.d.ts +2 -0
  19. package/dist/cjs/policy/Mcc/index.js +7 -0
  20. package/dist/cjs/policy/Mcc/index.js.map +1 -1
  21. package/dist/mjs/Merchant/Category.d.ts +2 -0
  22. package/dist/mjs/Merchant/Category.js +2 -0
  23. package/dist/mjs/Merchant/Category.js.map +1 -1
  24. package/dist/mjs/Transaction/index.d.ts +3 -3
  25. package/dist/mjs/policy/Mcc/Action.d.ts +2 -0
  26. package/dist/mjs/policy/Mcc/Action.js +2 -0
  27. package/dist/mjs/policy/Mcc/Action.js.map +1 -1
  28. package/dist/mjs/policy/Mcc/Creatable.d.ts +17 -0
  29. package/dist/mjs/policy/Mcc/Creatable.js +9 -0
  30. package/dist/mjs/policy/Mcc/Creatable.js.map +1 -1
  31. package/dist/mjs/policy/Mcc/Group.d.ts +3 -0
  32. package/dist/mjs/policy/Mcc/Group.js +9 -0
  33. package/dist/mjs/policy/Mcc/Group.js.map +1 -1
  34. package/dist/mjs/policy/Mcc/Updatable.d.ts +2 -0
  35. package/dist/mjs/policy/Mcc/Updatable.js +2 -0
  36. package/dist/mjs/policy/Mcc/Updatable.js.map +1 -1
  37. package/dist/mjs/policy/Mcc/index.d.ts +2 -0
  38. package/dist/mjs/policy/Mcc/index.js +7 -0
  39. package/dist/mjs/policy/Mcc/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/policy/Mcc/Action.ts +2 -0
  42. package/policy/Mcc/Creatable.ts +9 -0
  43. package/policy/Mcc/Group.ts +9 -0
  44. package/policy/Mcc/Updatable.ts +2 -0
  45. package/policy/Mcc/index.ts +7 -0
@@ -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
  }
@@ -1,5 +1,7 @@
1
1
  import { isly } from "isly";
2
+ import { zod } from "../zod";
2
3
  export type Category = string;
3
4
  export declare namespace Category {
4
5
  const type: isly.Type<string>;
6
+ const typeZod: zod.ZodType<Category>;
5
7
  }
@@ -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;AAI3B,IAAiB,QAAQ,CAKxB;AALD,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;AACF,CAAC,EALgB,QAAQ,wBAAR,QAAQ,QAKxB"}
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;AAG3B,IAAiB,MAAM,CAGtB;AAHD,WAAiB,MAAM;IACT,aAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAA;IACpC,WAAI,GAAG,WAAI,CAAC,MAAM,CAAS,OAAA,MAAM,CAAC,CAAA;AAChD,CAAC,EAHgB,MAAM,sBAAN,MAAM,QAGtB"}
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,CASzB;AATD,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;AACH,CAAC,EATgB,SAAS,yBAAT,SAAS,QASzB"}
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;AAMzC,IAAiB,KAAK,CAYrB;AAZD,WAAiB,KAAK;IAKrB,IAAiB,KAAK,CAErB;IAFD,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;IACrG,CAAC,EAFgB,KAAK,GAAL,WAAK,KAAL,WAAK,QAErB;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;IAC9G,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,EAZgB,KAAK,qBAAL,KAAK,QAYrB"}
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,CAEzB;AAFD,WAAiB,SAAS;IACZ,cAAI,GAAG,qBAAS,CAAC,IAAI,CAAC,MAAM,CAAY,EAAE,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC5E,CAAC,EAFgB,SAAS,yBAAT,SAAS,QAEzB"}
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,CA8BnB;AA9BD,WAAiB,GAAG;IACL,aAAS,GAAG,qBAAY,CAAA;IACxB,aAAS,GAAG,qBAAY,CAAA;IACxB,UAAM,GAAG,eAAS,CAAA;IAClB,SAAK,GAAG,aAAQ,CAAA;IAEjB,QAAI,GAAG,IAAA,SAAS,CAAC,IAAI,CAAC,MAAM,CAAM;QAC9C,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,aAAK,CAAC,IAAI;QACjB,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;KACzD,CAAC,CAAA;IACF,SAAgB,KAAK,CAAC,MAAW,EAAE,WAA6B;QAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACtF,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QACjF,MAAM,UAAU,GACf,MAAM,CAAC,YAAY,IAAI,SAAS;YAChC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,CAAA;QAChF,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,IAAI,YAAY,IAAI,UAAU,IAAI,IAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAChH,CAAC;IAPe,SAAK,QAOpB,CAAA;IACD,SAAgB,OAAO,CAAC,QAAe,EAAE,WAA6B;QACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAA;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAA;QACxD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;IAC1F,CAAC;IALe,WAAO,UAKtB,CAAA;IACD,SAAgB,SAAS,CAAC,QAAe,EAAE,WAA6B;QACvE,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IACrD,CAAC;IAHe,aAAS,YAGxB,CAAA;AACF,CAAC,EA9BgB,GAAG,mBAAH,GAAG,QA8BnB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../policy/Mcc/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { isly } from "isly";
2
+ import { zod } from "../zod";
2
3
  export type Category = string;
3
4
  export declare namespace Category {
4
5
  const type: isly.Type<string>;
6
+ const typeZod: zod.ZodType<Category>;
5
7
  }
@@ -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;AAI3B,MAAM,KAAW,QAAQ,CAKxB;AALD,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;AACF,CAAC,EALgB,QAAQ,KAAR,QAAQ,QAKxB"}
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;AAG3B,MAAM,KAAW,MAAM,CAGtB;AAHD,WAAiB,MAAM;IACT,aAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAA;IACpC,WAAI,GAAG,IAAI,CAAC,MAAM,CAAS,OAAA,MAAM,CAAC,CAAA;AAChD,CAAC,EAHgB,MAAM,KAAN,MAAM,QAGtB"}
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,CASzB;AATD,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;AACH,CAAC,EATgB,SAAS,KAAT,SAAS,QASzB"}
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;AAMzC,MAAM,KAAW,KAAK,CAYrB;AAZD,WAAiB,KAAK;IAKrB,IAAiB,KAAK,CAErB;IAFD,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;IACrG,CAAC,EAFgB,KAAK,GAAL,WAAK,KAAL,WAAK,QAErB;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;IAC9G,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,EAZgB,KAAK,KAAL,KAAK,QAYrB"}
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,CAEzB;AAFD,WAAiB,SAAS;IACZ,cAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAY,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAC5E,CAAC,EAFgB,SAAS,KAAT,SAAS,QAEzB"}
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../policy/Mcc/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.663",
3
+ "version": "0.1.664",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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))