@pax2pay/model-banking 0.1.651 → 0.1.653

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 (111) hide show
  1. package/Client/Policies.ts +23 -0
  2. package/Client/index.ts +3 -3
  3. package/Rule/State/Transaction.ts +1 -25
  4. package/Rule/State/index.ts +0 -15
  5. package/Transaction/Creatable.ts +3 -1
  6. package/dist/cjs/Client/Policies.d.ts +15 -0
  7. package/dist/cjs/Client/{MCCPolicies.js → Policies.js} +8 -8
  8. package/dist/cjs/Client/Policies.js.map +1 -0
  9. package/dist/cjs/Client/index.d.ts +2 -2
  10. package/dist/cjs/Client/index.js +3 -3
  11. package/dist/cjs/Client/index.js.map +1 -1
  12. package/dist/cjs/Rule/State/Transaction.d.ts +0 -1
  13. package/dist/cjs/Rule/State/Transaction.js +1 -21
  14. package/dist/cjs/Rule/State/Transaction.js.map +1 -1
  15. package/dist/cjs/Rule/State/index.d.ts +0 -4
  16. package/dist/cjs/Rule/State/index.js +0 -9
  17. package/dist/cjs/Rule/State/index.js.map +1 -1
  18. package/dist/cjs/Transaction/Creatable.d.ts +4 -3
  19. package/dist/cjs/Transaction/Creatable.js +1 -0
  20. package/dist/cjs/Transaction/Creatable.js.map +1 -1
  21. package/dist/cjs/pax2pay.d.ts +1 -1
  22. package/dist/cjs/pax2pay.js +3 -3
  23. package/dist/cjs/pax2pay.js.map +1 -1
  24. package/dist/cjs/policy/Mcc/Action.js.map +1 -0
  25. package/dist/{mjs/MCCPolicy → cjs/policy/Mcc}/Creatable.d.ts +1 -1
  26. package/dist/cjs/{MCCPolicy → policy/Mcc}/Creatable.js +1 -1
  27. package/dist/cjs/policy/Mcc/Creatable.js.map +1 -0
  28. package/dist/{mjs/MCCPolicy → cjs/policy/Mcc}/Group.d.ts +1 -1
  29. package/dist/cjs/{MCCPolicy → policy/Mcc}/Group.js +3 -9
  30. package/dist/cjs/policy/Mcc/Group.js.map +1 -0
  31. package/dist/cjs/{MCCPolicy → policy/Mcc}/Updatable.js +1 -3
  32. package/dist/cjs/policy/Mcc/Updatable.js.map +1 -0
  33. package/dist/cjs/policy/Mcc/index.d.ts +29 -0
  34. package/dist/cjs/{MCCPolicy → policy/Mcc}/index.js +20 -21
  35. package/dist/cjs/policy/Mcc/index.js.map +1 -0
  36. package/dist/cjs/policy/index.d.ts +4 -0
  37. package/dist/cjs/policy/index.js +9 -0
  38. package/dist/cjs/policy/index.js.map +1 -0
  39. package/dist/mjs/Client/Policies.d.ts +15 -0
  40. package/dist/mjs/Client/{MCCPolicies.js → Policies.js} +6 -6
  41. package/dist/mjs/Client/Policies.js.map +1 -0
  42. package/dist/mjs/Client/index.d.ts +2 -2
  43. package/dist/mjs/Client/index.js +3 -3
  44. package/dist/mjs/Client/index.js.map +1 -1
  45. package/dist/mjs/Rule/State/Transaction.d.ts +0 -1
  46. package/dist/mjs/Rule/State/Transaction.js +1 -21
  47. package/dist/mjs/Rule/State/Transaction.js.map +1 -1
  48. package/dist/mjs/Rule/State/index.d.ts +0 -4
  49. package/dist/mjs/Rule/State/index.js +0 -9
  50. package/dist/mjs/Rule/State/index.js.map +1 -1
  51. package/dist/mjs/Transaction/Creatable.d.ts +4 -3
  52. package/dist/mjs/Transaction/Creatable.js +1 -0
  53. package/dist/mjs/Transaction/Creatable.js.map +1 -1
  54. package/dist/mjs/pax2pay.d.ts +1 -1
  55. package/dist/mjs/pax2pay.js +1 -1
  56. package/dist/mjs/pax2pay.js.map +1 -1
  57. package/dist/mjs/policy/Mcc/Action.js.map +1 -0
  58. package/dist/{cjs/MCCPolicy → mjs/policy/Mcc}/Creatable.d.ts +1 -1
  59. package/dist/mjs/{MCCPolicy → policy/Mcc}/Creatable.js +1 -1
  60. package/dist/mjs/policy/Mcc/Creatable.js.map +1 -0
  61. package/dist/{cjs/MCCPolicy → mjs/policy/Mcc}/Group.d.ts +1 -1
  62. package/dist/mjs/{MCCPolicy → policy/Mcc}/Group.js +3 -9
  63. package/dist/mjs/policy/Mcc/Group.js.map +1 -0
  64. package/dist/mjs/{MCCPolicy → policy/Mcc}/Updatable.js +1 -3
  65. package/dist/mjs/policy/Mcc/Updatable.js.map +1 -0
  66. package/dist/mjs/policy/Mcc/index.d.ts +29 -0
  67. package/dist/mjs/policy/Mcc/index.js +42 -0
  68. package/dist/mjs/policy/Mcc/index.js.map +1 -0
  69. package/dist/mjs/policy/index.d.ts +4 -0
  70. package/dist/mjs/policy/index.js +6 -0
  71. package/dist/mjs/policy/index.js.map +1 -0
  72. package/package.json +2 -1
  73. package/pax2pay.ts +1 -1
  74. package/{MCCPolicy → policy/Mcc}/Action.ts +1 -2
  75. package/{MCCPolicy → policy/Mcc}/Creatable.ts +1 -2
  76. package/{MCCPolicy → policy/Mcc}/Group.ts +3 -9
  77. package/{MCCPolicy → policy/Mcc}/Updatable.ts +1 -4
  78. package/policy/Mcc/index.ts +47 -0
  79. package/policy/index.ts +5 -0
  80. package/Client/MCCPolicies.ts +0 -23
  81. package/MCCPolicy/Identifier.ts +0 -9
  82. package/MCCPolicy/index.ts +0 -47
  83. package/dist/cjs/Client/MCCPolicies.d.ts +0 -15
  84. package/dist/cjs/Client/MCCPolicies.js.map +0 -1
  85. package/dist/cjs/MCCPolicy/Action.js.map +0 -1
  86. package/dist/cjs/MCCPolicy/Creatable.js.map +0 -1
  87. package/dist/cjs/MCCPolicy/Group.js.map +0 -1
  88. package/dist/cjs/MCCPolicy/Identifier.d.ts +0 -4
  89. package/dist/cjs/MCCPolicy/Identifier.js +0 -12
  90. package/dist/cjs/MCCPolicy/Identifier.js.map +0 -1
  91. package/dist/cjs/MCCPolicy/Updatable.js.map +0 -1
  92. package/dist/cjs/MCCPolicy/index.d.ts +0 -31
  93. package/dist/cjs/MCCPolicy/index.js.map +0 -1
  94. package/dist/mjs/Client/MCCPolicies.d.ts +0 -15
  95. package/dist/mjs/Client/MCCPolicies.js.map +0 -1
  96. package/dist/mjs/MCCPolicy/Action.js.map +0 -1
  97. package/dist/mjs/MCCPolicy/Creatable.js.map +0 -1
  98. package/dist/mjs/MCCPolicy/Group.js.map +0 -1
  99. package/dist/mjs/MCCPolicy/Identifier.d.ts +0 -4
  100. package/dist/mjs/MCCPolicy/Identifier.js +0 -9
  101. package/dist/mjs/MCCPolicy/Identifier.js.map +0 -1
  102. package/dist/mjs/MCCPolicy/Updatable.js.map +0 -1
  103. package/dist/mjs/MCCPolicy/index.d.ts +0 -31
  104. package/dist/mjs/MCCPolicy/index.js +0 -43
  105. package/dist/mjs/MCCPolicy/index.js.map +0 -1
  106. /package/dist/cjs/{MCCPolicy → policy/Mcc}/Action.d.ts +0 -0
  107. /package/dist/cjs/{MCCPolicy → policy/Mcc}/Action.js +0 -0
  108. /package/dist/cjs/{MCCPolicy → policy/Mcc}/Updatable.d.ts +0 -0
  109. /package/dist/mjs/{MCCPolicy → policy/Mcc}/Action.d.ts +0 -0
  110. /package/dist/mjs/{MCCPolicy → policy/Mcc}/Action.js +0 -0
  111. /package/dist/mjs/{MCCPolicy → policy/Mcc}/Updatable.d.ts +0 -0
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.policy = void 0;
4
+ const Mcc_1 = require("./Mcc");
5
+ var policy;
6
+ (function (policy) {
7
+ policy.Mcc = Mcc_1.Mcc;
8
+ })(policy || (exports.policy = policy = {}));
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../policy/index.ts"],"names":[],"mappings":";;;AAAA,+BAAwC;AAExC,IAAiB,MAAM,CAEtB;AAFD,WAAiB,MAAM;IACR,UAAG,GAAG,SAAS,CAAA;AAC9B,CAAC,EAFgB,MAAM,sBAAN,MAAM,QAEtB"}
@@ -0,0 +1,15 @@
1
+ import { gracely } from "gracely";
2
+ import { http } from "cloudly-http";
3
+ import { Card } from "../Card";
4
+ import { policy } from "../policy";
5
+ export declare class Policies {
6
+ private readonly client;
7
+ constructor(client: http.Client);
8
+ create(policy: policy.Mcc.Creatable): Promise<policy.Mcc | gracely.Error>;
9
+ update(policy: policy.Mcc.Updatable): Promise<policy.Mcc | gracely.Error>;
10
+ list(filter: {
11
+ organization?: string;
12
+ stack?: Card.Stack;
13
+ }): Promise<policy.Mcc[] | gracely.Error>;
14
+ remove(id: string): Promise<policy.Mcc | gracely.Error>;
15
+ }
@@ -1,22 +1,22 @@
1
- export class MCCPolicies {
1
+ export class Policies {
2
2
  client;
3
3
  constructor(client) {
4
4
  this.client = client;
5
5
  }
6
6
  async create(policy) {
7
- return this.client.post(`/mcc-policy`, policy);
7
+ return this.client.post(`/policy/mcc`, policy);
8
8
  }
9
9
  async update(policy) {
10
- return this.client.put(`/mcc-policy`, policy);
10
+ return this.client.put(`/policy/mcc`, policy);
11
11
  }
12
12
  async list(filter) {
13
13
  const query = Object.entries(filter)
14
14
  .map(([key, value]) => `${key}=${value}`)
15
15
  .join("&");
16
- return this.client.get(`/mcc-policy${query ? `?${query}` : ""}`);
16
+ return this.client.get(`/policy/mcc${query ? `?${query}` : ""}`);
17
17
  }
18
18
  async remove(id) {
19
- return this.client.delete(`/mcc-policy/${id}`);
19
+ return this.client.delete(`/policy/mcc/${id}`);
20
20
  }
21
21
  }
22
- //# sourceMappingURL=MCCPolicies.js.map
22
+ //# sourceMappingURL=Policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Policies.js","sourceRoot":"","sources":["../../../Client/Policies.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,QAAQ;IACS;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IACpD,KAAK,CAAC,MAAM,CAAC,MAA4B;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,aAAa,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,MAA4B;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,aAAa,EAAE,MAAM,CAAC,CAAA;IAC1D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAqD;QAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAe,cAAc,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAa,eAAe,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;CACD"}
@@ -3,10 +3,10 @@ import { Accounts } from "./Accounts";
3
3
  import { Audit } from "./Audit";
4
4
  import { Cards } from "./Cards";
5
5
  import { Logs } from "./Logs";
6
- import { MCCPolicies } from "./MCCPolicies";
7
6
  import { Me } from "./Me";
8
7
  import { Operations } from "./Operations";
9
8
  import { Organizations } from "./Organizations";
9
+ import { Policies } from "./Policies";
10
10
  import { Processor } from "./Processor";
11
11
  import { Reports } from "./Reports";
12
12
  import { Settlements } from "./Settlements";
@@ -22,7 +22,7 @@ export declare class Client {
22
22
  readonly audits: Audit;
23
23
  readonly cards: Cards;
24
24
  readonly logs: Logs;
25
- readonly mccPolicies: MCCPolicies;
25
+ readonly policies: Policies;
26
26
  readonly me: Me;
27
27
  readonly operations: Operations;
28
28
  readonly organizations: Organizations;
@@ -3,10 +3,10 @@ import { Accounts } from "./Accounts";
3
3
  import { Audit } from "./Audit";
4
4
  import { Cards } from "./Cards";
5
5
  import { Logs } from "./Logs";
6
- import { MCCPolicies } from "./MCCPolicies";
7
6
  import { Me } from "./Me";
8
7
  import { Operations } from "./Operations";
9
8
  import { Organizations } from "./Organizations";
9
+ import { Policies } from "./Policies";
10
10
  import { Processor } from "./Processor";
11
11
  import { Reports } from "./Reports";
12
12
  import { Settlements } from "./Settlements";
@@ -22,7 +22,7 @@ export class Client {
22
22
  audits;
23
23
  cards;
24
24
  logs;
25
- mccPolicies;
25
+ policies;
26
26
  me;
27
27
  operations;
28
28
  organizations;
@@ -52,7 +52,7 @@ export class Client {
52
52
  this.audits = new Audit(this.client);
53
53
  this.cards = new Cards(this.client);
54
54
  this.logs = new Logs(this.client);
55
- this.mccPolicies = new MCCPolicies(this.client);
55
+ this.policies = new Policies(this.client);
56
56
  this.me = new Me(this.client);
57
57
  this.operations = new Operations(this.client);
58
58
  this.organizations = new Organizations(this.client);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Client/index.ts"],"names":[],"mappings":"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"}
@@ -16,5 +16,4 @@ export type Transaction = ModelTransaction.Creatable.Resolved & {
16
16
  };
17
17
  export declare namespace Transaction {
18
18
  function from(account: ModelAccount, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate"): Transaction;
19
- function fromPreTransaction(accountName: string, transaction: ModelTransaction.PreTransaction | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate"): Transaction;
20
19
  }
@@ -10,29 +10,9 @@ export var Transaction;
10
10
  kind,
11
11
  amount,
12
12
  type: ModelTransaction.getType(transaction.counterpart, account.name),
13
- original: {
14
- currency: transaction.currency,
15
- amount,
16
- total: amount,
17
- },
13
+ original: { currency: transaction.currency, amount, total: amount },
18
14
  };
19
15
  }
20
16
  Transaction.from = from;
21
- function fromPreTransaction(accountName, transaction, kind, stage) {
22
- return {
23
- ...transaction,
24
- id: "id" in transaction ? transaction.id : ModelTransaction.Identifier.generate(),
25
- stage,
26
- kind,
27
- amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.total),
28
- type: ModelTransaction.getType(transaction.counterpart, accountName),
29
- original: {
30
- currency: transaction.currency,
31
- amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.original),
32
- total: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.total),
33
- },
34
- };
35
- }
36
- Transaction.fromPreTransaction = fromPreTransaction;
37
17
  })(Transaction || (Transaction = {}));
