@pax2pay/model-banking 0.1.538 → 0.1.539

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/Account/Charge.ts CHANGED
@@ -1,29 +1,39 @@
1
+ import { cryptly } from "cryptly"
1
2
  import { isoly } from "isoly"
2
3
  import { isly } from "isly"
3
4
  import { Card } from "../Card"
4
5
  import { Transaction } from "../Transaction"
5
6
 
6
- export type Charge = {
7
+ export interface Charge extends Charge.Creatable {
7
8
  id: string
8
- destination: { account: string }
9
- rate: number // rate: 0.01 for 1%
10
- applies: {
11
- to: {
12
- merchants: Card.Restriction.Merchant[]
13
- }
14
- }
15
9
  }
16
10
  export namespace Charge {
17
- export const type = isly.object<Charge>({
18
- id: isly.string(),
19
- destination: isly.object({ account: isly.string() }),
20
- rate: isly.number(),
21
- applies: isly.object({
22
- to: isly.object<Charge["applies"]["to"]>({
23
- merchants: Card.Restriction.Merchant.type.array(),
11
+ export interface Creatable {
12
+ destination: { account: string }
13
+ rate: number // rate: 0.01 for 1%
14
+ applies: {
15
+ to: {
16
+ merchants: Card.Restriction.Merchant[]
17
+ }
18
+ }
19
+ }
20
+ export namespace Creatable {
21
+ export const type = isly.object<Creatable>({
22
+ destination: isly.object({ account: isly.string() }),
23
+ rate: isly.number(),
24
+ applies: isly.object({
25
+ to: isly.object<Creatable["applies"]["to"]>({
26
+ merchants: Card.Restriction.Merchant.type.array(),
27
+ }),
24
28
  }),
25
- }),
29
+ })
30
+ }
31
+ export const type = Creatable.type.extend<Charge>({
32
+ id: isly.string(),
26
33
  })
34
+ export function fromCreatable(creatable: Creatable): Charge {
35
+ return { ...creatable, id: cryptly.Identifier.generate(16) }
36
+ }
27
37
  export function evaluate(
28
38
  charges: Charge[] = [],
29
39
  transaction: Transaction.Creatable.Resolved | Transaction
@@ -1,20 +1,26 @@
1
1
  import { isoly } from "isoly";
2
2
  import { Card } from "../Card";
3
3
  import { Transaction } from "../Transaction";
4
- export type Charge = {
4
+ export interface Charge extends Charge.Creatable {
5
5
  id: string;
6
- destination: {
7
- account: string;
8
- };
9
- rate: number;
10
- applies: {
11
- to: {
12
- merchants: Card.Restriction.Merchant[];
13
- };
14
- };
15
- };
6
+ }
16
7
  export declare namespace Charge {
17
- const type: import("isly/dist/cjs/object").IslyObject<Charge, object>;
8
+ interface Creatable {
9
+ destination: {
10
+ account: string;
11
+ };
12
+ rate: number;
13
+ applies: {
14
+ to: {
15
+ merchants: Card.Restriction.Merchant[];
16
+ };
17
+ };
18
+ }
19
+ namespace Creatable {
20
+ const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
21
+ }
22
+ const type: import("isly/dist/cjs/object").IslyObject<Charge, Creatable>;
23
+ function fromCreatable(creatable: Creatable): Charge;
18
24
  function evaluate(charges: Charge[] | undefined, transaction: Transaction.Creatable.Resolved | Transaction): Transaction.Amount.Charge[];
19
25
  function sum(charges: Transaction.Amount.Charge[], currency: isoly.Currency): number;
20
26
  }
@@ -1,21 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Charge = void 0;
4
+ const cryptly_1 = require("cryptly");
4
5
  const isoly_1 = require("isoly");
5
6
  const isly_1 = require("isly");
6
7
  const Card_1 = require("../Card");
7
8
  var Charge;
8
9
  (function (Charge) {
9
- Charge.type = isly_1.isly.object({
10
- id: isly_1.isly.string(),
11
- destination: isly_1.isly.object({ account: isly_1.isly.string() }),
12
- rate: isly_1.isly.number(),
13
- applies: isly_1.isly.object({
14
- to: isly_1.isly.object({
15
- merchants: Card_1.Card.Restriction.Merchant.type.array(),
10
+ let Creatable;
11
+ (function (Creatable) {
12
+ Creatable.type = isly_1.isly.object({
13
+ destination: isly_1.isly.object({ account: isly_1.isly.string() }),
14
+ rate: isly_1.isly.number(),
15
+ applies: isly_1.isly.object({
16
+ to: isly_1.isly.object({
17
+ merchants: Card_1.Card.Restriction.Merchant.type.array(),
18
+ }),
16
19
  }),
17
- }),
20
+ });
21
+ })(Creatable = Charge.Creatable || (Charge.Creatable = {}));
22
+ Charge.type = Creatable.type.extend({
23
+ id: isly_1.isly.string(),
18
24
  });
25
+ function fromCreatable(creatable) {
26
+ return { ...creatable, id: cryptly_1.cryptly.Identifier.generate(16) };
27
+ }
28
+ Charge.fromCreatable = fromCreatable;
19
29
  function evaluate(charges = [], transaction) {
20
30
  const result = [];
21
31
  for (const charge of charges)
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Account/Charge.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,kCAA8B;AAa9B,IAAiB,MAAM,CAkCtB;AAlCD,WAAiB,MAAM;IACT,WAAI,GAAG,WAAI,CAAC,MAAM,CAAS;QACvC,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACpD,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,WAAI,CAAC,MAAM,CAA0B;gBACxC,SAAS,EAAE,WAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;aACjD,CAAC;SACF,CAAC;KACF,CAAC,CAAA;IACF,SAAgB,QAAQ,CACvB,UAAoB,EAAE,EACtB,WAAyD;QAEzD,MAAM,MAAM,GAAgC,EAAE,CAAA;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO;YAC3B,IAAI,UAAU,IAAI,WAAW,CAAC,WAAW;gBACxC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;oBACjD,IAAI,WAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;wBACrE,MAAM,CAAC,IAAI,CAAC;4BACX,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,aAAK,CAAC,QAAQ,CAAC,QAAQ,CAC9B,WAAW,CAAC,QAAQ,EACpB,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EACxF,MAAM,CAAC,IAAI,CACX;yBACD,CAAC,CAAA;QACN,OAAO,MAAM,CAAA;IACd,CAAC;IAnBe,eAAQ,WAmBvB,CAAA;IACD,SAAgB,GAAG,CAAC,OAAoC,EAAE,QAAwB;QACjF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,aAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC;IAFe,UAAG,MAElB,CAAA;AACF,CAAC,EAlCgB,MAAM,sBAAN,MAAM,QAkCtB"}
1
+ {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Account/Charge.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AACjC,iCAA6B;AAC7B,+BAA2B;AAC3B,kCAA8B;AAM9B,IAAiB,MAAM,CAkDtB;AAlDD,WAAiB,MAAM;IAUtB,IAAiB,SAAS,CAUzB;IAVD,WAAiB,SAAS;QACZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;YAC1C,WAAW,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC;gBACpB,EAAE,EAAE,WAAI,CAAC,MAAM,CAA6B;oBAC3C,SAAS,EAAE,WAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;iBACjD,CAAC;aACF,CAAC;SACF,CAAC,CAAA;IACH,CAAC,EAVgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAUzB;IACY,WAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAS;QACjD,EAAE,EAAE,WAAI,CAAC,MAAM,EAAE;KACjB,CAAC,CAAA;IACF,SAAgB,aAAa,CAAC,SAAoB;QACjD,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,iBAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;IAC7D,CAAC;IAFe,oBAAa,gBAE5B,CAAA;IACD,SAAgB,QAAQ,CACvB,UAAoB,EAAE,EACtB,WAAyD;QAEzD,MAAM,MAAM,GAAgC,EAAE,CAAA;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO;YAC3B,IAAI,UAAU,IAAI,WAAW,CAAC,WAAW;gBACxC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;oBACjD,IAAI,WAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;wBACrE,MAAM,CAAC,IAAI,CAAC;4BACX,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,aAAK,CAAC,QAAQ,CAAC,QAAQ,CAC9B,WAAW,CAAC,QAAQ,EACpB,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EACxF,MAAM,CAAC,IAAI,CACX;yBACD,CAAC,CAAA;QACN,OAAO,MAAM,CAAA;IACd,CAAC;IAnBe,eAAQ,WAmBvB,CAAA;IACD,SAAgB,GAAG,CAAC,OAAoC,EAAE,QAAwB;QACjF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,aAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC;IAFe,UAAG,MAElB,CAAA;AACF,CAAC,EAlDgB,MAAM,sBAAN,MAAM,QAkDtB"}
@@ -1,20 +1,26 @@
1
1
  import { isoly } from "isoly";
2
2
  import { Card } from "../Card";
3
3
  import { Transaction } from "../Transaction";
4
- export type Charge = {
4
+ export interface Charge extends Charge.Creatable {
5
5
  id: string;
6
- destination: {
7
- account: string;
8
- };
9
- rate: number;
10
- applies: {
11
- to: {
12
- merchants: Card.Restriction.Merchant[];
13
- };
14
- };
15
- };
6
+ }
16
7
  export declare namespace Charge {
17
- const type: import("isly/dist/cjs/object").IslyObject<Charge, object>;
8
+ interface Creatable {
9
+ destination: {
10
+ account: string;
11
+ };
12
+ rate: number;
13
+ applies: {
14
+ to: {
15
+ merchants: Card.Restriction.Merchant[];
16
+ };
17
+ };
18
+ }
19
+ namespace Creatable {
20
+ const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
21
+ }
22
+ const type: import("isly/dist/cjs/object").IslyObject<Charge, Creatable>;
23
+ function fromCreatable(creatable: Creatable): Charge;
18
24
  function evaluate(charges: Charge[] | undefined, transaction: Transaction.Creatable.Resolved | Transaction): Transaction.Amount.Charge[];
19
25
  function sum(charges: Transaction.Amount.Charge[], currency: isoly.Currency): number;
20
26
  }
@@ -1,18 +1,28 @@
1
+ import { cryptly } from "cryptly";
1
2
  import { isoly } from "isoly";
2
3
  import { isly } from "isly";
3
4
  import { Card } from "../Card";
4
5
  export var Charge;
5
6
  (function (Charge) {
6
- Charge.type = isly.object({
7
- id: isly.string(),
8
- destination: isly.object({ account: isly.string() }),
9
- rate: isly.number(),
10
- applies: isly.object({
11
- to: isly.object({
12
- merchants: Card.Restriction.Merchant.type.array(),
7
+ let Creatable;
8
+ (function (Creatable) {
9
+ Creatable.type = isly.object({
10
+ destination: isly.object({ account: isly.string() }),
11
+ rate: isly.number(),
12
+ applies: isly.object({
13
+ to: isly.object({
14
+ merchants: Card.Restriction.Merchant.type.array(),
15
+ }),
13
16
  }),
14
- }),
17
+ });
18
+ })(Creatable = Charge.Creatable || (Charge.Creatable = {}));
19
+ Charge.type = Creatable.type.extend({
20
+ id: isly.string(),
15
21
  });
22
+ function fromCreatable(creatable) {
23
+ return { ...creatable, id: cryptly.Identifier.generate(16) };
24
+ }
25
+ Charge.fromCreatable = fromCreatable;
16
26
  function evaluate(charges = [], transaction) {
17
27
  const result = [];
18
28
  for (const charge of charges)
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Account/Charge.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,SAAS,CAAA;AAa9B,MAAM,KAAW,MAAM,CAkCtB;AAlCD,WAAiB,MAAM;IACT,WAAI,GAAG,IAAI,CAAC,MAAM,CAAS;QACvC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACpD,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,IAAI,CAAC,MAAM,CAA0B;gBACxC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;aACjD,CAAC;SACF,CAAC;KACF,CAAC,CAAA;IACF,SAAgB,QAAQ,CACvB,UAAoB,EAAE,EACtB,WAAyD;QAEzD,MAAM,MAAM,GAAgC,EAAE,CAAA;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO;YAC3B,IAAI,UAAU,IAAI,WAAW,CAAC,WAAW;gBACxC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;oBACjD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;wBACrE,MAAM,CAAC,IAAI,CAAC;4BACX,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC9B,WAAW,CAAC,QAAQ,EACpB,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EACxF,MAAM,CAAC,IAAI,CACX;yBACD,CAAC,CAAA;QACN,OAAO,MAAM,CAAA;IACd,CAAC;IAnBe,eAAQ,WAmBvB,CAAA;IACD,SAAgB,GAAG,CAAC,OAAoC,EAAE,QAAwB;QACjF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC;IAFe,UAAG,MAElB,CAAA;AACF,CAAC,EAlCgB,MAAM,KAAN,MAAM,QAkCtB"}
1
+ {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../Account/Charge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAM9B,MAAM,KAAW,MAAM,CAkDtB;AAlDD,WAAiB,MAAM;IAUtB,IAAiB,SAAS,CAUzB;IAVD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;gBACpB,EAAE,EAAE,IAAI,CAAC,MAAM,CAA6B;oBAC3C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;iBACjD,CAAC;aACF,CAAC;SACF,CAAC,CAAA;IACH,CAAC,EAVgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAUzB;IACY,WAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAS;QACjD,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;KACjB,CAAC,CAAA;IACF,SAAgB,aAAa,CAAC,SAAoB;QACjD,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;IAC7D,CAAC;IAFe,oBAAa,gBAE5B,CAAA;IACD,SAAgB,QAAQ,CACvB,UAAoB,EAAE,EACtB,WAAyD;QAEzD,MAAM,MAAM,GAAgC,EAAE,CAAA;QAC9C,KAAK,MAAM,MAAM,IAAI,OAAO;YAC3B,IAAI,UAAU,IAAI,WAAW,CAAC,WAAW;gBACxC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS;oBACjD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;wBACrE,MAAM,CAAC,IAAI,CAAC;4BACX,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC9B,WAAW,CAAC,QAAQ,EACpB,OAAO,WAAW,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EACxF,MAAM,CAAC,IAAI,CACX;yBACD,CAAC,CAAA;QACN,OAAO,MAAM,CAAA;IACd,CAAC;IAnBe,eAAQ,WAmBvB,CAAA;IACD,SAAgB,GAAG,CAAC,OAAoC,EAAE,QAAwB;QACjF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC;IAFe,UAAG,MAElB,CAAA;AACF,CAAC,EAlDgB,MAAM,KAAN,MAAM,QAkDtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.538",
3
+ "version": "0.1.539",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",