@pax2pay/model-banking 0.1.614 → 0.1.615
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/Operation/Changes.ts +6 -0
- package/Treasury/Snapshot/Account.ts +1 -1
- package/Treasury/Snapshot/Check/BankFeedIntegrity.ts +19 -0
- package/Treasury/Snapshot/Check/Base.ts +8 -0
- package/Treasury/Snapshot/Check/Checks.ts +15 -0
- package/Treasury/Snapshot/Check/ExternalReconciliation.ts +9 -0
- package/Treasury/Snapshot/Check/InternalReconciliation.ts +9 -0
- package/Treasury/Snapshot/Check/LedgerIntegrity.ts +17 -0
- package/Treasury/Snapshot/Check/Overdraft.ts +7 -0
- package/Treasury/Snapshot/Check/Result.ts +11 -0
- package/Treasury/Snapshot/Check/TransactionMatch.ts +9 -0
- package/Treasury/Snapshot/Check/UnidentifiedFunds.ts +8 -0
- package/Treasury/Snapshot/Check/index.ts +29 -0
- package/Treasury/Snapshot/Fiat.ts +0 -2
- package/Treasury/Snapshot/index.ts +7 -27
- package/dist/cjs/Operation/Changes.d.ts +1 -0
- package/dist/cjs/Operation/Changes.js +4 -0
- package/dist/cjs/Operation/Changes.js.map +1 -1
- package/dist/cjs/Treasury/Snapshot/Account.d.ts +1 -1
- package/dist/cjs/Treasury/Snapshot/Check/BankFeedIntegrity.d.ts +25 -0
- package/dist/cjs/Treasury/Snapshot/Check/BankFeedIntegrity.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/BankFeedIntegrity.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/Base.d.ts +7 -0
- package/dist/cjs/Treasury/Snapshot/Check/Base.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/Base.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/Checks.d.ts +6 -0
- package/dist/cjs/Treasury/Snapshot/Check/Checks.js +18 -0
- package/dist/cjs/Treasury/Snapshot/Check/Checks.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/ExternalReconciliation.d.ts +8 -0
- package/dist/cjs/Treasury/Snapshot/Check/ExternalReconciliation.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/ExternalReconciliation.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/InternalReconciliation.d.ts +8 -0
- package/dist/cjs/Treasury/Snapshot/Check/InternalReconciliation.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/InternalReconciliation.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/LedgerIntegrity.d.ts +24 -0
- package/dist/cjs/Treasury/Snapshot/Check/LedgerIntegrity.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/LedgerIntegrity.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/Overdraft.d.ts +9 -0
- package/dist/cjs/Treasury/Snapshot/Check/Overdraft.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/Overdraft.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/Result.d.ts +5 -0
- package/dist/cjs/Treasury/Snapshot/Check/Result.js +16 -0
- package/dist/cjs/Treasury/Snapshot/Check/Result.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/TransactionMatch.d.ts +8 -0
- package/dist/cjs/Treasury/Snapshot/Check/TransactionMatch.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/TransactionMatch.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/UnidentifiedFunds.d.ts +7 -0
- package/dist/cjs/Treasury/Snapshot/Check/UnidentifiedFunds.js +3 -0
- package/dist/cjs/Treasury/Snapshot/Check/UnidentifiedFunds.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Check/index.d.ts +21 -0
- package/dist/cjs/Treasury/Snapshot/Check/index.js +11 -0
- package/dist/cjs/Treasury/Snapshot/Check/index.js.map +1 -0
- package/dist/cjs/Treasury/Snapshot/Fiat.d.ts +0 -2
- package/dist/cjs/Treasury/Snapshot/index.d.ts +6 -8
- package/dist/cjs/Treasury/Snapshot/index.js +2 -27
- package/dist/cjs/Treasury/Snapshot/index.js.map +1 -1
- package/dist/mjs/Operation/Changes.d.ts +1 -0
- package/dist/mjs/Operation/Changes.js +4 -0
- package/dist/mjs/Operation/Changes.js.map +1 -1
- package/dist/mjs/Treasury/Snapshot/Account.d.ts +1 -1
- package/dist/mjs/Treasury/Snapshot/Check/BankFeedIntegrity.d.ts +25 -0
- package/dist/mjs/Treasury/Snapshot/Check/BankFeedIntegrity.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/BankFeedIntegrity.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/Base.d.ts +7 -0
- package/dist/mjs/Treasury/Snapshot/Check/Base.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/Base.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/Checks.d.ts +6 -0
- package/dist/mjs/Treasury/Snapshot/Check/Checks.js +15 -0
- package/dist/mjs/Treasury/Snapshot/Check/Checks.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/ExternalReconciliation.d.ts +8 -0
- package/dist/mjs/Treasury/Snapshot/Check/ExternalReconciliation.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/ExternalReconciliation.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/InternalReconciliation.d.ts +8 -0
- package/dist/mjs/Treasury/Snapshot/Check/InternalReconciliation.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/InternalReconciliation.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/LedgerIntegrity.d.ts +24 -0
- package/dist/mjs/Treasury/Snapshot/Check/LedgerIntegrity.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/LedgerIntegrity.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/Overdraft.d.ts +9 -0
- package/dist/mjs/Treasury/Snapshot/Check/Overdraft.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/Overdraft.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/Result.d.ts +5 -0
- package/dist/mjs/Treasury/Snapshot/Check/Result.js +13 -0
- package/dist/mjs/Treasury/Snapshot/Check/Result.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/TransactionMatch.d.ts +8 -0
- package/dist/mjs/Treasury/Snapshot/Check/TransactionMatch.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/TransactionMatch.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/UnidentifiedFunds.d.ts +7 -0
- package/dist/mjs/Treasury/Snapshot/Check/UnidentifiedFunds.js +2 -0
- package/dist/mjs/Treasury/Snapshot/Check/UnidentifiedFunds.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Check/index.d.ts +21 -0
- package/dist/mjs/Treasury/Snapshot/Check/index.js +8 -0
- package/dist/mjs/Treasury/Snapshot/Check/index.js.map +1 -0
- package/dist/mjs/Treasury/Snapshot/Fiat.d.ts +0 -2
- package/dist/mjs/Treasury/Snapshot/index.d.ts +6 -8
- package/dist/mjs/Treasury/Snapshot/index.js +2 -27
- package/dist/mjs/Treasury/Snapshot/index.js.map +1 -1
- package/package.json +1 -1
package/Operation/Changes.ts
CHANGED
|
@@ -6,6 +6,12 @@ import { Change } from "./Change"
|
|
|
6
6
|
|
|
7
7
|
export type Changes = Partial<Record<Changes.Entry.Balance, Change>>
|
|
8
8
|
export namespace Changes {
|
|
9
|
+
export function balance(currency: isoly.Currency, changes: Changes): number {
|
|
10
|
+
return [changes.available, changes["reserved-incoming"], changes["reserved-outgoing"]].reduce(
|
|
11
|
+
(r, change) => isoly.Currency.add(currency, r, (change?.type == "subtract" ? -1 : 1) * (change?.amount ?? 0)),
|
|
12
|
+
0
|
|
13
|
+
)
|
|
14
|
+
}
|
|
9
15
|
export function available(changes: MaybeLegacy, currency: isoly.Currency, legacy: boolean = false): number {
|
|
10
16
|
return legacy
|
|
11
17
|
? Object.entries(changes).reduce(
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { isoly } from "isoly"
|
|
2
|
+
import { Base } from "./Base"
|
|
3
|
+
import { Result } from "./Result"
|
|
4
|
+
|
|
5
|
+
export interface BankFeedIntegrity extends Base {
|
|
6
|
+
check: "bank feed integrity"
|
|
7
|
+
accounts: {
|
|
8
|
+
code: string
|
|
9
|
+
reference: string
|
|
10
|
+
supplier: string
|
|
11
|
+
opening?: { at: isoly.DateTime; balance: number }
|
|
12
|
+
transaction?: { balance: number }
|
|
13
|
+
closing: { at: isoly.DateTime; balance: number }
|
|
14
|
+
timestamp: string
|
|
15
|
+
result: Result
|
|
16
|
+
}[]
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export namespace BankFeedIntegrity {}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { isly } from "isly"
|
|
2
|
+
|
|
3
|
+
export type Checks = (typeof Checks.value)[number]
|
|
4
|
+
export namespace Checks {
|
|
5
|
+
export const value = [
|
|
6
|
+
"bank feed integrity", // Proves Bank Prev Balance + Bank Txns = Bank Current Balance
|
|
7
|
+
"external reconciliation", // Proves Internal Safeguard Mirror matches Actual Bank Balance
|
|
8
|
+
"internal reconciliation", // Proves Total E-Money Liabilities match Internal Safeguard Mirror
|
|
9
|
+
"ledger integrity", // Proves Opening Balance + Operations = Closing Balance
|
|
10
|
+
"overdraft", // Warns if any customer accounts fall below zero
|
|
11
|
+
"transaction match", // Proves all external bank txns have a 1:1 internal ledger txn
|
|
12
|
+
"unidentified funds", // Flags any received money not yet assigned to a customer
|
|
13
|
+
] as const
|
|
14
|
+
export const type = isly.string(value)
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isoly } from "isoly"
|
|
2
|
+
import { Base } from "./Base"
|
|
3
|
+
import { Result } from "./Result"
|
|
4
|
+
|
|
5
|
+
export interface LedgerIntegrity extends Base {
|
|
6
|
+
check: "ledger integrity"
|
|
7
|
+
accounts: {
|
|
8
|
+
id: string
|
|
9
|
+
organization: string
|
|
10
|
+
timestamp: string
|
|
11
|
+
opening?: { at: isoly.DateTime; balance: number }
|
|
12
|
+
ledger?: { change: number }
|
|
13
|
+
closing: { at: isoly.DateTime; balance: number }
|
|
14
|
+
result: Result
|
|
15
|
+
}[]
|
|
16
|
+
}
|
|
17
|
+
export namespace LedgerIntegrity {}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type Result = "passed" | "failed" | "incomplete"
|
|
2
|
+
export namespace Result {
|
|
3
|
+
export const precedence: Record<Result, number> = {
|
|
4
|
+
failed: 3,
|
|
5
|
+
incomplete: 2,
|
|
6
|
+
passed: 1,
|
|
7
|
+
}
|
|
8
|
+
export function aggregate(results: Result[]): Result {
|
|
9
|
+
return results.reduce((r, e) => (precedence[e] > precedence[r] ? e : r), "passed")
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BankFeedIntegrity as CheckBankFeedIntegrity } from "./BankFeedIntegrity"
|
|
2
|
+
import { Checks as CheckChecks } from "./Checks"
|
|
3
|
+
import { ExternalReconciliation as CheckExternalReconciliation } from "./ExternalReconciliation"
|
|
4
|
+
import { InternalReconciliation as CheckInternalReconciliation } from "./InternalReconciliation"
|
|
5
|
+
import { LedgerIntegrity as CheckLedgerIntegrity } from "./LedgerIntegrity"
|
|
6
|
+
import { Overdraft as CheckOverdraft } from "./Overdraft"
|
|
7
|
+
import { Result as CheckResult } from "./Result"
|
|
8
|
+
import { TransactionMatch as CheckTransactionMatch } from "./TransactionMatch"
|
|
9
|
+
import { UnidentifiedFunds as CheckUnidentifiedFunds } from "./UnidentifiedFunds"
|
|
10
|
+
|
|
11
|
+
export type Check =
|
|
12
|
+
| Check.BankFeedIntegrity
|
|
13
|
+
| Check.ExternalReconciliation
|
|
14
|
+
| Check.InternalReconciliation
|
|
15
|
+
| Check.LedgerIntegrity
|
|
16
|
+
| Check.Overdraft
|
|
17
|
+
| Check.TransactionMatch
|
|
18
|
+
| Check.UnidentifiedFunds
|
|
19
|
+
export namespace Check {
|
|
20
|
+
export import Result = CheckResult
|
|
21
|
+
export import Checks = CheckChecks
|
|
22
|
+
export type BankFeedIntegrity = CheckBankFeedIntegrity
|
|
23
|
+
export type ExternalReconciliation = CheckExternalReconciliation
|
|
24
|
+
export type InternalReconciliation = CheckInternalReconciliation
|
|
25
|
+
export type LedgerIntegrity = CheckLedgerIntegrity
|
|
26
|
+
export type Overdraft = CheckOverdraft
|
|
27
|
+
export type TransactionMatch = CheckTransactionMatch
|
|
28
|
+
export type UnidentifiedFunds = CheckUnidentifiedFunds
|
|
29
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { isoly } from "isoly"
|
|
2
2
|
import { Supplier } from "../../Supplier"
|
|
3
|
-
import { Warning } from "../../Warning"
|
|
4
3
|
import { Balance } from "../Balance"
|
|
5
4
|
|
|
6
5
|
export interface Fiat {
|
|
@@ -9,7 +8,6 @@ export interface Fiat {
|
|
|
9
8
|
timestamp: isoly.DateTime
|
|
10
9
|
type: "safeguarded" | "unsafe" | "other" | "buffer"
|
|
11
10
|
balances: Balance
|
|
12
|
-
warnings?: Warning.Snapshot[]
|
|
13
11
|
conditions?: { minimum?: Balance }
|
|
14
12
|
label?: string
|
|
15
13
|
reference: string
|
|
@@ -1,54 +1,34 @@
|
|
|
1
1
|
import { isoly } from "isoly"
|
|
2
|
-
import { isly } from "isly"
|
|
3
2
|
import { Balance } from "../../Balance"
|
|
4
3
|
import { Supplier } from "../../Supplier"
|
|
5
4
|
import { Transaction } from "../../Transaction"
|
|
6
5
|
import { Warning } from "../../Warning"
|
|
7
6
|
import { Account as SnapshotAccount } from "./Account"
|
|
7
|
+
import { Check as SnapshotCheck } from "./Check"
|
|
8
8
|
import { Emoney as SnapshotEmoney } from "./Emoney"
|
|
9
9
|
import { Fiat as SnapshotFiat } from "./Fiat"
|
|
10
10
|
import { funding as snapshotFunding } from "./funding"
|
|
11
11
|
import { Reconciliation as SnapshotReconciliation } from "./Reconciliation"
|
|
12
12
|
|
|
13
13
|
export interface Snapshot {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
emoney: Balance.Extended & { total?: number }
|
|
15
|
+
created: isoly.DateTime
|
|
16
16
|
currency: isoly.Currency
|
|
17
17
|
supplier: Supplier
|
|
18
18
|
fiat: {
|
|
19
|
-
safe: number
|
|
20
|
-
unsafe: number
|
|
21
19
|
total: number // emoney issuable total amount
|
|
22
|
-
other: number
|
|
23
|
-
buffer: number
|
|
24
20
|
accounts: Snapshot.Account[]
|
|
25
21
|
}
|
|
26
22
|
notes: Transaction.Note[]
|
|
23
|
+
checks: Snapshot.Check[]
|
|
24
|
+
result: Snapshot.Check.Result
|
|
25
|
+
warnings?: Warning.Snapshot[]
|
|
27
26
|
}
|
|
28
27
|
export namespace Snapshot {
|
|
29
28
|
export import funding = snapshotFunding
|
|
29
|
+
export import Check = SnapshotCheck
|
|
30
30
|
export type Reconciliation = SnapshotReconciliation
|
|
31
31
|
export type Emoney = SnapshotEmoney
|
|
32
32
|
export type Fiat = SnapshotFiat
|
|
33
33
|
export import Account = SnapshotAccount
|
|
34
|
-
export function validate(snapshot: Snapshot): boolean {
|
|
35
|
-
const issuable = snapshot.fiat.total
|
|
36
|
-
const actual = snapshot.emoney.actual ?? 0
|
|
37
|
-
return issuable == actual
|
|
38
|
-
}
|
|
39
|
-
export const type = isly.object<Snapshot>({
|
|
40
|
-
warnings: Warning.Snapshot.type.array(),
|
|
41
|
-
emoney: Balance.Extended,
|
|
42
|
-
currency: isly.fromIs("currency", isoly.Currency.is),
|
|
43
|
-
supplier: Supplier.type,
|
|
44
|
-
fiat: isly.object({
|
|
45
|
-
safe: isly.number(),
|
|
46
|
-
unsafe: isly.number(),
|
|
47
|
-
total: isly.number(),
|
|
48
|
-
other: isly.number(),
|
|
49
|
-
buffer: isly.number(),
|
|
50
|
-
accounts: Account.type.array(),
|
|
51
|
-
}),
|
|
52
|
-
notes: Transaction.Note.type.array(),
|
|
53
|
-
})
|
|
54
34
|
}
|
|
@@ -5,6 +5,7 @@ import type { Settlement } from "../Settlement";
|
|
|
5
5
|
import { Change } from "./Change";
|
|
6
6
|
export type Changes = Partial<Record<Changes.Entry.Balance, Change>>;
|
|
7
7
|
export declare namespace Changes {
|
|
8
|
+
function balance(currency: isoly.Currency, changes: Changes): number;
|
|
8
9
|
function available(changes: MaybeLegacy, currency: isoly.Currency, legacy?: boolean): number;
|
|
9
10
|
function reserved(changes: MaybeLegacy, currency: isoly.Currency): number;
|
|
10
11
|
function counterbalance(changes: Changes, currency: isoly.Currency): number;
|
|
@@ -7,6 +7,10 @@ const Balance_1 = require("../Balance");
|
|
|
7
7
|
const Change_1 = require("./Change");
|
|
8
8
|
var Changes;
|
|
9
9
|
(function (Changes) {
|
|
10
|
+
function balance(currency, changes) {
|
|
11
|
+
return [changes.available, changes["reserved-incoming"], changes["reserved-outgoing"]].reduce((r, change) => isoly_1.isoly.Currency.add(currency, r, (change?.type == "subtract" ? -1 : 1) * (change?.amount ?? 0)), 0);
|
|
12
|
+
}
|
|
13
|
+
Changes.balance = balance;
|
|
10
14
|
function available(changes, currency, legacy = false) {
|
|
11
15
|
return legacy
|
|
12
16
|
? Object.entries(changes).reduce((r, [entry, change]) => isoly_1.isoly.Currency.add(currency, r, Balance_1.Balance.Legacy.Entry.type.is(entry)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Changes.js","sourceRoot":"","sources":["../../../Operation/Changes.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,wCAAsD;AAEtD,qCAAiC;AAGjC,IAAiB,OAAO,
|
|
1
|
+
{"version":3,"file":"Changes.js","sourceRoot":"","sources":["../../../Operation/Changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
2
|
+
import { Base } from "./Base";
|
|
3
|
+
import { Result } from "./Result";
|
|
4
|
+
export interface BankFeedIntegrity extends Base {
|
|
5
|
+
check: "bank feed integrity";
|
|
6
|
+
accounts: {
|
|
7
|
+
code: string;
|
|
8
|
+
reference: string;
|
|
9
|
+
supplier: string;
|
|
10
|
+
opening?: {
|
|
11
|
+
at: isoly.DateTime;
|
|
12
|
+
balance: number;
|
|
13
|
+
};
|
|
14
|
+
transaction?: {
|
|
15
|
+
balance: number;
|
|
16
|
+
};
|
|
17
|
+
closing: {
|
|
18
|
+
at: isoly.DateTime;
|
|
19
|
+
balance: number;
|
|
20
|
+
};
|
|
21
|
+
timestamp: string;
|
|
22
|
+
result: Result;
|
|
23
|
+
}[];
|
|
24
|
+
}
|
|
25
|
+
export declare namespace BankFeedIntegrity { }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BankFeedIntegrity.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/BankFeedIntegrity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
export type Checks = (typeof Checks.value)[number];
|
|
3
|
+
export declare namespace Checks {
|
|
4
|
+
const value: readonly ["bank feed integrity", "external reconciliation", "internal reconciliation", "ledger integrity", "overdraft", "transaction match", "unidentified funds"];
|
|
5
|
+
const type: isly.Type<"overdraft" | "bank feed integrity" | "external reconciliation" | "internal reconciliation" | "ledger integrity" | "transaction match" | "unidentified funds">;
|
|
6
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Checks = void 0;
|
|
4
|
+
const isly_1 = require("isly");
|
|
5
|
+
var Checks;
|
|
6
|
+
(function (Checks) {
|
|
7
|
+
Checks.value = [
|
|
8
|
+
"bank feed integrity",
|
|
9
|
+
"external reconciliation",
|
|
10
|
+
"internal reconciliation",
|
|
11
|
+
"ledger integrity",
|
|
12
|
+
"overdraft",
|
|
13
|
+
"transaction match",
|
|
14
|
+
"unidentified funds",
|
|
15
|
+
];
|
|
16
|
+
Checks.type = isly_1.isly.string(Checks.value);
|
|
17
|
+
})(Checks || (exports.Checks = Checks = {}));
|
|
18
|
+
//# sourceMappingURL=Checks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checks.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Checks.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAG3B,IAAiB,MAAM,CAWtB;AAXD,WAAiB,MAAM;IACT,YAAK,GAAG;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,yBAAyB;QACzB,kBAAkB;QAClB,WAAW;QACX,mBAAmB;QACnB,oBAAoB;KACX,CAAA;IACG,WAAI,GAAG,WAAI,CAAC,MAAM,CAAC,OAAA,KAAK,CAAC,CAAA;AACvC,CAAC,EAXgB,MAAM,sBAAN,MAAM,QAWtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalReconciliation.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/ExternalReconciliation.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Base as ResultBase } from "./Base";
|
|
2
|
+
export interface InternalReconciliation extends ResultBase {
|
|
3
|
+
check: "internal reconciliation";
|
|
4
|
+
counterbalance: number;
|
|
5
|
+
emoney: number;
|
|
6
|
+
discrepancy: number;
|
|
7
|
+
}
|
|
8
|
+
export declare namespace InternalReconciliation { }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalReconciliation.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/InternalReconciliation.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
2
|
+
import { Base } from "./Base";
|
|
3
|
+
import { Result } from "./Result";
|
|
4
|
+
export interface LedgerIntegrity extends Base {
|
|
5
|
+
check: "ledger integrity";
|
|
6
|
+
accounts: {
|
|
7
|
+
id: string;
|
|
8
|
+
organization: string;
|
|
9
|
+
timestamp: string;
|
|
10
|
+
opening?: {
|
|
11
|
+
at: isoly.DateTime;
|
|
12
|
+
balance: number;
|
|
13
|
+
};
|
|
14
|
+
ledger?: {
|
|
15
|
+
change: number;
|
|
16
|
+
};
|
|
17
|
+
closing: {
|
|
18
|
+
at: isoly.DateTime;
|
|
19
|
+
balance: number;
|
|
20
|
+
};
|
|
21
|
+
result: Result;
|
|
22
|
+
}[];
|
|
23
|
+
}
|
|
24
|
+
export declare namespace LedgerIntegrity { }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LedgerIntegrity.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/LedgerIntegrity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Overdraft.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Overdraft.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Result = void 0;
|
|
4
|
+
var Result;
|
|
5
|
+
(function (Result) {
|
|
6
|
+
Result.precedence = {
|
|
7
|
+
failed: 3,
|
|
8
|
+
incomplete: 2,
|
|
9
|
+
passed: 1,
|
|
10
|
+
};
|
|
11
|
+
function aggregate(results) {
|
|
12
|
+
return results.reduce((r, e) => (Result.precedence[e] > Result.precedence[r] ? e : r), "passed");
|
|
13
|
+
}
|
|
14
|
+
Result.aggregate = aggregate;
|
|
15
|
+
})(Result || (exports.Result = Result = {}));
|
|
16
|
+
//# sourceMappingURL=Result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Result.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/Result.ts"],"names":[],"mappings":";;;AACA,IAAiB,MAAM,CAStB;AATD,WAAiB,MAAM;IACT,iBAAU,GAA2B;QACjD,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC;KACT,CAAA;IACD,SAAgB,SAAS,CAAC,OAAiB;QAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAA,UAAU,CAAC,CAAC,CAAC,GAAG,OAAA,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACnF,CAAC;IAFe,gBAAS,YAExB,CAAA;AACF,CAAC,EATgB,MAAM,sBAAN,MAAM,QAStB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionMatch.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/TransactionMatch.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnidentifiedFunds.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/UnidentifiedFunds.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BankFeedIntegrity as CheckBankFeedIntegrity } from "./BankFeedIntegrity";
|
|
2
|
+
import { Checks as CheckChecks } from "./Checks";
|
|
3
|
+
import { ExternalReconciliation as CheckExternalReconciliation } from "./ExternalReconciliation";
|
|
4
|
+
import { InternalReconciliation as CheckInternalReconciliation } from "./InternalReconciliation";
|
|
5
|
+
import { LedgerIntegrity as CheckLedgerIntegrity } from "./LedgerIntegrity";
|
|
6
|
+
import { Overdraft as CheckOverdraft } from "./Overdraft";
|
|
7
|
+
import { Result as CheckResult } from "./Result";
|
|
8
|
+
import { TransactionMatch as CheckTransactionMatch } from "./TransactionMatch";
|
|
9
|
+
import { UnidentifiedFunds as CheckUnidentifiedFunds } from "./UnidentifiedFunds";
|
|
10
|
+
export type Check = Check.BankFeedIntegrity | Check.ExternalReconciliation | Check.InternalReconciliation | Check.LedgerIntegrity | Check.Overdraft | Check.TransactionMatch | Check.UnidentifiedFunds;
|
|
11
|
+
export declare namespace Check {
|
|
12
|
+
export import Result = CheckResult;
|
|
13
|
+
export import Checks = CheckChecks;
|
|
14
|
+
type BankFeedIntegrity = CheckBankFeedIntegrity;
|
|
15
|
+
type ExternalReconciliation = CheckExternalReconciliation;
|
|
16
|
+
type InternalReconciliation = CheckInternalReconciliation;
|
|
17
|
+
type LedgerIntegrity = CheckLedgerIntegrity;
|
|
18
|
+
type Overdraft = CheckOverdraft;
|
|
19
|
+
type TransactionMatch = CheckTransactionMatch;
|
|
20
|
+
type UnidentifiedFunds = CheckUnidentifiedFunds;
|
|
21
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Check = void 0;
|
|
4
|
+
const Checks_1 = require("./Checks");
|
|
5
|
+
const Result_1 = require("./Result");
|
|
6
|
+
var Check;
|
|
7
|
+
(function (Check) {
|
|
8
|
+
Check.Result = Result_1.Result;
|
|
9
|
+
Check.Checks = Checks_1.Checks;
|
|
10
|
+
})(Check || (exports.Check = Check = {}));
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../Treasury/Snapshot/Check/index.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AAKhD,qCAAgD;AAYhD,IAAiB,KAAK,CAUrB;AAVD,WAAiB,KAAK;IACP,YAAM,GAAG,eAAW,CAAA;IACpB,YAAM,GAAG,eAAW,CAAA;AAQnC,CAAC,EAVgB,KAAK,qBAAL,KAAK,QAUrB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { isoly } from "isoly";
|
|
2
2
|
import { Supplier } from "../../Supplier";
|
|
3
|
-
import { Warning } from "../../Warning";
|
|
4
3
|
import { Balance } from "../Balance";
|
|
5
4
|
export interface Fiat {
|
|
6
5
|
supplier: Supplier;
|
|
@@ -8,7 +7,6 @@ export interface Fiat {
|
|
|
8
7
|
timestamp: isoly.DateTime;
|
|
9
8
|
type: "safeguarded" | "unsafe" | "other" | "buffer";
|
|
10
9
|
balances: Balance;
|
|
11
|
-
warnings?: Warning.Snapshot[];
|
|
12
10
|
conditions?: {
|
|
13
11
|
minimum?: Balance;
|
|
14
12
|
};
|