38
18
  //# sourceMappingURL=Transaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../Rule/State/Transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAenE,MAAM,KAAW,WAAW,CA0C3B;AA1CD,WAAiB,WAAW;IAC3B,SAAgB,IAAI,CACnB,OAAqB,EACrB,WAAmE,EACnE,IAAoB,EACpB,KAA8B;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjH,OAAO;YACN,GAAG,WAAW;YACd,EAAE,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE;YACjF,KAAK;YACL,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACrE,QAAQ,EAAE;gBACT,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,MAAM;gBACN,KAAK,EAAE,MAAM;aACb;SACD,CAAA;IACF,CAAC;IApBe,gBAAI,OAoBnB,CAAA;IACD,SAAgB,kBAAkB,CACjC,WAAmB,EACnB,WAA+D,EAC/D,IAAoB,EACpB,KAA8B;QAE9B,OAAO;YACN,GAAG,WAAW;YACd,EAAE,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE;YACjF,KAAK;YACL,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YACvG,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC;YACpE,QAAQ,EAAE;gBACT,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC1G,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;aACtG;SACD,CAAA;IACF,CAAC;IAnBe,8BAAkB,qBAmBjC,CAAA;AACF,CAAC,EA1CgB,WAAW,KAAX,WAAW,QA0C3B"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../Rule/State/Transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAenE,MAAM,KAAW,WAAW,CAkB3B;AAlBD,WAAiB,WAAW;IAC3B,SAAgB,IAAI,CACnB,OAAqB,EACrB,WAAmE,EACnE,IAAoB,EACpB,KAA8B;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjH,OAAO;YACN,GAAG,WAAW;YACd,EAAE,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE;YACjF,KAAK;YACL,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACrE,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;SACnE,CAAA;IACF,CAAC;IAhBe,gBAAI,OAgBnB,CAAA;AACF,CAAC,EAlBgB,WAAW,KAAX,WAAW,QAkB3B"}
