@effect/platform-browser 4.0.0-beta.41 → 4.0.0-beta.43

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.
@@ -0,0 +1,284 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ import type { NonEmptyReadonlyArray } from "effect/Array";
5
+ import * as Effect from "effect/Effect";
6
+ import type { Inspectable } from "effect/Inspectable";
7
+ import * as Pipeable from "effect/Pipeable";
8
+ import type * as Queue from "effect/Queue";
9
+ import type * as Record from "effect/Record";
10
+ import * as Schema from "effect/Schema";
11
+ import type * as Scope from "effect/Scope";
12
+ import type * as Stream from "effect/Stream";
13
+ import type * as Reactivity from "effect/unstable/reactivity/Reactivity";
14
+ import type * as IndexedDb from "./IndexedDb.ts";
15
+ import type * as IndexedDbDatabase from "./IndexedDbDatabase.ts";
16
+ import type * as IndexedDbTable from "./IndexedDbTable.ts";
17
+ import type * as IndexedDbVersion from "./IndexedDbVersion.ts";
18
+ declare const ErrorTypeId = "~@effect/platform-browser/IndexedDbQueryBuilder/IndexedDbQueryError";
19
+ /**
20
+ * @since 4.0.0
21
+ * @category errors
22
+ */
23
+ export type ErrorReason = "NotFoundError" | "UnknownError" | "DecodeError" | "EncodeError" | "TransactionError";
24
+ 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 & {
25
+ readonly _tag: "IndexedDbQueryError";
26
+ } & Readonly<A>;
27
+ /**
28
+ * @since 4.0.0
29
+ * @category errors
30
+ */
31
+ export declare class IndexedDbQueryError extends IndexedDbQueryError_base<{
32
+ reason: ErrorReason;
33
+ cause: unknown;
34
+ }> {
35
+ /**
36
+ * @since 4.0.0
37
+ */
38
+ readonly [ErrorTypeId]: typeof ErrorTypeId;
39
+ readonly message: ErrorReason;
40
+ }
41
+ /**
42
+ * @since 4.0.0
43
+ * @category models
44
+ */
45
+ export interface IndexedDbQueryBuilder<Source extends IndexedDbVersion.AnyWithProps> extends Pipeable.Pipeable, Inspectable {
46
+ readonly tables: ReadonlyMap<string, IndexedDbVersion.Tables<Source>>;
47
+ readonly database: globalThis.IDBDatabase;
48
+ readonly reactivity: Reactivity.Reactivity["Service"];
49
+ readonly IDBKeyRange: typeof globalThis.IDBKeyRange;
50
+ readonly IDBTransaction: globalThis.IDBTransaction | undefined;
51
+ readonly use: <A = unknown>(f: (database: globalThis.IDBDatabase) => Promise<A>) => Effect.Effect<A, IndexedDbQueryError>;
52
+ readonly from: <const Name extends IndexedDbTable.TableName<IndexedDbVersion.Tables<Source>>>(table: Name) => IndexedDbQuery.From<IndexedDbVersion.TableWithName<Source, Name>>;
53
+ readonly clearAll: Effect.Effect<void, IndexedDbQueryError>;
54
+ readonly transaction: <Tables extends NonEmptyReadonlyArray<IndexedDbTable.TableName<IndexedDbVersion.Tables<Source>>>, Mode extends "readonly" | "readwrite", E, R>(tables: Tables, mode: Mode, callback: (api: {
55
+ readonly from: <Name extends Tables[number]>(table: Name) => Mode extends "readwrite" ? IndexedDbQuery.From<IndexedDbVersion.TableWithName<Source, Name>> : Omit<IndexedDbQuery.From<IndexedDbVersion.TableWithName<Source, Name>>, "insert" | "insertAll" | "upsert" | "upsertAll" | "clear" | "delete">;
56
+ }) => Effect.Effect<void, E, R>, options?: globalThis.IDBTransactionOptions) => Effect.Effect<void, never, R>;
57
+ }
58
+ /**
59
+ * @since 4.0.0
60
+ * @category models
61
+ */
62
+ export type KeyPath<TableSchema extends IndexedDbTable.AnySchemaStruct> = IndexedDbValidKeys<TableSchema> | NonEmptyReadonlyArray<IndexedDbValidKeys<TableSchema>>;
63
+ /**
64
+ * @since 4.0.0
65
+ * @category models
66
+ */
67
+ export type KeyPathNumber<TableSchema extends IndexedDbTable.AnySchemaStruct> = IndexedDbValidNumberKeys<TableSchema> | NonEmptyReadonlyArray<IndexedDbValidNumberKeys<TableSchema>>;
68
+ /**
69
+ * @since 4.0.0
70
+ * @category models
71
+ */
72
+ export declare namespace IndexedDbQuery {
73
+ /**
74
+ * @since 4.0.0
75
+ * @category models
76
+ */
77
+ type SourceTableSelectSchemaType<Table extends IndexedDbTable.AnyWithProps> = [IndexedDbTable.KeyPath<Table>] extends [undefined] ? IndexedDbTable.TableSchema<Table>["Type"] & {
78
+ readonly key: (typeof IndexedDb.IDBValidKey)["Type"];
79
+ } : IndexedDbTable.TableSchema<Table>["Type"];
80
+ /**
81
+ * @since 4.0.0
82
+ * @category models
83
+ */
84
+ type SourceTableModifySchemaType<Table extends IndexedDbTable.AnyWithProps> = (IndexedDbTable.AutoIncrement<Table> extends true ? {
85
+ [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;
86
+ } & {
87
+ [key in IndexedDbTable.KeyPath<Table>]?: number | undefined;
88
+ } : Schema.Struct.MakeIn<IndexedDbTable.TableSchema<Table>["fields"]>) & ([IndexedDbTable.KeyPath<Table>] extends [undefined] ? {
89
+ key: IDBValidKey;
90
+ } : {});
91
+ /**
92
+ * @since 4.0.0
93
+ * @category models
94
+ */
95
+ type ExtractIndexType<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> = [Index] extends [never] ? Schema.Schema.Type<IndexedDbTable.TableSchema<Table>>[IndexedDbTable.KeyPath<Table>] : Schema.Schema.Type<IndexedDbTable.TableSchema<Table>>[IndexedDbTable.Indexes<Table>[Index]];
96
+ /**
97
+ * @since 4.0.0
98
+ * @category models
99
+ */
100
+ type ModifyWithKey<Table extends IndexedDbTable.AnyWithProps> = SourceTableModifySchemaType<Table>;
101
+ /**
102
+ * @since 4.0.0
103
+ * @category models
104
+ */
105
+ interface From<Table extends IndexedDbTable.AnyWithProps> {
106
+ readonly table: Table;
107
+ readonly database: globalThis.IDBDatabase;
108
+ readonly IDBKeyRange: typeof globalThis.IDBKeyRange;
109
+ readonly transaction?: globalThis.IDBTransaction;
110
+ readonly reactivity: Reactivity.Reactivity["Service"];
111
+ readonly clear: Effect.Effect<void, IndexedDbQueryError>;
112
+ readonly select: {
113
+ <Index extends IndexedDbDatabase.IndexFromTable<Table>>(index: Index): Select<Table, Index>;
114
+ (): Select<Table, never>;
115
+ };
116
+ readonly count: {
117
+ <Index extends IndexedDbDatabase.IndexFromTable<Table>>(index: Index): Count<Table, Index>;
118
+ (): Count<Table, never>;
119
+ };
120
+ readonly delete: {
121
+ <Index extends IndexedDbDatabase.IndexFromTable<Table>>(index: Index): DeletePartial<Table, Index>;
122
+ (): DeletePartial<Table, never>;
123
+ };
124
+ readonly insert: (value: ModifyWithKey<Table>) => Modify<Table>;
125
+ readonly insertAll: (values: Array<ModifyWithKey<Table>>) => ModifyAll<Table>;
126
+ readonly upsert: (value: ModifyWithKey<Table>) => Modify<Table>;
127
+ readonly upsertAll: (values: Array<ModifyWithKey<Table>>) => ModifyAll<Table>;
128
+ }
129
+ /**
130
+ * @since 4.0.0
131
+ * @category models
132
+ */
133
+ interface Clear<Table extends IndexedDbTable.AnyWithProps> extends Pipeable.Pipeable, Effect.YieldableClass<void, IndexedDbQueryError> {
134
+ readonly from: From<Table>;
135
+ }
136
+ /**
137
+ * @since 4.0.0
138
+ * @category models
139
+ */
140
+ interface Count<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<number, IndexedDbQueryError> {
141
+ readonly from: From<Table>;
142
+ readonly index?: Index;
143
+ readonly only?: ExtractIndexType<Table, Index>;
144
+ readonly lowerBound?: ExtractIndexType<Table, Index>;
145
+ readonly upperBound?: ExtractIndexType<Table, Index>;
146
+ readonly excludeLowerBound?: boolean;
147
+ readonly excludeUpperBound?: boolean;
148
+ readonly limitValue?: number | undefined;
149
+ readonly equals: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
150
+ readonly gte: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
151
+ readonly lte: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
152
+ readonly gt: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
153
+ readonly lt: (value: ExtractIndexType<Table, Index>) => Omit<Count<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
154
+ readonly between: (lowerBound: ExtractIndexType<Table, Index>, upperBound: ExtractIndexType<Table, Index>, options?: {
155
+ excludeLowerBound?: boolean;
156
+ excludeUpperBound?: boolean;
157
+ }) => Omit<Count<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
158
+ }
159
+ /**
160
+ * @since 4.0.0
161
+ * @category models
162
+ */
163
+ interface DeletePartial<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> {
164
+ readonly from: From<Table>;
165
+ readonly index?: Index;
166
+ readonly equals: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
167
+ readonly gte: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
168
+ readonly lte: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
169
+ readonly gt: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
170
+ readonly lt: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
171
+ readonly between: (lowerBound: ExtractIndexType<Table, Index>, upperBound: ExtractIndexType<Table, Index>, options?: {
172
+ excludeLowerBound?: boolean;
173
+ excludeUpperBound?: boolean;
174
+ }) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
175
+ readonly limit: (limit: number) => Omit<Delete<Table, Index>, "limit" | "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
176
+ }
177
+ /**
178
+ * @since 4.0.0
179
+ * @category models
180
+ */
181
+ interface Delete<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<void, IndexedDbQueryError> {
182
+ readonly delete: DeletePartial<Table, Index>;
183
+ readonly index?: Index;
184
+ readonly limitValue?: number;
185
+ readonly only?: ExtractIndexType<Table, Index>;
186
+ readonly lowerBound?: ExtractIndexType<Table, Index>;
187
+ readonly upperBound?: ExtractIndexType<Table, Index>;
188
+ readonly excludeLowerBound?: boolean;
189
+ readonly excludeUpperBound?: boolean;
190
+ readonly predicate?: (item: IndexedDbTable.Encoded<Table>) => boolean;
191
+ readonly equals: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
192
+ readonly gte: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
193
+ readonly lte: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
194
+ readonly gt: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
195
+ readonly lt: (value: ExtractIndexType<Table, Index>) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
196
+ readonly between: (lowerBound: ExtractIndexType<Table, Index>, upperBound: ExtractIndexType<Table, Index>, options?: {
197
+ excludeLowerBound?: boolean;
198
+ excludeUpperBound?: boolean;
199
+ }) => Omit<Delete<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
200
+ readonly limit: (limit: number) => Omit<Delete<Table, Index>, "limit" | "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
201
+ readonly filter: (f: (value: IndexedDbTable.Encoded<Table>) => boolean) => Delete<Table, Index>;
202
+ readonly invalidate: (keys: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>>) => Effect.Effect<void, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
203
+ }
204
+ /**
205
+ * @since 4.0.0
206
+ * @category models
207
+ */
208
+ interface Select<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<Array<SourceTableSelectSchemaType<Table>>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
209
+ readonly from: From<Table>;
210
+ readonly index?: Index;
211
+ readonly limitValue?: number;
212
+ readonly only?: ExtractIndexType<Table, Index>;
213
+ readonly lowerBound?: ExtractIndexType<Table, Index>;
214
+ readonly upperBound?: ExtractIndexType<Table, Index>;
215
+ readonly excludeLowerBound?: boolean;
216
+ readonly excludeUpperBound?: boolean;
217
+ readonly predicate?: (item: IndexedDbTable.Encoded<Table>) => boolean;
218
+ readonly equals: (value: ExtractIndexType<Table, Index>) => Omit<Select<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
219
+ readonly gte: (value: ExtractIndexType<Table, Index>) => Omit<Select<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
220
+ readonly lte: (value: ExtractIndexType<Table, Index>) => Omit<Select<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
221
+ readonly gt: (value: ExtractIndexType<Table, Index>) => Omit<Select<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
222
+ readonly lt: (value: ExtractIndexType<Table, Index>) => Omit<Select<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
223
+ readonly between: (lowerBound: ExtractIndexType<Table, Index>, upperBound: ExtractIndexType<Table, Index>, options?: {
224
+ excludeLowerBound?: boolean;
225
+ excludeUpperBound?: boolean;
226
+ }) => Omit<Select<Table, Index>, "equals" | "gte" | "lte" | "gt" | "lt" | "between">;
227
+ readonly limit: (limit: number) => Omit<Select<Table, Index>, "limit" | "equals" | "gte" | "lte" | "gt" | "lt" | "between" | "first">;
228
+ readonly filter: (f: (value: IndexedDbTable.Encoded<Table>) => boolean) => Select<Table, Index>;
229
+ readonly first: () => First<Table, Index>;
230
+ readonly reactive: (keys: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>>) => Stream.Stream<Array<SourceTableSelectSchemaType<Table>>, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
231
+ readonly reactiveQueue: (keys: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>>) => Effect.Effect<Queue.Dequeue<Array<SourceTableSelectSchemaType<Table>>, IndexedDbQueryError>, never, Scope.Scope | IndexedDbTable.Context<Table>>;
232
+ }
233
+ /**
234
+ * @since 4.0.0
235
+ * @category models
236
+ */
237
+ interface First<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<SourceTableSelectSchemaType<Table>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
238
+ readonly select: Select<Table, Index>;
239
+ }
240
+ /**
241
+ * @since 4.0.0
242
+ * @category models
243
+ */
244
+ interface Filter<Table extends IndexedDbTable.AnyWithProps, Index extends IndexedDbDatabase.IndexFromTable<Table>> extends Pipeable.Pipeable, Effect.YieldableClass<Array<SourceTableSelectSchemaType<Table>>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
245
+ readonly select: Select<Table, Index>;
246
+ readonly predicate: (item: IndexedDbTable.Encoded<Table>) => boolean;
247
+ readonly filter: (f: (value: IndexedDbTable.Encoded<Table>) => boolean) => Filter<Table, Index>;
248
+ }
249
+ /**
250
+ * @since 4.0.0
251
+ * @category models
252
+ */
253
+ interface Modify<Table extends IndexedDbTable.AnyWithProps> extends Pipeable.Pipeable, Effect.YieldableClass<globalThis.IDBValidKey, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
254
+ readonly operation: "add" | "put";
255
+ readonly from: From<Table>;
256
+ readonly value: ModifyWithKey<Table>;
257
+ readonly invalidate: (keys: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>>) => Effect.Effect<globalThis.IDBValidKey, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
258
+ }
259
+ /**
260
+ * @since 4.0.0
261
+ * @category models
262
+ */
263
+ interface ModifyAll<Table extends IndexedDbTable.AnyWithProps> extends Pipeable.Pipeable, Effect.YieldableClass<Array<globalThis.IDBValidKey>, IndexedDbQueryError, IndexedDbTable.Context<Table>> {
264
+ readonly operation: "add" | "put";
265
+ readonly from: From<Table>;
266
+ readonly values: Array<ModifyWithKey<Table>>;
267
+ readonly invalidate: (keys: ReadonlyArray<unknown> | Record.ReadonlyRecord<string, ReadonlyArray<unknown>>) => Effect.Effect<Array<globalThis.IDBValidKey>, IndexedDbQueryError, IndexedDbTable.Context<Table>>;
268
+ }
269
+ }
270
+ 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;
271
+ 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;
272
+ /**
273
+ * @since 4.0.0
274
+ * @category constructors
275
+ */
276
+ export declare const make: <Source extends IndexedDbVersion.AnyWithProps>({ IDBKeyRange, database, tables, transaction, reactivity }: {
277
+ readonly database: globalThis.IDBDatabase;
278
+ readonly IDBKeyRange: typeof globalThis.IDBKeyRange;
279
+ readonly tables: ReadonlyMap<string, IndexedDbVersion.Tables<Source>>;
280
+ readonly transaction: globalThis.IDBTransaction | undefined;
281
+ readonly reactivity: Reactivity.Reactivity["Service"];
282
+ }) => IndexedDbQueryBuilder<Source>;
283
+ export {};
284
+ //# 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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"}