@effect/platform-browser 4.0.0-beta.42 → 4.0.0-beta.44
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 +3 -3
- package/dist/BrowserHttpClient.d.ts.map +1 -1
- package/dist/BrowserHttpClient.js +5 -5
- package/dist/BrowserHttpClient.js.map +1 -1
- package/dist/BrowserWorkerRunner.js +1 -1
- package/dist/BrowserWorkerRunner.js.map +1 -1
- package/dist/Clipboard.d.ts +5 -2
- package/dist/Clipboard.d.ts.map +1 -1
- package/dist/Clipboard.js +2 -2
- package/dist/Clipboard.js.map +1 -1
- package/dist/Geolocation.d.ts +2 -2
- package/dist/Geolocation.d.ts.map +1 -1
- package/dist/Geolocation.js +2 -2
- package/dist/Geolocation.js.map +1 -1
- package/dist/IndexedDb.d.ts +50 -0
- package/dist/IndexedDb.d.ts.map +1 -0
- package/dist/IndexedDb.js +65 -0
- package/dist/IndexedDb.js.map +1 -0
- package/dist/IndexedDbDatabase.d.ts +105 -0
- package/dist/IndexedDbDatabase.d.ts.map +1 -0
- package/dist/IndexedDbDatabase.js +321 -0
- package/dist/IndexedDbDatabase.js.map +1 -0
- package/dist/IndexedDbQueryBuilder.d.ts +342 -0
- package/dist/IndexedDbQueryBuilder.d.ts.map +1 -0
- package/dist/IndexedDbQueryBuilder.js +869 -0
- package/dist/IndexedDbQueryBuilder.js.map +1 -0
- package/dist/IndexedDbTable.d.ts +109 -0
- package/dist/IndexedDbTable.d.ts.map +1 -0
- package/dist/IndexedDbTable.js +38 -0
- package/dist/IndexedDbTable.js.map +1 -0
- package/dist/IndexedDbVersion.d.ts +50 -0
- package/dist/IndexedDbVersion.d.ts.map +1 -0
- package/dist/IndexedDbVersion.js +23 -0
- package/dist/IndexedDbVersion.js.map +1 -0
- package/dist/Permissions.d.ts +5 -2
- package/dist/Permissions.d.ts.map +1 -1
- package/dist/Permissions.js +2 -2
- package/dist/Permissions.js.map +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/src/BrowserHttpClient.ts +6 -6
- package/src/BrowserWorkerRunner.ts +1 -1
- package/src/Clipboard.ts +2 -2
- package/src/Geolocation.ts +2 -2
- package/src/IndexedDb.ts +97 -0
- package/src/IndexedDbDatabase.ts +631 -0
- package/src/IndexedDbQueryBuilder.ts +1890 -0
- package/src/IndexedDbTable.ts +203 -0
- package/src/IndexedDbVersion.ts +89 -0
- package/src/Permissions.ts +2 -2
- package/src/index.ts +25 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 4.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { NonEmptyReadonlyArray } from "effect/Array";
|
|
5
|
+
import * as Context from "effect/Context";
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import type { Inspectable } from "effect/Inspectable";
|
|
8
|
+
import type * as MutableRef from "effect/MutableRef";
|
|
9
|
+
import * as Pipeable from "effect/Pipeable";
|
|
10
|
+
import type * as Queue from "effect/Queue";
|
|
11
|
+
import type * as Record from "effect/Record";
|
|
12
|
+
import * as Schema from "effect/Schema";
|
|
13
|
+
import type * as Scope from "effect/Scope";
|
|
14
|
+
import * as Stream from "effect/Stream";
|
|
15
|
+
import type * as Reactivity from "effect/unstable/reactivity/Reactivity";
|
|
16
|
+
import type * as IndexedDb from "./IndexedDb.ts";
|
|
17
|
+
import type * as IndexedDbDatabase from "./IndexedDbDatabase.ts";
|
|
18
|
+
import type * as IndexedDbTable from "./IndexedDbTable.ts";
|
|
19
|
+
import type * as IndexedDbVersion from "./IndexedDbVersion.ts";
|
|
20
|
+
declare const ErrorTypeId = "~@effect/platform-browser/IndexedDbQueryBuilder/IndexedDbQueryError";
|
|
21
|
+
/**
|
|
22
|
+
* @since 4.0.0
|
|
23
|
+
* @category errors
|
|
24
|
+
*/
|
|
25
|
+
export type ErrorReason = "NotFoundError" | "UnknownError" | "DecodeError" | "EncodeError" | "TransactionError";
|
|
26
|
+
declare const IndexedDbQueryError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
27
|
+
readonly _tag: "IndexedDbQueryError";
|
|
28
|
+
} & Readonly<A>;
|
|
29
|
+
/**
|
|
30
|
+
* @since 4.0.0
|
|
31
|
+
* @category errors
|
|
32
|
+
*/
|
|
33
|
+
export declare class IndexedDbQueryError extends IndexedDbQueryError_base<{
|
|
34
|
+
reason: ErrorReason;
|
|
35
|
+
cause: unknown;
|
|
36
|
+
}> {
|
|
37
|
+
/**
|
|
38
|
+
* @since 4.0.0
|
|
39
|
+
*/
|
|
40
|
+
readonly [ErrorTypeId]: typeof ErrorTypeId;
|
|
41
|
+
readonly message: ErrorReason;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @since 4.0.0
|
|
45
|
+
* @category models
|
|
46
|
+
*/
|
|
47
|
+
export interface IndexedDbQueryBuilder<Source extends IndexedDbVersion.AnyWithProps> extends Pipeable.Pipeable, Inspectable {
|
|
48
|
+
readonly tables: ReadonlyMap<string, IndexedDbVersion.Tables<Source>>;
|
|
49
|
+
readonly database: MutableRef.MutableRef<globalThis.IDBDatabase>;
|
|
50
|
+
readonly reactivity: Reactivity.Reactivity["Service"];
|
|
51
|
+
readonly IDBKeyRange: typeof globalThis.IDBKeyRange;
|
|
52
|
+
readonly IDBTransaction: globalThis.IDBTransaction | undefined;
|
|
53
|
+
readonly use: <A = unknown>(f: (database: globalThis.IDBDatabase) => A) => Effect.Effect<A, IndexedDbQueryError>;
|
|
54
|
+
readonly from: <const Name extends IndexedDbTable.TableName<IndexedDbVersion.Tables<Source>>>(table: Name) => IndexedDbQuery.From<IndexedDbVersion.TableWithName<Source, Name>>;
|
|
55
|
+
readonly clearAll: Effect.Effect<void, IndexedDbQueryError>;
|
|
56
|
+
readonly withTransaction: <Tables extends NonEmptyReadonlyArray<IndexedDbTable.TableName<IndexedDbVersion.Tables<Source>>>, Mode extends "readonly" | "readwrite">(options: {
|
|
57
|
+
readonly tables: Tables;
|
|
58
|
+
readonly mode: Mode;
|
|
59
|
+
readonly durability?: IDBTransactionDurability;
|
|
60
|
+
}) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, IndexedDbTransaction>>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @since 4.0.0
|
|
64
|
+
* @category models
|
|
65
|
+
*/
|
|
66
|
+
export type KeyPath<TableSchema extends IndexedDbTable.AnySchemaStruct> = IndexedDbValidKeys<TableSchema> | NonEmptyReadonlyArray<IndexedDbValidKeys<TableSchema>>;
|
|
67
|
+
/**
|
|
68
|
+
* @since 4.0.0
|
|
69
|
+
* @category models
|
|
70
|
+
*/
|
|
71
|
+
export type KeyPathNumber<TableSchema extends IndexedDbTable.AnySchemaStruct> = IndexedDbValidNumberKeys<TableSchema> | NonEmptyReadonlyArray<IndexedDbValidNumberKeys<TableSchema>>;
|
|
72
|
+
/**
|
|
73
|
+
* @since 4.0.0
|
|
74
|
+
* @category models
|
|
75
|
+
*/
|
|
76
|
+
export declare namespace IndexedDbQuery {
|
|
77
|
+
/**
|
|
78
|
+
* @since 4.0.0
|
|
79
|
+
* @category models
|
|
80
|
+
*/
|
|
81
|
+
type SelectType<Table extends IndexedDbTable.AnyWithProps> = [IndexedDbTable.KeyPath<Table>] extends [undefined] ? IndexedDbTable.TableSchema<Table>["Type"] & {
|
|
82
|
+
readonly key: (typeof IndexedDb.IDBValidKey)["Type"];
|
|
83
|
+
} : IndexedDbTable.TableSchema<Table>["Type"];
|
|
84
|
+
/**
|
|
85
|
+
* @since 4.0.0
|
|
86
|
+
* @category models
|
|
87
|
+
*/
|
|
88
|
+
type ModifyType<Table extends IndexedDbTable.AnyWithProps> = (IndexedDbTable.AutoIncrement<Table> extends true ? {
|
|
89
|
+
[key in keyof Schema.Struct.MakeIn<Omit<IndexedDbTable.TableSchema<Table>["fields"], IndexedDbTable.KeyPath<Table>>>]: key extends keyof Schema.Struct.MakeIn<IndexedDbTable.TableSchema<Table>["fields"]> ? Schema.Struct.MakeIn<IndexedDbTable.TableSchema<Table>["fields"]>[key] : never;
|
|
90
|
+
} & {
|
|
91
|
+
[key in IndexedDbTable.KeyPath<Table>]?: number | undefined;
|
|
92
|
+
} : Schema.Struct.MakeIn<IndexedDbTable.TableSchema<Table>["fields"]>) & ([IndexedDbTable.KeyPath<Table>] extends [undefined] ? {
|
|
93
|
+
key: IDBValidKey;
|
|
94
|
+
} : {});
|
|
95
|
+
/**
|
|
96
|
+
* @since 4.0.0
|
|
97
|
+
* @category models
|
|
98
|
+
*/
|
|
99
|
+
type EqualsType<Table extends IndexedDbTable.AnyWithProps, Index extends keyof Table["indexes"], KeyPath = [Index] extends [never] ? Table["keyPath"] : Table["indexes"][Index], Type = Table["tableSchema"]["Encoded"]> = KeyPath extends keyof Type ? Type[KeyPath] : {
|
|
100
|
+
[I in keyof KeyPath]: KeyPath[I] extends keyof Type ? Type[KeyPath[I]] | [] : never;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* @since 4.0.0
|
|
104
|
+
* @category models
|
|
105
|
+
*/
|
|
106
|
+
type ExtractIndexType<Table extends IndexedDbTable.AnyWithProps, Index extends keyof Table["indexes"], KeyPath = [Index] extends [never] ? Table["keyPath"] : Table["indexes"][Index], Type = Table["tableSchema"]["Encoded"]> = KeyPath extends keyof Type ? Type[KeyPath] : KeyPath extends readonly [infer K, ...infer Rest] ? K extends keyof Type ? [
|
|
107
|
+
Type[K],
|
|
108
|
+
...{
|
|
109
|
+
[P in keyof Rest]?: Rest[P] extends keyof Type ? Type[Rest[P]] | [] : never;
|
|
110
|
+
}
|
|
111
|
+
] : never : never;
|
|
112
|
+
/**
|
|
113
|
+
* @since 4.0.0
|
|
114
|
+
* @category models
|
|
115
|
+
*/
|
|
116
|
+
type ModifyWithKey<Table extends IndexedDbTable.AnyWithProps> = ModifyType<Table>;
|
|
117
|
+
/**
|
|
118
|
+
* @since 4.0.0
|
|
119
|
+
* @category models
|
|
120
|
+
*/
|
|
121
|
+
interface From<Table extends IndexedDbTable.AnyWithProps> {
|
|
122
|
+
readonly table: Table;
|
|
123
|
+
readonly database: MutableRef.MutableRef<globalThis.IDBDatabase>;
|
|
124
|
+
readonly IDBKeyRange: typeof globalThis.IDBKeyRange;
|
|
125
|
+
readonly reactivity: Reactivity.Reactivity["Service"];
|
|
126
|
+
readonly clear: Effect.Effect<void, IndexedDbQueryError>;
|
|
127
|
+
readonly select: {
|
|
128
|
+
<Index extends IndexedDbDatabase.IndexFromTable<Table>>(index: Index): Select<Table, Index>;
|
|
129
|
+
(): Select<Table, never>;
|
|
130
|
+
};
|
|
131
|
+
readonly count: {
|
|
132
|
+
<Index extends IndexedDbDatabase.IndexFromTable<Table>>(index: Index): Count<Table, Index>;
|
|
133
|
+
(): Count<Table, never>;
|
|
134
|
+
};
|
|
135
|
+
readonly delete: {
|
|
136
|
+
<Index extends IndexedDbDatabase.IndexFromTable<Table>>(index: Index): DeletePartial<Table, Index>;
|
|
137
|
+
(): DeletePartial<Table, never>;
|
|
138
|
+
};
|
|
139
|
+
readonly insert: (value: ModifyWithKey<Table>) => Modify<Table>;
|
|
140
|
+
readonly insertAll: (values: Array<ModifyWithKey<Table>>) => ModifyAll<Table>;
|
|
141
|
+
readonly upsert: (value: ModifyWithKey<Table>) => Modify<Table>;
|
|
142
|
+
readonly upsertAll: (values: Array<ModifyWithKey<Table>>) => ModifyAll<Table>;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @since 4.0.0
|
|
146
|
+
* @category models
|
|
147
|
+
*/
|
|
148
|
+
interface Clear<Table extends IndexedDbTable.AnyWithProps> extends Pipeable.Pipeable, Effect.YieldableClass<void, IndexedDbQueryError> {
|
|
149
|
+
readonly from: From<Table>;
|
|
150
|
+
}
|
|
151
|
+
type ComparisonKeys = "equals" | "gte" | "lte" | "gt" | "lt" | "between";
|
|
152
|
+
/**
|
|
153
|
+
* @since 4.0.0
|
|
154
|
+
* @category models
|
|
155
|
+
*/
|
|
156
|
+
interface Count<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<number, IndexedDbQueryError> {
|
|
157
|
+
readonly from: From<Table>;
|
|
158
|
+
readonly index?: Index;
|
|
159
|
+
readonly only?: ExtractIndexType<Table, Index>;
|
|
160
|
+
readonly lowerBound?: ExtractIndexType<Table, Index>;
|
|
161
|
+
readonly upperBound?: ExtractIndexType<Table, Index>;
|
|
162
|
+
readonly excludeLowerBound?: boolean;
|
|
163
|
+
readonly excludeUpperBound?: boolean;
|
|
164
|
+
readonly equals: (value: EqualsType<Table, Index>) => Omit<Count<Table, Index>, ComparisonKeys>;
|
|
165
|
+
readonly gte: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, ComparisonKeys>;
|
|
166
|
+
readonly lte: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, ComparisonKeys>;
|
|
167
|
+
readonly gt: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, ComparisonKeys>;
|
|
168
|
+
readonly lt: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, ComparisonKeys>;
|
|
169
|
+
readonly between: (lowerBound: ExtractIndexType<Table, Index>, upperBound: ExtractIndexType<Table, Index>, options?: {
|
|
170
|
+
excludeLowerBound?: boolean;
|
|
171
|
+
excludeUpperBound?: boolean;
|
|
172
|
+
}) => Omit<Count<Table, Index>, ComparisonKeys>;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* @since 4.0.0
|
|
176
|
+
* @category models
|
|
177
|
+
*/
|
|
178
|
+
interface DeletePartial<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> {
|
|
179
|
+
readonly from: From<Table>;
|
|
180
|
+
readonly index?: Index;
|
|
181
|
+
readonly equals: (value: EqualsType<Table, Index>) => Delete<Table, Index>;
|
|
182
|
+
readonly gte: (value: ExtractIndexType<Table, Index>) => Delete<Table, Index>;
|
|
183
|
+
readonly lte: (value: ExtractIndexType<Table, Index>) => Delete<Table, Index>;
|
|
184
|
+
readonly gt: (value: ExtractIndexType<Table, Index>) => Delete<Table, Index>;
|
|
185
|
+
readonly lt: (value: ExtractIndexType<Table, Index>) => Delete<Table, Index>;
|
|
186
|
+
readonly between: (lowerBound: ExtractIndexType<Table, Index>, upperBound: ExtractIndexType<Table, Index>, options?: {
|
|
187
|
+
excludeLowerBound?: boolean;
|
|
188
|
+
excludeUpperBound?: boolean;
|
|
189
|
+
}) => Delete<Table, Index>;
|
|
190
|
+
readonly limit: (limit: number) => DeleteWithout<Table, Index, "limit">;
|
|
191
|
+
}
|
|
192
|
+
type DeleteWithout<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>, ExcludedKeys extends string> = Omit<Delete<Table, Index, ExcludedKeys>, ExcludedKeys>;
|
|
193
|
+
/**
|
|
194
|
+
* @since 4.0.0
|
|
195
|
+
* @category models
|
|
196
|
+
*/
|
|
197
|
+
interface Delete<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>, ExcludedKeys extends string = never> extends Pipeable.Pipeable, Effect.YieldableClass<void, IndexedDbQueryError> {
|
|
198
|
+
readonly delete: DeletePartial<Table, Index>;
|
|
199
|
+
readonly index?: Index;
|
|
200
|
+
readonly limitValue?: number;
|
|
201
|
+
readonly only?: ExtractIndexType<Table, Index>;
|
|
202
|
+
readonly lowerBound?: ExtractIndexType<Table, Index>;
|
|
203
|
+
readonly upperBound?: ExtractIndexType<Table, Index>;
|
|
204
|
+
readonly excludeLowerBound?: boolean;
|
|
205
|
+
readonly excludeUpperBound?: boolean;
|
|
206
|
+
readonly predicate?: (item: IndexedDbTable.Encoded<Table>) => boolean;
|
|
207
|
+
readonly limit: (limit: number) => DeleteWithout<Table, Index, ExcludedKeys | "limit">;
|
|
208
|
+
readonly filter: (f: (value: IndexedDbTable.Encoded<Table>) => boolean) => DeleteWithout<Table, Index, ExcludedKeys>;
|
|
209
|
+
/**
|
|
210
|
+
* Invalidate any queries using Reactivity service with the provided keys.
|
|
211
|
+
*
|
|
212
|
+
* Defaults to using the table name as a key if no keys are provided.
|
|
213
|
+
*/
|
|
214
|
+
readonly invalidate: (keys?: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined) => Effect.Effect<void, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
|
|
215
|
+
}
|
|
216
|
+
type SelectWithout<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>, ExcludedKeys extends string> = Omit<Select<Table, Index, ExcludedKeys>, ExcludedKeys>;
|
|
217
|
+
/**
|
|
218
|
+
* @since 4.0.0
|
|
219
|
+
* @category models
|
|
220
|
+
*/
|
|
221
|
+
interface Select<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>, ExcludedKeys extends string = never> extends Pipeable.Pipeable, Effect.YieldableClass<Array<SelectType<Table>>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
|
|
222
|
+
readonly from: From<Table>;
|
|
223
|
+
readonly index?: Index;
|
|
224
|
+
readonly limitValue?: number;
|
|
225
|
+
readonly offsetValue?: number;
|
|
226
|
+
readonly reverseValue?: boolean;
|
|
227
|
+
readonly only?: ExtractIndexType<Table, Index>;
|
|
228
|
+
readonly lowerBound?: ExtractIndexType<Table, Index>;
|
|
229
|
+
readonly upperBound?: ExtractIndexType<Table, Index>;
|
|
230
|
+
readonly excludeLowerBound?: boolean;
|
|
231
|
+
readonly excludeUpperBound?: boolean;
|
|
232
|
+
readonly predicate?: (item: IndexedDbTable.Encoded<Table>) => boolean;
|
|
233
|
+
readonly equals: (value: EqualsType<Table, Index>) => SelectWithout<Table, Index, ExcludedKeys | ComparisonKeys>;
|
|
234
|
+
readonly gte: (value: ExtractIndexType<Table, Index>) => SelectWithout<Table, Index, ExcludedKeys | ComparisonKeys>;
|
|
235
|
+
readonly lte: (value: ExtractIndexType<Table, Index>) => SelectWithout<Table, Index, ExcludedKeys | ComparisonKeys>;
|
|
236
|
+
readonly gt: (value: ExtractIndexType<Table, Index>) => SelectWithout<Table, Index, ExcludedKeys | ComparisonKeys>;
|
|
237
|
+
readonly lt: (value: ExtractIndexType<Table, Index>) => SelectWithout<Table, Index, ExcludedKeys | ComparisonKeys>;
|
|
238
|
+
readonly between: (lowerBound: ExtractIndexType<Table, Index>, upperBound: ExtractIndexType<Table, Index>, options?: {
|
|
239
|
+
excludeLowerBound?: boolean;
|
|
240
|
+
excludeUpperBound?: boolean;
|
|
241
|
+
}) => SelectWithout<Table, Index, ExcludedKeys | ComparisonKeys>;
|
|
242
|
+
readonly limit: (limit: number) => SelectWithout<Table, Index, ExcludedKeys | "limit" | "first">;
|
|
243
|
+
readonly offset: (offset: number) => SelectWithout<Table, Index, ExcludedKeys | "offset" | "first">;
|
|
244
|
+
readonly reverse: () => SelectWithout<Table, Index, ExcludedKeys | "reverse" | "first">;
|
|
245
|
+
readonly filter: (f: (value: IndexedDbTable.Encoded<Table>) => boolean) => SelectWithout<Table, Index, ExcludedKeys | "first">;
|
|
246
|
+
readonly first: () => First<Table, Index>;
|
|
247
|
+
/**
|
|
248
|
+
* Stream the selected data.
|
|
249
|
+
*
|
|
250
|
+
* Defaults to a chunk size of 100.
|
|
251
|
+
*/
|
|
252
|
+
readonly stream: (options?: {
|
|
253
|
+
readonly chunkSize?: number | undefined;
|
|
254
|
+
}) => Stream.Stream<SelectType<Table>, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
|
|
255
|
+
/**
|
|
256
|
+
* Use the Reactivity service to react to changes to the selected data.
|
|
257
|
+
*
|
|
258
|
+
* By default it uses the table name as a key.
|
|
259
|
+
*/
|
|
260
|
+
readonly reactive: (keys?: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined) => Stream.Stream<Array<SelectType<Table>>, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
|
|
261
|
+
readonly reactiveQueue: (keys?: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined) => Effect.Effect<Queue.Dequeue<Array<SelectType<Table>>, IndexedDbQueryError>, never, Scope.Scope | IndexedDbTable.Context<Table>>;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* @since 4.0.0
|
|
265
|
+
* @category models
|
|
266
|
+
*/
|
|
267
|
+
interface First<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<SelectType<Table>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
|
|
268
|
+
readonly select: Select<Table, Index>;
|
|
269
|
+
/**
|
|
270
|
+
* Use the Reactivity service to react to changes to the selected data.
|
|
271
|
+
*
|
|
272
|
+
* By default it uses the table name as a key.
|
|
273
|
+
*/
|
|
274
|
+
readonly reactive: (keys?: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined) => Stream.Stream<SelectType<Table>, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
|
|
275
|
+
/**
|
|
276
|
+
* Use the Reactivity service to react to changes to the selected data.
|
|
277
|
+
*
|
|
278
|
+
* By default it uses the table name as a key.
|
|
279
|
+
*/
|
|
280
|
+
readonly reactiveQueue: (keys: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>>) => Effect.Effect<Queue.Dequeue<SelectType<Table>, IndexedDbQueryError>, never, Scope.Scope | IndexedDbTable.Context<Table>>;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* @since 4.0.0
|
|
284
|
+
* @category models
|
|
285
|
+
*/
|
|
286
|
+
interface Filter<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<Array<SelectType<Table>>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
|
|
287
|
+
readonly select: Select<Table, Index>;
|
|
288
|
+
readonly predicate: (item: IndexedDbTable.Encoded<Table>) => boolean;
|
|
289
|
+
readonly filter: (f: (value: IndexedDbTable.Encoded<Table>) => boolean) => Filter<Table, Index>;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* @since 4.0.0
|
|
293
|
+
* @category models
|
|
294
|
+
*/
|
|
295
|
+
interface Modify<Table extends IndexedDbTable.AnyWithProps> extends Pipeable.Pipeable, Effect.YieldableClass<globalThis.IDBValidKey, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
|
|
296
|
+
readonly operation: "add" | "put";
|
|
297
|
+
readonly from: From<Table>;
|
|
298
|
+
readonly value: ModifyWithKey<Table>;
|
|
299
|
+
/**
|
|
300
|
+
* Invalidate any queries using Reactivity service with the provided keys.
|
|
301
|
+
*
|
|
302
|
+
* Defaults to using the table name as a key if no keys are provided.
|
|
303
|
+
*/
|
|
304
|
+
readonly invalidate: (keys?: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined) => Effect.Effect<globalThis.IDBValidKey, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @since 4.0.0
|
|
308
|
+
* @category models
|
|
309
|
+
*/
|
|
310
|
+
interface ModifyAll<Table extends IndexedDbTable.AnyWithProps> extends Pipeable.Pipeable, Effect.YieldableClass<Array<globalThis.IDBValidKey>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
|
|
311
|
+
readonly operation: "add" | "put";
|
|
312
|
+
readonly from: From<Table>;
|
|
313
|
+
readonly values: Array<ModifyWithKey<Table>>;
|
|
314
|
+
/**
|
|
315
|
+
* Invalidate any queries using Reactivity service with the provided keys.
|
|
316
|
+
*
|
|
317
|
+
* Defaults to using the table name as a key if no keys are provided.
|
|
318
|
+
*/
|
|
319
|
+
readonly invalidate: (keys?: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined) => Effect.Effect<globalThis.IDBValidKey, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
declare const IndexedDbTransaction_base: Context.ServiceClass<IndexedDbTransaction, "@effect/platform-browser/IndexedDbQueryBuilder/IndexedDbTransaction", IDBTransaction>;
|
|
323
|
+
/**
|
|
324
|
+
* @since 4.0.0
|
|
325
|
+
* @category models
|
|
326
|
+
*/
|
|
327
|
+
export declare class IndexedDbTransaction extends IndexedDbTransaction_base {
|
|
328
|
+
}
|
|
329
|
+
type IndexedDbValidKeys<TableSchema extends IndexedDbTable.AnySchemaStruct> = keyof TableSchema["Encoded"] extends infer K ? K extends keyof TableSchema["Encoded"] ? TableSchema["Encoded"][K] extends Readonly<IDBValidKey> ? K : never : never : never;
|
|
330
|
+
type IndexedDbValidNumberKeys<TableSchema extends IndexedDbTable.AnySchemaStruct> = keyof TableSchema["Encoded"] extends infer K ? K extends keyof TableSchema["Encoded"] ? [TableSchema["Encoded"][K]] extends [number | undefined] ? K : never : never : never;
|
|
331
|
+
/**
|
|
332
|
+
* @since 4.0.0
|
|
333
|
+
* @category constructors
|
|
334
|
+
*/
|
|
335
|
+
export declare const make: <Source extends IndexedDbVersion.AnyWithProps>({ IDBKeyRange, database, tables, reactivity }: {
|
|
336
|
+
readonly database: MutableRef.MutableRef<globalThis.IDBDatabase>;
|
|
337
|
+
readonly IDBKeyRange: typeof globalThis.IDBKeyRange;
|
|
338
|
+
readonly tables: ReadonlyMap<string, IndexedDbVersion.Tables<Source>>;
|
|
339
|
+
readonly reactivity: Reactivity.Reactivity["Service"];
|
|
340
|
+
}) => IndexedDbQueryBuilder<Source>;
|
|
341
|
+
export {};
|
|
342
|
+
//# sourceMappingURL=IndexedDbQueryBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedDbQueryBuilder.d.ts","sourceRoot":"","sources":["../src/IndexedDbQueryBuilder.ts"],"names":[],"mappings":"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"}
|