@@ -1,6 +1,5 @@
1
1
  import { isly } from "isly";
2
2
  import { Account as ModelAccount } from "../../Account";
3
- import type { Card as ModelCard } from "../../Card";
4
3
  import { Rail } from "../../Rail";
5
4
  import type { Transaction as ModelTransaction } from "../../Transaction";
6
5
  import type { Rule } from "../index";
@@ -37,7 +36,4 @@ export declare namespace State {
37
36
  }
38
37
  function from(account: ModelAccount, address: Rail.Address, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate", card?: Card, organization?: Organization): State;
39
38
  const type: Record<ModelTransaction.PreTransaction["type"], Rule.Base.Kind>;
40
- function fromPreTransaction(account: ModelAccount, address: Rail.Address, transaction: ModelTransaction.PreTransaction, card?: ModelCard & {
41
- statistics: Card.Statistics;
42
- }, organization?: Organization): State;
43
39
  }
@@ -33,14 +33,5 @@ export var State;
33
33
  incoming: "inbound",
34
34
  outgoing: "outbound",
35
35
  };
36
- function fromPreTransaction(account, address, transaction, card, organization) {
37
- return {
38
- account: State.Account.from(account, address),
39
- transaction: State.Transaction.from(account, transaction, State.type[transaction.type], "initiate"),
40
- card: card ? State.Card.from(card, card.statistics) : undefined,
41
- organization,
42
- };
43
- }
44
- State.fromPreTransaction = fromPreTransaction;
45
36
  })(State || (State = {}));
