event-sourced-collection 0.0.13 → 0.0.14
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/browser.d.mts +118 -2
- package/dist/browser.d.mts.map +1 -1
- package/dist/browser.mjs +1 -1
- package/dist/{create-event-sourced-db-handle-BqV3vLjS.mjs → create-event-sourced-db-handle-BRSDLeq9.mjs} +73 -2
- package/dist/{create-event-sourced-db-handle-BqV3vLjS.mjs.map → create-event-sourced-db-handle-BRSDLeq9.mjs.map} +1 -1
- package/dist/{create-event-sourced-db-handle-DmHdplVr.d.mts → create-event-sourced-db-handle-DlUfot8-.d.mts} +2 -2
- package/dist/{create-event-sourced-db-handle-DmHdplVr.d.mts.map → create-event-sourced-db-handle-DlUfot8-.d.mts.map} +1 -1
- package/dist/index.d.mts +11 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/node.d.mts +2 -3
- package/dist/node.d.mts.map +1 -1
- package/dist/node.mjs +1 -1
- package/dist/react-native-event-sourced-db-DmbQ6TFS.d.mts +61 -0
- package/dist/react-native-event-sourced-db-DmbQ6TFS.d.mts.map +1 -0
- package/dist/react-native.d.mts +3 -58
- package/dist/react-native.d.mts.map +1 -1
- package/dist/react-native.mjs +1 -1
- package/dist/react.d.mts +1 -1
- package/dist/{types-uO49i9Ae.d.mts → types-Dc-_92xv.d.mts} +22 -3
- package/dist/{types-uO49i9Ae.d.mts.map → types-Dc-_92xv.d.mts.map} +1 -1
- package/package.json +1 -1
- package/dist/browser-event-sourced-db-D3vSW3QV.d.mts +0 -121
- package/dist/browser-event-sourced-db-D3vSW3QV.d.mts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as EventSourcedDB, u as EventSourcedDBConfig } from "./types-
|
|
1
|
+
import { l as EventSourcedDB, u as EventSourcedDBConfig } from "./types-Dc-_92xv.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/core/create-event-sourced-db-handle.d.ts
|
|
4
4
|
type CollectionDefConstraint = {
|
|
@@ -102,4 +102,4 @@ type ModulesInput<T> = T | (() => T | Promise<T>);
|
|
|
102
102
|
declare function resolveModules<T>(modules: ModulesInput<T>): Promise<T>;
|
|
103
103
|
//#endregion
|
|
104
104
|
export { resolveModules as a, createEventSourcedDBHandle as i, EventSourcedDBHandleSetup as n, ModulesInput as r, EventSourcedDBHandle as t };
|
|
105
|
-
//# sourceMappingURL=create-event-sourced-db-handle-
|
|
105
|
+
//# sourceMappingURL=create-event-sourced-db-handle-DlUfot8-.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-event-sourced-db-handle-
|
|
1
|
+
{"version":3,"file":"create-event-sourced-db-handle-DlUfot8-.d.mts","names":[],"sources":["../src/core/create-event-sourced-db-handle.ts"],"mappings":";;;KAIK,uBAAA;EACH,MAAA,GAAS,KAAY;AAAA;;;;AAAA;AAyBvB;;;;;;;;;;;;;;;;;;KAAY,oBAAA,eAAmC,MAAA,SAAe,uBAAA;EAErB,uFAAvC,QAAA,QAAgB,OAAA,CAAQ,cAAA,CAAe,KAAA;EAKnC;;;;EAAJ,EAAA,EAAI,cAAA,CAAe,KAAA,GAEC;EAApB,KAAA,QAAa,OAAA;AAAA;AAAA,KAGH,yBAAA,eAAwC,MAAA,SAAe,uBAAA,KACjE,oBAAA,CAAqB,KAAA;EAD4C,uEAG/D,KAAA,SAAc,OAAA;AAAA;;;;;;;;;;;;;AAAO;AAsCzB;;;;;;;;;;;;;;;;;;;;;;iBAAgB,0BAAA,qBACM,MAAA,SAAe,uBAAA,GACnC,OAAA;EACA,KAAA,QAAa,OAAA,CAAQ,yBAAA,CAA0B,KAAA;EAC/C,KAAA;EACA,qBAAA;AAAA,IACE,oBAAA,CAAqB,KAAA;;KAuCb,YAAA,MAAkB,CAAA,UAAW,CAAA,GAAI,OAAA,CAAQ,CAAA;;;;;;;;;;;;;AAAC;AAqBtD;;;;;;iBAAsB,cAAA,IAAkB,OAAA,EAAS,YAAA,CAAa,CAAA,IAAK,OAAA,CAAQ,CAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import { a as resolveModules, i as createEventSourcedDBHandle, n as EventSourcedDBHandleSetup, r as ModulesInput, t as EventSourcedDBHandle } from "./create-event-sourced-db-handle-
|
|
1
|
+
import { $ as createEventSourcedLogger, A as PushResponse, B as SyncMetaEntry, C as PruneOptions, D as PushConfirmation, E as PullResponse, F as RowVersionEntry, G as SyncStatus, H as SyncPushLimits, I as SQLiteDriver, J as SyncUrlConfig, K as SyncTransport, L as ServerEvent, M as ResetLocalReplicaOptions, N as ResetLocalReplicaResult, O as PushEventsFn, P as RetryConfig, Q as EventSourcedLogger, R as SyncHandlersConfig, S as PersistedCollectionPersistence, T as PullEventsFn, U as SyncPushPreset, V as SyncPhase, W as SyncResult, X as UpcastEventFn, Y as UnknownEventHandling, Z as UpcastableEvent, _ as ManualSyncResult, a as CollectionMap, b as OutboxEntry, c as DeadLetterReason, d as EventSourcedHooks, et as CreateCollectionFn, f as EventSourcedOptions, g as InferState, h as InferKey, i as CollectionIndexDef, j as ReservedCollections, k as PushFailure, l as EventSourcedDB, m as InboxEntry, n as CollectionDef, nt as InjectedModuleFn, o as DeadLetterDirection, p as EventSourcedSharedOptions, q as SyncTrigger, r as CollectionIndexConstructor, rt as PersistedCollectionOptionsFn, s as DeadLetterEntry, t as BackendMismatchPolicy, tt as InjectedCreateCollection, u as EventSourcedDBConfig, v as MutationType, w as PruneResult, x as OutboxSyncStatus, y as OutboundEvent, z as SyncLock } from "./types-Dc-_92xv.mjs";
|
|
2
|
+
import { a as resolveModules, i as createEventSourcedDBHandle, n as EventSourcedDBHandleSetup, r as ModulesInput, t as EventSourcedDBHandle } from "./create-event-sourced-db-handle-DlUfot8-.mjs";
|
|
3
3
|
import { Collection } from "@tanstack/db";
|
|
4
4
|
|
|
5
5
|
//#region src/core/create-event-sourced-db.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Thrown by `resetLocalReplica()` while the outbox still holds changes the
|
|
8
|
+
* server has not accepted. Sync first, or pass `discardPending: true`.
|
|
9
|
+
*/
|
|
10
|
+
declare class UnsyncedChangesError extends Error {
|
|
11
|
+
readonly pendingCount: number;
|
|
12
|
+
constructor(pendingCount: number);
|
|
13
|
+
}
|
|
6
14
|
type CollectionDefConstraint = {
|
|
7
15
|
getKey: (state: never) => string | number;
|
|
8
16
|
schemaVersion?: number;
|
|
@@ -343,5 +351,5 @@ declare class BackendMismatchError extends Error {
|
|
|
343
351
|
constructor(expected: string | null, received: string);
|
|
344
352
|
}
|
|
345
353
|
//#endregion
|
|
346
|
-
export { BackendMismatchError, type BackendMismatchPolicy, type CollectionDef, type CollectionIndexConstructor, type CollectionIndexDef, type CollectionMap, type CreateCollectionFn, type DeadLetterDirection, type DeadLetterEntry, type DeadLetterReason, type EventSourcedDB, type EventSourcedDBConfig, type EventSourcedDBHandle, type EventSourcedDBHandleSetup, type EventSourcedHooks, type EventSourcedLogger, type EventSourcedOptions, type EventSourcedSharedOptions, type InboxEntry, type InferKey, type InferState, type InjectedCreateCollection, type InjectedModuleFn, type LazySingleton, type LazySingletonOptions, type ManualSyncResult, type MockRejectFn, type MockRejection, type MockSyncBackend, type MockSyncBackendOptions, type ModulesInput, type MutationType, type OutboundEvent, type OutboxEntry, type OutboxSyncStatus, type PersistedCollectionOptionsFn, type PersistedCollectionPersistence, type PruneOptions, type PruneResult, type PullEventsFn, type PullResponse, type PushConfirmation, type PushEventsFn, type PushFailure, type PushResponse, type ReservedCollections, type RetryConfig, type RowVersionEntry, type SQLiteDriver, SYNC_PUSH_PRESETS, type ServerEvent, type SyncHandlersConfig, type SyncLock, type SyncMetaEntry, type SyncPhase, SyncPullError, SyncPushError, type SyncPushLimits, type SyncPushPreset, type SyncResult, type SyncStatus, type SyncTransport, type SyncTrigger, type SyncUrlConfig, type UnknownEventHandling, type UpcastEventFn, type UpcastableEvent, createEventSourcedDB, createEventSourcedDBHandle, createEventSourcedLogger, createHttpTransport, createLazySingleton, createMockSyncBackend, createWebLocksSyncLock, generateEventId, resolveModules, resolvePushLimits, supportsWebLocks };
|
|
354
|
+
export { BackendMismatchError, type BackendMismatchPolicy, type CollectionDef, type CollectionIndexConstructor, type CollectionIndexDef, type CollectionMap, type CreateCollectionFn, type DeadLetterDirection, type DeadLetterEntry, type DeadLetterReason, type EventSourcedDB, type EventSourcedDBConfig, type EventSourcedDBHandle, type EventSourcedDBHandleSetup, type EventSourcedHooks, type EventSourcedLogger, type EventSourcedOptions, type EventSourcedSharedOptions, type InboxEntry, type InferKey, type InferState, type InjectedCreateCollection, type InjectedModuleFn, type LazySingleton, type LazySingletonOptions, type ManualSyncResult, type MockRejectFn, type MockRejection, type MockSyncBackend, type MockSyncBackendOptions, type ModulesInput, type MutationType, type OutboundEvent, type OutboxEntry, type OutboxSyncStatus, type PersistedCollectionOptionsFn, type PersistedCollectionPersistence, type PruneOptions, type PruneResult, type PullEventsFn, type PullResponse, type PushConfirmation, type PushEventsFn, type PushFailure, type PushResponse, type ReservedCollections, type ResetLocalReplicaOptions, type ResetLocalReplicaResult, type RetryConfig, type RowVersionEntry, type SQLiteDriver, SYNC_PUSH_PRESETS, type ServerEvent, type SyncHandlersConfig, type SyncLock, type SyncMetaEntry, type SyncPhase, SyncPullError, SyncPushError, type SyncPushLimits, type SyncPushPreset, type SyncResult, type SyncStatus, type SyncTransport, type SyncTrigger, type SyncUrlConfig, type UnknownEventHandling, UnsyncedChangesError, type UpcastEventFn, type UpcastableEvent, createEventSourcedDB, createEventSourcedDBHandle, createEventSourcedLogger, createHttpTransport, createLazySingleton, createMockSyncBackend, createWebLocksSyncLock, generateEventId, resolveModules, resolvePushLimits, supportsWebLocks };
|
|
347
355
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/create-event-sourced-db.ts","../src/core/lazy-singleton.ts","../src/core/sync.ts","../src/core/sync-presets.ts","../src/testing/mock-sync-backend.ts","../src/platforms/web-locks.ts","../src/utils/uuid.ts","../src/internal/pull.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/create-event-sourced-db.ts","../src/core/lazy-singleton.ts","../src/core/sync.ts","../src/core/sync-presets.ts","../src/testing/mock-sync-backend.ts","../src/platforms/web-locks.ts","../src/utils/uuid.ts","../src/internal/pull.ts"],"mappings":";;;;;;;;;cAoEa,oBAAA,SAA6B,KAAK;EAAA,SACxB,YAAA;cAAA,YAAA;AAAA;AAAA,KAMlB,uBAAA;EACH,MAAA,GAAS,KAAA;EACT,aAAA;EACA,SAAA;EACA,OAAA,GAAU,aAAa;IACrB,MAAA,GAAS,GAAA;IACT,IAAA;IACA,SAAA,QAAiB,EAAA,UAAY,UAAA,SAAmB,IAAA,WAAe,OAAA;EAAA;AAAA;;;;;;;;;;;;;;;;AAAe;AAgFlF;;;;;;;;;;;;;;;;;;;;;;iBAAsB,oBAAA,qBACA,MAAA,SAAe,uBAAA,GACnC,MAAA,EAAQ,oBAAA,CAAqB,KAAA,IAAS,OAAA,CAAQ,cAAA,CAAe,KAAA;;;KCpKnD,oBAAA;+EAEV,KAAA;EAEA,qBAAqB;AAAA;;;;;;;;;ADiEoB;AAI1C;;;;KCrDW,aAAA;EACV,MAAA,QAAc,OAAA,CAAQ,CAAA;EACtB,KAAA,EAAO,CAAA;EACP,KAAA;AAAA;;;;;;;;;;;AD2DgF;AAgFlF;;;;;;;;;;;iBClHgB,mBAAA,mBACd,OAAA,QAAe,OAAA,CAAQ,CAAA,GACvB,OAAA,GAAS,oBAAA,GACR,aAAA,CAAc,CAAA;;;ADiBjB;;;;;;;;;AAC2C;AAI1C;;;;;;;;;;;;;;;;;AALD,iBEtBgB,mBAAA,CAAoB,MAAA,EAAQ,aAAA,GAAgB,aAAa;AFoHzE;;;;;;;;;;;;;;;;;;;;;AAAA,cEgDa,aAAA,SAAsB,KAAK;EAAA,SAEpB,MAAA;EAAA,SACA,IAAA;cADA,MAAA,UACA,IAAA;AAAA;ADrNpB;;;;AAIuB;AAgBvB;;;;;;;;;;;;;;;;AApBA,cCiPa,aAAA,SAAsB,KAAK;EAAA,SAEpB,MAAA;EAAA,SACA,IAAA;cADA,MAAA,UACA,IAAA;AAAA;;;;;;;AFhLpB;;;;;;cGnDa,iBAAA,EAAmB,QAAA,CAAS,MAAA,CAAO,cAAA,EAAgB,cAAA;AAAA,iBAMhD,iBAAA,CAAkB,MAAA;EAChC,UAAA,GAAa,cAAA;EACb,aAAA;EACA,YAAA;AAAA,IACE,cAAc;;;KChBN,aAAA;EACV,OAAA;EACA,IAAA;EACA,SAAA;AAAA;;;;;KAOU,YAAA,IAAgB,KAAA,EAAO,aAAA,EAAe,OAAA,aAAoB,aAAa;AAAA,KAEvE,sBAAA;EJ8CW,yEI5CrB,SAAA,WJ4CyC;EI1CzC,QAAA,WJgD0B;EI9C1B,UAAA,GAAa,YAAY;AAAA;AAAA,KAGf,eAAA,GAAkB,aAAA;EJ4CnB,sEI1CA,MAAA,EAAQ,aAAA,CAAc,WAAA;EAAA,SACtB,SAAA;EAAA,SACA,SAAA,UJ2CC;EAAA,SIzCD,cAAA,EAAgB,aAAA,UJ0Cd;EIxCX,IAAA,GAAO,KAAA;IACL,YAAA;IACA,IAAA,GAAO,YAAA;IACP,GAAA;IACA,OAAA,EAAS,MAAA;IACT,OAAA;IACA,QAAA;EAAA,MACI,WAAA,EJmHc;EIjHpB,cAAA,GAAiB,KAAA,UAAe,OAAA,oBJiHQ;EI/GxC,YAAA,GAAe,SAAA,mBJgHK;EI9GpB,KAAA;AAAA;;;;;;;;;;;;;;;;AJ+GkE;;;;ACpKpE;;iBG6EgB,qBAAA,CAAsB,OAAA,GAAS,sBAAA,GAA8B,eAAe;;;;;;;AJT5F;;;;;;;;;AAC2C;AAI1C;;;;iBKxCe,gBAAA;;;;;;;;;;;;;;;ALiDkE;AAgFlF;;;;;;;;;;;;;iBKjGgB,sBAAA,IAA0B,QAAQ;;;;;;;;ALGlD;;;;;;;iBMtDgB,eAAA;;;;;;ANuD2B;AAI1C;;;;;;;;;;;cOnCY,oBAAA,SAA6B,KAAK;EAAA,SAElC,QAAA;EAAA,SACA,QAAA;cADA,QAAA,iBACA,QAAA;AAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as createEventSourcedDB, c as SYNC_PUSH_PRESETS, d as SyncPushError, f as createHttpTransport, i as UnsyncedChangesError, l as resolvePushLimits, n as resolveModules, o as generateEventId, p as BackendMismatchError, r as createLazySingleton, s as createEventSourcedLogger, t as createEventSourcedDBHandle, u as SyncPullError } from "./create-event-sourced-db-handle-BRSDLeq9.mjs";
|
|
2
2
|
import { n as supportsWebLocks, t as createWebLocksSyncLock } from "./web-locks-Bi2f732X.mjs";
|
|
3
3
|
//#region src/testing/mock-sync-backend.ts
|
|
4
4
|
/**
|
|
@@ -141,6 +141,6 @@ function createMockSyncBackend(options = {}) {
|
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
143
|
//#endregion
|
|
144
|
-
export { BackendMismatchError, SYNC_PUSH_PRESETS, SyncPullError, SyncPushError, createEventSourcedDB, createEventSourcedDBHandle, createEventSourcedLogger, createHttpTransport, createLazySingleton, createMockSyncBackend, createWebLocksSyncLock, generateEventId, resolveModules, resolvePushLimits, supportsWebLocks };
|
|
144
|
+
export { BackendMismatchError, SYNC_PUSH_PRESETS, SyncPullError, SyncPushError, UnsyncedChangesError, createEventSourcedDB, createEventSourcedDBHandle, createEventSourcedLogger, createHttpTransport, createLazySingleton, createMockSyncBackend, createWebLocksSyncLock, generateEventId, resolveModules, resolvePushLimits, supportsWebLocks };
|
|
145
145
|
|
|
146
146
|
//# sourceMappingURL=index.mjs.map
|
package/dist/node.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as ModulesInput, t as EventSourcedDBHandle } from "./create-event-sourced-db-handle-
|
|
3
|
-
|
|
1
|
+
import { S as PersistedCollectionPersistence, nt as InjectedModuleFn, p as EventSourcedSharedOptions, tt as InjectedCreateCollection } from "./types-Dc-_92xv.mjs";
|
|
2
|
+
import { r as ModulesInput, t as EventSourcedDBHandle } from "./create-event-sourced-db-handle-DlUfot8-.mjs";
|
|
4
3
|
//#region src/platforms/node.d.ts
|
|
5
4
|
type NodePlatformDeps = {
|
|
6
5
|
createNodeSQLitePersistence: (options: {
|
package/dist/node.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.mts","names":[],"sources":["../src/platforms/node.ts","../src/platforms/node-event-sourced-db.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.d.mts","names":[],"sources":["../src/platforms/node.ts","../src/platforms/node-event-sourced-db.ts"],"mappings":";;;KAEY,gBAAA;EACV,2BAAA,GAA8B,OAAA;IAAW,QAAA;EAAA,MAAsB,8BAA8B;AAAA;AAAA,KAGnF,kBAAA;EACV,QAAQ;AAAA;AAAA,KAGE,kBAAA;EACV,WAAA,EAAa,8BAA8B;AAAA;;;AARkD;AAG/F;;;;AACU;AAGV;;;;AAC6C;AA6B7C;;;;;;;;;;;;;iBAAgB,kBAAA,CACd,IAAA,EAAM,gBAAA,EACN,MAAA,EAAQ,kBAAA,GACP,kBAAA;;;KC7BE,uBAAA;EACH,MAAA,GAAS,KAAY;AAAA;AAAA,KAGX,uBAAA;EACV,2BAAA,GAA8B,OAAA;IAAW,QAAA;EAAA,MAAsB,8BAAA,EDhBtB;ECkBzC,QAAA;EACA,gBAAA,EAAkB,wBAAA;EAClB,0BAAA,EAA4B,gBAAA;AAAA;AAAA,KAGlB,wBAAA,eAAuC,MAAA,SAAe,uBAAA,KAChE,yBAAA;EACE,WAAA,EAAa,KAAA;;;ADrBP;AAGV;ECuBI,OAAA,EAAS,YAAA,CAAa,uBAAA;AAAA;;ADtBmB;AA6B7C;;;;;;;;;;;;;;AAGqB;;;;AChC0E;;;;AAIxE;AAGvB;;;;;;;;;iBAoDgB,wBAAA,qBACM,MAAA,SAAe,uBAAA,GACnC,MAAA,EAAQ,wBAAA,CAAyB,KAAA,IAAM,oBAAA,CAAA,KAAA"}
|
package/dist/node.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as resolveModules, t as createEventSourcedDBHandle } from "./create-event-sourced-db-handle-
|
|
1
|
+
import { n as resolveModules, t as createEventSourcedDBHandle } from "./create-event-sourced-db-handle-BRSDLeq9.mjs";
|
|
2
2
|
//#region src/platforms/node.ts
|
|
3
3
|
/**
|
|
4
4
|
* Wraps an already-opened better-sqlite3 database as TanStack persistence.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { S as PersistedCollectionPersistence, nt as InjectedModuleFn, p as EventSourcedSharedOptions, tt as InjectedCreateCollection } from "./types-Dc-_92xv.mjs";
|
|
2
|
+
import { r as ModulesInput, t as EventSourcedDBHandle } from "./create-event-sourced-db-handle-DlUfot8-.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/platforms/react-native-event-sourced-db.d.ts
|
|
5
|
+
type CollectionDefConstraint = {
|
|
6
|
+
getKey: (state: never) => string | number;
|
|
7
|
+
};
|
|
8
|
+
type ReactNativeEventSourcedModules = {
|
|
9
|
+
createReactNativeSQLitePersistence: (options: {
|
|
10
|
+
database: never;
|
|
11
|
+
}) => PersistedCollectionPersistence; /** Already-opened op-sqlite (or compatible) database. */
|
|
12
|
+
database: unknown;
|
|
13
|
+
createCollection: InjectedCreateCollection;
|
|
14
|
+
persistedCollectionOptions: InjectedModuleFn;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* React Native entry-point config. Shared sync/lifecycle fields come from
|
|
18
|
+
* {@link EventSourcedSharedOptions} (hover those properties for docs).
|
|
19
|
+
* Deep guide: `docs/usage.md`.
|
|
20
|
+
*/
|
|
21
|
+
type ReactNativeEventSourcedDBConfig<TDefs extends Record<string, CollectionDefConstraint>> = EventSourcedSharedOptions & {
|
|
22
|
+
collections: TDefs;
|
|
23
|
+
/**
|
|
24
|
+
* React Native persistence modules from
|
|
25
|
+
* `@tanstack/react-native-db-sqlite-persistence` plus `createCollection`.
|
|
26
|
+
* Pass the imported bindings directly, or a function to delay native SQLite.
|
|
27
|
+
*/
|
|
28
|
+
modules: ModulesInput<ReactNativeEventSourcedModules>;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* React Native–flavoured event-sourced DB, returned as a lazy singleton.
|
|
32
|
+
*
|
|
33
|
+
* @param config - See {@link ReactNativeEventSourcedDBConfig} for every option.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* import { createReactNativeEventSourcedDB } from "event-sourced-collection/react-native"
|
|
38
|
+
*
|
|
39
|
+
* const { ensureDb, db } = createReactNativeEventSourcedDB({
|
|
40
|
+
* collections: { todos: { getKey: (todo: { id: string }) => todo.id } },
|
|
41
|
+
* modules: async () => {
|
|
42
|
+
* const { createCollection } = await import("@tanstack/react-native-db")
|
|
43
|
+
* const { createReactNativeSQLitePersistence, persistedCollectionOptions } =
|
|
44
|
+
* await import("@tanstack/react-native-db-sqlite-persistence")
|
|
45
|
+
* const { openDatabase } = await import("react-native-op-sqlite")
|
|
46
|
+
* return {
|
|
47
|
+
* createCollection,
|
|
48
|
+
* createReactNativeSQLitePersistence,
|
|
49
|
+
* persistedCollectionOptions,
|
|
50
|
+
* database: openDatabase({ name: "app.sqlite" }),
|
|
51
|
+
* }
|
|
52
|
+
* },
|
|
53
|
+
* })
|
|
54
|
+
*
|
|
55
|
+
* await ensureDb()
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
declare function createReactNativeEventSourcedDB<const TDefs extends Record<string, CollectionDefConstraint>>(config: ReactNativeEventSourcedDBConfig<TDefs>): EventSourcedDBHandle<TDefs>;
|
|
59
|
+
//#endregion
|
|
60
|
+
export { ReactNativeEventSourcedModules as n, createReactNativeEventSourcedDB as r, ReactNativeEventSourcedDBConfig as t };
|
|
61
|
+
//# sourceMappingURL=react-native-event-sourced-db-DmbQ6TFS.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-native-event-sourced-db-DmbQ6TFS.d.mts","names":[],"sources":["../src/platforms/react-native-event-sourced-db.ts"],"mappings":";;;;KAcK,uBAAA;EACH,MAAA,GAAS,KAAY;AAAA;AAAA,KAGX,8BAAA;EACV,kCAAA,GAAqC,OAAA;IACnC,QAAA;EAAA,MACI,8BAAA,EAHkC;EAKxC,QAAA;EACA,gBAAA,EAAkB,wBAAA;EAClB,0BAAA,EAA4B,gBAAA;AAAA;;;;;;KAQlB,+BAAA,eAA8C,MAAA,SAAe,uBAAA,KACvE,yBAAA;EACE,WAAA,EAAa,KAAA;EAXf;;;;;EAiBE,OAAA,EAAS,YAAA,CAAa,8BAAA;AAAA;;;;;;;;;;;;;;;;;;;;AAA8B;AAiCxD;;;;;;;;iBAAgB,+BAAA,qBACM,MAAA,SAAe,uBAAA,GACnC,MAAA,EAAQ,+BAAA,CAAgC,KAAA,IAAM,oBAAA,CAAA,KAAA"}
|
package/dist/react-native.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { S as PersistedCollectionPersistence } from "./types-Dc-_92xv.mjs";
|
|
2
|
+
import { t as EventSourcedDBHandle } from "./create-event-sourced-db-handle-DlUfot8-.mjs";
|
|
3
|
+
import { n as ReactNativeEventSourcedModules, r as createReactNativeEventSourcedDB, t as ReactNativeEventSourcedDBConfig } from "./react-native-event-sourced-db-DmbQ6TFS.mjs";
|
|
3
4
|
|
|
4
5
|
//#region src/platforms/react-native.d.ts
|
|
5
6
|
type ReactNativePlatformDeps = {
|
|
@@ -44,61 +45,5 @@ type ReactNativePlatformResult = {
|
|
|
44
45
|
*/
|
|
45
46
|
declare function createReactNativePlatform(deps: ReactNativePlatformDeps, config: ReactNativePlatformConfig): ReactNativePlatformResult;
|
|
46
47
|
//#endregion
|
|
47
|
-
//#region src/platforms/react-native-event-sourced-db.d.ts
|
|
48
|
-
type CollectionDefConstraint = {
|
|
49
|
-
getKey: (state: never) => string | number;
|
|
50
|
-
};
|
|
51
|
-
type ReactNativeEventSourcedModules = {
|
|
52
|
-
createReactNativeSQLitePersistence: (options: {
|
|
53
|
-
database: never;
|
|
54
|
-
}) => PersistedCollectionPersistence; /** Already-opened op-sqlite (or compatible) database. */
|
|
55
|
-
database: unknown;
|
|
56
|
-
createCollection: InjectedCreateCollection;
|
|
57
|
-
persistedCollectionOptions: InjectedModuleFn;
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* React Native entry-point config. Shared sync/lifecycle fields come from
|
|
61
|
-
* {@link EventSourcedSharedOptions} (hover those properties for docs).
|
|
62
|
-
* Deep guide: `docs/usage.md`.
|
|
63
|
-
*/
|
|
64
|
-
type ReactNativeEventSourcedDBConfig<TDefs extends Record<string, CollectionDefConstraint>> = EventSourcedSharedOptions & {
|
|
65
|
-
collections: TDefs;
|
|
66
|
-
/**
|
|
67
|
-
* React Native persistence modules from
|
|
68
|
-
* `@tanstack/react-native-db-sqlite-persistence` plus `createCollection`.
|
|
69
|
-
* Pass the imported bindings directly, or a function to delay native SQLite.
|
|
70
|
-
*/
|
|
71
|
-
modules: ModulesInput<ReactNativeEventSourcedModules>;
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* React Native–flavoured event-sourced DB, returned as a lazy singleton.
|
|
75
|
-
*
|
|
76
|
-
* @param config - See {@link ReactNativeEventSourcedDBConfig} for every option.
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```ts
|
|
80
|
-
* import { createReactNativeEventSourcedDB } from "event-sourced-collection/react-native"
|
|
81
|
-
*
|
|
82
|
-
* const { ensureDb, db } = createReactNativeEventSourcedDB({
|
|
83
|
-
* collections: { todos: { getKey: (todo: { id: string }) => todo.id } },
|
|
84
|
-
* modules: async () => {
|
|
85
|
-
* const { createCollection } = await import("@tanstack/react-native-db")
|
|
86
|
-
* const { createReactNativeSQLitePersistence, persistedCollectionOptions } =
|
|
87
|
-
* await import("@tanstack/react-native-db-sqlite-persistence")
|
|
88
|
-
* const { openDatabase } = await import("react-native-op-sqlite")
|
|
89
|
-
* return {
|
|
90
|
-
* createCollection,
|
|
91
|
-
* createReactNativeSQLitePersistence,
|
|
92
|
-
* persistedCollectionOptions,
|
|
93
|
-
* database: openDatabase({ name: "app.sqlite" }),
|
|
94
|
-
* }
|
|
95
|
-
* },
|
|
96
|
-
* })
|
|
97
|
-
*
|
|
98
|
-
* await ensureDb()
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
declare function createReactNativeEventSourcedDB<const TDefs extends Record<string, CollectionDefConstraint>>(config: ReactNativeEventSourcedDBConfig<TDefs>): EventSourcedDBHandle<TDefs>;
|
|
102
|
-
//#endregion
|
|
103
48
|
export { type ReactNativeEventSourcedDBConfig, type EventSourcedDBHandle as ReactNativeEventSourcedDBHandle, type ReactNativeEventSourcedModules, type ReactNativePlatformConfig, type ReactNativePlatformDeps, type ReactNativePlatformResult, createReactNativeEventSourcedDB, createReactNativePlatform };
|
|
104
49
|
//# sourceMappingURL=react-native.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native.d.mts","names":[],"sources":["../src/platforms/react-native.ts"
|
|
1
|
+
{"version":3,"file":"react-native.d.mts","names":[],"sources":["../src/platforms/react-native.ts"],"mappings":";;;;;KAEY,uBAAA;EACV,kCAAA,GAAqC,OAAA;IACnC,QAAA;EAAA,MACI,8BAA8B;AAAA;AAAA,KAG1B,yBAAA;EACV,QAAQ;AAAA;AAAA,KAGE,yBAAA;EACV,WAAA,EAAa,8BAA8B;AAAA;;;AARP;AAGtC;;;;AACU;AAGV;;;;AAC6C;AAgC7C;;;;;;;;;;;;;;AAG4B;;iBAHZ,yBAAA,CACd,IAAA,EAAM,uBAAA,EACN,MAAA,EAAQ,yBAAA,GACP,yBAAA"}
|
package/dist/react-native.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as resolveModules, t as createEventSourcedDBHandle } from "./create-event-sourced-db-handle-
|
|
1
|
+
import { n as resolveModules, t as createEventSourcedDBHandle } from "./create-event-sourced-db-handle-BRSDLeq9.mjs";
|
|
2
2
|
//#region src/platforms/react-native.ts
|
|
3
3
|
/**
|
|
4
4
|
* Wraps an already-opened native SQLite database as TanStack persistence.
|
package/dist/react.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { G as SyncStatus, _ as ManualSyncResult } from "./types-Dc-_92xv.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/react/format-manual-sync-message.d.ts
|
|
4
4
|
declare function formatManualSyncMessage(result: ManualSyncResult): string;
|
|
@@ -567,6 +567,15 @@ type PruneOptions = {
|
|
|
567
567
|
/** Only prune rows older than this, in milliseconds. Defaults to 0 (all). */olderThanMs?: number; /** Always retain at least this many of the most recent rows per collection. */
|
|
568
568
|
keepLast?: number;
|
|
569
569
|
};
|
|
570
|
+
type ResetLocalReplicaOptions = {
|
|
571
|
+
/** Drop outbox changes the server has not accepted instead of throwing. */discardPending?: boolean;
|
|
572
|
+
};
|
|
573
|
+
type ResetLocalReplicaResult = {
|
|
574
|
+
/** True when another tab holds the sync lock; nothing was changed. */deferred: boolean; /** User rows removed across synced collections. */
|
|
575
|
+
removedRows: number; /** Unpushed outbox events that were thrown away (only with `discardPending`). */
|
|
576
|
+
discardedPending: number; /** The device's new client id. */
|
|
577
|
+
clientId: string;
|
|
578
|
+
};
|
|
570
579
|
type PruneResult = {
|
|
571
580
|
outbox: number;
|
|
572
581
|
inbox: number;
|
|
@@ -847,7 +856,17 @@ type EventSourcedDB<TDefs extends Record<string, CollectionDefConstraint>> = {
|
|
|
847
856
|
* Compacts the event log by deleting confirmed outbox rows and resolved inbox
|
|
848
857
|
* rows. Safe because the pull cursor lives in `syncmeta`, not in the inbox.
|
|
849
858
|
*/
|
|
850
|
-
pruneSyncedEvents: (options?: PruneOptions) => Promise<PruneResult>;
|
|
859
|
+
pruneSyncedEvents: (options?: PruneOptions) => Promise<PruneResult>;
|
|
860
|
+
/**
|
|
861
|
+
* Empties this device's copy so the next sync rebuilds it from the server.
|
|
862
|
+
* Rows are removed through the replay path, so no delete events are pushed.
|
|
863
|
+
* Clears outbox, inbox, dead-letter and row versions, rewinds the pull cursor
|
|
864
|
+
* to zero and assigns a new `clientId` so this device's own history replays.
|
|
865
|
+
* `localOnly` collections are kept. Throws {@link UnsyncedChangesError} while
|
|
866
|
+
* the outbox has unpushed changes unless `discardPending` is set. Call
|
|
867
|
+
* `sync()` afterwards to pull everything back.
|
|
868
|
+
*/
|
|
869
|
+
resetLocalReplica: (options?: ResetLocalReplicaOptions) => Promise<ResetLocalReplicaResult>; /** Current push limits after preset, overrides and clamping. */
|
|
851
870
|
getPushLimits: () => SyncPushLimits;
|
|
852
871
|
/**
|
|
853
872
|
* Changes push limits for future batches (the batch in flight is unaffected).
|
|
@@ -868,5 +887,5 @@ type ManualSyncResult = SyncResult & {
|
|
|
868
887
|
replayed: number;
|
|
869
888
|
};
|
|
870
889
|
//#endregion
|
|
871
|
-
export {
|
|
872
|
-
//# sourceMappingURL=types-
|
|
890
|
+
export { createEventSourcedLogger as $, PushResponse as A, SyncMetaEntry as B, PruneOptions as C, PushConfirmation as D, PullResponse as E, RowVersionEntry as F, SyncStatus as G, SyncPushLimits as H, SQLiteDriver as I, SyncUrlConfig as J, SyncTransport as K, ServerEvent as L, ResetLocalReplicaOptions as M, ResetLocalReplicaResult as N, PushEventsFn as O, RetryConfig as P, EventSourcedLogger as Q, SyncHandlersConfig as R, PersistedCollectionPersistence$1 as S, PullEventsFn as T, SyncPushPreset as U, SyncPhase as V, SyncResult as W, UpcastEventFn as X, UnknownEventHandling as Y, UpcastableEvent as Z, ManualSyncResult as _, CollectionMap as a, OutboxEntry as b, DeadLetterReason as c, EventSourcedHooks as d, CreateCollectionFn as et, EventSourcedOptions as f, InferState as g, InferKey as h, CollectionIndexDef as i, ReservedCollections as j, PushFailure as k, EventSourcedDB as l, InboxEntry as m, CollectionDef as n, InjectedModuleFn as nt, DeadLetterDirection as o, EventSourcedSharedOptions as p, SyncTrigger as q, CollectionIndexConstructor as r, PersistedCollectionOptionsFn as rt, DeadLetterEntry as s, BackendMismatchPolicy as t, InjectedCreateCollection as tt, EventSourcedDBConfig as u, MutationType as v, PruneResult as w, OutboxSyncStatus as x, OutboundEvent as y, SyncLock as z };
|
|
891
|
+
//# sourceMappingURL=types-Dc-_92xv.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-Dc-_92xv.d.mts","names":[],"sources":["../src/core/persisted-collection.ts","../src/utils/logger.ts","../src/core/types.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { $ as InjectedCreateCollection, L as SyncLock, P as SQLiteDriver, et as InjectedModuleFn, p as EventSourcedSharedOptions } from "./types-uO49i9Ae.mjs";
|
|
2
|
-
import { r as ModulesInput, t as EventSourcedDBHandle } from "./create-event-sourced-db-handle-DmHdplVr.mjs";
|
|
3
|
-
import { PersistedCollectionPersistence } from "@tanstack/db-sqlite-persistence-core";
|
|
4
|
-
|
|
5
|
-
//#region src/platforms/browser-wa-sqlite-driver.d.ts
|
|
6
|
-
type BrowserWASQLiteDatabase = {
|
|
7
|
-
execute: <TRow = unknown>(sql: string, params?: ReadonlyArray<unknown>) => Promise<ReadonlyArray<TRow>>;
|
|
8
|
-
close?: () => Promise<void> | void;
|
|
9
|
-
};
|
|
10
|
-
//#endregion
|
|
11
|
-
//#region src/platforms/browser-types.d.ts
|
|
12
|
-
type BrowserCoordinatorInstance = {
|
|
13
|
-
dispose: () => void;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Injected TanStack browser persistence bindings. Parameters are `never` so
|
|
17
|
-
* version-skewed `@tanstack/browser-db-sqlite-persistence` exports stay assignable.
|
|
18
|
-
*/
|
|
19
|
-
type BrowserPlatformDeps = {
|
|
20
|
-
openBrowserWASQLiteOPFSDatabase: (options: never) => Promise<BrowserWASQLiteDatabase>;
|
|
21
|
-
createBrowserWASQLitePersistence: (options: never) => PersistedCollectionPersistence;
|
|
22
|
-
BrowserCollectionCoordinator: new (options: never) => BrowserCoordinatorInstance;
|
|
23
|
-
};
|
|
24
|
-
type BrowserPlatformConfig = {
|
|
25
|
-
databaseName: string;
|
|
26
|
-
coordinatorDbName?: string;
|
|
27
|
-
};
|
|
28
|
-
type BrowserPlatformResult = {
|
|
29
|
-
driver: SQLiteDriver;
|
|
30
|
-
persistence: PersistedCollectionPersistence;
|
|
31
|
-
close: () => Promise<void>;
|
|
32
|
-
};
|
|
33
|
-
//#endregion
|
|
34
|
-
//#region src/platforms/browser-event-sourced-db.d.ts
|
|
35
|
-
type CollectionDefConstraint = {
|
|
36
|
-
getKey: (state: never) => string | number;
|
|
37
|
-
};
|
|
38
|
-
type BrowserEventSourcedModules = BrowserPlatformDeps & {
|
|
39
|
-
createCollection: InjectedCreateCollection;
|
|
40
|
-
persistedCollectionOptions: InjectedModuleFn;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Browser entry-point config. Shared sync/lifecycle fields come from
|
|
44
|
-
* {@link EventSourcedSharedOptions} (hover those properties for docs).
|
|
45
|
-
* Deep guide: `docs/usage.md`.
|
|
46
|
-
*/
|
|
47
|
-
type BrowserEventSourcedDBConfig<TDefs extends Record<string, CollectionDefConstraint>> = Omit<EventSourcedSharedOptions, "lock" | "lockName"> & {
|
|
48
|
-
/**
|
|
49
|
-
* User collection registry. Object keys become `db.collections.<key>` and
|
|
50
|
-
* the wire `collectionId`. Must not collide with reserved names.
|
|
51
|
-
*/
|
|
52
|
-
collections: TDefs;
|
|
53
|
-
/**
|
|
54
|
-
* OPFS SQLite database file name (e.g. `"my-app.sqlite"`). Also used as the
|
|
55
|
-
* default sync lock namespace so only one tab syncs for this DB at a time.
|
|
56
|
-
*/
|
|
57
|
-
databaseName: string;
|
|
58
|
-
/**
|
|
59
|
-
* Name for the cross-tab collection coordinator database. Defaults to
|
|
60
|
-
* `databaseName` with a trailing `.sqlite` stripped.
|
|
61
|
-
*/
|
|
62
|
-
coordinatorDbName?: string;
|
|
63
|
-
/**
|
|
64
|
-
* Browser OPFS persistence modules from
|
|
65
|
-
* `@tanstack/browser-db-sqlite-persistence` plus `createCollection`.
|
|
66
|
-
* Pass the imported bindings directly, or a function to keep WASM off the
|
|
67
|
-
* critical path.
|
|
68
|
-
*/
|
|
69
|
-
modules: ModulesInput<BrowserEventSourcedModules>;
|
|
70
|
-
/**
|
|
71
|
-
* Defaults to a Web Locks–backed lock so only one tab syncs at a time.
|
|
72
|
-
* Pass `null` to opt out and let every tab sync independently.
|
|
73
|
-
*/
|
|
74
|
-
lock?: SyncLock | null;
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Browser-flavoured event-sourced DB: OPFS SQLite + optional Web Locks sync
|
|
78
|
-
* election, returned as a lazy singleton.
|
|
79
|
-
*
|
|
80
|
-
* @param config - See {@link BrowserEventSourcedDBConfig} for every option.
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* ```ts
|
|
84
|
-
* import { createBrowserEventSourcedDB } from "event-sourced-collection/browser"
|
|
85
|
-
* import type { CollectionDef, EventSourcedDB } from "event-sourced-collection"
|
|
86
|
-
*
|
|
87
|
-
* type Todo = { id: string; title: string }
|
|
88
|
-
* type Defs = { todos: CollectionDef<Todo, string> }
|
|
89
|
-
*
|
|
90
|
-
* const { ensureDb, db } = createBrowserEventSourcedDB<Defs>({
|
|
91
|
-
* databaseName: "app.sqlite",
|
|
92
|
-
* collections: { todos: { getKey: (todo) => todo.id } },
|
|
93
|
-
* sync: { push: "/api/sync/events", pull: "/api/sync/events" },
|
|
94
|
-
* modules: async () => {
|
|
95
|
-
* const { createCollection } = await import("@tanstack/db")
|
|
96
|
-
* const {
|
|
97
|
-
* BrowserCollectionCoordinator,
|
|
98
|
-
* createBrowserWASQLitePersistence,
|
|
99
|
-
* openBrowserWASQLiteOPFSDatabase,
|
|
100
|
-
* persistedCollectionOptions,
|
|
101
|
-
* } = await import("@tanstack/browser-db-sqlite-persistence")
|
|
102
|
-
* return {
|
|
103
|
-
* createCollection,
|
|
104
|
-
* BrowserCollectionCoordinator,
|
|
105
|
-
* createBrowserWASQLitePersistence,
|
|
106
|
-
* openBrowserWASQLiteOPFSDatabase,
|
|
107
|
-
* persistedCollectionOptions,
|
|
108
|
-
* }
|
|
109
|
-
* },
|
|
110
|
-
* })
|
|
111
|
-
*
|
|
112
|
-
* export async function start() {
|
|
113
|
-
* await ensureDb()
|
|
114
|
-
* }
|
|
115
|
-
* export { db }
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
declare function createBrowserEventSourcedDB<const TDefs extends Record<string, CollectionDefConstraint>>(config: BrowserEventSourcedDBConfig<TDefs>): EventSourcedDBHandle<TDefs>;
|
|
119
|
-
//#endregion
|
|
120
|
-
export { BrowserPlatformConfig as a, BrowserWASQLiteDatabase as c, BrowserCoordinatorInstance as i, BrowserEventSourcedModules as n, BrowserPlatformDeps as o, createBrowserEventSourcedDB as r, BrowserPlatformResult as s, BrowserEventSourcedDBConfig as t };
|
|
121
|
-
//# sourceMappingURL=browser-event-sourced-db-D3vSW3QV.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-event-sourced-db-D3vSW3QV.d.mts","names":[],"sources":["../src/platforms/browser-wa-sqlite-driver.ts","../src/platforms/browser-types.ts","../src/platforms/browser-event-sourced-db.ts"],"mappings":";;;;;KAEY,uBAAA;EACV,OAAA,mBACE,GAAA,UACA,MAAA,GAAS,aAAA,cACN,OAAA,CAAQ,aAAA,CAAc,IAAA;EAC3B,KAAA,SAAc,OAAA;AAAA;;;KCJJ,0BAAA;EACV,OAAO;AAAA;ADFT;;;;AAAA,KCSY,mBAAA;EACV,+BAAA,GAAkC,OAAA,YAAmB,OAAA,CAAQ,uBAAA;EAC7D,gCAAA,GAAmC,OAAA,YAAmB,8BAAA;EACtD,4BAAA,OAAmC,OAAA,YAAmB,0BAAA;AAAA;AAAA,KAG5C,qBAAA;EACV,YAAA;EACA,iBAAiB;AAAA;AAAA,KAGP,qBAAA;EACV,MAAA,EAD+B,YAAA;EAE/B,WAAA,EAAa,8BAAA;EACb,KAAA,QAAa,OAAA;AAAA;;;KCTV,uBAAA;EACH,MAAA,GAAS,KAAY;AAAA;AAAA,KAGX,0BAAA,GAA6B,mBAAA;EACvC,gBAAA,EAAkB,wBAAA;EAClB,0BAAA,EAA4B,gBAAA;AAAA;;;;;;KAQlB,2BAAA,eAA0C,MAAA,SAAe,uBAAA,KACnE,IAAA,CAAK,yBAAA;EF3BH;;;;EEgCA,WAAA,EAAa,KAAA;EF9BY;;;;EEmCzB,YAAA;;;;ADtCJ;EC2CI,iBAAA;;;AD1CK;AAOT;;;EC0CI,OAAA,EAAS,YAAA,CAAa,0BAAA;EDzC6B;;;;EC8CnD,IAAA,GAAO,QAAA;AAAA;;;;;;;;;;AD5CuE;AAGlF;;;;AAEmB;AAGnB;;;;;;;;;;;;;;;AAGsB;;;;ACZqC;;;;AAIpC;AAGvB;;;iBAqFgB,2BAAA,qBACM,MAAA,SAAe,uBAAA,GACnC,MAAA,EAAQ,2BAAA,CAA4B,KAAA,IAAM,oBAAA,CAAA,KAAA"}
|