@pax2pay/model-banking 0.1.478 → 0.1.480

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/Identity.ts CHANGED
@@ -116,7 +116,7 @@ export namespace Identity {
116
116
  organization?: string
117
117
  }
118
118
  export type Notify = {
119
- slack: slackly.Connection<["monitoring"]>
119
+ slack: slackly.Connection<["monitoring", ...string[]]>
120
120
  endpoint: string
121
121
  method: string
122
122
  }
@@ -2,26 +2,40 @@ import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
3
  import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable"
4
4
  import { Merchant } from "../../Merchant"
5
- import type { Rail } from "../../Rail"
5
+ import { Rail } from "../../Rail"
6
6
  import type { Transaction } from "../../Transaction"
7
7
 
8
- export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
8
+ export interface Authorization extends Omit<AuthorizationCreatable, "amount" | "reference"> {
9
9
  time: string
10
10
  hour: number
11
11
  currency: isoly.Currency
12
12
  amount: number
13
13
  merchant: Merchant & { reference: string }
14
+ reference?: string
14
15
  }
15
16
  export namespace Authorization {
16
- export function from(authorization: AuthorizationCreatable): Authorization {
17
- return {
18
- ...authorization,
19
- time: isoly.DateTime.getTime(isoly.DateTime.now()),
20
- hour: isoly.DateTime.getHour(isoly.DateTime.now()),
21
- currency: authorization.amount[0],
22
- amount: Math.abs(authorization.amount[1]),
23
- merchant: { ...authorization.merchant, reference: `${authorization.acquirer.id}-${authorization.merchant.id}` },
24
- }
17
+ export function from(transaction: Transaction.Creatable.Resolved | Transaction): Authorization | undefined {
18
+ return Rail.Address.Card.Counterpart.type.is(transaction.counterpart) &&
19
+ "account" in transaction &&
20
+ transaction.account.type == "card" &&
21
+ "id" in transaction.account
22
+ ? {
23
+ time: isoly.DateTime.getTime(isoly.DateTime.now()),
24
+ hour: isoly.DateTime.getHour(isoly.DateTime.now()),
25
+ currency: transaction.currency,
26
+ amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.original),
27
+ merchant: {
28
+ ...transaction.counterpart.merchant,
29
+ reference: `${transaction.counterpart.acquirer.id}-${transaction.counterpart.merchant.id}`,
30
+ },
31
+ card: transaction.account.id,
32
+ acquirer: transaction.counterpart.acquirer,
33
+ reference:
34
+ typeof transaction.reference == "string" ? transaction.reference : transaction.reference?.reference,
35
+ description: transaction.description,
36
+ ...("exchange" in transaction ? { exchange: transaction.exchange } : {}),
37
+ }
38
+ : undefined
25
39
  }
26
40
  export function toTransaction(authorization: Authorization): Transaction.Creatable & {
27
41
  counterpart: Rail.Address.Card.Counterpart
@@ -37,7 +51,7 @@ export namespace Authorization {
37
51
  },
38
52
  }
39
53
  }
