@anfenn/dync 1.0.3 → 1.0.4
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/README.md +31 -13
- package/dist/{chunk-66PSQW4D.js → chunk-PCA4XM2N.js} +17 -17
- package/dist/chunk-PCA4XM2N.js.map +1 -0
- package/dist/{dexie-Bv-fV10P.d.cts → dexie-1_xyU5MV.d.cts} +41 -38
- package/dist/{dexie-DJFApKsM.d.ts → dexie-ChZ0o0Sz.d.ts} +41 -38
- package/dist/dexie.cjs +40 -40
- package/dist/dexie.cjs.map +1 -1
- package/dist/dexie.d.cts +1 -1
- package/dist/dexie.d.ts +1 -1
- package/dist/dexie.js +40 -40
- package/dist/dexie.js.map +1 -1
- package/dist/index.cjs +16 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{index.shared-CkYsQYyn.d.ts → index.shared-Byhq6TyU.d.ts} +1 -1
- package/dist/{index.shared-BGwvMH8f.d.cts → index.shared-DsDBNWlz.d.cts} +1 -1
- package/dist/react/index.cjs +2 -2
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.cts +2 -2
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.js +1 -1
- package/package.json +1 -1
- package/src/core/tableEnhancers.ts +17 -17
- package/src/storage/dexie/DexieAdapter.ts +2 -2
- package/src/storage/dexie/{DexieStorageCollection.ts → DexieCollection.ts} +12 -12
- package/src/storage/dexie/DexieTable.ts +123 -0
- package/src/storage/dexie/{DexieStorageWhereClause.ts → DexieWhereClause.ts} +21 -21
- package/src/storage/dexie/index.ts +3 -3
- package/src/storage/memory/MemoryTable.ts +40 -40
- package/src/storage/sqlite/SQLiteTable.ts +34 -36
- package/src/storage/types.ts +22 -19
- package/dist/chunk-66PSQW4D.js.map +0 -1
- package/src/storage/dexie/DexieStorageTable.ts +0 -123
|
@@ -137,42 +137,42 @@ declare class MemoryTable<T extends MemoryRecord = MemoryRecord> implements Stor
|
|
|
137
137
|
readonly primaryKey: unknown;
|
|
138
138
|
readonly hook: unknown;
|
|
139
139
|
readonly raw: {
|
|
140
|
-
add: (item: T) => Promise<
|
|
141
|
-
put: (item: T) => Promise<
|
|
142
|
-
update: (key:
|
|
143
|
-
delete: (key:
|
|
144
|
-
get: (key:
|
|
145
|
-
bulkAdd: (items: T[]) => Promise<
|
|
146
|
-
bulkPut: (items: T[]) => Promise<
|
|
140
|
+
add: (item: T) => Promise<string>;
|
|
141
|
+
put: (item: T) => Promise<string>;
|
|
142
|
+
update: (key: string, changes: Partial<T>) => Promise<number>;
|
|
143
|
+
delete: (key: string) => Promise<void>;
|
|
144
|
+
get: (key: string) => Promise<T | undefined>;
|
|
145
|
+
bulkAdd: (items: T[]) => Promise<string[]>;
|
|
146
|
+
bulkPut: (items: T[]) => Promise<string[]>;
|
|
147
147
|
bulkUpdate: (keysAndChanges: Array<{
|
|
148
|
-
key:
|
|
148
|
+
key: string;
|
|
149
149
|
changes: Partial<T>;
|
|
150
150
|
}>) => Promise<number>;
|
|
151
|
-
bulkDelete: (keys:
|
|
151
|
+
bulkDelete: (keys: string[]) => Promise<void>;
|
|
152
152
|
clear: () => Promise<void>;
|
|
153
153
|
};
|
|
154
154
|
private readonly records;
|
|
155
155
|
constructor(name: string);
|
|
156
|
-
add(item: T): Promise<
|
|
157
|
-
put(item: T): Promise<
|
|
158
|
-
update(key:
|
|
159
|
-
delete(key:
|
|
156
|
+
add(item: AddItem<T>): Promise<string>;
|
|
157
|
+
put(item: T): Promise<string>;
|
|
158
|
+
update(key: string, changes: Partial<T>): Promise<number>;
|
|
159
|
+
delete(key: string): Promise<void>;
|
|
160
160
|
clear(): Promise<void>;
|
|
161
161
|
private baseClear;
|
|
162
|
-
get(key:
|
|
162
|
+
get(key: string): Promise<T | undefined>;
|
|
163
163
|
toArray(): Promise<T[]>;
|
|
164
164
|
count(): Promise<number>;
|
|
165
|
-
bulkAdd(items: T[]): Promise<
|
|
165
|
+
bulkAdd(items: AddItem<T>[]): Promise<string[]>;
|
|
166
166
|
private baseBulkAdd;
|
|
167
|
-
bulkPut(items: T[]): Promise<
|
|
167
|
+
bulkPut(items: T[]): Promise<string[]>;
|
|
168
168
|
private baseBulkPut;
|
|
169
|
-
bulkGet(keys:
|
|
169
|
+
bulkGet(keys: string[]): Promise<Array<T | undefined>>;
|
|
170
170
|
bulkUpdate(keysAndChanges: Array<{
|
|
171
|
-
key:
|
|
171
|
+
key: string;
|
|
172
172
|
changes: Partial<T>;
|
|
173
173
|
}>): Promise<number>;
|
|
174
174
|
private baseBulkUpdate;
|
|
175
|
-
bulkDelete(keys:
|
|
175
|
+
bulkDelete(keys: string[]): Promise<void>;
|
|
176
176
|
private baseBulkDelete;
|
|
177
177
|
where(index: string | string[]): StorageWhereClause<T>;
|
|
178
178
|
orderBy(index: string | string[]): StorageCollection<T>;
|
|
@@ -381,26 +381,29 @@ interface StorageWhereClause<T = any> {
|
|
|
381
381
|
noneOf(values: any[]): StorageCollection<T>;
|
|
382
382
|
notEqual(value: any): StorageCollection<T>;
|
|
383
383
|
}
|
|
384
|
+
type AddItem<T> = Omit<T, '_localId'> & {
|
|
385
|
+
_localId?: string;
|
|
386
|
+
};
|
|
384
387
|
interface StorageTable<T = any> {
|
|
385
388
|
readonly name: string;
|
|
386
389
|
readonly schema: unknown;
|
|
387
390
|
readonly hook: unknown;
|
|
388
|
-
add(item: T): Promise<
|
|
389
|
-
put(item: T): Promise<
|
|
390
|
-
update(key:
|
|
391
|
-
delete(key:
|
|
391
|
+
add(item: AddItem<T>): Promise<string>;
|
|
392
|
+
put(item: T): Promise<string>;
|
|
393
|
+
update(key: string, changes: Partial<T>): Promise<number>;
|
|
394
|
+
delete(key: string): Promise<void>;
|
|
392
395
|
clear(): Promise<void>;
|
|
393
|
-
get(key:
|
|
396
|
+
get(key: string): Promise<T | undefined>;
|
|
394
397
|
toArray(): Promise<T[]>;
|
|
395
398
|
count(): Promise<number>;
|
|
396
|
-
bulkAdd(items: T[]): Promise<
|
|
397
|
-
bulkPut(items: T[]): Promise<
|
|
398
|
-
bulkGet(keys:
|
|
399
|
+
bulkAdd(items: AddItem<T>[]): Promise<string[]>;
|
|
400
|
+
bulkPut(items: T[]): Promise<string[]>;
|
|
401
|
+
bulkGet(keys: string[]): Promise<Array<T | undefined>>;
|
|
399
402
|
bulkUpdate(keysAndChanges: Array<{
|
|
400
|
-
key:
|
|
403
|
+
key: string;
|
|
401
404
|
changes: Partial<T>;
|
|
402
405
|
}>): Promise<number>;
|
|
403
|
-
bulkDelete(keys:
|
|
406
|
+
bulkDelete(keys: string[]): Promise<void>;
|
|
404
407
|
where(index: string | string[]): StorageWhereClause<T>;
|
|
405
408
|
orderBy(index: string | string[]): StorageCollection<T>;
|
|
406
409
|
reverse(): StorageCollection<T>;
|
|
@@ -410,18 +413,18 @@ interface StorageTable<T = any> {
|
|
|
410
413
|
each(callback: (item: T) => void | Promise<void>): Promise<void>;
|
|
411
414
|
jsFilter(predicate: (item: T) => boolean): StorageCollection<T>;
|
|
412
415
|
readonly raw: {
|
|
413
|
-
add(item: T): Promise<
|
|
414
|
-
put(item: T): Promise<
|
|
415
|
-
update(key:
|
|
416
|
-
delete(key:
|
|
417
|
-
get(key:
|
|
418
|
-
bulkAdd(items: T[]): Promise<
|
|
419
|
-
bulkPut(items: T[]): Promise<
|
|
416
|
+
add(item: T): Promise<string>;
|
|
417
|
+
put(item: T): Promise<string>;
|
|
418
|
+
update(key: string, changes: Partial<T>): Promise<number>;
|
|
419
|
+
delete(key: string): Promise<void>;
|
|
420
|
+
get(key: string): Promise<T | undefined>;
|
|
421
|
+
bulkAdd(items: T[]): Promise<string[]>;
|
|
422
|
+
bulkPut(items: T[]): Promise<string[]>;
|
|
420
423
|
bulkUpdate(keysAndChanges: Array<{
|
|
421
|
-
key:
|
|
424
|
+
key: string;
|
|
422
425
|
changes: Partial<T>;
|
|
423
426
|
}>): Promise<number>;
|
|
424
|
-
bulkDelete(keys:
|
|
427
|
+
bulkDelete(keys: string[]): Promise<void>;
|
|
425
428
|
clear(): Promise<void>;
|
|
426
429
|
};
|
|
427
430
|
}
|
|
@@ -137,42 +137,42 @@ declare class MemoryTable<T extends MemoryRecord = MemoryRecord> implements Stor
|
|
|
137
137
|
readonly primaryKey: unknown;
|
|
138
138
|
readonly hook: unknown;
|
|
139
139
|
readonly raw: {
|
|
140
|
-
add: (item: T) => Promise<
|
|
141
|
-
put: (item: T) => Promise<
|
|
142
|
-
update: (key:
|
|
143
|
-
delete: (key:
|
|
144
|
-
get: (key:
|
|
145
|
-
bulkAdd: (items: T[]) => Promise<
|
|
146
|
-
bulkPut: (items: T[]) => Promise<
|
|
140
|
+
add: (item: T) => Promise<string>;
|
|
141
|
+
put: (item: T) => Promise<string>;
|
|
142
|
+
update: (key: string, changes: Partial<T>) => Promise<number>;
|
|
143
|
+
delete: (key: string) => Promise<void>;
|
|
144
|
+
get: (key: string) => Promise<T | undefined>;
|
|
145
|
+
bulkAdd: (items: T[]) => Promise<string[]>;
|
|
146
|
+
bulkPut: (items: T[]) => Promise<string[]>;
|
|
147
147
|
bulkUpdate: (keysAndChanges: Array<{
|
|
148
|
-
key:
|
|
148
|
+
key: string;
|
|
149
149
|
changes: Partial<T>;
|
|
150
150
|
}>) => Promise<number>;
|
|
151
|
-
bulkDelete: (keys:
|
|
151
|
+
bulkDelete: (keys: string[]) => Promise<void>;
|
|
152
152
|
clear: () => Promise<void>;
|
|
153
153
|
};
|
|
154
154
|
private readonly records;
|
|
155
155
|
constructor(name: string);
|
|
156
|
-
add(item: T): Promise<
|
|
157
|
-
put(item: T): Promise<
|
|
158
|
-
update(key:
|
|
159
|
-
delete(key:
|
|
156
|
+
add(item: AddItem<T>): Promise<string>;
|
|
157
|
+
put(item: T): Promise<string>;
|
|
158
|
+
update(key: string, changes: Partial<T>): Promise<number>;
|
|
159
|
+
delete(key: string): Promise<void>;
|
|
160
160
|
clear(): Promise<void>;
|
|
161
161
|
private baseClear;
|
|
162
|
-
get(key:
|
|
162
|
+
get(key: string): Promise<T | undefined>;
|
|
163
163
|
toArray(): Promise<T[]>;
|
|
164
164
|
count(): Promise<number>;
|
|
165
|
-
bulkAdd(items: T[]): Promise<
|
|
165
|
+
bulkAdd(items: AddItem<T>[]): Promise<string[]>;
|
|
166
166
|
private baseBulkAdd;
|
|
167
|
-
bulkPut(items: T[]): Promise<
|
|
167
|
+
bulkPut(items: T[]): Promise<string[]>;
|
|
168
168
|
private baseBulkPut;
|
|
169
|
-
bulkGet(keys:
|
|
169
|
+
bulkGet(keys: string[]): Promise<Array<T | undefined>>;
|
|
170
170
|
bulkUpdate(keysAndChanges: Array<{
|
|
171
|
-
key:
|
|
171
|
+
key: string;
|
|
172
172
|
changes: Partial<T>;
|
|
173
173
|
}>): Promise<number>;
|
|
174
174
|
private baseBulkUpdate;
|
|
175
|
-
bulkDelete(keys:
|
|
175
|
+
bulkDelete(keys: string[]): Promise<void>;
|
|
176
176
|
private baseBulkDelete;
|
|
177
177
|
where(index: string | string[]): StorageWhereClause<T>;
|
|
178
178
|
orderBy(index: string | string[]): StorageCollection<T>;
|
|
@@ -381,26 +381,29 @@ interface StorageWhereClause<T = any> {
|
|
|
381
381
|
noneOf(values: any[]): StorageCollection<T>;
|
|
382
382
|
notEqual(value: any): StorageCollection<T>;
|
|
383
383
|
}
|
|
384
|
+
type AddItem<T> = Omit<T, '_localId'> & {
|
|
385
|
+
_localId?: string;
|
|
386
|
+
};
|
|
384
387
|
interface StorageTable<T = any> {
|
|
385
388
|
readonly name: string;
|
|
386
389
|
readonly schema: unknown;
|
|
387
390
|
readonly hook: unknown;
|
|
388
|
-
add(item: T): Promise<
|
|
389
|
-
put(item: T): Promise<
|
|
390
|
-
update(key:
|
|
391
|
-
delete(key:
|
|
391
|
+
add(item: AddItem<T>): Promise<string>;
|
|
392
|
+
put(item: T): Promise<string>;
|
|
393
|
+
update(key: string, changes: Partial<T>): Promise<number>;
|
|
394
|
+
delete(key: string): Promise<void>;
|
|
392
395
|
clear(): Promise<void>;
|
|
393
|
-
get(key:
|
|
396
|
+
get(key: string): Promise<T | undefined>;
|
|
394
397
|
toArray(): Promise<T[]>;
|
|
395
398
|
count(): Promise<number>;
|
|
396
|
-
bulkAdd(items: T[]): Promise<
|
|
397
|
-
bulkPut(items: T[]): Promise<
|
|
398
|
-
bulkGet(keys:
|
|
399
|
+
bulkAdd(items: AddItem<T>[]): Promise<string[]>;
|
|
400
|
+
bulkPut(items: T[]): Promise<string[]>;
|
|
401
|
+
bulkGet(keys: string[]): Promise<Array<T | undefined>>;
|
|
399
402
|
bulkUpdate(keysAndChanges: Array<{
|
|
400
|
-
key:
|
|
403
|
+
key: string;
|
|
401
404
|
changes: Partial<T>;
|
|
402
405
|
}>): Promise<number>;
|
|
403
|
-
bulkDelete(keys:
|
|
406
|
+
bulkDelete(keys: string[]): Promise<void>;
|
|
404
407
|
where(index: string | string[]): StorageWhereClause<T>;
|
|
405
408
|
orderBy(index: string | string[]): StorageCollection<T>;
|
|
406
409
|
reverse(): StorageCollection<T>;
|
|
@@ -410,18 +413,18 @@ interface StorageTable<T = any> {
|
|
|
410
413
|
each(callback: (item: T) => void | Promise<void>): Promise<void>;
|
|
411
414
|
jsFilter(predicate: (item: T) => boolean): StorageCollection<T>;
|
|
412
415
|
readonly raw: {
|
|
413
|
-
add(item: T): Promise<
|
|
414
|
-
put(item: T): Promise<
|
|
415
|
-
update(key:
|
|
416
|
-
delete(key:
|
|
417
|
-
get(key:
|
|
418
|
-
bulkAdd(items: T[]): Promise<
|
|
419
|
-
bulkPut(items: T[]): Promise<
|
|
416
|
+
add(item: T): Promise<string>;
|
|
417
|
+
put(item: T): Promise<string>;
|
|
418
|
+
update(key: string, changes: Partial<T>): Promise<number>;
|
|
419
|
+
delete(key: string): Promise<void>;
|
|
420
|
+
get(key: string): Promise<T | undefined>;
|
|
421
|
+
bulkAdd(items: T[]): Promise<string[]>;
|
|
422
|
+
bulkPut(items: T[]): Promise<string[]>;
|
|
420
423
|
bulkUpdate(keysAndChanges: Array<{
|
|
421
|
-
key:
|
|
424
|
+
key: string;
|
|
422
425
|
changes: Partial<T>;
|
|
423
426
|
}>): Promise<number>;
|
|
424
|
-
bulkDelete(keys:
|
|
427
|
+
bulkDelete(keys: string[]): Promise<void>;
|
|
425
428
|
clear(): Promise<void>;
|
|
426
429
|
};
|
|
427
430
|
}
|
package/dist/dexie.cjs
CHANGED
|
@@ -54,68 +54,68 @@ var DexieQueryContext = class {
|
|
|
54
54
|
// src/storage/dexie/helpers.ts
|
|
55
55
|
var normalizeIndexName = (index) => Array.isArray(index) ? `[${index.join("+")}]` : index;
|
|
56
56
|
|
|
57
|
-
// src/storage/dexie/
|
|
58
|
-
var
|
|
57
|
+
// src/storage/dexie/DexieWhereClause.ts
|
|
58
|
+
var DexieWhereClause = class {
|
|
59
59
|
clause;
|
|
60
60
|
constructor(clause) {
|
|
61
61
|
this.clause = clause;
|
|
62
62
|
}
|
|
63
63
|
equals(value) {
|
|
64
|
-
return new
|
|
64
|
+
return new DexieCollection(this.clause.equals(value));
|
|
65
65
|
}
|
|
66
66
|
above(value) {
|
|
67
|
-
return new
|
|
67
|
+
return new DexieCollection(this.clause.above(value));
|
|
68
68
|
}
|
|
69
69
|
aboveOrEqual(value) {
|
|
70
|
-
return new
|
|
70
|
+
return new DexieCollection(this.clause.aboveOrEqual(value));
|
|
71
71
|
}
|
|
72
72
|
below(value) {
|
|
73
|
-
return new
|
|
73
|
+
return new DexieCollection(this.clause.below(value));
|
|
74
74
|
}
|
|
75
75
|
belowOrEqual(value) {
|
|
76
|
-
return new
|
|
76
|
+
return new DexieCollection(this.clause.belowOrEqual(value));
|
|
77
77
|
}
|
|
78
78
|
between(lower, upper, includeLower, includeUpper) {
|
|
79
|
-
return new
|
|
79
|
+
return new DexieCollection(this.clause.between(lower, upper, includeLower, includeUpper));
|
|
80
80
|
}
|
|
81
81
|
inAnyRange(ranges, options) {
|
|
82
82
|
const normalizedOptions = options ? {
|
|
83
83
|
includeLowers: options.includeLower,
|
|
84
84
|
includeUppers: options.includeUpper
|
|
85
85
|
} : void 0;
|
|
86
|
-
return new
|
|
86
|
+
return new DexieCollection(this.clause.inAnyRange(ranges, normalizedOptions));
|
|
87
87
|
}
|
|
88
88
|
startsWith(prefix) {
|
|
89
|
-
return new
|
|
89
|
+
return new DexieCollection(this.clause.startsWith(prefix));
|
|
90
90
|
}
|
|
91
91
|
startsWithIgnoreCase(prefix) {
|
|
92
|
-
return new
|
|
92
|
+
return new DexieCollection(this.clause.startsWithIgnoreCase(prefix));
|
|
93
93
|
}
|
|
94
94
|
startsWithAnyOf(...args) {
|
|
95
95
|
const values = this.flattenArgs(args);
|
|
96
|
-
return new
|
|
96
|
+
return new DexieCollection(this.clause.startsWithAnyOf(...values));
|
|
97
97
|
}
|
|
98
98
|
startsWithAnyOfIgnoreCase(...args) {
|
|
99
99
|
const values = this.flattenArgs(args);
|
|
100
|
-
return new
|
|
100
|
+
return new DexieCollection(this.clause.startsWithAnyOfIgnoreCase(...values));
|
|
101
101
|
}
|
|
102
102
|
equalsIgnoreCase(value) {
|
|
103
|
-
return new
|
|
103
|
+
return new DexieCollection(this.clause.equalsIgnoreCase(value));
|
|
104
104
|
}
|
|
105
105
|
anyOf(...args) {
|
|
106
106
|
const values = this.flattenArgs(args);
|
|
107
|
-
return new
|
|
107
|
+
return new DexieCollection(this.clause.anyOf(...values));
|
|
108
108
|
}
|
|
109
109
|
anyOfIgnoreCase(...args) {
|
|
110
110
|
const values = this.flattenArgs(args);
|
|
111
|
-
return new
|
|
111
|
+
return new DexieCollection(this.clause.anyOfIgnoreCase(...values));
|
|
112
112
|
}
|
|
113
113
|
noneOf(...args) {
|
|
114
114
|
const values = this.flattenArgs(args);
|
|
115
|
-
return new
|
|
115
|
+
return new DexieCollection(this.clause.noneOf(values));
|
|
116
116
|
}
|
|
117
117
|
notEqual(value) {
|
|
118
|
-
return new
|
|
118
|
+
return new DexieCollection(this.clause.notEqual(value));
|
|
119
119
|
}
|
|
120
120
|
flattenArgs(args) {
|
|
121
121
|
if (args.length === 1 && Array.isArray(args[0])) {
|
|
@@ -125,8 +125,8 @@ var DexieStorageWhereClause = class {
|
|
|
125
125
|
}
|
|
126
126
|
};
|
|
127
127
|
|
|
128
|
-
// src/storage/dexie/
|
|
129
|
-
var
|
|
128
|
+
// src/storage/dexie/DexieCollection.ts
|
|
129
|
+
var DexieCollection = class _DexieCollection {
|
|
130
130
|
collection;
|
|
131
131
|
constructor(collection) {
|
|
132
132
|
this.collection = collection;
|
|
@@ -189,25 +189,25 @@ var DexieStorageCollection = class _DexieStorageCollection {
|
|
|
189
189
|
return this.collection.sortBy(key);
|
|
190
190
|
}
|
|
191
191
|
distinct() {
|
|
192
|
-
return new
|
|
192
|
+
return new _DexieCollection(this.collection.distinct());
|
|
193
193
|
}
|
|
194
194
|
jsFilter(predicate) {
|
|
195
|
-
return new
|
|
195
|
+
return new _DexieCollection(this.collection.filter(predicate));
|
|
196
196
|
}
|
|
197
197
|
or(index) {
|
|
198
|
-
return new
|
|
198
|
+
return new DexieWhereClause(this.collection.or(normalizeIndexName(index)));
|
|
199
199
|
}
|
|
200
200
|
clone(props) {
|
|
201
|
-
return new
|
|
201
|
+
return new _DexieCollection(this.collection.clone(props));
|
|
202
202
|
}
|
|
203
203
|
reverse() {
|
|
204
|
-
return new
|
|
204
|
+
return new _DexieCollection(this.collection.reverse());
|
|
205
205
|
}
|
|
206
206
|
offset(offset) {
|
|
207
|
-
return new
|
|
207
|
+
return new _DexieCollection(this.collection.offset(offset));
|
|
208
208
|
}
|
|
209
209
|
limit(count) {
|
|
210
|
-
return new
|
|
210
|
+
return new _DexieCollection(this.collection.limit(count));
|
|
211
211
|
}
|
|
212
212
|
toCollection() {
|
|
213
213
|
return this.clone();
|
|
@@ -223,8 +223,8 @@ var DexieStorageCollection = class _DexieStorageCollection {
|
|
|
223
223
|
}
|
|
224
224
|
};
|
|
225
225
|
|
|
226
|
-
// src/storage/dexie/
|
|
227
|
-
var
|
|
226
|
+
// src/storage/dexie/DexieTable.ts
|
|
227
|
+
var DexieTable = class {
|
|
228
228
|
name;
|
|
229
229
|
schema;
|
|
230
230
|
primaryKey;
|
|
@@ -235,8 +235,8 @@ var DexieStorageTable = class {
|
|
|
235
235
|
update: (key, changes) => this.table.update(key, changes),
|
|
236
236
|
delete: (key) => this.table.delete(key),
|
|
237
237
|
get: (key) => this.table.get(key),
|
|
238
|
-
bulkAdd: (items) => this.table.bulkAdd(items),
|
|
239
|
-
bulkPut: (items) => this.table.bulkPut(items),
|
|
238
|
+
bulkAdd: (items) => this.table.bulkAdd(items, { allKeys: true }),
|
|
239
|
+
bulkPut: (items) => this.table.bulkPut(items, { allKeys: true }),
|
|
240
240
|
bulkUpdate: (keysAndChanges) => this.table.bulkUpdate(keysAndChanges),
|
|
241
241
|
bulkDelete: (keys) => this.table.bulkDelete(keys),
|
|
242
242
|
clear: () => this.table.clear()
|
|
@@ -274,10 +274,10 @@ var DexieStorageTable = class {
|
|
|
274
274
|
return this.table.count();
|
|
275
275
|
}
|
|
276
276
|
bulkAdd(items) {
|
|
277
|
-
return this.table.bulkAdd(items);
|
|
277
|
+
return this.table.bulkAdd(items, { allKeys: true });
|
|
278
278
|
}
|
|
279
279
|
bulkPut(items) {
|
|
280
|
-
return this.table.bulkPut(items);
|
|
280
|
+
return this.table.bulkPut(items, { allKeys: true });
|
|
281
281
|
}
|
|
282
282
|
bulkGet(keys) {
|
|
283
283
|
return this.table.bulkGet(keys);
|
|
@@ -289,19 +289,19 @@ var DexieStorageTable = class {
|
|
|
289
289
|
return this.table.bulkDelete(keys);
|
|
290
290
|
}
|
|
291
291
|
where(index) {
|
|
292
|
-
return new
|
|
292
|
+
return new DexieWhereClause(this.table.where(normalizeIndexName(index)));
|
|
293
293
|
}
|
|
294
294
|
orderBy(index) {
|
|
295
|
-
return new
|
|
295
|
+
return new DexieCollection(this.table.orderBy(normalizeIndexName(index)));
|
|
296
296
|
}
|
|
297
297
|
reverse() {
|
|
298
|
-
return new
|
|
298
|
+
return new DexieCollection(this.table.reverse());
|
|
299
299
|
}
|
|
300
300
|
offset(offset) {
|
|
301
|
-
return new
|
|
301
|
+
return new DexieCollection(this.table.offset(offset));
|
|
302
302
|
}
|
|
303
303
|
limit(count) {
|
|
304
|
-
return new
|
|
304
|
+
return new DexieCollection(this.table.limit(count));
|
|
305
305
|
}
|
|
306
306
|
mapToClass(ctor) {
|
|
307
307
|
this.table.mapToClass(ctor);
|
|
@@ -315,7 +315,7 @@ var DexieStorageTable = class {
|
|
|
315
315
|
await Promise.all(tasks.map((task) => task ? Promise.resolve(task) : Promise.resolve()));
|
|
316
316
|
}
|
|
317
317
|
jsFilter(predicate) {
|
|
318
|
-
return new
|
|
318
|
+
return new DexieCollection(this.table.filter(predicate));
|
|
319
319
|
}
|
|
320
320
|
};
|
|
321
321
|
|
|
@@ -359,7 +359,7 @@ var DexieAdapter = class {
|
|
|
359
359
|
table(name) {
|
|
360
360
|
if (!this.tableCache.has(name)) {
|
|
361
361
|
const table = this.db.table(name);
|
|
362
|
-
this.tableCache.set(name, new
|
|
362
|
+
this.tableCache.set(name, new DexieTable(table));
|
|
363
363
|
}
|
|
364
364
|
return this.tableCache.get(name);
|
|
365
365
|
}
|
package/dist/dexie.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dexie.ts","../src/storage/dexie/DexieAdapter.ts","../src/storage/dexie/DexieQueryContext.ts","../src/storage/dexie/helpers.ts","../src/storage/dexie/DexieStorageWhereClause.ts","../src/storage/dexie/DexieStorageCollection.ts","../src/storage/dexie/DexieStorageTable.ts"],"sourcesContent":["export { DexieAdapter, DexieQueryContext } from './storage/dexie';\nexport type { StorageAdapter } from './storage/types';\n","import Dexie from 'dexie';\nimport type { StorageAdapter, StorageTable, StorageTransactionContext, TransactionMode } from '../types';\nimport type { StorageSchemaDefinitionOptions } from '../sqlite/types';\nimport type { TableSchemaDefinition } from '../sqlite/schema';\nimport { DexieQueryContext } from './DexieQueryContext';\nimport { DexieStorageTable } from './DexieStorageTable';\n\nexport class DexieAdapter implements StorageAdapter {\n readonly type = 'DexieAdapter';\n readonly name: string;\n readonly db: Dexie;\n private readonly tableCache = new Map<string, StorageTable<any>>();\n\n constructor(databaseName: string) {\n this.db = new Dexie(databaseName);\n this.name = this.db.name;\n }\n\n async open(): Promise<void> {\n // Dexie auto-opens on first operation, so this is typically a no-op.\n // However, after delete() we explicitly re-open to ensure continued usability.\n }\n\n async close(): Promise<void> {\n if (this.db.isOpen()) {\n this.db.close();\n }\n this.tableCache.clear();\n }\n\n async delete(): Promise<void> {\n await this.db.delete();\n this.tableCache.clear();\n // Dexie.delete() closes the database, so re-open it to allow continued use.\n // Without this, subsequent operations would fail with DatabaseClosedError.\n await this.db.open();\n }\n\n async query<R>(callback: (ctx: DexieQueryContext) => Promise<R>): Promise<R> {\n return callback(new DexieQueryContext(this));\n }\n\n defineSchema(version: number, schema: Record<string, TableSchemaDefinition>, _options?: StorageSchemaDefinitionOptions): void {\n const normalized: Record<string, string> = {};\n for (const [tableName, definition] of Object.entries(schema)) {\n if (typeof definition !== 'string') {\n throw new Error(`DexieAdapter requires string schema definitions. Received non-string definition for table '${tableName}'.`);\n }\n normalized[tableName] = definition;\n }\n const dexieVersion = this.db.version(version);\n dexieVersion.stores(normalized);\n }\n\n table<T = any>(name: string): StorageTable<T> {\n if (!this.tableCache.has(name)) {\n const table = this.db.table<T>(name);\n this.tableCache.set(name, new DexieStorageTable(table));\n }\n return this.tableCache.get(name)! as StorageTable<T>;\n }\n\n async transaction<T>(mode: TransactionMode, tableNames: string[], callback: (context: StorageTransactionContext) => Promise<T>): Promise<T> {\n return (this.db.transaction as any)(mode, ...tableNames, async () => {\n const tables: Record<string, StorageTable<any>> = {};\n for (const tableName of tableNames) {\n tables[tableName] = this.table(tableName);\n }\n return callback({ tables });\n });\n }\n}\n","import type { StorageTable, StorageTransactionContext, TransactionMode } from '../types';\nimport type { DexieAdapter } from './DexieAdapter';\n\nexport class DexieQueryContext {\n constructor(private readonly adapter: DexieAdapter) {}\n\n table<T = any>(name: string): StorageTable<T> {\n return this.adapter.table(name);\n }\n\n transaction<T>(mode: TransactionMode, tableNames: string[], callback: (context: StorageTransactionContext) => Promise<T>): Promise<T> {\n return this.adapter.transaction(mode, tableNames, callback);\n }\n}\n","export const normalizeIndexName = (index: string | string[]): string => (Array.isArray(index) ? `[${index.join('+')}]` : index);\n","import type { WhereClause as DexieWhereClause } from 'dexie';\nimport type { StorageCollection, StorageWhereClause } from '../types';\nimport { DexieStorageCollection } from './DexieStorageCollection';\n\nexport class DexieStorageWhereClause<T = any> implements StorageWhereClause<T> {\n private readonly clause: DexieWhereClause<T, any, T>;\n\n constructor(clause: DexieWhereClause<T, any, T>) {\n this.clause = clause;\n }\n\n equals(value: any): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.equals(value));\n }\n\n above(value: any): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.above(value));\n }\n\n aboveOrEqual(value: any): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.aboveOrEqual(value));\n }\n\n below(value: any): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.below(value));\n }\n\n belowOrEqual(value: any): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.belowOrEqual(value));\n }\n\n between(lower: any, upper: any, includeLower?: boolean, includeUpper?: boolean): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.between(lower, upper, includeLower, includeUpper));\n }\n\n inAnyRange(ranges: Array<[any, any]>, options?: { includeLower?: boolean; includeUpper?: boolean }): StorageCollection<T> {\n const normalizedOptions = options\n ? {\n includeLowers: options.includeLower,\n includeUppers: options.includeUpper,\n }\n : undefined;\n return new DexieStorageCollection(this.clause.inAnyRange(ranges as any, normalizedOptions));\n }\n\n startsWith(prefix: string): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.startsWith(prefix));\n }\n\n startsWithIgnoreCase(prefix: string): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.startsWithIgnoreCase(prefix));\n }\n\n startsWithAnyOf(...prefixes: string[]): StorageCollection<T>;\n startsWithAnyOf(prefixes: string[]): StorageCollection<T>;\n startsWithAnyOf(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<string>(args);\n return new DexieStorageCollection(this.clause.startsWithAnyOf(...values));\n }\n\n startsWithAnyOfIgnoreCase(...prefixes: string[]): StorageCollection<T>;\n startsWithAnyOfIgnoreCase(prefixes: string[]): StorageCollection<T>;\n startsWithAnyOfIgnoreCase(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<string>(args);\n return new DexieStorageCollection(this.clause.startsWithAnyOfIgnoreCase(...values));\n }\n\n equalsIgnoreCase(value: string): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.equalsIgnoreCase(value));\n }\n\n anyOf(...values: any[]): StorageCollection<T>;\n anyOf(values: any[]): StorageCollection<T>;\n anyOf(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<any>(args);\n return new DexieStorageCollection(this.clause.anyOf(...values));\n }\n\n anyOfIgnoreCase(...values: string[]): StorageCollection<T>;\n anyOfIgnoreCase(values: string[]): StorageCollection<T>;\n anyOfIgnoreCase(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<string>(args);\n return new DexieStorageCollection(this.clause.anyOfIgnoreCase(...values));\n }\n\n noneOf(...values: any[]): StorageCollection<T>;\n noneOf(values: any[]): StorageCollection<T>;\n noneOf(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<any>(args);\n return new DexieStorageCollection(this.clause.noneOf(values as any));\n }\n\n notEqual(value: any): StorageCollection<T> {\n return new DexieStorageCollection(this.clause.notEqual(value));\n }\n\n private flattenArgs<TValue>(args: any[]): TValue[] {\n if (args.length === 1 && Array.isArray(args[0])) {\n return args[0] as TValue[];\n }\n return args as TValue[];\n }\n}\n","import type { Collection as DexieCollection } from 'dexie';\nimport type { StorageCollection, StorageWhereClause } from '../types';\nimport { normalizeIndexName } from './helpers';\nimport { DexieStorageWhereClause } from './DexieStorageWhereClause';\n\nexport class DexieStorageCollection<T = any> implements StorageCollection<T> {\n private readonly collection: DexieCollection<T, any, T>;\n\n constructor(collection: DexieCollection<T, any, T>) {\n this.collection = collection;\n }\n\n first(): Promise<T | undefined> {\n return this.collection.first();\n }\n\n async last(): Promise<T | undefined> {\n return this.collection.last();\n }\n\n async each(callback: (item: T, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.each((item) => {\n tasks.push(callback(item, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n async eachKey(callback: (key: unknown, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.eachKey((key) => {\n tasks.push(callback(key, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n async eachPrimaryKey(callback: (key: unknown, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.eachPrimaryKey((key) => {\n tasks.push(callback(key, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n async eachUniqueKey(callback: (key: unknown, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.eachUniqueKey((key) => {\n tasks.push(callback(key, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n keys(): Promise<unknown[]> {\n return this.collection.keys();\n }\n\n primaryKeys(): Promise<unknown[]> {\n return this.collection.primaryKeys();\n }\n\n uniqueKeys(): Promise<unknown[]> {\n return this.collection.uniqueKeys();\n }\n\n count(): Promise<number> {\n return this.collection.count();\n }\n\n sortBy(key: string): Promise<T[]> {\n return this.collection.sortBy(key);\n }\n\n distinct(): StorageCollection<T> {\n return new DexieStorageCollection(this.collection.distinct());\n }\n\n jsFilter(predicate: (item: T) => boolean): StorageCollection<T> {\n return new DexieStorageCollection(this.collection.filter(predicate));\n }\n\n or(index: string): StorageWhereClause<T> {\n return new DexieStorageWhereClause(this.collection.or(normalizeIndexName(index)));\n }\n\n clone(props?: Record<string, unknown>): StorageCollection<T> {\n return new DexieStorageCollection(this.collection.clone(props));\n }\n\n reverse(): StorageCollection<T> {\n return new DexieStorageCollection(this.collection.reverse());\n }\n\n offset(offset: number): StorageCollection<T> {\n return new DexieStorageCollection(this.collection.offset(offset));\n }\n\n limit(count: number): StorageCollection<T> {\n return new DexieStorageCollection(this.collection.limit(count));\n }\n\n toCollection(): StorageCollection<T> {\n return this.clone();\n }\n\n delete(): Promise<number> {\n return this.collection.delete();\n }\n\n modify(changes: Partial<T> | ((item: T) => void | Promise<void>)): Promise<number> {\n return this.collection.modify(changes as any);\n }\n\n toArray(): Promise<T[]> {\n return this.collection.toArray();\n }\n}\n","import type { Table as DexieTable } from 'dexie';\nimport type { StorageCollection, StorageTable, StorageWhereClause } from '../types';\nimport { normalizeIndexName } from './helpers';\nimport { DexieStorageCollection } from './DexieStorageCollection';\nimport { DexieStorageWhereClause } from './DexieStorageWhereClause';\n\nexport class DexieStorageTable<T = any> implements StorageTable<T> {\n readonly name: string;\n readonly schema: unknown;\n readonly primaryKey: unknown;\n readonly hook: unknown;\n readonly raw = Object.freeze({\n add: (item: T) => this.table.add(item),\n put: (item: T) => this.table.put(item),\n update: (key: unknown, changes: Partial<T>) => this.table.update(key as any, changes as any),\n delete: (key: unknown) => this.table.delete(key as any),\n get: (key: unknown) => this.table.get(key as any),\n bulkAdd: (items: T[]) => this.table.bulkAdd(items),\n bulkPut: (items: T[]) => this.table.bulkPut(items),\n bulkUpdate: (keysAndChanges: Array<{ key: unknown; changes: Partial<T> }>) => this.table.bulkUpdate(keysAndChanges as any),\n bulkDelete: (keys: Array<unknown>) => this.table.bulkDelete(keys as any),\n clear: () => this.table.clear(),\n });\n\n private readonly table: DexieTable<T, any, T>;\n\n constructor(table: DexieTable<T, any, T>) {\n this.table = table;\n this.name = table.name;\n this.schema = table.schema;\n this.primaryKey = table.schema?.primKey;\n this.hook = table.hook;\n }\n\n add(item: T): Promise<unknown> {\n return this.table.add(item);\n }\n\n put(item: T): Promise<unknown> {\n return this.table.put(item);\n }\n\n update(key: unknown, changes: Partial<T>): Promise<number> {\n return this.table.update(key as any, changes as any);\n }\n\n delete(key: unknown): Promise<void> {\n return this.table.delete(key as any).then(() => undefined);\n }\n\n clear(): Promise<void> {\n return this.table.clear();\n }\n\n get(key: unknown): Promise<T | undefined> {\n return this.table.get(key as any);\n }\n\n toArray(): Promise<T[]> {\n return this.table.toArray();\n }\n\n count(): Promise<number> {\n return this.table.count();\n }\n\n bulkAdd(items: T[]): Promise<unknown> {\n return this.table.bulkAdd(items);\n }\n\n bulkPut(items: T[]): Promise<unknown> {\n return this.table.bulkPut(items);\n }\n\n bulkGet(keys: Array<unknown>): Promise<Array<T | undefined>> {\n return this.table.bulkGet(keys as any);\n }\n\n bulkUpdate(keysAndChanges: Array<{ key: unknown; changes: Partial<T> }>): Promise<number> {\n return this.table.bulkUpdate(keysAndChanges as any);\n }\n\n bulkDelete(keys: Array<unknown>): Promise<void> {\n return this.table.bulkDelete(keys as any);\n }\n\n where(index: string | string[]): StorageWhereClause<T> {\n return new DexieStorageWhereClause(this.table.where(normalizeIndexName(index)));\n }\n\n orderBy(index: string | string[]): StorageCollection<T> {\n return new DexieStorageCollection(this.table.orderBy(normalizeIndexName(index)));\n }\n\n reverse(): StorageCollection<T> {\n return new DexieStorageCollection(this.table.reverse());\n }\n\n offset(offset: number): StorageCollection<T> {\n return new DexieStorageCollection(this.table.offset(offset));\n }\n\n limit(count: number): StorageCollection<T> {\n return new DexieStorageCollection(this.table.limit(count));\n }\n\n mapToClass(ctor: new (...args: any[]) => any): StorageTable<T> {\n this.table.mapToClass(ctor as any);\n return this;\n }\n\n async each(callback: (item: T) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n await this.table.each((item) => {\n tasks.push(callback(item));\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n jsFilter(predicate: (item: T) => boolean): StorageCollection<T> {\n return new DexieStorageCollection(this.table.filter(predicate));\n }\n}\n"],"mappings":"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","names":["Dexie"]}
|
|
1
|
+
{"version":3,"sources":["../src/dexie.ts","../src/storage/dexie/DexieAdapter.ts","../src/storage/dexie/DexieQueryContext.ts","../src/storage/dexie/helpers.ts","../src/storage/dexie/DexieWhereClause.ts","../src/storage/dexie/DexieCollection.ts","../src/storage/dexie/DexieTable.ts"],"sourcesContent":["export { DexieAdapter, DexieQueryContext } from './storage/dexie';\nexport type { StorageAdapter } from './storage/types';\n","import Dexie from 'dexie';\nimport type { StorageAdapter, StorageTable, StorageTransactionContext, TransactionMode } from '../types';\nimport type { StorageSchemaDefinitionOptions } from '../sqlite/types';\nimport type { TableSchemaDefinition } from '../sqlite/schema';\nimport { DexieQueryContext } from './DexieQueryContext';\nimport { DexieTable } from './DexieTable';\n\nexport class DexieAdapter implements StorageAdapter {\n readonly type = 'DexieAdapter';\n readonly name: string;\n readonly db: Dexie;\n private readonly tableCache = new Map<string, StorageTable<any>>();\n\n constructor(databaseName: string) {\n this.db = new Dexie(databaseName);\n this.name = this.db.name;\n }\n\n async open(): Promise<void> {\n // Dexie auto-opens on first operation, so this is typically a no-op.\n // However, after delete() we explicitly re-open to ensure continued usability.\n }\n\n async close(): Promise<void> {\n if (this.db.isOpen()) {\n this.db.close();\n }\n this.tableCache.clear();\n }\n\n async delete(): Promise<void> {\n await this.db.delete();\n this.tableCache.clear();\n // Dexie.delete() closes the database, so re-open it to allow continued use.\n // Without this, subsequent operations would fail with DatabaseClosedError.\n await this.db.open();\n }\n\n async query<R>(callback: (ctx: DexieQueryContext) => Promise<R>): Promise<R> {\n return callback(new DexieQueryContext(this));\n }\n\n defineSchema(version: number, schema: Record<string, TableSchemaDefinition>, _options?: StorageSchemaDefinitionOptions): void {\n const normalized: Record<string, string> = {};\n for (const [tableName, definition] of Object.entries(schema)) {\n if (typeof definition !== 'string') {\n throw new Error(`DexieAdapter requires string schema definitions. Received non-string definition for table '${tableName}'.`);\n }\n normalized[tableName] = definition;\n }\n const dexieVersion = this.db.version(version);\n dexieVersion.stores(normalized);\n }\n\n table<T = any>(name: string): StorageTable<T> {\n if (!this.tableCache.has(name)) {\n const table = this.db.table<T>(name);\n this.tableCache.set(name, new DexieTable(table));\n }\n return this.tableCache.get(name)! as StorageTable<T>;\n }\n\n async transaction<T>(mode: TransactionMode, tableNames: string[], callback: (context: StorageTransactionContext) => Promise<T>): Promise<T> {\n return (this.db.transaction as any)(mode, ...tableNames, async () => {\n const tables: Record<string, StorageTable<any>> = {};\n for (const tableName of tableNames) {\n tables[tableName] = this.table(tableName);\n }\n return callback({ tables });\n });\n }\n}\n","import type { StorageTable, StorageTransactionContext, TransactionMode } from '../types';\nimport type { DexieAdapter } from './DexieAdapter';\n\nexport class DexieQueryContext {\n constructor(private readonly adapter: DexieAdapter) {}\n\n table<T = any>(name: string): StorageTable<T> {\n return this.adapter.table(name);\n }\n\n transaction<T>(mode: TransactionMode, tableNames: string[], callback: (context: StorageTransactionContext) => Promise<T>): Promise<T> {\n return this.adapter.transaction(mode, tableNames, callback);\n }\n}\n","export const normalizeIndexName = (index: string | string[]): string => (Array.isArray(index) ? `[${index.join('+')}]` : index);\n","import type { WhereClause } from 'dexie';\nimport type { StorageCollection, StorageWhereClause } from '../types';\nimport { DexieCollection } from './DexieCollection';\n\nexport class DexieWhereClause<T = any> implements StorageWhereClause<T> {\n private readonly clause: WhereClause<T, any, T>;\n\n constructor(clause: WhereClause<T, any, T>) {\n this.clause = clause;\n }\n\n equals(value: any): StorageCollection<T> {\n return new DexieCollection(this.clause.equals(value));\n }\n\n above(value: any): StorageCollection<T> {\n return new DexieCollection(this.clause.above(value));\n }\n\n aboveOrEqual(value: any): StorageCollection<T> {\n return new DexieCollection(this.clause.aboveOrEqual(value));\n }\n\n below(value: any): StorageCollection<T> {\n return new DexieCollection(this.clause.below(value));\n }\n\n belowOrEqual(value: any): StorageCollection<T> {\n return new DexieCollection(this.clause.belowOrEqual(value));\n }\n\n between(lower: any, upper: any, includeLower?: boolean, includeUpper?: boolean): StorageCollection<T> {\n return new DexieCollection(this.clause.between(lower, upper, includeLower, includeUpper));\n }\n\n inAnyRange(ranges: Array<[any, any]>, options?: { includeLower?: boolean; includeUpper?: boolean }): StorageCollection<T> {\n const normalizedOptions = options\n ? {\n includeLowers: options.includeLower,\n includeUppers: options.includeUpper,\n }\n : undefined;\n return new DexieCollection(this.clause.inAnyRange(ranges as any, normalizedOptions));\n }\n\n startsWith(prefix: string): StorageCollection<T> {\n return new DexieCollection(this.clause.startsWith(prefix));\n }\n\n startsWithIgnoreCase(prefix: string): StorageCollection<T> {\n return new DexieCollection(this.clause.startsWithIgnoreCase(prefix));\n }\n\n startsWithAnyOf(...prefixes: string[]): StorageCollection<T>;\n startsWithAnyOf(prefixes: string[]): StorageCollection<T>;\n startsWithAnyOf(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<string>(args);\n return new DexieCollection(this.clause.startsWithAnyOf(...values));\n }\n\n startsWithAnyOfIgnoreCase(...prefixes: string[]): StorageCollection<T>;\n startsWithAnyOfIgnoreCase(prefixes: string[]): StorageCollection<T>;\n startsWithAnyOfIgnoreCase(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<string>(args);\n return new DexieCollection(this.clause.startsWithAnyOfIgnoreCase(...values));\n }\n\n equalsIgnoreCase(value: string): StorageCollection<T> {\n return new DexieCollection(this.clause.equalsIgnoreCase(value));\n }\n\n anyOf(...values: any[]): StorageCollection<T>;\n anyOf(values: any[]): StorageCollection<T>;\n anyOf(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<any>(args);\n return new DexieCollection(this.clause.anyOf(...values));\n }\n\n anyOfIgnoreCase(...values: string[]): StorageCollection<T>;\n anyOfIgnoreCase(values: string[]): StorageCollection<T>;\n anyOfIgnoreCase(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<string>(args);\n return new DexieCollection(this.clause.anyOfIgnoreCase(...values));\n }\n\n noneOf(...values: any[]): StorageCollection<T>;\n noneOf(values: any[]): StorageCollection<T>;\n noneOf(...args: any[]): StorageCollection<T> {\n const values = this.flattenArgs<any>(args);\n return new DexieCollection(this.clause.noneOf(values as any));\n }\n\n notEqual(value: any): StorageCollection<T> {\n return new DexieCollection(this.clause.notEqual(value));\n }\n\n private flattenArgs<TValue>(args: any[]): TValue[] {\n if (args.length === 1 && Array.isArray(args[0])) {\n return args[0] as TValue[];\n }\n return args as TValue[];\n }\n}\n","import type { Collection } from 'dexie';\nimport type { StorageCollection, StorageWhereClause } from '../types';\nimport { normalizeIndexName } from './helpers';\nimport { DexieWhereClause } from './DexieWhereClause';\n\nexport class DexieCollection<T = any> implements StorageCollection<T> {\n private readonly collection: Collection<T, any, T>;\n\n constructor(collection: Collection<T, any, T>) {\n this.collection = collection;\n }\n\n first(): Promise<T | undefined> {\n return this.collection.first();\n }\n\n async last(): Promise<T | undefined> {\n return this.collection.last();\n }\n\n async each(callback: (item: T, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.each((item) => {\n tasks.push(callback(item, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n async eachKey(callback: (key: unknown, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.eachKey((key) => {\n tasks.push(callback(key, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n async eachPrimaryKey(callback: (key: unknown, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.eachPrimaryKey((key) => {\n tasks.push(callback(key, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n async eachUniqueKey(callback: (key: unknown, index: number) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n let index = 0;\n await this.collection.eachUniqueKey((key) => {\n tasks.push(callback(key, index));\n index += 1;\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n keys(): Promise<unknown[]> {\n return this.collection.keys();\n }\n\n primaryKeys(): Promise<unknown[]> {\n return this.collection.primaryKeys();\n }\n\n uniqueKeys(): Promise<unknown[]> {\n return this.collection.uniqueKeys();\n }\n\n count(): Promise<number> {\n return this.collection.count();\n }\n\n sortBy(key: string): Promise<T[]> {\n return this.collection.sortBy(key);\n }\n\n distinct(): StorageCollection<T> {\n return new DexieCollection(this.collection.distinct());\n }\n\n jsFilter(predicate: (item: T) => boolean): StorageCollection<T> {\n return new DexieCollection(this.collection.filter(predicate));\n }\n\n or(index: string): StorageWhereClause<T> {\n return new DexieWhereClause(this.collection.or(normalizeIndexName(index)));\n }\n\n clone(props?: Record<string, unknown>): StorageCollection<T> {\n return new DexieCollection(this.collection.clone(props));\n }\n\n reverse(): StorageCollection<T> {\n return new DexieCollection(this.collection.reverse());\n }\n\n offset(offset: number): StorageCollection<T> {\n return new DexieCollection(this.collection.offset(offset));\n }\n\n limit(count: number): StorageCollection<T> {\n return new DexieCollection(this.collection.limit(count));\n }\n\n toCollection(): StorageCollection<T> {\n return this.clone();\n }\n\n delete(): Promise<number> {\n return this.collection.delete();\n }\n\n modify(changes: Partial<T> | ((item: T) => void | Promise<void>)): Promise<number> {\n return this.collection.modify(changes as any);\n }\n\n toArray(): Promise<T[]> {\n return this.collection.toArray();\n }\n}\n","import type { Table } from 'dexie';\nimport type { AddItem, StorageCollection, StorageTable, StorageWhereClause } from '../types';\nimport { normalizeIndexName } from './helpers';\nimport { DexieCollection } from './DexieCollection';\nimport { DexieWhereClause } from './DexieWhereClause';\n\nexport class DexieTable<T = any> implements StorageTable<T> {\n readonly name: string;\n readonly schema: unknown;\n readonly primaryKey: unknown;\n readonly hook: unknown;\n readonly raw = Object.freeze({\n add: (item: T): Promise<string> => this.table.add(item) as Promise<string>,\n put: (item: T): Promise<string> => this.table.put(item) as Promise<string>,\n update: (key: string, changes: Partial<T>) => this.table.update(key as any, changes as any),\n delete: (key: string) => this.table.delete(key as any),\n get: (key: string) => this.table.get(key as any),\n bulkAdd: (items: T[]): Promise<string[]> => this.table.bulkAdd(items, { allKeys: true }) as Promise<string[]>,\n bulkPut: (items: T[]): Promise<string[]> => this.table.bulkPut(items, { allKeys: true }) as Promise<string[]>,\n bulkUpdate: (keysAndChanges: Array<{ key: string; changes: Partial<T> }>) => this.table.bulkUpdate(keysAndChanges as any),\n bulkDelete: (keys: string[]) => this.table.bulkDelete(keys as any),\n clear: () => this.table.clear(),\n });\n\n private readonly table: Table<T, any, T>;\n\n constructor(table: Table<T, any, T>) {\n this.table = table;\n this.name = table.name;\n this.schema = table.schema;\n this.primaryKey = table.schema?.primKey;\n this.hook = table.hook;\n }\n\n add(item: AddItem<T>): Promise<string> {\n return this.table.add(item as T);\n }\n\n put(item: T): Promise<string> {\n return this.table.put(item);\n }\n\n update(key: string, changes: Partial<T>): Promise<number> {\n return this.table.update(key as any, changes as any);\n }\n\n delete(key: string): Promise<void> {\n return this.table.delete(key as any).then(() => undefined);\n }\n\n clear(): Promise<void> {\n return this.table.clear();\n }\n\n get(key: string): Promise<T | undefined> {\n return this.table.get(key as any);\n }\n\n toArray(): Promise<T[]> {\n return this.table.toArray();\n }\n\n count(): Promise<number> {\n return this.table.count();\n }\n\n bulkAdd(items: AddItem<T>[]): Promise<string[]> {\n return this.table.bulkAdd(items as T[], { allKeys: true }) as Promise<string[]>;\n }\n\n bulkPut(items: T[]): Promise<string[]> {\n return this.table.bulkPut(items, { allKeys: true }) as Promise<string[]>;\n }\n\n bulkGet(keys: string[]): Promise<Array<T | undefined>> {\n return this.table.bulkGet(keys as any);\n }\n\n bulkUpdate(keysAndChanges: Array<{ key: string; changes: Partial<T> }>): Promise<number> {\n return this.table.bulkUpdate(keysAndChanges as any);\n }\n\n bulkDelete(keys: string[]): Promise<void> {\n return this.table.bulkDelete(keys as any);\n }\n\n where(index: string | string[]): StorageWhereClause<T> {\n return new DexieWhereClause(this.table.where(normalizeIndexName(index)));\n }\n\n orderBy(index: string | string[]): StorageCollection<T> {\n return new DexieCollection(this.table.orderBy(normalizeIndexName(index)));\n }\n\n reverse(): StorageCollection<T> {\n return new DexieCollection(this.table.reverse());\n }\n\n offset(offset: number): StorageCollection<T> {\n return new DexieCollection(this.table.offset(offset));\n }\n\n limit(count: number): StorageCollection<T> {\n return new DexieCollection(this.table.limit(count));\n }\n\n mapToClass(ctor: new (...args: any[]) => any): StorageTable<T> {\n this.table.mapToClass(ctor as any);\n return this;\n }\n\n async each(callback: (item: T) => void | Promise<void>): Promise<void> {\n const tasks: Array<void | Promise<void>> = [];\n await this.table.each((item) => {\n tasks.push(callback(item));\n });\n await Promise.all(tasks.map((task) => (task ? Promise.resolve(task) : Promise.resolve())));\n }\n\n jsFilter(predicate: (item: T) => boolean): StorageCollection<T> {\n return new DexieCollection(this.table.filter(predicate));\n }\n}\n"],"mappings":"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","names":["Dexie"]}
|
package/dist/dexie.d.cts
CHANGED
package/dist/dexie.d.ts
CHANGED