@tanstack/capacitor-db-sqlite-persistence 0.1.6 → 0.1.8
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/capacitor-persistence.cjs +1 -4
- package/dist/cjs/capacitor-persistence.cjs.map +1 -1
- package/dist/cjs/capacitor-persistence.d.cts +1 -1
- package/dist/cjs/capacitor.cjs.map +1 -1
- package/dist/cjs/capacitor.d.cts +1 -1
- package/dist/esm/capacitor-persistence.d.ts +1 -1
- package/dist/esm/capacitor-persistence.js +1 -4
- package/dist/esm/capacitor-persistence.js.map +1 -1
- package/dist/esm/capacitor.d.ts +1 -1
- package/dist/esm/capacitor.js.map +1 -1
- package/package.json +2 -2
- package/src/capacitor-persistence.ts +6 -20
- package/src/capacitor.ts +3 -6
|
@@ -59,10 +59,7 @@ function createCapacitorSQLitePersistence(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(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitor-persistence.cjs","sources":["../../src/capacitor-persistence.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { CapacitorSQLiteDriver } from './capacitor-sqlite-driver'\nimport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\n\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-sqlite-driver'\nexport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\n\ntype CapacitorSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n | CapacitorSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\ntype CapacitorSQLitePersistenceBaseOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: SQLiteDBConnection\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: CapacitorSQLiteSchemaMismatchPolicy\n}\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceBaseOptions\n\nfunction normalizeSchemaMismatchPolicy(\n policy: CapacitorSQLiteSchemaMismatchPolicy,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: CapacitorSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\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: CapacitorSQLiteCoreSchemaMismatchPolicy,\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: CapacitorSQLitePersistenceOptions,\n): SQLiteDriver {\n return new CapacitorSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: CapacitorSQLitePersistenceOptions,\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 createCapacitorSQLitePersistence
|
|
1
|
+
{"version":3,"file":"capacitor-persistence.cjs","sources":["../../src/capacitor-persistence.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { CapacitorSQLiteDriver } from './capacitor-sqlite-driver'\nimport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\n\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-sqlite-driver'\nexport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\n\ntype CapacitorSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n | CapacitorSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\ntype CapacitorSQLitePersistenceBaseOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: SQLiteDBConnection\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: CapacitorSQLiteSchemaMismatchPolicy\n}\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceBaseOptions\n\nfunction normalizeSchemaMismatchPolicy(\n policy: CapacitorSQLiteSchemaMismatchPolicy,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: CapacitorSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\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: CapacitorSQLiteCoreSchemaMismatchPolicy,\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: CapacitorSQLitePersistenceOptions,\n): SQLiteDriver {\n return new CapacitorSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: CapacitorSQLitePersistenceOptions,\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 createCapacitorSQLitePersistence(\n options: CapacitorSQLitePersistenceOptions,\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":["CapacitorSQLiteDriver","SingleProcessCoordinator","createSQLiteCorePersistenceAdapter"],"mappings":";;;;AAsCA,SAAS,8BACP,QACyC;AACzC,MAAI,WAAW,SAAS;AACtB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,4BACP,gBACA,MACyC;AACzC,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,sBAAAA,sBAAsB;AAAA,IAC/B,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,iCACd,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;;"}
|
|
@@ -10,4 +10,4 @@ type CapacitorSQLitePersistenceBaseOptions = Omit<SQLiteCoreAdapterOptions, `dri
|
|
|
10
10
|
schemaMismatchPolicy?: CapacitorSQLiteSchemaMismatchPolicy;
|
|
11
11
|
};
|
|
12
12
|
export type CapacitorSQLitePersistenceOptions = CapacitorSQLitePersistenceBaseOptions;
|
|
13
|
-
export declare function createCapacitorSQLitePersistence
|
|
13
|
+
export declare function createCapacitorSQLitePersistence(options: CapacitorSQLitePersistenceOptions): PersistedCollectionPersistence;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitor.cjs","sources":["../../src/capacitor.ts"],"sourcesContent":["import { createCapacitorSQLitePersistence as createPersistence } from './capacitor-persistence'\nimport type {\n CapacitorSQLitePersistenceOptions as CapacitorSQLitePersistenceOptionsBase,\n CapacitorSQLiteSchemaMismatchPolicy as CapacitorSQLiteSchemaMismatchPolicyBase,\n} from './capacitor-persistence'\nimport type { PersistedCollectionPersistence } from '@tanstack/db-sqlite-persistence-core'\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceOptionsBase\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n CapacitorSQLiteSchemaMismatchPolicyBase\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-persistence'\nexport type { SQLiteDBConnection } from './capacitor-persistence'\n\nexport function createCapacitorSQLitePersistence
|
|
1
|
+
{"version":3,"file":"capacitor.cjs","sources":["../../src/capacitor.ts"],"sourcesContent":["import { createCapacitorSQLitePersistence as createPersistence } from './capacitor-persistence'\nimport type {\n CapacitorSQLitePersistenceOptions as CapacitorSQLitePersistenceOptionsBase,\n CapacitorSQLiteSchemaMismatchPolicy as CapacitorSQLiteSchemaMismatchPolicyBase,\n} from './capacitor-persistence'\nimport type { PersistedCollectionPersistence } from '@tanstack/db-sqlite-persistence-core'\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceOptionsBase\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n CapacitorSQLiteSchemaMismatchPolicyBase\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-persistence'\nexport type { SQLiteDBConnection } from './capacitor-persistence'\n\nexport function createCapacitorSQLitePersistence(\n options: CapacitorSQLitePersistenceOptions,\n): PersistedCollectionPersistence {\n return createPersistence(options)\n}\n"],"names":["createPersistence"],"mappings":";;;AAcO,SAAS,iCACd,SACgC;AAChC,SAAOA,qBAAAA,iCAAkB,OAAO;AAClC;;"}
|
package/dist/cjs/capacitor.d.cts
CHANGED
|
@@ -4,4 +4,4 @@ export type CapacitorSQLitePersistenceOptions = CapacitorSQLitePersistenceOption
|
|
|
4
4
|
export type CapacitorSQLiteSchemaMismatchPolicy = CapacitorSQLiteSchemaMismatchPolicyBase;
|
|
5
5
|
export type { CapacitorSQLiteDatabaseLike } from './capacitor-persistence.cjs';
|
|
6
6
|
export type { SQLiteDBConnection } from './capacitor-persistence.cjs';
|
|
7
|
-
export declare function createCapacitorSQLitePersistence
|
|
7
|
+
export declare function createCapacitorSQLitePersistence(options: CapacitorSQLitePersistenceOptions): PersistedCollectionPersistence;
|
|
@@ -10,4 +10,4 @@ type CapacitorSQLitePersistenceBaseOptions = Omit<SQLiteCoreAdapterOptions, `dri
|
|
|
10
10
|
schemaMismatchPolicy?: CapacitorSQLiteSchemaMismatchPolicy;
|
|
11
11
|
};
|
|
12
12
|
export type CapacitorSQLitePersistenceOptions = CapacitorSQLitePersistenceBaseOptions;
|
|
13
|
-
export declare function createCapacitorSQLitePersistence
|
|
13
|
+
export declare function createCapacitorSQLitePersistence(options: CapacitorSQLitePersistenceOptions): PersistedCollectionPersistence;
|
|
@@ -57,10 +57,7 @@ function createCapacitorSQLitePersistence(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(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitor-persistence.js","sources":["../../src/capacitor-persistence.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { CapacitorSQLiteDriver } from './capacitor-sqlite-driver'\nimport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\n\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-sqlite-driver'\nexport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\n\ntype CapacitorSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n | CapacitorSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\ntype CapacitorSQLitePersistenceBaseOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: SQLiteDBConnection\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: CapacitorSQLiteSchemaMismatchPolicy\n}\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceBaseOptions\n\nfunction normalizeSchemaMismatchPolicy(\n policy: CapacitorSQLiteSchemaMismatchPolicy,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: CapacitorSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\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: CapacitorSQLiteCoreSchemaMismatchPolicy,\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: CapacitorSQLitePersistenceOptions,\n): SQLiteDriver {\n return new CapacitorSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: CapacitorSQLitePersistenceOptions,\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 createCapacitorSQLitePersistence
|
|
1
|
+
{"version":3,"file":"capacitor-persistence.js","sources":["../../src/capacitor-persistence.ts"],"sourcesContent":["import {\n SingleProcessCoordinator,\n createSQLiteCorePersistenceAdapter,\n} from '@tanstack/db-sqlite-persistence-core'\nimport { CapacitorSQLiteDriver } from './capacitor-sqlite-driver'\nimport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\nimport type {\n PersistedCollectionCoordinator,\n PersistedCollectionMode,\n PersistedCollectionPersistence,\n SQLiteCoreAdapterOptions,\n SQLiteDriver,\n} from '@tanstack/db-sqlite-persistence-core'\n\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-sqlite-driver'\nexport type { SQLiteDBConnection } from '@capacitor-community/sqlite'\n\ntype CapacitorSQLiteCoreSchemaMismatchPolicy =\n | `sync-present-reset`\n | `sync-absent-error`\n | `reset`\n\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n | CapacitorSQLiteCoreSchemaMismatchPolicy\n | `throw`\n\ntype CapacitorSQLitePersistenceBaseOptions = Omit<\n SQLiteCoreAdapterOptions,\n `driver` | `schemaVersion` | `schemaMismatchPolicy`\n> & {\n database: SQLiteDBConnection\n coordinator?: PersistedCollectionCoordinator\n schemaMismatchPolicy?: CapacitorSQLiteSchemaMismatchPolicy\n}\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceBaseOptions\n\nfunction normalizeSchemaMismatchPolicy(\n policy: CapacitorSQLiteSchemaMismatchPolicy,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\n if (policy === `throw`) {\n return `sync-absent-error`\n }\n\n return policy\n}\n\nfunction resolveSchemaMismatchPolicy(\n explicitPolicy: CapacitorSQLiteSchemaMismatchPolicy | undefined,\n mode: PersistedCollectionMode,\n): CapacitorSQLiteCoreSchemaMismatchPolicy {\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: CapacitorSQLiteCoreSchemaMismatchPolicy,\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: CapacitorSQLitePersistenceOptions,\n): SQLiteDriver {\n return new CapacitorSQLiteDriver({\n database: options.database,\n })\n}\n\nfunction resolveAdapterBaseOptions(\n options: CapacitorSQLitePersistenceOptions,\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 createCapacitorSQLitePersistence(\n options: CapacitorSQLitePersistenceOptions,\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":";;AAsCA,SAAS,8BACP,QACyC;AACzC,MAAI,WAAW,SAAS;AACtB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,4BACP,gBACA,MACyC;AACzC,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,sBAAsB;AAAA,IAC/B,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,iCACd,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/dist/esm/capacitor.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export type CapacitorSQLitePersistenceOptions = CapacitorSQLitePersistenceOption
|
|
|
4
4
|
export type CapacitorSQLiteSchemaMismatchPolicy = CapacitorSQLiteSchemaMismatchPolicyBase;
|
|
5
5
|
export type { CapacitorSQLiteDatabaseLike } from './capacitor-persistence.js';
|
|
6
6
|
export type { SQLiteDBConnection } from './capacitor-persistence.js';
|
|
7
|
-
export declare function createCapacitorSQLitePersistence
|
|
7
|
+
export declare function createCapacitorSQLitePersistence(options: CapacitorSQLitePersistenceOptions): PersistedCollectionPersistence;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitor.js","sources":["../../src/capacitor.ts"],"sourcesContent":["import { createCapacitorSQLitePersistence as createPersistence } from './capacitor-persistence'\nimport type {\n CapacitorSQLitePersistenceOptions as CapacitorSQLitePersistenceOptionsBase,\n CapacitorSQLiteSchemaMismatchPolicy as CapacitorSQLiteSchemaMismatchPolicyBase,\n} from './capacitor-persistence'\nimport type { PersistedCollectionPersistence } from '@tanstack/db-sqlite-persistence-core'\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceOptionsBase\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n CapacitorSQLiteSchemaMismatchPolicyBase\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-persistence'\nexport type { SQLiteDBConnection } from './capacitor-persistence'\n\nexport function createCapacitorSQLitePersistence
|
|
1
|
+
{"version":3,"file":"capacitor.js","sources":["../../src/capacitor.ts"],"sourcesContent":["import { createCapacitorSQLitePersistence as createPersistence } from './capacitor-persistence'\nimport type {\n CapacitorSQLitePersistenceOptions as CapacitorSQLitePersistenceOptionsBase,\n CapacitorSQLiteSchemaMismatchPolicy as CapacitorSQLiteSchemaMismatchPolicyBase,\n} from './capacitor-persistence'\nimport type { PersistedCollectionPersistence } from '@tanstack/db-sqlite-persistence-core'\n\nexport type CapacitorSQLitePersistenceOptions =\n CapacitorSQLitePersistenceOptionsBase\nexport type CapacitorSQLiteSchemaMismatchPolicy =\n CapacitorSQLiteSchemaMismatchPolicyBase\nexport type { CapacitorSQLiteDatabaseLike } from './capacitor-persistence'\nexport type { SQLiteDBConnection } from './capacitor-persistence'\n\nexport function createCapacitorSQLitePersistence(\n options: CapacitorSQLitePersistenceOptions,\n): PersistedCollectionPersistence {\n return createPersistence(options)\n}\n"],"names":["createPersistence"],"mappings":";AAcO,SAAS,iCACd,SACgC;AAChC,SAAOA,mCAAkB,OAAO;AAClC;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/capacitor-db-sqlite-persistence",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Capacitor 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.8"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"@capacitor-community/sqlite": "^8.0.1",
|
|
@@ -87,24 +87,16 @@ function resolveAdapterBaseOptions(
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
export function createCapacitorSQLitePersistence
|
|
91
|
-
T extends object,
|
|
92
|
-
TKey extends string | number = string | number,
|
|
93
|
-
>(
|
|
90
|
+
export function createCapacitorSQLitePersistence(
|
|
94
91
|
options: CapacitorSQLitePersistenceOptions,
|
|
95
|
-
): PersistedCollectionPersistence
|
|
92
|
+
): PersistedCollectionPersistence {
|
|
96
93
|
const { coordinator, schemaMismatchPolicy } = options
|
|
97
94
|
const driver = createInternalSQLiteDriver(options)
|
|
98
95
|
const adapterBaseOptions = resolveAdapterBaseOptions(options)
|
|
99
96
|
const resolvedCoordinator = coordinator ?? new SingleProcessCoordinator()
|
|
100
97
|
const adapterCache = new Map<
|
|
101
98
|
string,
|
|
102
|
-
ReturnType<
|
|
103
|
-
typeof createSQLiteCorePersistenceAdapter<
|
|
104
|
-
Record<string, unknown>,
|
|
105
|
-
string | number
|
|
106
|
-
>
|
|
107
|
-
>
|
|
99
|
+
ReturnType<typeof createSQLiteCorePersistenceAdapter>
|
|
108
100
|
>()
|
|
109
101
|
|
|
110
102
|
const getAdapterForCollection = (
|
|
@@ -124,10 +116,7 @@ export function createCapacitorSQLitePersistence<
|
|
|
124
116
|
return cachedAdapter
|
|
125
117
|
}
|
|
126
118
|
|
|
127
|
-
const adapter = createSQLiteCorePersistenceAdapter
|
|
128
|
-
Record<string, unknown>,
|
|
129
|
-
string | number
|
|
130
|
-
>({
|
|
119
|
+
const adapter = createSQLiteCorePersistenceAdapter({
|
|
131
120
|
...adapterBaseOptions,
|
|
132
121
|
driver,
|
|
133
122
|
schemaMismatchPolicy: resolvedSchemaMismatchPolicy,
|
|
@@ -140,11 +129,8 @@ export function createCapacitorSQLitePersistence<
|
|
|
140
129
|
const createCollectionPersistence = (
|
|
141
130
|
mode: PersistedCollectionMode,
|
|
142
131
|
schemaVersion: number | undefined,
|
|
143
|
-
): PersistedCollectionPersistence
|
|
144
|
-
adapter: getAdapterForCollection(
|
|
145
|
-
mode,
|
|
146
|
-
schemaVersion,
|
|
147
|
-
) as unknown as PersistedCollectionPersistence<T, TKey>[`adapter`],
|
|
132
|
+
): PersistedCollectionPersistence => ({
|
|
133
|
+
adapter: getAdapterForCollection(mode, schemaVersion),
|
|
148
134
|
coordinator: resolvedCoordinator,
|
|
149
135
|
})
|
|
150
136
|
|
package/src/capacitor.ts
CHANGED
|
@@ -12,11 +12,8 @@ export type CapacitorSQLiteSchemaMismatchPolicy =
|
|
|
12
12
|
export type { CapacitorSQLiteDatabaseLike } from './capacitor-persistence'
|
|
13
13
|
export type { SQLiteDBConnection } from './capacitor-persistence'
|
|
14
14
|
|
|
15
|
-
export function createCapacitorSQLitePersistence
|
|
16
|
-
T extends object,
|
|
17
|
-
TKey extends string | number = string | number,
|
|
18
|
-
>(
|
|
15
|
+
export function createCapacitorSQLitePersistence(
|
|
19
16
|
options: CapacitorSQLitePersistenceOptions,
|
|
20
|
-
): PersistedCollectionPersistence
|
|
21
|
-
return createPersistence
|
|
17
|
+
): PersistedCollectionPersistence {
|
|
18
|
+
return createPersistence(options)
|
|
22
19
|
}
|