40
- export const type = AuthorizationCreatable.type.omit(["amount"]).extend<Authorization>({
54
+ export const type = AuthorizationCreatable.type.omit(["amount", "reference"]).extend<Authorization>({
41
55
  time: isly.string(),
42
56
  hour: isly.number(),
43
57
  currency: isly.string(isoly.Currency.values),
@@ -46,5 +60,6 @@ export namespace Authorization {
46
60
  Merchant.type,
47
61
  isly.object<{ reference: string }>({ reference: isly.string() })
48
62
  ),
63
+ reference: isly.string().optional(),
49
64
  })
50
65
  }
@@ -2,7 +2,7 @@ import { isoly } from "isoly"
2
2
  import { Transaction as ModelTransaction } from "../../Transaction"
3
3
  import type { Rule } from "../index"
4
4
 
5
- export interface Transaction extends ModelTransaction.Creatable.Resolved {
5
+ export type Transaction = ModelTransaction.Creatable.Resolved & {
6
6
  kind: Rule.Base.Kind
7
7
  stage: "finalize" | "initiate"
8
8
  amount: number
@@ -47,7 +47,6 @@ export namespace State {
47
47
  transaction: ModelTransaction.Creatable.Resolved | ModelTransaction,
48
48
  kind: Rule.Base.Kind,
49
49
  stage: "finalize" | "initiate",
50
- authorization?: Authorization,
51
50
  card?: Card,
52
51
  organization?: Organization
53
52
  ): State {
@@ -55,7 +54,7 @@ export namespace State {
55
54
  data,
56
55
  account: Account.from(account, address, transactions, days),
57
56
  transaction: Transaction.from(account.name, transaction, kind, stage),
58
- authorization,
57
+ authorization: Authorization.from(transaction),
59
58
  card,
60
59
  organization,
61
60
  }
@@ -11,7 +11,7 @@ export interface Creatable {
11
11
  exchange?: Exchange
12
12
  }
13
13
  export namespace Creatable {
14
- export type Resolved = Creatable & { counterpart: Rail.Address }
14
+ export type Resolved = (Creatable & { counterpart: Rail.Address }) | CardTransaction
15
15
  export const type = isly.object<Creatable>({
16
16
  counterpart: isly.union<string | Rail.Address, string, Rail.Address>(isly.string(), Rail.Address.type),
17
17
  currency: isly.fromIs("isoly.Currency", isoly.Currency.is),
@@ -19,4 +19,10 @@ export namespace Creatable {
19
19
  description: isly.string(),
20
20
  exchange: Exchange.type.optional(),
21
21
  })
22
+ export interface CardTransaction extends Creatable {
23
+ account: Pick<Rail.Address.Card, "id" | "type">
24
+ counterpart: Rail.Address.Card.Counterpart
25
+ reference: { reference: string }
26
+ approvalCode?: string
27
+ }
22
28
  }
@@ -32,7 +32,7 @@ export declare namespace Identity {
32
32
  organization?: string;
33
33
  }
34
34
  type Notify = {
35
- slack: slackly.Connection<["monitoring"]>;
35
+ slack: slackly.Connection<["monitoring", ...string[]]>;
36
36
  endpoint: string;
37
37
  method: string;
38
38
  };
@@ -1,9 +1,9 @@
1
1
  import { isoly } from "isoly";
2
2
  import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
3
3
  import { Merchant } from "../../Merchant";
4
- import type { Rail } from "../../Rail";
4
+ import { Rail } from "../../Rail";
5
5
  import type { Transaction } from "../../Transaction";
6
- export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
6
+ export interface Authorization extends Omit<AuthorizationCreatable, "amount" | "reference"> {
7
7
  time: string;
8
8
  hour: number;
9
9
  currency: isoly.Currency;
@@ -11,11 +11,12 @@ export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
11
11
  merchant: Merchant & {
12
12
  reference: string;
13
13
  };
14
+ reference?: string;
14
15
  }
15
16
  export declare namespace Authorization {
16
- function from(authorization: AuthorizationCreatable): Authorization;
17
+ function from(transaction: Transaction.Creatable.Resolved | Transaction): Authorization | undefined;
17
18
  function toTransaction(authorization: Authorization): Transaction.Creatable & {
18
19
  counterpart: Rail.Address.Card.Counterpart;
19
20
  };
20
- const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount">>;
21
+ const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount" | "reference">>;
21
22
  }
@@ -5,17 +5,30 @@ const isoly_1 = require("isoly");
5
5
  const isly_1 = require("isly");
6
6
  const Creatable_1 = require("../../Authorization/Creatable");
7
7
  const Merchant_1 = require("../../Merchant");
8
+ const Rail_1 = require("../../Rail");
8
9
  var Authorization;
9
10
  (function (Authorization) {
10
- function from(authorization) {
11
- return {
12
- ...authorization,
13
- time: isoly_1.isoly.DateTime.getTime(isoly_1.isoly.DateTime.now()),
14
- hour: isoly_1.isoly.DateTime.getHour(isoly_1.isoly.DateTime.now()),
15
- currency: authorization.amount[0],
16
- amount: Math.abs(authorization.amount[1]),
17
- merchant: { ...authorization.merchant, reference: `${authorization.acquirer.id}-${authorization.merchant.id}` },
18
- };
11
+ function from(transaction) {
12
+ return Rail_1.Rail.Address.Card.Counterpart.type.is(transaction.counterpart) &&
13
+ "account" in transaction &&
14
+ transaction.account.type == "card" &&
15
+ "id" in transaction.account
16
+ ? {
17
+ time: isoly_1.isoly.DateTime.getTime(isoly_1.isoly.DateTime.now()),
18
+ hour: isoly_1.isoly.DateTime.getHour(isoly_1.isoly.DateTime.now()),
19
+ currency: transaction.currency,
20
+ amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.original),
21
+ merchant: {
22
+ ...transaction.counterpart.merchant,
23
+ reference: `${transaction.counterpart.acquirer.id}-${transaction.counterpart.merchant.id}`,
24
+ },
25
+ card: transaction.account.id,
26
+ acquirer: transaction.counterpart.acquirer,
27
+ reference: typeof transaction.reference == "string" ? transaction.reference : transaction.reference?.reference,
28
+ description: transaction.description,
29
+ ...("exchange" in transaction ? { exchange: transaction.exchange } : {}),
30
+ }
31
+ : undefined;
19
32
  }
20
33
  Authorization.from = from;
21
34
  function toTransaction(authorization) {
@@ -31,12 +44,13 @@ var Authorization;
31
44
  };
32
45
  }
33
46
  Authorization.toTransaction = toTransaction;
34
- Authorization.type = Creatable_1.Creatable.type.omit(["amount"]).extend({
47
+ Authorization.type = Creatable_1.Creatable.type.omit(["amount", "reference"]).extend({
35
48
  time: isly_1.isly.string(),
36
49
  hour: isly_1.isly.number(),
37
50
  currency: isly_1.isly.string(isoly_1.isoly.Currency.values),
38
51
  amount: isly_1.isly.number(),
39
52
  merchant: isly_1.isly.intersection(Merchant_1.Merchant.type, isly_1.isly.object({ reference: isly_1.isly.string() })),
53
+ reference: isly_1.isly.string().optional(),
40
54
  });
41
55
  })(Authorization || (exports.Authorization = Authorization = {}));
42
56
  //# sourceMappingURL=Authorization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,6DAAmF;AACnF,6CAAyC;AAWzC,IAAiB,aAAa,CAmC7B;AAnCD,WAAiB,aAAa;IAC7B,SAAgB,IAAI,CAAC,aAAqC;QACzD,OAAO;YACN,GAAG,aAAa;YAChB,IAAI,EAAE,aAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,EAAE,aAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzC,QAAQ,EAAE,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;SAC/G,CAAA;IACF,CAAC;IATe,kBAAI,OASnB,CAAA;IACD,SAAgB,aAAa,CAAC,aAA4B;QAGzD,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,WAAW,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;aAChC;SACD,CAAA;IACF,CAAC;IAbe,2BAAa,gBAa5B,CAAA;IACY,kBAAI,GAAG,qBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAgB;QACtF,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,aAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,WAAI,CAAC,YAAY,CAC1B,mBAAQ,CAAC,IAAI,EACb,WAAI,CAAC,MAAM,CAAwB,EAAE,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAChE;KACD,CAAC,CAAA;AACH,CAAC,EAnCgB,aAAa,6BAAb,aAAa,QAmC7B"}
1
+ {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,6DAAmF;AACnF,6CAAyC;AACzC,qCAAiC;AAWjC,IAAiB,aAAa,CAiD7B;AAjDD,WAAiB,aAAa;IAC7B,SAAgB,IAAI,CAAC,WAAyD;QAC7E,OAAO,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC;YACpE,SAAS,IAAI,WAAW;YACxB,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM;YAClC,IAAI,IAAI,WAAW,CAAC,OAAO;YAC3B,CAAC,CAAC;gBACA,IAAI,EAAE,aAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAClD,IAAI,EAAE,aAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAClD,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,QAAQ,EAAE;oBACT,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ;oBACnC,SAAS,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE;iBAC1F;gBACD,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE;gBAC5B,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ;gBAC1C,SAAS,EACR,OAAO,WAAW,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS;gBACpG,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE;YACH,CAAC,CAAC,SAAS,CAAA;IACb,CAAC;IAtBe,kBAAI,OAsBnB,CAAA;IACD,SAAgB,aAAa,CAAC,aAA4B;QAGzD,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,WAAW,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;aAChC;SACD,CAAA;IACF,CAAC;IAbe,2BAAa,gBAa5B,CAAA;IACY,kBAAI,GAAG,qBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAgB;QACnG,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,aAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,WAAI,CAAC,YAAY,CAC1B,mBAAQ,CAAC,IAAI,EACb,WAAI,CAAC,MAAM,CAAwB,EAAE,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAChE;QACD,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CAAA;AACH,CAAC,EAjDgB,aAAa,6BAAb,aAAa,QAiD7B"}
@@ -1,7 +1,7 @@
1
1
  import { isoly } from "isoly";
2
2
  import { Transaction as ModelTransaction } from "../../Transaction";
3
3
  import type { Rule } from "../index";
4
- export interface Transaction extends ModelTransaction.Creatable.Resolved {
4
+ export type Transaction = ModelTransaction.Creatable.Resolved & {
5
5
  kind: Rule.Base.Kind;
6
6
  stage: "finalize" | "initiate";
7
7
  amount: number;
@@ -17,7 +17,7 @@ export interface Transaction extends ModelTransaction.Creatable.Resolved {
17
17
  };
18
18
  reserve?: number;
19
19
  };
20
- }
20
+ };
21
21
  export declare namespace Transaction {
22
22
  function from(accountName: string, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate"): Transaction;
23
23
  }
@@ -37,5 +37,5 @@ export declare namespace State {
37
37
  flags: string[];
38
38
  notes: ModelTransaction.Note[];
39
39
  }
40
- function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate", authorization?: Authorization, card?: Card, organization?: Organization): State;
40
+ function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate", card?: Card, organization?: Organization): State;
41
41
  }
@@ -21,12 +21,12 @@ var State;
21
21
  Outcome.values = ["approve", "reject", "review"];
22
22
  Outcome.type = isly_1.isly.string(Outcome.values);
23
23
  })(Outcome = State.Outcome || (State.Outcome = {}));
24
- function from(data, account, address, transactions, days, transaction, kind, stage, authorization, card, organization) {
24
+ function from(data, account, address, transactions, days, transaction, kind, stage, card, organization) {
25
25
  return {
26
26
  data,
27
27
  account: State.Account.from(account, address, transactions, days),
28
28
  transaction: State.Transaction.from(account.name, transaction, kind, stage),
29
- authorization,
29
+ authorization: State.Authorization.from(transaction),
30
30
  card,
31
31
  organization,
32
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAK3B,uCAAmD;AACnD,mDAAqE;AACrE,iCAA0C;AAE1C,iDAAkE;AAClE,uCAAmD;AACnD,+CAA+D;AAU/D,IAAiB,KAAK,CAyCrB;AAzCD,WAAiB,KAAK;IACP,aAAO,GAAG,iBAAY,CAAA;IACtB,mBAAa,GAAG,6BAAkB,CAAA;IAClC,UAAI,GAAG,WAAS,CAAA;IAChB,aAAO,GAAG,iBAAY,CAAA;IACtB,iBAAW,GAAG,yBAAgB,CAAA;IAC9B,kBAAY,GAAG,2BAAiB,CAAA;IAG9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,WAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,IAAU,EACV,OAAqB,EACrB,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,aAA6B,EAC7B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAC3D,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YACrE,aAAa;YACb,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IArBe,UAAI,OAqBnB,CAAA;AACF,CAAC,EAzCgB,KAAK,qBAAL,KAAK,QAyCrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAK3B,uCAAmD;AACnD,mDAAqE;AACrE,iCAA0C;AAE1C,iDAAkE;AAClE,uCAAmD;AACnD,+CAA+D;AAU/D,IAAiB,KAAK,CAwCrB;AAxCD,WAAiB,KAAK;IACP,aAAO,GAAG,iBAAY,CAAA;IACtB,mBAAa,GAAG,6BAAkB,CAAA;IAClC,UAAI,GAAG,WAAS,CAAA;IAChB,aAAO,GAAG,iBAAY,CAAA;IACtB,iBAAW,GAAG,yBAAgB,CAAA;IAC9B,kBAAY,GAAG,2BAAiB,CAAA;IAG9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,WAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,IAAU,EACV,OAAqB,EACrB,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAC3D,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YACrE,aAAa,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9C,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IApBe,UAAI,OAoBnB,CAAA;AACF,CAAC,EAxCgB,KAAK,qBAAL,KAAK,QAwCrB"}
@@ -9,8 +9,16 @@ export interface Creatable {
9
9
  exchange?: Exchange;
10
10
  }
11
11
  export declare namespace Creatable {
12
- type Resolved = Creatable & {
12
+ type Resolved = (Creatable & {
13
13
  counterpart: Rail.Address;
14
- };
14
+ }) | CardTransaction;
15
15
  const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
16
+ interface CardTransaction extends Creatable {
17
+ account: Pick<Rail.Address.Card, "id" | "type">;
18
+ counterpart: Rail.Address.Card.Counterpart;
19
+ reference: {
20
+ reference: string;
21
+ };
22
+ approvalCode?: string;
23
+ }
16
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Transaction/Creatable.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,kCAA8B;AAC9B,yCAAqC;AASrC,IAAiB,SAAS,CASzB;AATD,WAAiB,SAAS;IAEZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,WAAI,CAAC,KAAK,CAA8C,WAAI,CAAC,MAAM,EAAE,EAAE,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtG,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;AACH,CAAC,EATgB,SAAS,yBAAT,SAAS,QASzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Transaction/Creatable.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,kCAA8B;AAC9B,yCAAqC;AASrC,IAAiB,SAAS,CAezB;AAfD,WAAiB,SAAS;IAEZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,WAAI,CAAC,KAAK,CAA8C,WAAI,CAAC,MAAM,EAAE,EAAE,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtG,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;AAOH,CAAC,EAfgB,SAAS,yBAAT,SAAS,QAezB"}
@@ -32,7 +32,7 @@ export declare namespace Identity {
32
32
  organization?: string;
33
33
  }
34
34
  type Notify = {
35
- slack: slackly.Connection<["monitoring"]>;
35
+ slack: slackly.Connection<["monitoring", ...string[]]>;
36
36
  endpoint: string;
37
37
  method: string;
38
38
  };
@@ -1,9 +1,9 @@
1
1
  import { isoly } from "isoly";
2
2
  import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
3
3
  import { Merchant } from "../../Merchant";
4
- import type { Rail } from "../../Rail";
4
+ import { Rail } from "../../Rail";
5
5
  import type { Transaction } from "../../Transaction";
6
- export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
6
+ export interface Authorization extends Omit<AuthorizationCreatable, "amount" | "reference"> {
7
7
  time: string;
8
8
  hour: number;
9
9
  currency: isoly.Currency;
@@ -11,11 +11,12 @@ export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
11
11
  merchant: Merchant & {
12
12
  reference: string;
13
13
  };
14
+ reference?: string;
14
15
  }
15
16
  export declare namespace Authorization {
16
- function from(authorization: AuthorizationCreatable): Authorization;
17
+ function from(transaction: Transaction.Creatable.Resolved | Transaction): Authorization | undefined;
17
18
  function toTransaction(authorization: Authorization): Transaction.Creatable & {
18
19
  counterpart: Rail.Address.Card.Counterpart;
19
20
  };
20
- const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount">>;
21
+ const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount" | "reference">>;
21
22
  }
@@ -2,17 +2,30 @@ import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
3
  import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
4
4
  import { Merchant } from "../../Merchant";
5
+ import { Rail } from "../../Rail";
5
6
  export var Authorization;
6
7
  (function (Authorization) {
7
- function from(authorization) {
8
- return {
9
- ...authorization,
10
- time: isoly.DateTime.getTime(isoly.DateTime.now()),
11
- hour: isoly.DateTime.getHour(isoly.DateTime.now()),
12
- currency: authorization.amount[0],
13
- amount: Math.abs(authorization.amount[1]),
14
- merchant: { ...authorization.merchant, reference: `${authorization.acquirer.id}-${authorization.merchant.id}` },
15
- };
8
+ function from(transaction) {
9
+ return Rail.Address.Card.Counterpart.type.is(transaction.counterpart) &&
10
+ "account" in transaction &&
11
+ transaction.account.type == "card" &&
12
+ "id" in transaction.account
13
+ ? {
14
+ time: isoly.DateTime.getTime(isoly.DateTime.now()),
15
+ hour: isoly.DateTime.getHour(isoly.DateTime.now()),
16
+ currency: transaction.currency,
17
+ amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.original),
18
+ merchant: {
19
+ ...transaction.counterpart.merchant,
20
+ reference: `${transaction.counterpart.acquirer.id}-${transaction.counterpart.merchant.id}`,
21
+ },
22
+ card: transaction.account.id,
23
+ acquirer: transaction.counterpart.acquirer,
24
+ reference: typeof transaction.reference == "string" ? transaction.reference : transaction.reference?.reference,
25
+ description: transaction.description,
26
+ ...("exchange" in transaction ? { exchange: transaction.exchange } : {}),
27
+ }
28
+ : undefined;
16
29
  }
17
30
  Authorization.from = from;
18
31
  function toTransaction(authorization) {
@@ -28,12 +41,13 @@ export var Authorization;
28
41
  };
29
42
  }
30
43
  Authorization.toTransaction = toTransaction;
31
- Authorization.type = AuthorizationCreatable.type.omit(["amount"]).extend({
44
+ Authorization.type = AuthorizationCreatable.type.omit(["amount", "reference"]).extend({
32
45
  time: isly.string(),
33
46
  hour: isly.number(),
34
47
  currency: isly.string(isoly.Currency.values),
35
48
  amount: isly.number(),
36
49
  merchant: isly.intersection(Merchant.type, isly.object({ reference: isly.string() })),
50
+ reference: isly.string().optional(),
37
51
  });
38
52
  })(Authorization || (Authorization = {}));
39
53
  //# sourceMappingURL=Authorization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAWzC,MAAM,KAAW,aAAa,CAmC7B;AAnCD,WAAiB,aAAa;IAC7B,SAAgB,IAAI,CAAC,aAAqC;QACzD,OAAO;YACN,GAAG,aAAa;YAChB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAClD,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzC,QAAQ,EAAE,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;SAC/G,CAAA;IACF,CAAC;IATe,kBAAI,OASnB,CAAA;IACD,SAAgB,aAAa,CAAC,aAA4B;QAGzD,OAAO;YACN,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,WAAW,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;aAChC;SACD,CAAA;IACF,CAAC;IAbe,2BAAa,gBAa5B,CAAA;IACY,kBAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAgB;QACtF,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAC1B,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,MAAM,CAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAChE;KACD,CAAC,CAAA;AACH,CAAC,EAnCgB,aAAa,KAAb,aAAa,QAmC7B"}
1
+ {"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { isoly } from "isoly";
2
2
  import { Transaction as ModelTransaction } from "../../Transaction";
3
3
  import type { Rule } from "../index";
4
- export interface Transaction extends ModelTransaction.Creatable.Resolved {
4
+ export type Transaction = ModelTransaction.Creatable.Resolved & {
5
5
  kind: Rule.Base.Kind;
6
6
  stage: "finalize" | "initiate";
7
7
  amount: number;
@@ -17,7 +17,7 @@ export interface Transaction extends ModelTransaction.Creatable.Resolved {
17
17
  };
18
18
  reserve?: number;
19
19
  };
20
- }
20
+ };
21
21
  export declare namespace Transaction {
22
22
  function from(accountName: string, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate"): Transaction;
23
23
  }
@@ -37,5 +37,5 @@ export declare namespace State {
37
37
  flags: string[];
38
38
  notes: ModelTransaction.Note[];
39
39
  }
40
- function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate", authorization?: Authorization, card?: Card, organization?: Organization): State;
40
+ function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate", card?: Card, organization?: Organization): State;
41
41
  }
@@ -18,12 +18,12 @@ export var State;
18
18
  Outcome.values = ["approve", "reject", "review"];
19
19
  Outcome.type = isly.string(Outcome.values);
20
20
  })(Outcome = State.Outcome || (State.Outcome = {}));
21
- function from(data, account, address, transactions, days, transaction, kind, stage, authorization, card, organization) {
21
+ function from(data, account, address, transactions, days, transaction, kind, stage, card, organization) {
22
22
  return {
23
23
  data,
24
24
  account: State.Account.from(account, address, transactions, days),
25
25
  transaction: State.Transaction.from(account.name, transaction, kind, stage),
26
- authorization,
26
+ authorization: State.Authorization.from(transaction),
27
27
  card,
28
28
  organization,
29
29
  };
@@ -1 +1 @@
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;AAE1C,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;AAU/D,MAAM,KAAW,KAAK,CAyCrB;AAzCD,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;IAG9C,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,IAAU,EACV,OAAqB,EACrB,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,aAA6B,EAC7B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAC3D,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YACrE,aAAa;YACb,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IArBe,UAAI,OAqBnB,CAAA;AACF,CAAC,EAzCgB,KAAK,KAAL,KAAK,QAyCrB"}
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;AAE1C,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;AAU/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;IAG9C,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,IAAU,EACV,OAAqB,EACrB,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAC3D,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YACrE,aAAa,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9C,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IApBe,UAAI,OAoBnB,CAAA;AACF,CAAC,EAxCgB,KAAK,KAAL,KAAK,QAwCrB"}
@@ -9,8 +9,16 @@ export interface Creatable {
9
9
  exchange?: Exchange;
10
10
  }
11
11
  export declare namespace Creatable {
12
- type Resolved = Creatable & {
12
+ type Resolved = (Creatable & {
13
13
  counterpart: Rail.Address;
14
- };
14
+ }) | CardTransaction;
15
15
  const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
16
+ interface CardTransaction extends Creatable {
17
+ account: Pick<Rail.Address.Card, "id" | "type">;
18
+ counterpart: Rail.Address.Card.Counterpart;
19
+ reference: {
20
+ reference: string;
21
+ };
22
+ approvalCode?: string;
23
+ }
16
24
  }
@@ -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,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,MAAM,KAAW,SAAS,CASzB;AATD,WAAiB,SAAS;IAEZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,IAAI,CAAC,KAAK,CAA8C,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtG,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;AACH,CAAC,EATgB,SAAS,KAAT,SAAS,QASzB"}
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,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,MAAM,KAAW,SAAS,CAezB;AAfD,WAAiB,SAAS;IAEZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,IAAI,CAAC,KAAK,CAA8C,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtG,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;AAOH,CAAC,EAfgB,SAAS,KAAT,SAAS,QAezB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.478",
3
+ "version": "0.1.480",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",