@mulmoclaude/accounting-plugin 0.1.0
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/dist/server/accountNormalize.d.ts +3 -0
- package/dist/server/accountNormalize.d.ts.map +1 -0
- package/dist/server/atomic.d.ts +13 -0
- package/dist/server/atomic.d.ts.map +1 -0
- package/dist/server/context.d.ts +39 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/defaultAccounts.d.ts +3 -0
- package/dist/server/defaultAccounts.d.ts.map +1 -0
- package/dist/server/eventPublisher.d.ts +14 -0
- package/dist/server/eventPublisher.d.ts.map +1 -0
- package/dist/server/http.d.ts +3 -0
- package/dist/server/http.d.ts.map +1 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/io.d.ts +67 -0
- package/dist/server/io.d.ts.map +1 -0
- package/dist/server/journal.d.ts +74 -0
- package/dist/server/journal.d.ts.map +1 -0
- package/dist/server/openingBalances.d.ts +30 -0
- package/dist/server/openingBalances.d.ts.map +1 -0
- package/dist/server/report.d.ts +98 -0
- package/dist/server/report.d.ts.map +1 -0
- package/dist/server/router.d.ts +7 -0
- package/dist/server/router.d.ts.map +1 -0
- package/dist/server/service.d.ts +148 -0
- package/dist/server/service.d.ts.map +1 -0
- package/dist/server/snapshotCache.d.ts +52 -0
- package/dist/server/snapshotCache.d.ts.map +1 -0
- package/dist/server/timeSeries.d.ts +47 -0
- package/dist/server/timeSeries.d.ts.map +1 -0
- package/dist/server/types.d.ts +134 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server.cjs +2101 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.js +2074 -0
- package/dist/server.js.map +1 -0
- package/dist/shared/actions.d.ts +19 -0
- package/dist/shared/actions.d.ts.map +1 -0
- package/dist/shared/channels.d.ts +46 -0
- package/dist/shared/channels.d.ts.map +1 -0
- package/dist/shared/countries.d.ts +51 -0
- package/dist/shared/countries.d.ts.map +1 -0
- package/dist/shared/currencies.d.ts +34 -0
- package/dist/shared/currencies.d.ts.map +1 -0
- package/dist/shared/dates.d.ts +15 -0
- package/dist/shared/dates.d.ts.map +1 -0
- package/dist/shared/errors.d.ts +2 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/fiscalYear.d.ts +22 -0
- package/dist/shared/fiscalYear.d.ts.map +1 -0
- package/dist/shared/index.d.ts +9 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/timeSeriesEnums.d.ts +5 -0
- package/dist/shared/timeSeriesEnums.d.ts.map +1 -0
- package/dist/shared.cjs +466 -0
- package/dist/shared.cjs.map +1 -0
- package/dist/shared.js +432 -0
- package/dist/shared.js.map +1 -0
- package/dist/style.css +1255 -0
- package/dist/vue/Preview.vue.d.ts +8 -0
- package/dist/vue/Preview.vue.d.ts.map +1 -0
- package/dist/vue/View.vue.d.ts +30 -0
- package/dist/vue/View.vue.d.ts.map +1 -0
- package/dist/vue/api.d.ts +269 -0
- package/dist/vue/api.d.ts.map +1 -0
- package/dist/vue/components/AccountEditor.vue.d.ts +19 -0
- package/dist/vue/components/AccountEditor.vue.d.ts.map +1 -0
- package/dist/vue/components/AccountRow.vue.d.ts +14 -0
- package/dist/vue/components/AccountRow.vue.d.ts.map +1 -0
- package/dist/vue/components/AccountsList.vue.d.ts +15 -0
- package/dist/vue/components/AccountsList.vue.d.ts.map +1 -0
- package/dist/vue/components/AccountsModal.vue.d.ts +15 -0
- package/dist/vue/components/AccountsModal.vue.d.ts.map +1 -0
- package/dist/vue/components/BalanceSheet.vue.d.ts +13 -0
- package/dist/vue/components/BalanceSheet.vue.d.ts.map +1 -0
- package/dist/vue/components/BookSettings.vue.d.ts +18 -0
- package/dist/vue/components/BookSettings.vue.d.ts.map +1 -0
- package/dist/vue/components/BookSwitcher.vue.d.ts +17 -0
- package/dist/vue/components/BookSwitcher.vue.d.ts.map +1 -0
- package/dist/vue/components/DateRangePicker.vue.d.ts +19 -0
- package/dist/vue/components/DateRangePicker.vue.d.ts.map +1 -0
- package/dist/vue/components/JournalEntryForm.vue.d.ts +19 -0
- package/dist/vue/components/JournalEntryForm.vue.d.ts.map +1 -0
- package/dist/vue/components/JournalList.vue.d.ts +30 -0
- package/dist/vue/components/JournalList.vue.d.ts.map +1 -0
- package/dist/vue/components/Ledger.vue.d.ts +21 -0
- package/dist/vue/components/Ledger.vue.d.ts.map +1 -0
- package/dist/vue/components/NewBookForm.vue.d.ts +20 -0
- package/dist/vue/components/NewBookForm.vue.d.ts.map +1 -0
- package/dist/vue/components/OpeningBalancesForm.vue.d.ts +15 -0
- package/dist/vue/components/OpeningBalancesForm.vue.d.ts.map +1 -0
- package/dist/vue/components/ProfitLoss.vue.d.ts +19 -0
- package/dist/vue/components/ProfitLoss.vue.d.ts.map +1 -0
- package/dist/vue/components/accountDraft.d.ts +8 -0
- package/dist/vue/components/accountDraft.d.ts.map +1 -0
- package/dist/vue/components/accountNumbering.d.ts +20 -0
- package/dist/vue/components/accountNumbering.d.ts.map +1 -0
- package/dist/vue/components/accountValidation.d.ts +34 -0
- package/dist/vue/components/accountValidation.d.ts.map +1 -0
- package/dist/vue/components/useLatestRequest.d.ts +10 -0
- package/dist/vue/components/useLatestRequest.d.ts.map +1 -0
- package/dist/vue/hostContext.d.ts +31 -0
- package/dist/vue/hostContext.d.ts.map +1 -0
- package/dist/vue/index.d.ts +7 -0
- package/dist/vue/index.d.ts.map +1 -0
- package/dist/vue/useAccountingChannel.d.ts +13 -0
- package/dist/vue/useAccountingChannel.d.ts.map +1 -0
- package/dist/vue.cjs +3641 -0
- package/dist/vue.cjs.map +1 -0
- package/dist/vue.js +3638 -0
- package/dist/vue.js.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type FiscalYearEnd } from "../../shared";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
bookId: string;
|
|
4
|
+
currency: string;
|
|
5
|
+
version: number;
|
|
6
|
+
fiscalYearEnd?: FiscalYearEnd;
|
|
7
|
+
/** Opening-balance date for the active book — drives the "Lifetime"
|
|
8
|
+
* shortcut in the date picker (from = openingDate, to = today).
|
|
9
|
+
* When absent, the picker hides Lifetime; "All" still works. */
|
|
10
|
+
openingDate?: string;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
|
+
selectAccount: (code: string) => any;
|
|
14
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
+
onSelectAccount?: ((code: string) => any) | undefined;
|
|
16
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
19
|
+
//# sourceMappingURL=ProfitLoss.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfitLoss.vue.d.ts","sourceRoot":"","sources":["../../../src/vue/components/ProfitLoss.vue"],"names":[],"mappings":"AAqKA,OAAO,EAA0G,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAM1J,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;qEAEiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAkYF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountDraft.d.ts","sourceRoot":"","sources":["../../../src/vue/components/accountDraft.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Account, AccountType } from "../api";
|
|
2
|
+
export declare const ACCOUNT_TYPE_PREFIX: Record<AccountType, number>;
|
|
3
|
+
/** Returns `true` for codes whose first two digits identify a
|
|
4
|
+
* tax-related current asset (`14xx`) — i.e. the input-tax /
|
|
5
|
+
* purchase side of consumption / sales / VAT bookkeeping. Drives
|
|
6
|
+
* Ledger column visibility and the JournalEntryForm per-line
|
|
7
|
+
* tax-registration ID input. Output-tax (24xx) is intentionally
|
|
8
|
+
* excluded: the counterparty's registration ID is only
|
|
9
|
+
* load-bearing for input-tax-credit eligibility on purchases. */
|
|
10
|
+
export declare function isTaxAccountCode(code: string): boolean;
|
|
11
|
+
export declare function isValidAccountCode(code: string): boolean;
|
|
12
|
+
export declare function typeForCode(code: string): AccountType | null;
|
|
13
|
+
export declare function codeMatchesType(code: string, type: AccountType): boolean;
|
|
14
|
+
/** Suggest the next free 4-digit code for `type`. Picks max-in-range
|
|
15
|
+
* + SUGGESTED_GAP so users keep room to insert sibling accounts
|
|
16
|
+
* later (the standard accounting convention). Falls back to the
|
|
17
|
+
* prefix base when the range is empty, and to max+1 when +gap would
|
|
18
|
+
* spill out of the 4-digit prefix window. */
|
|
19
|
+
export declare function suggestNextCode(type: AccountType, accounts: readonly Account[]): string;
|
|
20
|
+
//# sourceMappingURL=accountNumbering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountNumbering.d.ts","sourceRoot":"","sources":["../../../src/vue/components/accountNumbering.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAM3D,CAAC;AAIF;;;;;;kEAMkE;AAClE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAO5D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAExE;AAED;;;;8CAI8C;AAC9C,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAoBvF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Account } from "../api";
|
|
2
|
+
import type { AccountDraft } from "./accountDraft";
|
|
3
|
+
export declare const RESERVED_PREFIX = "_";
|
|
4
|
+
export type CodeValidationError = "emptyCode" | "reservedCode" | "invalidCodeFormat" | "codeTypeMismatch" | "duplicateCode";
|
|
5
|
+
export type NameValidationError = "emptyName" | "duplicateName";
|
|
6
|
+
export type AccountValidationError = CodeValidationError | NameValidationError;
|
|
7
|
+
/**
|
|
8
|
+
* Validate just the code field. Split out from the full draft
|
|
9
|
+
* validator so AccountEditor can paint a per-field red border in
|
|
10
|
+
* realtime without re-running the name check on every keystroke.
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateCodeField(draft: AccountDraft, existing: readonly Account[], isNew: boolean): CodeValidationError | null;
|
|
13
|
+
/**
|
|
14
|
+
* Validate just the name field. Empty + duplicate (case-insensitive,
|
|
15
|
+
* trimmed) against other accounts. On edit, the account being edited
|
|
16
|
+
* is excluded from the duplicate check via `draft.code` — otherwise
|
|
17
|
+
* every save would flag the user's own row as a collision.
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateNameField(draft: AccountDraft, existing: readonly Account[], isNew: boolean): NameValidationError | null;
|
|
20
|
+
/**
|
|
21
|
+
* Validate a draft about to be sent to `upsertAccount`. Returns
|
|
22
|
+
* `null` on success or an error code on failure. Caller maps the
|
|
23
|
+
* code to a localized message.
|
|
24
|
+
*
|
|
25
|
+
* `existing` is the current chart of accounts — used to detect a
|
|
26
|
+
* duplicate code on a brand-new entry (otherwise the server would
|
|
27
|
+
* silently overwrite the existing account, which is rarely what
|
|
28
|
+
* the user typing into the "Add account" form intended).
|
|
29
|
+
*
|
|
30
|
+
* Code errors take precedence over name errors so the user fixes
|
|
31
|
+
* one stable issue at a time as they type.
|
|
32
|
+
*/
|
|
33
|
+
export declare function validateAccountDraft(draft: AccountDraft, existing: readonly Account[], isNew: boolean): AccountValidationError | null;
|
|
34
|
+
//# sourceMappingURL=accountValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accountValidation.d.ts","sourceRoot":"","sources":["../../../src/vue/components/accountValidation.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,cAAc,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAC5H,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,eAAe,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAY/H;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAU/H;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,sBAAsB,GAAG,IAAI,CAErI"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface LatestRequestApi {
|
|
2
|
+
/** Returns the token of the new request. Increments the
|
|
3
|
+
* internal counter; older outstanding requests will fail
|
|
4
|
+
* `isCurrent`. */
|
|
5
|
+
begin: () => number;
|
|
6
|
+
/** True if `token` is still the most recently issued one. */
|
|
7
|
+
isCurrent: (token: number) => boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function useLatestRequest(): LatestRequestApi;
|
|
10
|
+
//# sourceMappingURL=useLatestRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLatestRequest.d.ts","sourceRoot":"","sources":["../../../src/vue/components/useLatestRequest.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,gBAAgB;IAC/B;;uBAEmB;IACnB,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAED,wBAAgB,gBAAgB,IAAI,gBAAgB,CAWnD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Mirrors the host's `ApiResult<T>` (src/utils/api.ts) so callers
|
|
2
|
+
* pattern-match on `.ok` without depending on the host module. */
|
|
3
|
+
export type ApiResult<T> = {
|
|
4
|
+
ok: true;
|
|
5
|
+
data: T;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
error: string;
|
|
9
|
+
status: number;
|
|
10
|
+
};
|
|
11
|
+
/** Network seam — structurally compatible with the host's `apiCall`.
|
|
12
|
+
* `method` mirrors the host `ApiOptions["method"]` union so the host
|
|
13
|
+
* can pass its `apiCall` straight in without an adapter. */
|
|
14
|
+
export type AccountingApiCall = <T = unknown>(path: string, opts: {
|
|
15
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
16
|
+
body?: unknown;
|
|
17
|
+
}) => Promise<ApiResult<T>>;
|
|
18
|
+
/** Pub/sub seam — structurally compatible with `usePubSub().subscribe`. */
|
|
19
|
+
export type AccountingSubscribe = (channel: string, handler: (payload: unknown) => void) => () => void;
|
|
20
|
+
export interface AccountingHostContext {
|
|
21
|
+
apiCall: AccountingApiCall;
|
|
22
|
+
subscribe: AccountingSubscribe;
|
|
23
|
+
}
|
|
24
|
+
/** Called once by the host before any accounting View mounts. */
|
|
25
|
+
export declare function configureAccountingHost(context: AccountingHostContext): void;
|
|
26
|
+
export declare function hostApiCall<T = unknown>(path: string, opts: {
|
|
27
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
28
|
+
body?: unknown;
|
|
29
|
+
}): Promise<ApiResult<T>>;
|
|
30
|
+
export declare function hostSubscribe(channel: string, handler: (payload: unknown) => void): () => void;
|
|
31
|
+
//# sourceMappingURL=hostContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostContext.d.ts","sourceRoot":"","sources":["../../src/vue/hostContext.ts"],"names":[],"mappings":"AAiBA;mEACmE;AACnE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;6DAE6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KAC1E,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3B,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;AAEvG,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,mBAAmB,CAAC;CAChC;AAID,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAE5E;AASD,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAE3J;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAE9F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "../style.css";
|
|
2
|
+
import AccountingView from "./View.vue";
|
|
3
|
+
import AccountingPreview from "./Preview.vue";
|
|
4
|
+
export { AccountingView, AccountingPreview };
|
|
5
|
+
export { configureAccountingHost } from "./hostContext";
|
|
6
|
+
export type { AccountingHostContext, AccountingApiCall, AccountingSubscribe, ApiResult } from "./hostContext";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vue/index.ts"],"names":[],"mappings":"AAWA,OAAO,cAAc,CAAC;AAEtB,OAAO,cAAc,MAAM,YAAY,CAAC;AACxC,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type BookChannelPayload } from "../shared";
|
|
3
|
+
export interface UseAccountingChannelReturn {
|
|
4
|
+
/** Bumps on every per-book event for the current bookId. Resets to
|
|
5
|
+
* 0 when bookId changes. */
|
|
6
|
+
version: Ref<number>;
|
|
7
|
+
}
|
|
8
|
+
export declare function useAccountingChannel(bookId: Ref<string | null>, onPayload?: (payload: BookChannelPayload) => void): UseAccountingChannelReturn;
|
|
9
|
+
/** Subscribe to "the list of books changed" events. Use in
|
|
10
|
+
* BookSwitcher.vue to refetch the dropdown contents when a sibling
|
|
11
|
+
* tab adds / deletes a book. */
|
|
12
|
+
export declare function useAccountingBooksChannel(onChange: () => void): void;
|
|
13
|
+
//# sourceMappingURL=useAccountingChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAccountingChannel.d.ts","sourceRoot":"","sources":["../../src/vue/useAccountingChannel.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA2B,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACxD,OAAO,EAAyC,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG3F,MAAM,WAAW,0BAA0B;IACzC;iCAC6B;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,GAAG,0BAA0B,CAsB9I;AAED;;iCAEiC;AACjC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAGpE"}
|