46
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAM3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAS/D,MAAM,KAAW,KAAK,CAsDrB;AAtDD,WAAiB,KAAK;IACP,aAAO,GAAG,YAAY,CAAA;IACtB,mBAAa,GAAG,kBAAkB,CAAA;IAClC,UAAI,GAAG,SAAS,CAAA;IAChB,aAAO,GAAG,YAAY,CAAA;IACtB,iBAAW,GAAG,gBAAgB,CAAA;IAC9B,kBAAY,GAAG,iBAAiB,CAAA;IAE9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,OAAqB,EACrB,OAAqB,EACrB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACvC,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YAChE,aAAa,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9C,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IAhBe,UAAI,OAgBnB,CAAA;IACY,UAAI,GAAoE;QACpF,aAAa,EAAE,eAAe;QAC9B,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,UAAU;KACpB,CAAA;IACD,SAAgB,kBAAkB,CACjC,OAAqB,EACrB,OAAqB,EACrB,WAA4C,EAC5C,IAAkD,EAClD,YAA2B;QAE3B,OAAO;YACN,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACvC,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;YACvF,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACzD,YAAY;SACZ,CAAA;IACF,CAAC;IAbe,wBAAkB,qBAajC,CAAA;AACF,CAAC,EAtDgB,KAAK,KAAL,KAAK,QAsDrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAS/D,MAAM,KAAW,KAAK,CAwCrB;AAxCD,WAAiB,KAAK;IACP,aAAO,GAAG,YAAY,CAAA;IACtB,mBAAa,GAAG,kBAAkB,CAAA;IAClC,UAAI,GAAG,SAAS,CAAA;IAChB,aAAO,GAAG,YAAY,CAAA;IACtB,iBAAW,GAAG,gBAAgB,CAAA;IAC9B,kBAAY,GAAG,iBAAiB,CAAA;IAE9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,OAAqB,EACrB,OAAqB,EACrB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACvC,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YAChE,aAAa,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9C,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IAhBe,UAAI,OAgBnB,CAAA;IACY,UAAI,GAAoE;QACpF,aAAa,EAAE,eAAe;QAC9B,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,UAAU;KACpB,CAAA;AACF,CAAC,EAxCgB,KAAK,KAAL,KAAK,QAwCrB"}
@@ -10,11 +10,12 @@ export interface Creatable {
10
10
  amount: number;
11
11
  description: string;
12
12
  exchange?: Exchange;
13
+ reference?: {
14
+ reference?: string;
15
+ };
13
16
  }
