@effect/platform-browser 4.0.0-beta.66 → 4.0.0-beta.67
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/BrowserHttpClient.d.ts +18 -8
- package/dist/BrowserHttpClient.d.ts.map +1 -1
- package/dist/BrowserHttpClient.js +45 -8
- package/dist/BrowserHttpClient.js.map +1 -1
- package/dist/BrowserKeyValueStore.d.ts +13 -6
- package/dist/BrowserKeyValueStore.d.ts.map +1 -1
- package/dist/BrowserKeyValueStore.js +126 -2
- package/dist/BrowserKeyValueStore.js.map +1 -1
- package/dist/BrowserPersistence.d.ts +6 -2
- package/dist/BrowserPersistence.d.ts.map +1 -1
- package/dist/BrowserPersistence.js +6 -2
- package/dist/BrowserPersistence.js.map +1 -1
- package/dist/BrowserRuntime.d.ts +31 -4
- package/dist/BrowserRuntime.d.ts.map +1 -1
- package/dist/BrowserRuntime.js +3 -1
- package/dist/BrowserRuntime.js.map +1 -1
- package/dist/BrowserSocket.d.ts +29 -4
- package/dist/BrowserSocket.d.ts.map +1 -1
- package/dist/BrowserSocket.js +29 -4
- package/dist/BrowserSocket.js.map +1 -1
- package/dist/BrowserStream.d.ts +25 -3
- package/dist/BrowserStream.d.ts.map +1 -1
- package/dist/BrowserStream.js +25 -3
- package/dist/BrowserStream.js.map +1 -1
- package/dist/BrowserWorker.d.ts +6 -2
- package/dist/BrowserWorker.d.ts.map +1 -1
- package/dist/BrowserWorker.js +27 -3
- package/dist/BrowserWorker.js.map +1 -1
- package/dist/BrowserWorkerRunner.d.ts +9 -3
- package/dist/BrowserWorkerRunner.d.ts.map +1 -1
- package/dist/BrowserWorkerRunner.js +28 -4
- package/dist/BrowserWorkerRunner.js.map +1 -1
- package/dist/Clipboard.d.ts +30 -6
- package/dist/Clipboard.d.ts.map +1 -1
- package/dist/Clipboard.js +27 -5
- package/dist/Clipboard.js.map +1 -1
- package/dist/Geolocation.d.ts +44 -10
- package/dist/Geolocation.d.ts.map +1 -1
- package/dist/Geolocation.js +38 -8
- package/dist/Geolocation.js.map +1 -1
- package/dist/IndexedDb.d.ts +38 -11
- package/dist/IndexedDb.d.ts.map +1 -1
- package/dist/IndexedDb.js +35 -13
- package/dist/IndexedDb.js.map +1 -1
- package/dist/IndexedDbDatabase.d.ts +57 -10
- package/dist/IndexedDbDatabase.d.ts.map +1 -1
- package/dist/IndexedDbDatabase.js +36 -3
- package/dist/IndexedDbDatabase.js.map +1 -1
- package/dist/IndexedDbQueryBuilder.d.ts +103 -28
- package/dist/IndexedDbQueryBuilder.d.ts.map +1 -1
- package/dist/IndexedDbQueryBuilder.js +56 -26
- package/dist/IndexedDbQueryBuilder.js.map +1 -1
- package/dist/IndexedDbTable.d.ts +57 -13
- package/dist/IndexedDbTable.d.ts.map +1 -1
- package/dist/IndexedDbTable.js +21 -1
- package/dist/IndexedDbTable.js.map +1 -1
- package/dist/IndexedDbVersion.d.ts +37 -7
- package/dist/IndexedDbVersion.d.ts.map +1 -1
- package/dist/IndexedDbVersion.js +3 -1
- package/dist/IndexedDbVersion.js.map +1 -1
- package/dist/Permissions.d.ts +35 -8
- package/dist/Permissions.d.ts.map +1 -1
- package/dist/Permissions.js +31 -6
- package/dist/Permissions.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.js +12 -12
- package/package.json +3 -3
- package/src/BrowserHttpClient.ts +48 -9
- package/src/BrowserKeyValueStore.ts +142 -4
- package/src/BrowserPersistence.ts +19 -3
- package/src/BrowserRuntime.ts +31 -4
- package/src/BrowserSocket.ts +29 -4
- package/src/BrowserStream.ts +25 -3
- package/src/BrowserWorker.ts +27 -3
- package/src/BrowserWorkerRunner.ts +28 -4
- package/src/Clipboard.ts +30 -6
- package/src/Geolocation.ts +44 -10
- package/src/IndexedDb.ts +39 -21
- package/src/IndexedDbDatabase.ts +57 -10
- package/src/IndexedDbQueryBuilder.ts +172 -58
- package/src/IndexedDbTable.ts +57 -13
- package/src/IndexedDbVersion.ts +37 -7
- package/src/Permissions.ts +35 -8
- package/src/index.ts +12 -12
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Cause from "effect/Cause";
|
|
1
2
|
import * as Context from "effect/Context";
|
|
2
3
|
import * as Data from "effect/Data";
|
|
3
4
|
import * as Effect from "effect/Effect";
|
|
@@ -26,19 +27,25 @@ const CommonProto = {
|
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
29
|
/**
|
|
29
|
-
*
|
|
30
|
+
* Tagged error for IndexedDB query operations, carrying a query error reason and the original cause.
|
|
31
|
+
*
|
|
30
32
|
* @category errors
|
|
33
|
+
* @since 4.0.0
|
|
31
34
|
*/
|
|
32
35
|
export class IndexedDbQueryError extends /*#__PURE__*/Data.TaggedError("IndexedDbQueryError") {
|
|
33
36
|
/**
|
|
37
|
+
* Marks this value as an IndexedDB query builder error for runtime guards.
|
|
38
|
+
*
|
|
34
39
|
* @since 4.0.0
|
|
35
40
|
*/
|
|
36
41
|
[ErrorTypeId] = ErrorTypeId;
|
|
37
42
|
message = this.reason;
|
|
38
43
|
}
|
|
39
44
|
/**
|
|
40
|
-
*
|
|
45
|
+
* Service tag for the active `IDBTransaction` used to share a transaction across IndexedDB query effects.
|
|
46
|
+
*
|
|
41
47
|
* @category models
|
|
48
|
+
* @since 4.0.0
|
|
42
49
|
*/
|
|
43
50
|
export class IndexedDbTransaction extends /*#__PURE__*/Context.Service()("@effect/platform-browser/IndexedDbQueryBuilder/IndexedDbTransaction") {}
|
|
44
51
|
const applyDelete = query => Effect.callback(resume => {
|
|
@@ -226,10 +233,7 @@ const applyFirst = /*#__PURE__*/Effect.fnUntraced(function* (query) {
|
|
|
226
233
|
const value = request.result?.value;
|
|
227
234
|
const key = request.result?.key;
|
|
228
235
|
if (value === undefined) {
|
|
229
|
-
resume(Effect.fail(new
|
|
230
|
-
reason: "NotFoundError",
|
|
231
|
-
cause: request.error
|
|
232
|
-
})));
|
|
236
|
+
resume(Effect.fail(new Cause.NoSuchElementError(`No such element in table ${query.select.from.table.tableName}`)));
|
|
233
237
|
} else {
|
|
234
238
|
resume(Effect.succeed(keyPath === undefined ? {
|
|
235
239
|
...value,
|
|
@@ -252,7 +256,7 @@ const applyModify = /*#__PURE__*/Effect.fnUntraced(function* ({
|
|
|
252
256
|
const keyPath = query.from.table.keyPath;
|
|
253
257
|
const table = query.from.table;
|
|
254
258
|
const schema = autoIncrement && value[keyPath] === undefined ? table.autoincrementSchema : table.tableSchema;
|
|
255
|
-
const encodedValue = yield*
|
|
259
|
+
const encodedValue = yield* schema.makeEffect(value).pipe(Effect.flatMap(Schema.encodeUnknownEffect(schema)), Effect.mapError(error => new IndexedDbQueryError({
|
|
256
260
|
reason: "EncodeError",
|
|
257
261
|
cause: error
|
|
258
262
|
})));
|
|
@@ -411,22 +415,37 @@ const getCount = query => Effect.callback(resume => {
|
|
|
411
415
|
const FromProto = {
|
|
412
416
|
...CommonProto,
|
|
413
417
|
select(index) {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
+
let select = this.selectCache.get(index);
|
|
419
|
+
if (select === undefined) {
|
|
420
|
+
select = makeSelect({
|
|
421
|
+
from: this,
|
|
422
|
+
index
|
|
423
|
+
});
|
|
424
|
+
this.selectCache.set(index, select);
|
|
425
|
+
}
|
|
426
|
+
return select;
|
|
418
427
|
},
|
|
419
428
|
count(index) {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
429
|
+
let count = this.countCache.get(index);
|
|
430
|
+
if (count === undefined) {
|
|
431
|
+
count = makeCount({
|
|
432
|
+
from: this,
|
|
433
|
+
index
|
|
434
|
+
});
|
|
435
|
+
this.countCache.set(index, count);
|
|
436
|
+
}
|
|
437
|
+
return count;
|
|
424
438
|
},
|
|
425
439
|
delete(index) {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
440
|
+
let cached = this.deleteCache.get(index);
|
|
441
|
+
if (cached === undefined) {
|
|
442
|
+
cached = makeDeletePartial({
|
|
443
|
+
from: this,
|
|
444
|
+
index
|
|
445
|
+
});
|
|
446
|
+
this.deleteCache.set(index, cached);
|
|
447
|
+
}
|
|
448
|
+
return cached;
|
|
430
449
|
},
|
|
431
450
|
insert(value) {
|
|
432
451
|
return makeModify({
|
|
@@ -470,6 +489,9 @@ const makeFrom = options => {
|
|
|
470
489
|
self.database = options.database;
|
|
471
490
|
self.IDBKeyRange = options.IDBKeyRange;
|
|
472
491
|
self.reactivity = options.reactivity;
|
|
492
|
+
self.selectCache = new Map();
|
|
493
|
+
self.countCache = new Map();
|
|
494
|
+
self.deleteCache = new Map();
|
|
473
495
|
return self;
|
|
474
496
|
};
|
|
475
497
|
const DeletePartialProto = {
|
|
@@ -842,12 +864,17 @@ const QueryBuilderProto = {
|
|
|
842
864
|
});
|
|
843
865
|
},
|
|
844
866
|
from(table) {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
867
|
+
let cached = this.fromCache.get(table);
|
|
868
|
+
if (cached === undefined) {
|
|
869
|
+
cached = makeFrom({
|
|
870
|
+
database: this.database,
|
|
871
|
+
IDBKeyRange: this.IDBKeyRange,
|
|
872
|
+
table: this.tables.get(table),
|
|
873
|
+
reactivity: this.reactivity
|
|
874
|
+
});
|
|
875
|
+
this.fromCache.set(table, cached);
|
|
876
|
+
}
|
|
877
|
+
return cached;
|
|
851
878
|
},
|
|
852
879
|
get clearAll() {
|
|
853
880
|
const self = this;
|
|
@@ -865,8 +892,10 @@ const QueryBuilderProto = {
|
|
|
865
892
|
}
|
|
866
893
|
};
|
|
867
894
|
/**
|
|
868
|
-
*
|
|
895
|
+
* Creates an `IndexedDbQueryBuilder` from an open database reference, key-range constructor, table map, and reactivity service.
|
|
896
|
+
*
|
|
869
897
|
* @category constructors
|
|
898
|
+
* @since 4.0.0
|
|
870
899
|
*/
|
|
871
900
|
export const make = ({
|
|
872
901
|
IDBKeyRange,
|
|
@@ -879,6 +908,7 @@ export const make = ({
|
|
|
879
908
|
self.database = database;
|
|
880
909
|
self.reactivity = reactivity;
|
|
881
910
|
self.IDBKeyRange = IDBKeyRange;
|
|
911
|
+
self.fromCache = new Map();
|
|
882
912
|
return self;
|
|
883
913
|
};
|
|
884
914
|
const getOrCreateTransaction = (database, tables, mode, options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDbQueryBuilder.js","names":["Context","Data","Effect","Effectable","Fiber","BaseProto","Option","Pipeable","References","Schema","SchemaIssue","SchemaParser","Stream","Utils","ErrorTypeId","CommonProto","Symbol","iterator","SingleShotGen","Prototype","toJSON","_id","IndexedDbQueryError","TaggedError","message","reason","IndexedDbTransaction","Service","applyDelete","query","callback","resume","database","delete","from","IDBKeyRange","transaction","getOrCreateTransaction","current","table","tableName","durability","objectStore","predicate","keyRange","undefined","only","lowerBound","upperBound","bound","excludeLowerBound","excludeUpperBound","request","limitValue","cursorRequest","openCursor","count","onerror","fail","cause","error","onsuccess","cursor","result","void","value","deleteRequest","continue","event","succeed","die","Error","getReadonlyObjectStore","store","index","applySelect","fnUntraced","keyPath","data","offsetValue","reverseValue","results","offsetApplied","advance","push","key","getAll","reverse","tableSchema","arraySchema","decodeUnknownEffect","pipe","mapError","applyFirst","select","get","readSchema","applyModify","autoIncrement","schema","autoincrementSchema","encodedValue","makeEffect","flatMap","encodeUnknownEffect","operation","add","put","applyModifyAll","values","encodedValues","Array","length","makeValue","encodeValue","makeValueAutoincrement","encodeValueAutoincrement","i","oncomplete","catchIf","isIssue","issue","SchemaError","applyClear","options","clear","applyClearAll","tables","objectStoreNames","t","getCount","FromProto","makeSelect","makeCount","makeDeletePartial","insert","makeModify","upsert","insertAll","makeModifyAll","upsertAll","self","makeFrom","Object","create","reactivity","DeletePartialProto","limit","makeDelete","equals","gte","lte","gt","lt","between","queryOptions","DeleteProto","label","evaluate","filter","prev","item","invalidate","keys","mutation","CountProto","SelectProto","offset","first","makeFirst","stream","chunkSize","Math","min","Number","MAX_SAFE_INTEGER","initial","suspend","total","paginate","map","reachedLimit","isPartial","none","some","reactive","reactiveQueue","FirstProto","String","ModifyProto","ModifyAllProto","QueryBuilderProto","use","f","try","catch","clearAll","withTransaction","effect","mode","provideService","PreventSchedulerYield","make","fiber","getCurrent","getOrUndefined","context"],"sources":["../src/IndexedDbQueryBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"IndexedDbQueryBuilder.js","names":["Cause","Context","Data","Effect","Effectable","Fiber","BaseProto","Option","Pipeable","References","Schema","SchemaIssue","SchemaParser","Stream","Utils","ErrorTypeId","CommonProto","Symbol","iterator","SingleShotGen","Prototype","toJSON","_id","IndexedDbQueryError","TaggedError","message","reason","IndexedDbTransaction","Service","applyDelete","query","callback","resume","database","delete","from","IDBKeyRange","transaction","getOrCreateTransaction","current","table","tableName","durability","objectStore","predicate","keyRange","undefined","only","lowerBound","upperBound","bound","excludeLowerBound","excludeUpperBound","request","limitValue","cursorRequest","openCursor","count","onerror","fail","cause","error","onsuccess","cursor","result","void","value","deleteRequest","continue","event","succeed","die","Error","getReadonlyObjectStore","store","index","applySelect","fnUntraced","keyPath","data","offsetValue","reverseValue","results","offsetApplied","advance","push","key","getAll","reverse","tableSchema","arraySchema","decodeUnknownEffect","pipe","mapError","applyFirst","select","get","NoSuchElementError","readSchema","applyModify","autoIncrement","schema","autoincrementSchema","encodedValue","makeEffect","flatMap","encodeUnknownEffect","operation","add","put","applyModifyAll","values","encodedValues","Array","length","makeValue","encodeValue","makeValueAutoincrement","encodeValueAutoincrement","i","oncomplete","catchIf","isIssue","issue","SchemaError","applyClear","options","clear","applyClearAll","tables","objectStoreNames","t","getCount","FromProto","selectCache","makeSelect","set","countCache","makeCount","cached","deleteCache","makeDeletePartial","insert","makeModify","upsert","insertAll","makeModifyAll","upsertAll","self","makeFrom","Object","create","reactivity","Map","DeletePartialProto","limit","makeDelete","equals","gte","lte","gt","lt","between","queryOptions","DeleteProto","label","evaluate","filter","prev","item","invalidate","keys","mutation","CountProto","SelectProto","offset","first","makeFirst","stream","chunkSize","Math","min","Number","MAX_SAFE_INTEGER","initial","suspend","total","paginate","map","reachedLimit","isPartial","none","some","reactive","reactiveQueue","FirstProto","String","ModifyProto","ModifyAllProto","QueryBuilderProto","use","f","try","catch","fromCache","clearAll","withTransaction","effect","mode","provideService","PreventSchedulerYield","make","fiber","getCurrent","getOrUndefined","context"],"sources":["../src/IndexedDbQueryBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/IndexedDbTable.d.ts
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Defines typed table descriptors for the browser IndexedDB integration.
|
|
3
|
+
*
|
|
4
|
+
* An `IndexedDbTable` records the object store name, row schema, primary key
|
|
5
|
+
* path, indexes, auto-increment behavior, and transaction durability used by
|
|
6
|
+
* database versions, migrations, and typed queries. These descriptors are
|
|
7
|
+
* useful for local caches, offline-first application state, background queues,
|
|
8
|
+
* drafts, and other browser-persisted data that should be validated through
|
|
9
|
+
* `Schema`.
|
|
10
|
+
*
|
|
11
|
+
* Key paths and index paths must reference encoded schema fields whose values
|
|
12
|
+
* are valid IndexedDB keys, and compound paths are represented as readonly
|
|
13
|
+
* arrays. Tables without a key path use an out-of-line `key` that is added to
|
|
14
|
+
* reads and required for writes, so the row schema itself cannot define a
|
|
15
|
+
* `key` field. Auto-increment tables require a numeric key path; when that key
|
|
16
|
+
* is omitted on write, the module uses a derived schema without the generated
|
|
17
|
+
* key. Declaring indexes here types query builder index selection, but the
|
|
18
|
+
* indexes still need to be created during database migrations.
|
|
19
|
+
*
|
|
2
20
|
* @since 4.0.0
|
|
3
21
|
*/
|
|
4
22
|
import { type Pipeable } from "effect/Pipeable";
|
|
@@ -7,8 +25,10 @@ import type { NoInfer } from "effect/Types";
|
|
|
7
25
|
import type * as IndexedDbQueryBuilder from "./IndexedDbQueryBuilder.ts";
|
|
8
26
|
declare const TypeId = "~@effect/platform-browser/IndexedDbTable";
|
|
9
27
|
/**
|
|
10
|
-
*
|
|
28
|
+
* Typed IndexedDB table definition containing its name, schema, key path, indexes, auto-increment setting, and transaction durability.
|
|
29
|
+
*
|
|
11
30
|
* @category interface
|
|
31
|
+
* @since 4.0.0
|
|
12
32
|
*/
|
|
13
33
|
export interface IndexedDbTable<out Name extends string, out TableSchema extends AnySchemaStruct, out Indexes extends Record<string, IndexedDbQueryBuilder.KeyPath<TableSchema>>, out KeyPath extends Readonly<IDBValidKey | undefined>, out AutoIncrement extends boolean> extends Pipeable {
|
|
14
34
|
new (_: never): {};
|
|
@@ -24,15 +44,19 @@ export interface IndexedDbTable<out Name extends string, out TableSchema extends
|
|
|
24
44
|
readonly durability: IDBTransactionDurability;
|
|
25
45
|
}
|
|
26
46
|
/**
|
|
27
|
-
*
|
|
47
|
+
* Schema constraint for table schemas that expose struct fields.
|
|
48
|
+
*
|
|
28
49
|
* @category models
|
|
50
|
+
* @since 4.0.0
|
|
29
51
|
*/
|
|
30
52
|
export type AnySchemaStruct = Schema.Top & {
|
|
31
53
|
readonly fields: Schema.Struct.Fields;
|
|
32
54
|
};
|
|
33
55
|
/**
|
|
34
|
-
*
|
|
56
|
+
* Type-erased shape of an `IndexedDbTable` used when table type parameters are not needed.
|
|
57
|
+
*
|
|
35
58
|
* @category models
|
|
59
|
+
* @since 4.0.0
|
|
36
60
|
*/
|
|
37
61
|
export interface Any {
|
|
38
62
|
readonly [TypeId]: typeof TypeId;
|
|
@@ -46,55 +70,75 @@ export interface Any {
|
|
|
46
70
|
readonly indexes: any;
|
|
47
71
|
}
|
|
48
72
|
/**
|
|
49
|
-
*
|
|
73
|
+
* Type-erased `IndexedDbTable` retaining the table interface properties with broad type parameters.
|
|
74
|
+
*
|
|
50
75
|
* @category models
|
|
76
|
+
* @since 4.0.0
|
|
51
77
|
*/
|
|
52
78
|
export type AnyWithProps = IndexedDbTable<string, AnySchemaStruct, any, any, boolean>;
|
|
53
79
|
/**
|
|
54
|
-
*
|
|
80
|
+
* Extracts the table name type from an `IndexedDbTable`.
|
|
81
|
+
*
|
|
55
82
|
* @category models
|
|
83
|
+
* @since 4.0.0
|
|
56
84
|
*/
|
|
57
85
|
export type TableName<Table extends Any> = Table["tableName"];
|
|
58
86
|
/**
|
|
59
|
-
*
|
|
87
|
+
* Extracts the key-path type from an `IndexedDbTable`.
|
|
88
|
+
*
|
|
60
89
|
* @category models
|
|
90
|
+
* @since 4.0.0
|
|
61
91
|
*/
|
|
62
92
|
export type KeyPath<Table extends Any> = Table["keyPath"];
|
|
63
93
|
/**
|
|
64
|
-
*
|
|
94
|
+
* Extracts the auto-increment flag type from an `IndexedDbTable`.
|
|
95
|
+
*
|
|
65
96
|
* @category models
|
|
97
|
+
* @since 4.0.0
|
|
66
98
|
*/
|
|
67
99
|
export type AutoIncrement<Table extends Any> = Table["autoIncrement"];
|
|
68
100
|
/**
|
|
69
|
-
*
|
|
101
|
+
* Extracts the schema type from an `IndexedDbTable`.
|
|
102
|
+
*
|
|
70
103
|
* @category models
|
|
104
|
+
* @since 4.0.0
|
|
71
105
|
*/
|
|
72
106
|
export type TableSchema<Table extends Any> = Table["tableSchema"];
|
|
73
107
|
/**
|
|
74
|
-
*
|
|
108
|
+
* Extracts the decoding or encoding service requirements needed by an `IndexedDbTable` schema.
|
|
109
|
+
*
|
|
75
110
|
* @category models
|
|
111
|
+
* @since 4.0.0
|
|
76
112
|
*/
|
|
77
113
|
export type Context<Table extends Any> = Table["tableSchema"]["DecodingServices"] | Table["tableSchema"]["EncodingServices"];
|
|
78
114
|
/**
|
|
79
|
-
*
|
|
115
|
+
* Extracts the encoded row type from an `IndexedDbTable` schema.
|
|
116
|
+
*
|
|
80
117
|
* @category models
|
|
118
|
+
* @since 4.0.0
|
|
81
119
|
*/
|
|
82
120
|
export type Encoded<Table extends Any> = Table["tableSchema"]["Encoded"];
|
|
83
121
|
/**
|
|
84
|
-
*
|
|
122
|
+
* Extracts the index definition map from an `IndexedDbTable`.
|
|
123
|
+
*
|
|
85
124
|
* @category models
|
|
125
|
+
* @since 4.0.0
|
|
86
126
|
*/
|
|
87
127
|
export type Indexes<Table extends Any> = Table["indexes"];
|
|
88
128
|
/**
|
|
89
|
-
*
|
|
129
|
+
* Selects the table with the given name from a union of `IndexedDbTable` types.
|
|
130
|
+
*
|
|
90
131
|
* @category models
|
|
132
|
+
* @since 4.0.0
|
|
91
133
|
*/
|
|
92
134
|
export type WithName<Table extends Any, TableName extends string> = Extract<Table, {
|
|
93
135
|
readonly tableName: TableName;
|
|
94
136
|
}>;
|
|
95
137
|
/**
|
|
96
|
-
*
|
|
138
|
+
* Creates a typed IndexedDB table definition from its name, schema, optional key path, indexes, auto-increment flag, and durability.
|
|
139
|
+
*
|
|
97
140
|
* @category constructors
|
|
141
|
+
* @since 4.0.0
|
|
98
142
|
*/
|
|
99
143
|
export declare const make: <const Name extends string, TableSchema extends AnySchemaStruct, const Indexes extends Record<string, IndexedDbQueryBuilder.KeyPath<TableSchema>>, const KeyPath extends (AutoIncrement extends true ? IndexedDbQueryBuilder.KeyPathNumber<NoInfer<TableSchema>> : IndexedDbQueryBuilder.KeyPath<NoInfer<TableSchema>>) | undefined = undefined, const AutoIncrement extends boolean = false>(options: {
|
|
100
144
|
readonly name: Name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDbTable.d.ts","sourceRoot":"","sources":["../src/IndexedDbTable.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"IndexedDbTable.d.ts","sourceRoot":"","sources":["../src/IndexedDbTable.ts"],"names":[],"mappings":"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"}
|
package/dist/IndexedDbTable.js
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Defines typed table descriptors for the browser IndexedDB integration.
|
|
3
|
+
*
|
|
4
|
+
* An `IndexedDbTable` records the object store name, row schema, primary key
|
|
5
|
+
* path, indexes, auto-increment behavior, and transaction durability used by
|
|
6
|
+
* database versions, migrations, and typed queries. These descriptors are
|
|
7
|
+
* useful for local caches, offline-first application state, background queues,
|
|
8
|
+
* drafts, and other browser-persisted data that should be validated through
|
|
9
|
+
* `Schema`.
|
|
10
|
+
*
|
|
11
|
+
* Key paths and index paths must reference encoded schema fields whose values
|
|
12
|
+
* are valid IndexedDB keys, and compound paths are represented as readonly
|
|
13
|
+
* arrays. Tables without a key path use an out-of-line `key` that is added to
|
|
14
|
+
* reads and required for writes, so the row schema itself cannot define a
|
|
15
|
+
* `key` field. Auto-increment tables require a numeric key path; when that key
|
|
16
|
+
* is omitted on write, the module uses a derived schema without the generated
|
|
17
|
+
* key. Declaring indexes here types query builder index selection, but the
|
|
18
|
+
* indexes still need to be created during database migrations.
|
|
19
|
+
*
|
|
2
20
|
* @since 4.0.0
|
|
3
21
|
*/
|
|
4
22
|
import { pipeArguments } from "effect/Pipeable";
|
|
@@ -13,8 +31,10 @@ const Proto = {
|
|
|
13
31
|
}
|
|
14
32
|
};
|
|
15
33
|
/**
|
|
16
|
-
*
|
|
34
|
+
* Creates a typed IndexedDB table definition from its name, schema, optional key path, indexes, auto-increment flag, and durability.
|
|
35
|
+
*
|
|
17
36
|
* @category constructors
|
|
37
|
+
* @since 4.0.0
|
|
18
38
|
*/
|
|
19
39
|
export const make = options => {
|
|
20
40
|
// oxlint-disable-next-line typescript/no-extraneous-class
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDbTable.js","names":["pipeArguments","Schema","Struct","IndexedDb","TypeId","Proto","pipe","arguments","make","options","Table","Object","assign","readSchema","keyPath","undefined","schema","fields","key","IDBValidKey","tableName","name","tableSchema","arraySchema","Array","autoincrementSchema","autoIncrement","omit","indexes","durability"],"sources":["../src/IndexedDbTable.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"IndexedDbTable.js","names":["pipeArguments","Schema","Struct","IndexedDb","TypeId","Proto","pipe","arguments","make","options","Table","Object","assign","readSchema","keyPath","undefined","schema","fields","key","IDBValidKey","tableName","name","tableSchema","arraySchema","Array","autoincrementSchema","autoIncrement","omit","indexes","durability"],"sources":["../src/IndexedDbTable.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;AAqBA,SAAwBA,aAAa,QAAQ,iBAAiB;AAC9D,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAG3C,MAAMC,MAAM,GAAG,0CAA0C;AA4IzD,MAAMC,KAAK,GAAG;EACZ,CAACD,MAAM,GAAGA,MAAM;EAChBE,IAAIA,CAAA;IACF,OAAON,aAAa,CAAC,IAAI,EAAEO,SAAS,CAAC;EACvC;CACD;AAED;;;;;;AAMA,OAAO,MAAMC,IAAI,GAYfC,OAcD,IAMG;EACF;EACA,MAAMC,KAAK;EACXC,MAAM,CAACC,MAAM,CAACF,KAAK,EAAEL,KAAK,CAAC;EAC3B,MAAMQ,UAAU,GAAGJ,OAAO,CAACK,OAAO,KAAKC,SAAS,GAC5Cd,MAAM,CAACC,MAAM,CAAC;IACd,GAAIO,OAAO,CAACO,MAA4B,CAACC,MAAM;IAC/CC,GAAG,EAAEf,SAAS,CAACgB;GAChB,CAAC,GACAV,OAAO,CAACO,MAAM;EAChBN,KAAa,CAACU,SAAS,GAAGX,OAAO,CAACY,IAAI;EACtCX,KAAa,CAACY,WAAW,GAAGb,OAAO,CAACO,MAAM;EAC1CN,KAAa,CAACG,UAAU,GAAGA,UAAU;EACrCH,KAAa,CAACa,WAAW,GAAGtB,MAAM,CAACuB,KAAK,CAACX,UAAiB,CAAC;EAC3DH,KAAa,CAACe,mBAAmB,GAAGhB,OAAO,CAACiB,aAAa,GACvDzB,MAAM,CAACC,MAAM,CAACA,MAAM,CAACyB,IAAI,CAAElB,OAAO,CAACO,MAA4B,CAACC,MAAM,EAAE,CAACR,OAAO,CAACK,OAAQ,CAAQ,CAAC,CAAC,GACnGL,OAAO,CAACO,MAAM;EAChBN,KAAa,CAACI,OAAO,GAAGL,OAAO,CAACK,OAAO;EACvCJ,KAAa,CAACkB,OAAO,GAAGnB,OAAO,CAACmB,OAAO;EACvClB,KAAa,CAACgB,aAAa,GAAGjB,OAAO,CAACiB,aAAa,KAAK,IAAI;EAC5DhB,KAAa,CAACmB,UAAU,GAAGpB,OAAO,CAACoB,UAAU,IAAI,SAAS;EAC5D,OAAOnB,KAAY;AACrB,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Typed IndexedDB schema version definitions.
|
|
3
|
+
*
|
|
4
|
+
* This module represents one logical IndexedDB database version as a non-empty set of `IndexedDbTable` definitions.
|
|
5
|
+
* Versions are consumed by `IndexedDbDatabase.make` and `.add` to type query builders and migration transactions, so
|
|
6
|
+
* applications can describe the tables available after initialization or after each schema upgrade.
|
|
7
|
+
*
|
|
8
|
+
* Use an `IndexedDbVersion` when defining the initial stores for a browser database, adding or removing object stores,
|
|
9
|
+
* changing indexes, or moving data between differently shaped table schemas. The version value is a typed description of
|
|
10
|
+
* the target schema; creating and deleting object stores or indexes still happens explicitly inside the corresponding
|
|
11
|
+
* `IndexedDbDatabase` migration callback.
|
|
12
|
+
*
|
|
13
|
+
* IndexedDB versioning is ordered by the migration chain rather than by a number stored here. Each `.add` step becomes
|
|
14
|
+
* the next browser database version, and only migrations after the browser's current version are run. Include every table
|
|
15
|
+
* that should be queryable in each target version, avoid duplicate table names, and remember that key-path or
|
|
16
|
+
* auto-increment changes usually require creating a new object store and copying data during the upgrade transaction.
|
|
17
|
+
*
|
|
2
18
|
* @since 4.0.0
|
|
3
19
|
*/
|
|
4
20
|
import type { NonEmptyReadonlyArray } from "effect/Array";
|
|
@@ -6,8 +22,10 @@ import type { Pipeable } from "effect/Pipeable";
|
|
|
6
22
|
import type * as IndexedDbTable from "./IndexedDbTable.ts";
|
|
7
23
|
declare const TypeId = "~@effect/platform-browser/IndexedDbVersion";
|
|
8
24
|
/**
|
|
9
|
-
*
|
|
25
|
+
* Typed IndexedDB version definition containing the tables available in that schema version.
|
|
26
|
+
*
|
|
10
27
|
* @category interface
|
|
28
|
+
* @since 4.0.0
|
|
11
29
|
*/
|
|
12
30
|
export interface IndexedDbVersion<out Tables extends IndexedDbTable.AnyWithProps> extends Pipeable {
|
|
13
31
|
new (_: never): {};
|
|
@@ -15,35 +33,47 @@ export interface IndexedDbVersion<out Tables extends IndexedDbTable.AnyWithProps
|
|
|
15
33
|
readonly tables: ReadonlyMap<string, Tables>;
|
|
16
34
|
}
|
|
17
35
|
/**
|
|
18
|
-
*
|
|
36
|
+
* Type-erased shape of an `IndexedDbVersion`.
|
|
37
|
+
*
|
|
19
38
|
* @category models
|
|
39
|
+
* @since 4.0.0
|
|
20
40
|
*/
|
|
21
41
|
export interface Any {
|
|
22
42
|
readonly [TypeId]: typeof TypeId;
|
|
23
43
|
}
|
|
24
44
|
/**
|
|
25
|
-
*
|
|
45
|
+
* Type-erased `IndexedDbVersion` retaining version properties with broad table types.
|
|
46
|
+
*
|
|
26
47
|
* @category models
|
|
48
|
+
* @since 4.0.0
|
|
27
49
|
*/
|
|
28
50
|
export type AnyWithProps = IndexedDbVersion<IndexedDbTable.AnyWithProps>;
|
|
29
51
|
/**
|
|
30
|
-
*
|
|
52
|
+
* Extracts the table union from an `IndexedDbVersion`.
|
|
53
|
+
*
|
|
31
54
|
* @category models
|
|
55
|
+
* @since 4.0.0
|
|
32
56
|
*/
|
|
33
57
|
export type Tables<Db extends Any> = Db extends IndexedDbVersion<infer _Tables> ? _Tables : never;
|
|
34
58
|
/**
|
|
35
|
-
*
|
|
59
|
+
* Selects a table by name from an `IndexedDbVersion`.
|
|
60
|
+
*
|
|
36
61
|
* @category models
|
|
62
|
+
* @since 4.0.0
|
|
37
63
|
*/
|
|
38
64
|
export type TableWithName<Db extends Any, TableName extends string> = IndexedDbTable.WithName<Tables<Db>, TableName>;
|
|
39
65
|
/**
|
|
40
|
-
*
|
|
66
|
+
* Extracts the schema for a named table within an `IndexedDbVersion`.
|
|
67
|
+
*
|
|
41
68
|
* @category models
|
|
69
|
+
* @since 4.0.0
|
|
42
70
|
*/
|
|
43
71
|
export type SchemaWithName<Db extends Any, TableName extends string> = IndexedDbTable.TableSchema<IndexedDbTable.WithName<Tables<Db>, TableName>>;
|
|
44
72
|
/**
|
|
45
|
-
*
|
|
73
|
+
* Creates an `IndexedDbVersion` from one or more table definitions.
|
|
74
|
+
*
|
|
46
75
|
* @category constructors
|
|
76
|
+
* @since 4.0.0
|
|
47
77
|
*/
|
|
48
78
|
export declare const make: <const Tables extends NonEmptyReadonlyArray<IndexedDbTable.AnyWithProps>>(...tables: Tables) => IndexedDbVersion<Tables[number]>;
|
|
49
79
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexedDbVersion.d.ts","sourceRoot":"","sources":["../src/IndexedDbVersion.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"IndexedDbVersion.d.ts","sourceRoot":"","sources":["../src/IndexedDbVersion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAE1D,QAAA,MAAM,MAAM,+CAA+C,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB,CAC/B,GAAG,CAAC,MAAM,SAAS,cAAc,CAAC,YAAY,CAC9C,SAAQ,QAAQ;IAChB,KAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAA;IACjB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,GAAG;IAClB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;AAExE;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,gBAAgB,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;AAEjG;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CACvB,EAAE,SAAS,GAAG,EACd,SAAS,SAAS,MAAM,IACtB,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;AAElD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CACxB,EAAE,SAAS,GAAG,EACd,SAAS,SAAS,MAAM,IACtB,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;AAmB9E;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,CAAC,MAAM,SAAS,qBAAqB,CAAC,cAAc,CAAC,YAAY,CAAC,EAEvE,GAAG,QAAQ,MAAM,KAChB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAG9B,CAAA"}
|
package/dist/IndexedDbVersion.js
CHANGED
|
@@ -14,8 +14,10 @@ const makeProto = options => {
|
|
|
14
14
|
return Version;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Creates an `IndexedDbVersion` from one or more table definitions.
|
|
18
|
+
*
|
|
18
19
|
* @category constructors
|
|
20
|
+
* @since 4.0.0
|
|
19
21
|
*/
|
|
20
22
|
export const make = (...tables) => makeProto({
|
|
21
23
|
tables: new Map(tables.map(table => [table.tableName, table]))
|