@tanstack/expo-db-sqlite-persistence 0.1.6 → 0.1.7
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/cjs/expo.cjs +1 -4
- package/dist/cjs/expo.cjs.map +1 -1
- package/dist/cjs/expo.d.cts +1 -1
- package/dist/esm/expo.d.ts +1 -1
- package/dist/esm/expo.js +1 -4
- package/dist/esm/expo.js.map +1 -1
- package/package.json +2 -2
- package/src/expo.ts +6 -20
package/dist/cjs/expo.cjs
CHANGED
|
@@ -59,10 +59,7 @@ function createExpoSQLitePersistence(options) {
|
|
|
59
59
|
return adapter;
|
|
60
60
|
};
|
|
61
61
|
const createCollectionPersistence = (mode, schemaVersion) => ({
|
|
62
|
-
adapter: getAdapterForCollection(
|
|
63
|
-
mode,
|
|
64
|
-
schemaVersion
|
|
65
|
-
),
|
|
62
|
+
adapter: getAdapterForCollection(mode, schemaVersion),
|
|
66
63
|
coordinator: resolvedCoordinator
|
|
67
64
|
});
|
|
68
65
|
const defaultPersistence = createCollectionPersistence(
|
package/dist/cjs/expo.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expo.cjs","sources":["../../src/expo.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { ExpoSQLiteDriver } from './expo-sqlite-driver'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\nimport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\nexport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\ntype ExpoSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type ExpoSQLiteSchemaMismatchPolicy =\n | ExpoSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\nexport type ExpoSQLitePersistenceOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: ExpoSQLiteDatabaseLike\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: ExpoSQLiteSchemaMismatchPolicy\n}\n\nfunction normalizeSchemaMismatchPolicy(\n policy: ExpoSQLiteSchemaMismatchPolicy,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: ExpoSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (explicitPolicy) {\n return normalizeSchemaMismatchPolicy(explicitPolicy)\n }\n\n return mode === `sync-present` ? `sync-present-reset` : `sync-absent-error`\n}\n\nfunction createAdapterCacheKey(\n schemaMismatchPolicy: ExpoSQLiteCoreSchemaMismatchPolicy,\n schemaVersion: number | undefined,\n): string {\n const schemaVersionKey =\n schemaVersion === undefined ? `schema:default` : `schema:${schemaVersion}`\n return `${schemaMismatchPolicy}|${schemaVersionKey}`\n}\n\nfunction createInternalSQLiteDriver(\n options: ExpoSQLitePersistenceOptions,\n): SQLiteDriver {\n return new ExpoSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: ExpoSQLitePersistenceOptions,\n): Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> {\n return {\n appliedTxPruneMaxRows: options.appliedTxPruneMaxRows,\n appliedTxPruneMaxAgeSeconds: options.appliedTxPruneMaxAgeSeconds,\n pullSinceReloadThreshold: options.pullSinceReloadThreshold,\n }\n}\n\nexport function createExpoSQLitePersistence
|
|
1
|
+
{"version":3,"file":"expo.cjs","sources":["../../src/expo.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { ExpoSQLiteDriver } from './expo-sqlite-driver'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\nimport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\nexport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\ntype ExpoSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type ExpoSQLiteSchemaMismatchPolicy =\n | ExpoSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\nexport type ExpoSQLitePersistenceOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: ExpoSQLiteDatabaseLike\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: ExpoSQLiteSchemaMismatchPolicy\n}\n\nfunction normalizeSchemaMismatchPolicy(\n policy: ExpoSQLiteSchemaMismatchPolicy,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: ExpoSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (explicitPolicy) {\n return normalizeSchemaMismatchPolicy(explicitPolicy)\n }\n\n return mode === `sync-present` ? `sync-present-reset` : `sync-absent-error`\n}\n\nfunction createAdapterCacheKey(\n schemaMismatchPolicy: ExpoSQLiteCoreSchemaMismatchPolicy,\n schemaVersion: number | undefined,\n): string {\n const schemaVersionKey =\n schemaVersion === undefined ? `schema:default` : `schema:${schemaVersion}`\n return `${schemaMismatchPolicy}|${schemaVersionKey}`\n}\n\nfunction createInternalSQLiteDriver(\n options: ExpoSQLitePersistenceOptions,\n): SQLiteDriver {\n return new ExpoSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: ExpoSQLitePersistenceOptions,\n): Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> {\n return {\n appliedTxPruneMaxRows: options.appliedTxPruneMaxRows,\n appliedTxPruneMaxAgeSeconds: options.appliedTxPruneMaxAgeSeconds,\n pullSinceReloadThreshold: options.pullSinceReloadThreshold,\n }\n}\n\nexport function createExpoSQLitePersistence(\n options: ExpoSQLitePersistenceOptions,\n): PersistedCollectionPersistence {\n const { coordinator, schemaMismatchPolicy } = options\n const driver = createInternalSQLiteDriver(options)\n const adapterBaseOptions = resolveAdapterBaseOptions(options)\n const resolvedCoordinator = coordinator ?? new SingleProcessCoordinator()\n const adapterCache = new Map<\n string,\n ReturnType<typeof createSQLiteCorePersistenceAdapter>\n >()\n\n const getAdapterForCollection = (\n mode: PersistedCollectionMode,\n schemaVersion: number | undefined,\n ) => {\n const resolvedSchemaMismatchPolicy = resolveSchemaMismatchPolicy(\n schemaMismatchPolicy,\n mode,\n )\n const cacheKey = createAdapterCacheKey(\n resolvedSchemaMismatchPolicy,\n schemaVersion,\n )\n const cachedAdapter = adapterCache.get(cacheKey)\n if (cachedAdapter) {\n return cachedAdapter\n }\n\n const adapter = createSQLiteCorePersistenceAdapter({\n ...adapterBaseOptions,\n driver,\n schemaMismatchPolicy: resolvedSchemaMismatchPolicy,\n ...(schemaVersion === undefined ? {} : { schemaVersion }),\n })\n adapterCache.set(cacheKey, adapter)\n return adapter\n }\n\n const createCollectionPersistence = (\n mode: PersistedCollectionMode,\n schemaVersion: number | undefined,\n ): PersistedCollectionPersistence => ({\n adapter: getAdapterForCollection(mode, schemaVersion),\n coordinator: resolvedCoordinator,\n })\n\n const defaultPersistence = createCollectionPersistence(\n `sync-absent`,\n undefined,\n )\n\n return {\n ...defaultPersistence,\n resolvePersistenceForCollection: ({ mode, schemaVersion }) =>\n createCollectionPersistence(mode, schemaVersion),\n resolvePersistenceForMode: (mode) =>\n createCollectionPersistence(mode, undefined),\n }\n}\n"],"names":["ExpoSQLiteDriver","SingleProcessCoordinator","createSQLiteCorePersistenceAdapter"],"mappings":";;;;AAkCA,SAAS,8BACP,QACoC;AACpC,MAAI,WAAW,SAAS;AACtB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,4BACP,gBACA,MACoC;AACpC,MAAI,gBAAgB;AAClB,WAAO,8BAA8B,cAAc;AAAA,EACrD;AAEA,SAAO,SAAS,iBAAiB,uBAAuB;AAC1D;AAEA,SAAS,sBACP,sBACA,eACQ;AACR,QAAM,mBACJ,kBAAkB,SAAY,mBAAmB,UAAU,aAAa;AAC1E,SAAO,GAAG,oBAAoB,IAAI,gBAAgB;AACpD;AAEA,SAAS,2BACP,SACc;AACd,SAAO,IAAIA,iBAAAA,iBAAiB;AAAA,IAC1B,UAAU,QAAQ;AAAA,EAAA,CACnB;AACH;AAEA,SAAS,0BACP,SAIA;AACA,SAAO;AAAA,IACL,uBAAuB,QAAQ;AAAA,IAC/B,6BAA6B,QAAQ;AAAA,IACrC,0BAA0B,QAAQ;AAAA,EAAA;AAEtC;AAEO,SAAS,4BACd,SACgC;AAChC,QAAM,EAAE,aAAa,qBAAA,IAAyB;AAC9C,QAAM,SAAS,2BAA2B,OAAO;AACjD,QAAM,qBAAqB,0BAA0B,OAAO;AAC5D,QAAM,sBAAsB,eAAe,IAAIC,iDAAA;AAC/C,QAAM,mCAAmB,IAAA;AAKzB,QAAM,0BAA0B,CAC9B,MACA,kBACG;AACH,UAAM,+BAA+B;AAAA,MACnC;AAAA,MACA;AAAA,IAAA;AAEF,UAAM,WAAW;AAAA,MACf;AAAA,MACA;AAAA,IAAA;AAEF,UAAM,gBAAgB,aAAa,IAAI,QAAQ;AAC/C,QAAI,eAAe;AACjB,aAAO;AAAA,IACT;AAEA,UAAM,UAAUC,wBAAAA,mCAAmC;AAAA,MACjD,GAAG;AAAA,MACH;AAAA,MACA,sBAAsB;AAAA,MACtB,GAAI,kBAAkB,SAAY,CAAA,IAAK,EAAE,cAAA;AAAA,IAAc,CACxD;AACD,iBAAa,IAAI,UAAU,OAAO;AAClC,WAAO;AAAA,EACT;AAEA,QAAM,8BAA8B,CAClC,MACA,mBACoC;AAAA,IACpC,SAAS,wBAAwB,MAAM,aAAa;AAAA,IACpD,aAAa;AAAA,EAAA;AAGf,QAAM,qBAAqB;AAAA,IACzB;AAAA,IACA;AAAA,EAAA;AAGF,SAAO;AAAA,IACL,GAAG;AAAA,IACH,iCAAiC,CAAC,EAAE,MAAM,oBACxC,4BAA4B,MAAM,aAAa;AAAA,IACjD,2BAA2B,CAAC,SAC1B,4BAA4B,MAAM,MAAS;AAAA,EAAA;AAEjD;;"}
|
package/dist/cjs/expo.d.cts
CHANGED
|
@@ -8,4 +8,4 @@ export type ExpoSQLitePersistenceOptions = Omit<SQLiteCoreAdapterOptions, `drive
|
|
|
8
8
|
coordinator?: PersistedCollectionCoordinator;
|
|
9
9
|
schemaMismatchPolicy?: ExpoSQLiteSchemaMismatchPolicy;
|
|
10
10
|
};
|
|
11
|
-
export declare function createExpoSQLitePersistence
|
|
11
|
+
export declare function createExpoSQLitePersistence(options: ExpoSQLitePersistenceOptions): PersistedCollectionPersistence;
|
package/dist/esm/expo.d.ts
CHANGED
|
@@ -8,4 +8,4 @@ export type ExpoSQLitePersistenceOptions = Omit<SQLiteCoreAdapterOptions, `drive
|
|
|
8
8
|
coordinator?: PersistedCollectionCoordinator;
|
|
9
9
|
schemaMismatchPolicy?: ExpoSQLiteSchemaMismatchPolicy;
|
|
10
10
|
};
|
|
11
|
-
export declare function createExpoSQLitePersistence
|
|
11
|
+
export declare function createExpoSQLitePersistence(options: ExpoSQLitePersistenceOptions): PersistedCollectionPersistence;
|
package/dist/esm/expo.js
CHANGED
|
@@ -57,10 +57,7 @@ function createExpoSQLitePersistence(options) {
|
|
|
57
57
|
return adapter;
|
|
58
58
|
};
|
|
59
59
|
const createCollectionPersistence = (mode, schemaVersion) => ({
|
|
60
|
-
adapter: getAdapterForCollection(
|
|
61
|
-
mode,
|
|
62
|
-
schemaVersion
|
|
63
|
-
),
|
|
60
|
+
adapter: getAdapterForCollection(mode, schemaVersion),
|
|
64
61
|
coordinator: resolvedCoordinator
|
|
65
62
|
});
|
|
66
63
|
const defaultPersistence = createCollectionPersistence(
|
package/dist/esm/expo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expo.js","sources":["../../src/expo.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { ExpoSQLiteDriver } from './expo-sqlite-driver'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\nimport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\nexport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\ntype ExpoSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type ExpoSQLiteSchemaMismatchPolicy =\n | ExpoSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\nexport type ExpoSQLitePersistenceOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: ExpoSQLiteDatabaseLike\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: ExpoSQLiteSchemaMismatchPolicy\n}\n\nfunction normalizeSchemaMismatchPolicy(\n policy: ExpoSQLiteSchemaMismatchPolicy,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: ExpoSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (explicitPolicy) {\n return normalizeSchemaMismatchPolicy(explicitPolicy)\n }\n\n return mode === `sync-present` ? `sync-present-reset` : `sync-absent-error`\n}\n\nfunction createAdapterCacheKey(\n schemaMismatchPolicy: ExpoSQLiteCoreSchemaMismatchPolicy,\n schemaVersion: number | undefined,\n): string {\n const schemaVersionKey =\n schemaVersion === undefined ? `schema:default` : `schema:${schemaVersion}`\n return `${schemaMismatchPolicy}|${schemaVersionKey}`\n}\n\nfunction createInternalSQLiteDriver(\n options: ExpoSQLitePersistenceOptions,\n): SQLiteDriver {\n return new ExpoSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: ExpoSQLitePersistenceOptions,\n): Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> {\n return {\n appliedTxPruneMaxRows: options.appliedTxPruneMaxRows,\n appliedTxPruneMaxAgeSeconds: options.appliedTxPruneMaxAgeSeconds,\n pullSinceReloadThreshold: options.pullSinceReloadThreshold,\n }\n}\n\nexport function createExpoSQLitePersistence
|
|
1
|
+
{"version":3,"file":"expo.js","sources":["../../src/expo.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { ExpoSQLiteDriver } from './expo-sqlite-driver'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\nimport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\nexport type { ExpoSQLiteDatabaseLike } from './expo-sqlite-driver'\n\ntype ExpoSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type ExpoSQLiteSchemaMismatchPolicy =\n | ExpoSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\nexport type ExpoSQLitePersistenceOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: ExpoSQLiteDatabaseLike\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: ExpoSQLiteSchemaMismatchPolicy\n}\n\nfunction normalizeSchemaMismatchPolicy(\n policy: ExpoSQLiteSchemaMismatchPolicy,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: ExpoSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): ExpoSQLiteCoreSchemaMismatchPolicy {\n if (explicitPolicy) {\n return normalizeSchemaMismatchPolicy(explicitPolicy)\n }\n\n return mode === `sync-present` ? `sync-present-reset` : `sync-absent-error`\n}\n\nfunction createAdapterCacheKey(\n schemaMismatchPolicy: ExpoSQLiteCoreSchemaMismatchPolicy,\n schemaVersion: number | undefined,\n): string {\n const schemaVersionKey =\n schemaVersion === undefined ? `schema:default` : `schema:${schemaVersion}`\n return `${schemaMismatchPolicy}|${schemaVersionKey}`\n}\n\nfunction createInternalSQLiteDriver(\n options: ExpoSQLitePersistenceOptions,\n): SQLiteDriver {\n return new ExpoSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: ExpoSQLitePersistenceOptions,\n): Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> {\n return {\n appliedTxPruneMaxRows: options.appliedTxPruneMaxRows,\n appliedTxPruneMaxAgeSeconds: options.appliedTxPruneMaxAgeSeconds,\n pullSinceReloadThreshold: options.pullSinceReloadThreshold,\n }\n}\n\nexport function createExpoSQLitePersistence(\n options: ExpoSQLitePersistenceOptions,\n): PersistedCollectionPersistence {\n const { coordinator, schemaMismatchPolicy } = options\n const driver = createInternalSQLiteDriver(options)\n const adapterBaseOptions = resolveAdapterBaseOptions(options)\n const resolvedCoordinator = coordinator ?? new SingleProcessCoordinator()\n const adapterCache = new Map<\n string,\n ReturnType<typeof createSQLiteCorePersistenceAdapter>\n >()\n\n const getAdapterForCollection = (\n mode: PersistedCollectionMode,\n schemaVersion: number | undefined,\n ) => {\n const resolvedSchemaMismatchPolicy = resolveSchemaMismatchPolicy(\n schemaMismatchPolicy,\n mode,\n )\n const cacheKey = createAdapterCacheKey(\n resolvedSchemaMismatchPolicy,\n schemaVersion,\n )\n const cachedAdapter = adapterCache.get(cacheKey)\n if (cachedAdapter) {\n return cachedAdapter\n }\n\n const adapter = createSQLiteCorePersistenceAdapter({\n ...adapterBaseOptions,\n driver,\n schemaMismatchPolicy: resolvedSchemaMismatchPolicy,\n ...(schemaVersion === undefined ? {} : { schemaVersion }),\n })\n adapterCache.set(cacheKey, adapter)\n return adapter\n }\n\n const createCollectionPersistence = (\n mode: PersistedCollectionMode,\n schemaVersion: number | undefined,\n ): PersistedCollectionPersistence => ({\n adapter: getAdapterForCollection(mode, schemaVersion),\n coordinator: resolvedCoordinator,\n })\n\n const defaultPersistence = createCollectionPersistence(\n `sync-absent`,\n undefined,\n )\n\n return {\n ...defaultPersistence,\n resolvePersistenceForCollection: ({ mode, schemaVersion }) =>\n createCollectionPersistence(mode, schemaVersion),\n resolvePersistenceForMode: (mode) =>\n createCollectionPersistence(mode, undefined),\n }\n}\n"],"names":[],"mappings":";;AAkCA,SAAS,8BACP,QACoC;AACpC,MAAI,WAAW,SAAS;AACtB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,4BACP,gBACA,MACoC;AACpC,MAAI,gBAAgB;AAClB,WAAO,8BAA8B,cAAc;AAAA,EACrD;AAEA,SAAO,SAAS,iBAAiB,uBAAuB;AAC1D;AAEA,SAAS,sBACP,sBACA,eACQ;AACR,QAAM,mBACJ,kBAAkB,SAAY,mBAAmB,UAAU,aAAa;AAC1E,SAAO,GAAG,oBAAoB,IAAI,gBAAgB;AACpD;AAEA,SAAS,2BACP,SACc;AACd,SAAO,IAAI,iBAAiB;AAAA,IAC1B,UAAU,QAAQ;AAAA,EAAA,CACnB;AACH;AAEA,SAAS,0BACP,SAIA;AACA,SAAO;AAAA,IACL,uBAAuB,QAAQ;AAAA,IAC/B,6BAA6B,QAAQ;AAAA,IACrC,0BAA0B,QAAQ;AAAA,EAAA;AAEtC;AAEO,SAAS,4BACd,SACgC;AAChC,QAAM,EAAE,aAAa,qBAAA,IAAyB;AAC9C,QAAM,SAAS,2BAA2B,OAAO;AACjD,QAAM,qBAAqB,0BAA0B,OAAO;AAC5D,QAAM,sBAAsB,eAAe,IAAI,yBAAA;AAC/C,QAAM,mCAAmB,IAAA;AAKzB,QAAM,0BAA0B,CAC9B,MACA,kBACG;AACH,UAAM,+BAA+B;AAAA,MACnC;AAAA,MACA;AAAA,IAAA;AAEF,UAAM,WAAW;AAAA,MACf;AAAA,MACA;AAAA,IAAA;AAEF,UAAM,gBAAgB,aAAa,IAAI,QAAQ;AAC/C,QAAI,eAAe;AACjB,aAAO;AAAA,IACT;AAEA,UAAM,UAAU,mCAAmC;AAAA,MACjD,GAAG;AAAA,MACH;AAAA,MACA,sBAAsB;AAAA,MACtB,GAAI,kBAAkB,SAAY,CAAA,IAAK,EAAE,cAAA;AAAA,IAAc,CACxD;AACD,iBAAa,IAAI,UAAU,OAAO;AAClC,WAAO;AAAA,EACT;AAEA,QAAM,8BAA8B,CAClC,MACA,mBACoC;AAAA,IACpC,SAAS,wBAAwB,MAAM,aAAa;AAAA,IACpD,aAAa;AAAA,EAAA;AAGf,QAAM,qBAAqB;AAAA,IACzB;AAAA,IACA;AAAA,EAAA;AAGF,SAAO;AAAA,IACL,GAAG;AAAA,IACH,iCAAiC,CAAC,EAAE,MAAM,oBACxC,4BAA4B,MAAM,aAAa;AAAA,IACjD,2BAA2B,CAAC,SAC1B,4BAA4B,MAAM,MAAS;AAAA,EAAA;AAEjD;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/expo-db-sqlite-persistence",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Expo SQLite persisted collection adapter for TanStack DB",
|
|
5
5
|
"author": "TanStack Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"src"
|
|
51
51
|
],
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@tanstack/db-sqlite-persistence-core": "0.1.
|
|
53
|
+
"@tanstack/db-sqlite-persistence-core": "0.1.7"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"expo-sqlite": "^55.0.10",
|
package/src/expo.ts
CHANGED
|
@@ -83,24 +83,16 @@ function resolveAdapterBaseOptions(
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
export function createExpoSQLitePersistence
|
|
87
|
-
T extends object,
|
|
88
|
-
TKey extends string | number = string | number,
|
|
89
|
-
>(
|
|
86
|
+
export function createExpoSQLitePersistence(
|
|
90
87
|
options: ExpoSQLitePersistenceOptions,
|
|
91
|
-
): PersistedCollectionPersistence
|
|
88
|
+
): PersistedCollectionPersistence {
|
|
92
89
|
const { coordinator, schemaMismatchPolicy } = options
|
|
93
90
|
const driver = createInternalSQLiteDriver(options)
|
|
94
91
|
const adapterBaseOptions = resolveAdapterBaseOptions(options)
|
|
95
92
|
const resolvedCoordinator = coordinator ?? new SingleProcessCoordinator()
|
|
96
93
|
const adapterCache = new Map<
|
|
97
94
|
string,
|
|
98
|
-
ReturnType<
|
|
99
|
-
typeof createSQLiteCorePersistenceAdapter<
|
|
100
|
-
Record<string, unknown>,
|
|
101
|
-
string | number
|
|
102
|
-
>
|
|
103
|
-
>
|
|
95
|
+
ReturnType<typeof createSQLiteCorePersistenceAdapter>
|
|
104
96
|
>()
|
|
105
97
|
|
|
106
98
|
const getAdapterForCollection = (
|
|
@@ -120,10 +112,7 @@ export function createExpoSQLitePersistence<
|
|
|
120
112
|
return cachedAdapter
|
|
121
113
|
}
|
|
122
114
|
|
|
123
|
-
const adapter = createSQLiteCorePersistenceAdapter
|
|
124
|
-
Record<string, unknown>,
|
|
125
|
-
string | number
|
|
126
|
-
>({
|
|
115
|
+
const adapter = createSQLiteCorePersistenceAdapter({
|
|
127
116
|
...adapterBaseOptions,
|
|
128
117
|
driver,
|
|
129
118
|
schemaMismatchPolicy: resolvedSchemaMismatchPolicy,
|
|
@@ -136,11 +125,8 @@ export function createExpoSQLitePersistence<
|
|
|
136
125
|
const createCollectionPersistence = (
|
|
137
126
|
mode: PersistedCollectionMode,
|
|
138
127
|
schemaVersion: number | undefined,
|
|
139
|
-
): PersistedCollectionPersistence
|
|
140
|
-
adapter: getAdapterForCollection(
|
|
141
|
-
mode,
|
|
142
|
-
schemaVersion,
|
|
143
|
-
) as unknown as PersistedCollectionPersistence<T, TKey>[`adapter`],
|
|
128
|
+
): PersistedCollectionPersistence => ({
|
|
129
|
+
adapter: getAdapterForCollection(mode, schemaVersion),
|
|
144
130
|
coordinator: resolvedCoordinator,
|
|
145
131
|
})
|
|
146
132
|
|