14
17
  export declare namespace Creatable {
15
- type Resolved = (Creatable & {
16
- counterpart: Rail.Address;
17
- }) | CardTransaction;
18
+ type Resolved = Creatable | CardTransaction;
18
19
  const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
19
20
  interface CardTransaction extends Creatable {
20
21
  account: Pick<Rail.Address.Card, "id" | "type">;
@@ -11,6 +11,7 @@ export var Creatable;
11
11
  amount: isly.number(),
12
12
  description: isly.string(),
13
13
  exchange: Exchange.type.optional(),
14
+ reference: isly.object({ reference: isly.string().optional() }).optional(),
14
15
  });
15
16
  let CardTransaction;
16
17
  (function (CardTransaction) {
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Transaction/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,MAAM,KAAW,SAAS,CAmCzB;AAnCD,WAAiB,SAAS;IAEZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;QAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;IAQF,IAAiB,eAAe,CAkB/B;IAlBD,WAAiB,eAAe;QAClB,oBAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAkB;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;YAC/C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3E,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC,CAAA;QACF,SAAgB,MAAM,CAAC,SAA0B,EAAE,MAAc,EAAE,OAAwB;YAC1F,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAC7B,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,OAAO,EACP,SAAS,CAAC,QAAQ,CAClB,CAAA;QACF,CAAC;QATe,sBAAM,SASrB,CAAA;IACF,CAAC,EAlBgB,eAAe,GAAf,yBAAe,KAAf,yBAAe,QAkB/B;AACF,CAAC,EAnCgB,SAAS,KAAT,SAAS,QAmCzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Transaction/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAUrC,MAAM,KAAW,SAAS,CAoCzB;AApCD,WAAiB,SAAS;IAEZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;QAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAyB,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KAClG,CAAC,CAAA;IAQF,IAAiB,eAAe,CAkB/B;IAlBD,WAAiB,eAAe;QAClB,oBAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAkB;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACxB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI;YAC/C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3E,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC,CAAA;QACF,SAAgB,MAAM,CAAC,SAA0B,EAAE,MAAc,EAAE,OAAwB;YAC1F,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAC7B,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,OAAO,EACP,SAAS,CAAC,QAAQ,CAClB,CAAA;QACF,CAAC;QATe,sBAAM,SASrB,CAAA;IACF,CAAC,EAlBgB,eAAe,GAAf,yBAAe,KAAf,yBAAe,QAkB/B;AACF,CAAC,EApCgB,SAAS,KAAT,SAAS,QAoCzB"}
@@ -13,7 +13,7 @@ export { fx } from "./fx";
13
13
  export { Holidays } from "./Holidays";
14
14
  export { Identifier } from "./Identifier";
15
15
  export { Log } from "./Log";
16
- export { MCCPolicy } from "./MCCPolicy";
16
+ export { policy } from "./policy";
17
17
  export { Merchant } from "./Merchant";
18
18
  export { Operation } from "./Operation";
19
19
  export { Organization } from "./Organization";
@@ -13,7 +13,7 @@ export { fx } from "./fx";
13
13
  export { Holidays } from "./Holidays";
14
14
  export { Identifier } from "./Identifier";
15
15
  export { Log } from "./Log";
16
- export { MCCPolicy } from "./MCCPolicy";
16
+ export { policy } from "./policy";
17
17
  export { Merchant } from "./Merchant";
18
18
  export { Operation } from "./Operation";
19
19
  export { Organization } from "./Organization";
@@ -1 +1 @@
1
- {"version":3,"file":"pax2pay.js","sourceRoot":"","sources":["../../pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"pax2pay.js","sourceRoot":"","sources":["../../pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}
@@ -0,0 +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,4 +1,4 @@
1
- import { Card } from "../Card";
1
+ import { Card } from "../../Card";
2
2
  import { Action } from "./Action";
3
3
  import { Group } from "./Group";
4
4
  export interface Creatable {
@@ -1,5 +1,5 @@
1
1
  import { isly } from "isly";
2
- import { Card } from "../Card";
2
+ import { Card } from "../../Card";
3
3
  import { Action } from "./Action";
4
4
  import { Group } from "./Group";
5
5
  export var Creatable;
@@ -0,0 +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,4 +1,4 @@
1
- import { Merchant } from "../Merchant";
1
+ import { Merchant } from "../../Merchant";
2
2
  export interface Group {
3
3
  values: Merchant.Category[];
4
4
  ranges: Group.Range[];
@@ -1,18 +1,12 @@
1
1
  import { isly } from "isly";
2
- import { Merchant } from "../Merchant";
2
+ import { Merchant } from "../../Merchant";
3
3
  export var Group;
4
4
  (function (Group) {
5
5
  let Range;
6
6
  (function (Range) {
7
- Range.type = isly.object({
8
- from: Merchant.Category.type,
9
- to: Merchant.Category.type,
10
- });
7
+ Range.type = isly.object({ from: Merchant.Category.type, to: Merchant.Category.type });
11
8
  })(Range = Group.Range || (Group.Range = {}));
12
- Group.type = isly.object({
13
- values: Merchant.Category.type.array(),
14
- ranges: Range.type.array(),
15
- });
9
+ Group.type = isly.object({ values: Merchant.Category.type.array(), ranges: Range.type.array() });
16
10
  function within(set, category) {
17
11
  return set.values.includes(category) || set.ranges.some(r => r.from <= category && category <= r.to);
18
12
  }
@@ -0,0 +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"}
@@ -2,8 +2,6 @@ import { isly } from "isly";
2
2
  import { Creatable } from "./Creatable";
3
3
  export var Updatable;
4
4
  (function (Updatable) {
5
- Updatable.type = Creatable.type.extend({
6
- id: isly.string(),
7
- });
5
+ Updatable.type = Creatable.type.extend({ id: isly.string() });
8
6
  })(Updatable || (Updatable = {}));
9
7
  //# sourceMappingURL=Updatable.js.map
@@ -0,0 +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"}
@@ -0,0 +1,29 @@
1
+ import { isoly } from "isoly";
2
+ import { Card } from "../../Card";
3
+ import { Merchant } from "../../Merchant";
4
+ import { Realm } from "../../Realm";
5
+ import { Action as MCCAction } from "./Action";
6
+ import { Creatable as MccCreatable } from "./Creatable";
7
+ import { Group as MCCGroup } from "./Group";
8
+ import { Updatable as MccUpdatable } from "./Updatable";
9
+ export interface Mcc extends MccCreatable {
10
+ id: string;
11
+ realm: Realm;
12
+ created: isoly.DateTime;
13
+ updated: isoly.DateTime;
14
+ }
15
+ export declare namespace Mcc {
16
+ export import Creatable = MccCreatable;
17
+ export import Updatable = MccUpdatable;
18
+ export import Action = MCCAction;
19
+ export import Group = MCCGroup;
20
+ type TransactionInput = {
21
+ category?: Merchant.Category;
22
+ preset?: Card.Preset;
23
+ organization?: string;
24
+ };
25
+ const type: import("isly/dist/cjs/object").IslyObject<Mcc, Creatable>;
26
+ function match(policy: Mcc, transaction: TransactionInput): boolean;
27
+ function resolve(policies: Mcc[], transaction: TransactionInput): Mcc[];
28
+ function isAllowed(policies: Mcc[], transaction: TransactionInput): boolean | undefined;
29
+ }
@@ -0,0 +1,42 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Card } from "../../Card";
4
+ import { Realm } from "../../Realm";
5
+ import { Action as MCCAction } from "./Action";
6
+ import { Creatable as MccCreatable } from "./Creatable";
7
+ import { Group as MCCGroup } from "./Group";
8
+ import { Updatable as MccUpdatable } from "./Updatable";
9
+ export var Mcc;
10
+ (function (Mcc) {
11
+ Mcc.Creatable = MccCreatable;
12
+ Mcc.Updatable = MccUpdatable;
13
+ Mcc.Action = MCCAction;
14
+ Mcc.Group = MCCGroup;
15
+ Mcc.type = Mcc.Creatable.type.extend({
16
+ id: isly.string(),
17
+ realm: Realm.type,
18
+ created: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
19
+ updated: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
20
+ });
21
+ function match(policy, transaction) {
22
+ const stack = transaction.preset ? Card.Preset.presets[transaction.preset] : undefined;
23
+ const stackMatches = !policy.stacks || (!!stack && policy.stacks.includes(stack));
24
+ const orgMatches = policy.organization == undefined ||
25
+ (!!transaction.organization && policy.organization == transaction.organization);
26
+ return !!transaction.category && stackMatches && orgMatches && Mcc.Group.within(policy.group, transaction.category);
27
+ }
28
+ Mcc.match = match;
29
+ function resolve(policies, transaction) {
30
+ const blocks = policies.filter(c => c.action == "block");
31
+ const blockMatches = blocks.filter(c => Mcc.match(c, transaction));
32
+ const allows = policies.filter(c => c.action == "allow");
33
+ return blockMatches.length ? blockMatches : allows.filter(c => Mcc.match(c, transaction));
34
+ }
35
+ Mcc.resolve = resolve;
36
+ function isAllowed(policies, transaction) {
37
+ const [result] = resolve(policies, transaction);
38
+ return result ? result.action == "allow" : undefined;
39
+ }
40
+ Mcc.isAllowed = isAllowed;
41
+ })(Mcc || (Mcc = {}));
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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,CA8BnB;AA9BD,WAAiB,GAAG;IACL,aAAS,GAAG,YAAY,CAAA;IACxB,aAAS,GAAG,YAAY,CAAA;IACxB,UAAM,GAAG,SAAS,CAAA;IAClB,SAAK,GAAG,QAAQ,CAAA;IAEjB,QAAI,GAAG,IAAA,SAAS,CAAC,IAAI,CAAC,MAAM,CAAM;QAC9C,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,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,IAAI,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,KAAH,GAAG,QA8BnB"}
@@ -0,0 +1,4 @@
1
+ import { Mcc as PolicyMcc } from "./Mcc";
2
+ export declare namespace policy {
3
+ export import Mcc = PolicyMcc;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { Mcc as PolicyMcc } from "./Mcc";
2
+ export var policy;
3
+ (function (policy) {
4
+ policy.Mcc = PolicyMcc;
5
+ })(policy || (policy = {}));
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../policy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,OAAO,CAAA;AAExC,MAAM,KAAW,MAAM,CAEtB;AAFD,WAAiB,MAAM;IACR,UAAG,GAAG,SAAS,CAAA;AAC9B,CAAC,EAFgB,MAAM,KAAN,MAAM,QAEtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.651",
3
+ "version": "0.1.653",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
@@ -20,6 +20,7 @@
20
20
  "scripts": {
21
21
  "lint": "eslint --max-warnings=0 '**/*.{ts,tsx}'",
22
22
  "fix": "eslint '**/*.{ts,tsx}' --fix",
23
+ "install": "npm i --min-release-age=0",
23
24
  "build": "rimraf dist/* && tsc -p tsconfig.mjs.json && tsc -p tsconfig.cjs.json",
24
25
  "test": "vitest --run",
25
26
  "coverage": "vitest --coverage",
package/pax2pay.ts CHANGED
@@ -13,7 +13,7 @@ export { fx } from "./fx"
13
13
  export { Holidays } from "./Holidays"
14
14
  export { Identifier } from "./Identifier"
15
15
  export { Log } from "./Log"
16
- export { MCCPolicy } from "./MCCPolicy"
16
+ export { policy } from "./policy"
17
17
  export { Merchant } from "./Merchant"
18
18
  export { Operation } from "./Operation"
19
19
  export { Organization } from "./Organization"
@@ -1,8 +1,7 @@
1
1
  import { isly } from "isly"
2
2
 
3
3
  export type Action = (typeof Action.values)[number]
4
-
5
4
  export namespace Action {
6
5
  export const values = ["allow", "block"] as const
7
- export const type = isly.string(values)
6
+ export const type = isly.string<Action>(values)
8
7
  }
@@ -1,5 +1,5 @@
1
1
  import { isly } from "isly"
2
- import { Card } from "../Card"
2
+ import { Card } from "../../Card"
3
3
  import { Action } from "./Action"
4
4
  import { Group } from "./Group"
5
5
 
@@ -11,7 +11,6 @@ export interface Creatable {
11
11
  organization?: string
12
12
  group: Group
13
13
  }
14
-
15
14
  export namespace Creatable {
16
15
  export const type = isly.object<Creatable>({
17
16
  action: Action.type,
@@ -1,5 +1,5 @@
1
1
  import { isly } from "isly"
2
- import { Merchant } from "../Merchant"
2
+ import { Merchant } from "../../Merchant"
3
3
 
4
4
  export interface Group {
5
5
  values: Merchant.Category[]
@@ -11,15 +11,9 @@ export namespace Group {
11
11
  to: Merchant.Category
12
12
  }
13
13
  export namespace Range {
14
- export const type = isly.object<Range>({
15
- from: Merchant.Category.type,
16
- to: Merchant.Category.type,
17
- })
14
+ export const type = isly.object<Range>({ from: Merchant.Category.type, to: Merchant.Category.type })
18
15
  }
19
- export const type = isly.object<Group>({
20
- values: Merchant.Category.type.array(),
21
- ranges: Range.type.array(),
22
- })
16
+ export const type = isly.object<Group>({ values: Merchant.Category.type.array(), ranges: Range.type.array() })
23
17
  export function within(set: Group, category: Merchant.Category): boolean {
24
18
  return set.values.includes(category) || set.ranges.some(r => r.from <= category && category <= r.to)
25
19
  }
@@ -4,9 +4,6 @@ import { Creatable } from "./Creatable"
4
4
  export interface Updatable extends Creatable {
5
5
  id: string
6
6
  }
7
-
8
7
  export namespace Updatable {
9
- export const type = Creatable.type.extend<Updatable>({
10
- id: isly.string(),
11
- })
8
+ export const type = Creatable.type.extend<Updatable>({ id: isly.string() })
12
9
  }
@@ -0,0 +1,47 @@
1
+ import { isoly } from "isoly"
2
+ import { isly } from "isly"
3
+ import { Card } from "../../Card"
4
+ import { Merchant } from "../../Merchant"
5
+ import { Realm } from "../../Realm"
6
+ import { Action as MCCAction } from "./Action"
7
+ import { Creatable as MccCreatable } from "./Creatable"
8
+ import { Group as MCCGroup } from "./Group"
9
+ import { Updatable as MccUpdatable } from "./Updatable"
10
+
11
+ export interface Mcc extends MccCreatable {
12
+ id: string
13
+ realm: Realm
14
+ created: isoly.DateTime
15
+ updated: isoly.DateTime
16
+ }
17
+ export namespace Mcc {
18
+ export import Creatable = MccCreatable
19
+ export import Updatable = MccUpdatable
20
+ export import Action = MCCAction
21
+ export import Group = MCCGroup
22
+ export type TransactionInput = { category?: Merchant.Category; preset?: Card.Preset; organization?: string }
23
+ export const type = Creatable.type.extend<Mcc>({
24
+ id: isly.string(),
25
+ realm: Realm.type,
26
+ created: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
27
+ updated: isly.fromIs("isoly.DateTime", isoly.DateTime.is),
28
+ })
29
+ export function match(policy: Mcc, transaction: TransactionInput): boolean {
30
+ const stack = transaction.preset ? Card.Preset.presets[transaction.preset] : undefined
31
+ const stackMatches = !policy.stacks || (!!stack && policy.stacks.includes(stack))
32
+ const orgMatches =
33
+ policy.organization == undefined ||
34
+ (!!transaction.organization && policy.organization == transaction.organization)
35
+ return !!transaction.category && stackMatches && orgMatches && Group.within(policy.group, transaction.category)
36
+ }
37
+ export function resolve(policies: Mcc[], transaction: TransactionInput): Mcc[] {
38
+ const blocks = policies.filter(c => c.action == "block")
39
+ const blockMatches = blocks.filter(c => Mcc.match(c, transaction))
40
+ const allows = policies.filter(c => c.action == "allow")
41
+ return blockMatches.length ? blockMatches : allows.filter(c => Mcc.match(c, transaction))
42
+ }
43
+ export function isAllowed(policies: Mcc[], transaction: TransactionInput): boolean | undefined {
44
+ const [result] = resolve(policies, transaction)
45
+ return result ? result.action == "allow" : undefined
46
+ }
47
+ }
@@ -0,0 +1,5 @@
1
+ import { Mcc as PolicyMcc } from "./Mcc"
2
+
3
+ export namespace policy {
4
+ export import Mcc = PolicyMcc
5
+ }