@effect/platform-browser 4.0.0-beta.8 → 4.0.0-beta.80

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.
Files changed (91) hide show
  1. package/dist/BrowserCrypto.d.ts +49 -0
  2. package/dist/BrowserCrypto.d.ts.map +1 -0
  3. package/dist/BrowserCrypto.js +87 -0
  4. package/dist/BrowserCrypto.js.map +1 -0
  5. package/dist/BrowserHttpClient.d.ts +48 -19
  6. package/dist/BrowserHttpClient.d.ts.map +1 -1
  7. package/dist/BrowserHttpClient.js +62 -21
  8. package/dist/BrowserHttpClient.js.map +1 -1
  9. package/dist/BrowserKeyValueStore.d.ts +37 -14
  10. package/dist/BrowserKeyValueStore.d.ts.map +1 -1
  11. package/dist/BrowserKeyValueStore.js +144 -10
  12. package/dist/BrowserKeyValueStore.js.map +1 -1
  13. package/dist/BrowserPersistence.d.ts +40 -0
  14. package/dist/BrowserPersistence.d.ts.map +1 -0
  15. package/dist/BrowserPersistence.js +207 -0
  16. package/dist/BrowserPersistence.js.map +1 -0
  17. package/dist/BrowserRuntime.d.ts +64 -4
  18. package/dist/BrowserRuntime.d.ts.map +1 -1
  19. package/dist/BrowserRuntime.js +19 -1
  20. package/dist/BrowserRuntime.js.map +1 -1
  21. package/dist/BrowserSocket.d.ts +33 -6
  22. package/dist/BrowserSocket.d.ts.map +1 -1
  23. package/dist/BrowserSocket.js +33 -6
  24. package/dist/BrowserSocket.js.map +1 -1
  25. package/dist/BrowserStream.d.ts +19 -7
  26. package/dist/BrowserStream.d.ts.map +1 -1
  27. package/dist/BrowserStream.js +19 -7
  28. package/dist/BrowserStream.js.map +1 -1
  29. package/dist/BrowserWorker.d.ts +25 -4
  30. package/dist/BrowserWorker.d.ts.map +1 -1
  31. package/dist/BrowserWorker.js +34 -6
  32. package/dist/BrowserWorker.js.map +1 -1
  33. package/dist/BrowserWorkerRunner.d.ts +31 -6
  34. package/dist/BrowserWorkerRunner.d.ts.map +1 -1
  35. package/dist/BrowserWorkerRunner.js +43 -10
  36. package/dist/BrowserWorkerRunner.js.map +1 -1
  37. package/dist/Clipboard.d.ts +59 -14
  38. package/dist/Clipboard.d.ts.map +1 -1
  39. package/dist/Clipboard.js +34 -12
  40. package/dist/Clipboard.js.map +1 -1
  41. package/dist/Geolocation.d.ts +80 -25
  42. package/dist/Geolocation.d.ts.map +1 -1
  43. package/dist/Geolocation.js +48 -17
  44. package/dist/Geolocation.js.map +1 -1
  45. package/dist/IndexedDb.d.ts +75 -0
  46. package/dist/IndexedDb.d.ts.map +1 -0
  47. package/dist/IndexedDb.js +85 -0
  48. package/dist/IndexedDb.js.map +1 -0
  49. package/dist/IndexedDbDatabase.d.ts +153 -0
  50. package/dist/IndexedDbDatabase.d.ts.map +1 -0
  51. package/dist/IndexedDbDatabase.js +327 -0
  52. package/dist/IndexedDbDatabase.js.map +1 -0
  53. package/dist/IndexedDbQueryBuilder.d.ts +422 -0
  54. package/dist/IndexedDbQueryBuilder.d.ts.map +1 -0
  55. package/dist/IndexedDbQueryBuilder.js +935 -0
  56. package/dist/IndexedDbQueryBuilder.js.map +1 -0
  57. package/dist/IndexedDbTable.d.ts +166 -0
  58. package/dist/IndexedDbTable.d.ts.map +1 -0
  59. package/dist/IndexedDbTable.js +71 -0
  60. package/dist/IndexedDbTable.js.map +1 -0
  61. package/dist/IndexedDbVersion.d.ts +99 -0
  62. package/dist/IndexedDbVersion.d.ts.map +1 -0
  63. package/dist/IndexedDbVersion.js +44 -0
  64. package/dist/IndexedDbVersion.js.map +1 -0
  65. package/dist/Permissions.d.ts +52 -16
  66. package/dist/Permissions.d.ts.map +1 -1
  67. package/dist/Permissions.js +42 -11
  68. package/dist/Permissions.js.map +1 -1
  69. package/dist/index.d.ts +38 -10
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +38 -10
  72. package/dist/index.js.map +1 -1
  73. package/package.json +4 -3
  74. package/src/BrowserCrypto.ts +97 -0
  75. package/src/BrowserHttpClient.ts +72 -27
  76. package/src/BrowserKeyValueStore.ts +160 -12
  77. package/src/BrowserPersistence.ts +334 -0
  78. package/src/BrowserRuntime.ts +64 -4
  79. package/src/BrowserSocket.ts +33 -6
  80. package/src/BrowserStream.ts +19 -7
  81. package/src/BrowserWorker.ts +34 -6
  82. package/src/BrowserWorkerRunner.ts +43 -10
  83. package/src/Clipboard.ts +56 -14
  84. package/src/Geolocation.ts +76 -21
  85. package/src/IndexedDb.ts +113 -0
  86. package/src/IndexedDbDatabase.ts +648 -0
  87. package/src/IndexedDbQueryBuilder.ts +2032 -0
  88. package/src/IndexedDbTable.ts +260 -0
  89. package/src/IndexedDbVersion.ts +138 -0
  90. package/src/Permissions.ts +47 -14
  91. package/src/index.ts +45 -10
@@ -0,0 +1 @@
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","remaining","catchIf","isIssue","issue","SchemaError","applyClear","options","clear","applyClearAll","tables","objectStoreNames","t","oncomplete","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":[]}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Typed object-store descriptors for the browser IndexedDB integration.
3
+ *
4
+ * An {@link IndexedDbTable} is the schema-backed description of one IndexedDB
5
+ * object store. It carries the store name, row schema, key path, index key
6
+ * paths, auto-increment mode, and transaction durability used by database
7
+ * versions, migrations, and typed queries. The `make` constructor also derives
8
+ * the read, array, and auto-increment write schemas used by the query builder.
9
+ *
10
+ * @see {@link make} for constructing table descriptors.
11
+ *
12
+ * @since 4.0.0
13
+ */
14
+ import { type Pipeable } from "effect/Pipeable";
15
+ import * as Schema from "effect/Schema";
16
+ import type { NoInfer } from "effect/Types";
17
+ import type * as IndexedDbQueryBuilder from "./IndexedDbQueryBuilder.ts";
18
+ declare const TypeId = "~@effect/platform-browser/IndexedDbTable";
19
+ /**
20
+ * Typed IndexedDB table definition containing its name, schema, key path, indexes, auto-increment setting, and transaction durability.
21
+ *
22
+ * @category interface
23
+ * @since 4.0.0
24
+ */
25
+ 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 {
26
+ new (_: never): {};
27
+ readonly [TypeId]: typeof TypeId;
28
+ readonly tableName: Name;
29
+ readonly tableSchema: TableSchema;
30
+ readonly readSchema: Schema.Top;
31
+ readonly autoincrementSchema: Schema.Top;
32
+ readonly arraySchema: Schema.Top;
33
+ readonly keyPath: KeyPath;
34
+ readonly indexes: Indexes;
35
+ readonly autoIncrement: AutoIncrement;
36
+ readonly durability: IDBTransactionDurability;
37
+ }
38
+ /**
39
+ * Schema constraint for table schemas that expose struct fields.
40
+ *
41
+ * @category models
42
+ * @since 4.0.0
43
+ */
44
+ export type AnySchemaStruct = Schema.Top & {
45
+ readonly fields: Schema.Struct.Fields;
46
+ };
47
+ /**
48
+ * Type-erased shape of an `IndexedDbTable` used when table type parameters are not needed.
49
+ *
50
+ * @category models
51
+ * @since 4.0.0
52
+ */
53
+ export interface Any {
54
+ readonly [TypeId]: typeof TypeId;
55
+ readonly keyPath: any;
56
+ readonly tableName: string;
57
+ readonly tableSchema: Schema.Top;
58
+ readonly readSchema: Schema.Top;
59
+ readonly autoincrementSchema: Schema.Top;
60
+ readonly arraySchema: Schema.Top;
61
+ readonly autoIncrement: boolean;
62
+ readonly indexes: any;
63
+ }
64
+ /**
65
+ * Type-erased `IndexedDbTable` retaining the table interface properties with broad type parameters.
66
+ *
67
+ * @category models
68
+ * @since 4.0.0
69
+ */
70
+ export type AnyWithProps = IndexedDbTable<string, AnySchemaStruct, any, any, boolean>;
71
+ /**
72
+ * Extracts the table name type from an `IndexedDbTable`.
73
+ *
74
+ * @category models
75
+ * @since 4.0.0
76
+ */
77
+ export type TableName<Table extends Any> = Table["tableName"];
78
+ /**
79
+ * Extracts the key-path type from an `IndexedDbTable`.
80
+ *
81
+ * @category models
82
+ * @since 4.0.0
83
+ */
84
+ export type KeyPath<Table extends Any> = Table["keyPath"];
85
+ /**
86
+ * Extracts the auto-increment flag type from an `IndexedDbTable`.
87
+ *
88
+ * @category models
89
+ * @since 4.0.0
90
+ */
91
+ export type AutoIncrement<Table extends Any> = Table["autoIncrement"];
92
+ /**
93
+ * Extracts the schema type from an `IndexedDbTable`.
94
+ *
95
+ * @category models
96
+ * @since 4.0.0
97
+ */
98
+ export type TableSchema<Table extends Any> = Table["tableSchema"];
99
+ /**
100
+ * Extracts the decoding or encoding service requirements needed by an `IndexedDbTable` schema.
101
+ *
102
+ * @category models
103
+ * @since 4.0.0
104
+ */
105
+ export type Context<Table extends Any> = Table["tableSchema"]["DecodingServices"] | Table["tableSchema"]["EncodingServices"];
106
+ /**
107
+ * Extracts the encoded row type from an `IndexedDbTable` schema.
108
+ *
109
+ * @category models
110
+ * @since 4.0.0
111
+ */
112
+ export type Encoded<Table extends Any> = Table["tableSchema"]["Encoded"];
113
+ /**
114
+ * Extracts the index definition map from an `IndexedDbTable`.
115
+ *
116
+ * @category models
117
+ * @since 4.0.0
118
+ */
119
+ export type Indexes<Table extends Any> = Table["indexes"];
120
+ /**
121
+ * Selects the table with the given name from a union of `IndexedDbTable` types.
122
+ *
123
+ * @category models
124
+ * @since 4.0.0
125
+ */
126
+ export type WithName<Table extends Any, TableName extends string> = Extract<Table, {
127
+ readonly tableName: TableName;
128
+ }>;
129
+ /**
130
+ * Creates a typed IndexedDB table definition from its name, schema, optional key path, indexes, auto-increment flag, and durability.
131
+ *
132
+ * **When to use**
133
+ *
134
+ * Use to define a typed object-store descriptor for inclusion in an
135
+ * `IndexedDbVersion` and for migration or query APIs.
136
+ *
137
+ * **Details**
138
+ *
139
+ * `autoIncrement` defaults to `false` and `durability` defaults to `"relaxed"`.
140
+ * Tables without a key path get a read schema that includes an out-of-line
141
+ * `key`, while auto-increment tables use a write schema where the generated key
142
+ * may be omitted.
143
+ *
144
+ * **Gotchas**
145
+ *
146
+ * Tables without a key path cannot define a `key` field in their row schema.
147
+ * Key paths and index paths must point to encoded fields whose values are valid
148
+ * IndexedDB keys, and declared indexes still need to be created during
149
+ * database migrations.
150
+ *
151
+ * @see `IndexedDbVersion.make` for grouping table definitions into a schema version
152
+ *
153
+ * @category constructors
154
+ * @since 4.0.0
155
+ */
156
+ 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: {
157
+ readonly name: Name;
158
+ readonly schema: [KeyPath] extends [undefined] ? "key" extends keyof TableSchema["fields"] ? "Cannot have a 'key' field when keyPath is undefined" : TableSchema : TableSchema;
159
+ readonly keyPath?: KeyPath;
160
+ readonly indexes?: Indexes | undefined;
161
+ readonly autoIncrement?: IsValidAutoIncrementKeyPath<TableSchema, KeyPath> extends true ? AutoIncrement | undefined : never;
162
+ readonly durability?: IDBTransactionDurability | undefined;
163
+ }) => IndexedDbTable<Name, TableSchema, Indexes, Extract<KeyPath, Readonly<IDBValidKey | undefined>>, AutoIncrement>;
164
+ type IsValidAutoIncrementKeyPath<TableSchema extends AnySchemaStruct, KeyPath> = KeyPath extends keyof TableSchema["Encoded"] ? TableSchema["Encoded"][KeyPath] extends number ? true : false : false;
165
+ export {};
166
+ //# sourceMappingURL=IndexedDbTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexedDbTable.d.ts","sourceRoot":"","sources":["../src/IndexedDbTable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Typed object-store descriptors for the browser IndexedDB integration.
3
+ *
4
+ * An {@link IndexedDbTable} is the schema-backed description of one IndexedDB
5
+ * object store. It carries the store name, row schema, key path, index key
6
+ * paths, auto-increment mode, and transaction durability used by database
7
+ * versions, migrations, and typed queries. The `make` constructor also derives
8
+ * the read, array, and auto-increment write schemas used by the query builder.
9
+ *
10
+ * @see {@link make} for constructing table descriptors.
11
+ *
12
+ * @since 4.0.0
13
+ */
14
+ import { pipeArguments } from "effect/Pipeable";
15
+ import * as Schema from "effect/Schema";
16
+ import * as Struct from "effect/Struct";
17
+ import * as IndexedDb from "./IndexedDb.js";
18
+ const TypeId = "~@effect/platform-browser/IndexedDbTable";
19
+ const Proto = {
20
+ [TypeId]: TypeId,
21
+ pipe() {
22
+ return pipeArguments(this, arguments);
23
+ }
24
+ };
25
+ /**
26
+ * Creates a typed IndexedDB table definition from its name, schema, optional key path, indexes, auto-increment flag, and durability.
27
+ *
28
+ * **When to use**
29
+ *
30
+ * Use to define a typed object-store descriptor for inclusion in an
31
+ * `IndexedDbVersion` and for migration or query APIs.
32
+ *
33
+ * **Details**
34
+ *
35
+ * `autoIncrement` defaults to `false` and `durability` defaults to `"relaxed"`.
36
+ * Tables without a key path get a read schema that includes an out-of-line
37
+ * `key`, while auto-increment tables use a write schema where the generated key
38
+ * may be omitted.
39
+ *
40
+ * **Gotchas**
41
+ *
42
+ * Tables without a key path cannot define a `key` field in their row schema.
43
+ * Key paths and index paths must point to encoded fields whose values are valid
44
+ * IndexedDB keys, and declared indexes still need to be created during
45
+ * database migrations.
46
+ *
47
+ * @see `IndexedDbVersion.make` for grouping table definitions into a schema version
48
+ *
49
+ * @category constructors
50
+ * @since 4.0.0
51
+ */
52
+ export const make = options => {
53
+ // oxlint-disable-next-line typescript/no-extraneous-class
54
+ class Table {}
55
+ Object.assign(Table, Proto);
56
+ const readSchema = options.keyPath === undefined ? Schema.Struct({
57
+ ...options.schema.fields,
58
+ key: IndexedDb.IDBValidKey
59
+ }) : options.schema;
60
+ Table.tableName = options.name;
61
+ Table.tableSchema = options.schema;
62
+ Table.readSchema = readSchema;
63
+ Table.arraySchema = Schema.Array(readSchema);
64
+ Table.autoincrementSchema = options.autoIncrement ? Schema.Struct(Struct.omit(options.schema.fields, [options.keyPath])) : options.schema;
65
+ Table.keyPath = options.keyPath;
66
+ Table.indexes = options.indexes;
67
+ Table.autoIncrement = options.autoIncrement === true;
68
+ Table.durability = options.durability ?? "relaxed";
69
+ return Table;
70
+ };
71
+ //# sourceMappingURL=IndexedDbTable.js.map
@@ -0,0 +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;;;;;;;;;;;;;AAaA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,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":[]}
@@ -0,0 +1,99 @@
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
+ *
18
+ * @since 4.0.0
19
+ */
20
+ import type { NonEmptyReadonlyArray } from "effect/Array";
21
+ import type { Pipeable } from "effect/Pipeable";
22
+ import type * as IndexedDbTable from "./IndexedDbTable.ts";
23
+ declare const TypeId = "~@effect/platform-browser/IndexedDbVersion";
24
+ /**
25
+ * Typed IndexedDB version definition containing the tables available in that schema version.
26
+ *
27
+ * @category interface
28
+ * @since 4.0.0
29
+ */
30
+ export interface IndexedDbVersion<out Tables extends IndexedDbTable.AnyWithProps> extends Pipeable {
31
+ new (_: never): {};
32
+ readonly [TypeId]: typeof TypeId;
33
+ readonly tables: ReadonlyMap<string, Tables>;
34
+ }
35
+ /**
36
+ * Type-erased shape of an `IndexedDbVersion`.
37
+ *
38
+ * @category models
39
+ * @since 4.0.0
40
+ */
41
+ export interface Any {
42
+ readonly [TypeId]: typeof TypeId;
43
+ }
44
+ /**
45
+ * Type-erased `IndexedDbVersion` retaining version properties with broad table types.
46
+ *
47
+ * @category models
48
+ * @since 4.0.0
49
+ */
50
+ export type AnyWithProps = IndexedDbVersion<IndexedDbTable.AnyWithProps>;
51
+ /**
52
+ * Extracts the table union from an `IndexedDbVersion`.
53
+ *
54
+ * @category models
55
+ * @since 4.0.0
56
+ */
57
+ export type Tables<Db extends Any> = Db extends IndexedDbVersion<infer _Tables> ? _Tables : never;
58
+ /**
59
+ * Selects a table by name from an `IndexedDbVersion`.
60
+ *
61
+ * @category models
62
+ * @since 4.0.0
63
+ */
64
+ export type TableWithName<Db extends Any, TableName extends string> = IndexedDbTable.WithName<Tables<Db>, TableName>;
65
+ /**
66
+ * Extracts the schema for a named table within an `IndexedDbVersion`.
67
+ *
68
+ * @category models
69
+ * @since 4.0.0
70
+ */
71
+ export type SchemaWithName<Db extends Any, TableName extends string> = IndexedDbTable.TableSchema<IndexedDbTable.WithName<Tables<Db>, TableName>>;
72
+ /**
73
+ * Creates an `IndexedDbVersion` from one or more table definitions.
74
+ *
75
+ * **When to use**
76
+ *
77
+ * Use when you need a typed description of the target IndexedDB schema that a
78
+ * database migration will materialize.
79
+ *
80
+ * **Details**
81
+ *
82
+ * The returned version exposes a `tables` map keyed by each table's
83
+ * `tableName`, and its type is the union of the supplied table definitions.
84
+ *
85
+ * **Gotchas**
86
+ *
87
+ * This constructor only describes the target schema; object stores and indexes
88
+ * still need to be created in the corresponding `IndexedDbDatabase` migration.
89
+ * Duplicate table names are not rejected, and the runtime map keeps the later
90
+ * table for a repeated key.
91
+ *
92
+ * @see {@link IndexedDbTable.make} for creating table definitions consumed by this constructor
93
+ *
94
+ * @category constructors
95
+ * @since 4.0.0
96
+ */
97
+ export declare const make: <const Tables extends NonEmptyReadonlyArray<IndexedDbTable.AnyWithProps>>(...tables: Tables) => IndexedDbVersion<Tables[number]>;
98
+ export {};
99
+ //# sourceMappingURL=IndexedDbVersion.d.ts.map
@@ -0,0 +1 @@
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;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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"}
@@ -0,0 +1,44 @@
1
+ import { pipeArguments } from "effect/Pipeable";
2
+ const TypeId = "~@effect/platform-browser/IndexedDbVersion";
3
+ const Proto = {
4
+ [TypeId]: TypeId,
5
+ pipe() {
6
+ return pipeArguments(this, arguments);
7
+ }
8
+ };
9
+ const makeProto = options => {
10
+ // oxlint-disable-next-line typescript/no-extraneous-class
11
+ class Version {}
12
+ Object.assign(Version, Proto);
13
+ Version.tables = options.tables;
14
+ return Version;
15
+ };
16
+ /**
17
+ * Creates an `IndexedDbVersion` from one or more table definitions.
18
+ *
19
+ * **When to use**
20
+ *
21
+ * Use when you need a typed description of the target IndexedDB schema that a
22
+ * database migration will materialize.
23
+ *
24
+ * **Details**
25
+ *
26
+ * The returned version exposes a `tables` map keyed by each table's
27
+ * `tableName`, and its type is the union of the supplied table definitions.
28
+ *
29
+ * **Gotchas**
30
+ *
31
+ * This constructor only describes the target schema; object stores and indexes
32
+ * still need to be created in the corresponding `IndexedDbDatabase` migration.
33
+ * Duplicate table names are not rejected, and the runtime map keeps the later
34
+ * table for a repeated key.
35
+ *
36
+ * @see {@link IndexedDbTable.make} for creating table definitions consumed by this constructor
37
+ *
38
+ * @category constructors
39
+ * @since 4.0.0
40
+ */
41
+ export const make = (...tables) => makeProto({
42
+ tables: new Map(tables.map(table => [table.tableName, table]))
43
+ });
44
+ //# sourceMappingURL=IndexedDbVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexedDbVersion.js","names":["pipeArguments","TypeId","Proto","pipe","arguments","makeProto","options","Version","Object","assign","tables","make","Map","map","table","tableName"],"sources":["../src/IndexedDbVersion.ts"],"sourcesContent":[null],"mappings":"AAqBA,SAASA,aAAa,QAAQ,iBAAiB;AAG/C,MAAMC,MAAM,GAAG,4CAA4C;AAgE3D,MAAMC,KAAK,GAAG;EACZ,CAACD,MAAM,GAAGA,MAAM;EAChBE,IAAIA,CAAA;IACF,OAAOH,aAAa,CAAC,IAAI,EAAEI,SAAS,CAAC;EACvC;CACD;AAED,MAAMC,SAAS,GAAgDC,OAE9D,IAA8B;EAC7B;EACA,MAAMC,OAAO;EACbC,MAAM,CAACC,MAAM,CAACF,OAAO,EAAEL,KAAK,CAAC;EAC3BK,OAAe,CAACG,MAAM,GAAGJ,OAAO,CAACI,MAAM;EACzC,OAAOH,OAAc;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAMI,IAAI,GAAGA,CAGlB,GAAGD,MAAc,KAEjBL,SAAS,CAAC;EACRK,MAAM,EAAE,IAAIE,GAAG,CAACF,MAAM,CAACG,GAAG,CAAEC,KAAK,IAAK,CAACA,KAAK,CAACC,SAAS,EAAED,KAAK,CAAC,CAAC;CAChE,CAAC","ignoreList":[]}
@@ -1,14 +1,25 @@
1
+ /**
2
+ * Effect service for the browser Permissions API.
3
+ *
4
+ * This module defines a `Permissions` service backed by
5
+ * `navigator.permissions`. The service exposes `query`, which returns the
6
+ * browser `PermissionStatus` for a permission name. Failed browser operations
7
+ * are represented as `PermissionsError` values with `InvalidStateError` or
8
+ * `TypeError` reasons, and `layer` provides the browser-backed service.
9
+ *
10
+ * @since 4.0.0
11
+ */
12
+ import * as Context from "effect/Context";
1
13
  import * as Effect from "effect/Effect";
2
14
  import * as Layer from "effect/Layer";
3
- import * as ServiceMap from "effect/ServiceMap";
4
15
  declare const TypeId = "~@effect/platform-browser/Permissions";
5
16
  declare const ErrorTypeId = "~@effect/platform-browser/Permissions/PermissionsError";
6
17
  /**
7
18
  * Wrapper on the Permission API (`navigator.permissions`) with methods for
8
19
  * querying status of permissions.
9
20
  *
10
- * @since 1.0.0
11
- * @category Models
21
+ * @category models
22
+ * @since 4.0.0
12
23
  */
13
24
  export interface Permissions {
14
25
  readonly [TypeId]: typeof TypeId;
@@ -19,24 +30,28 @@ export interface Permissions {
19
30
  name: Name;
20
31
  }, PermissionsError>;
21
32
  }
22
- declare const PermissionsInvalidStateError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
33
+ declare const PermissionsInvalidStateError_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 & {
23
34
  readonly _tag: "InvalidStateError";
24
35
  } & Readonly<A>;
25
36
  /**
26
- * @since 1.0.0
37
+ * Error reason for an `InvalidStateError` raised by the browser Permissions API.
38
+ *
27
39
  * @category errors
40
+ * @since 4.0.0
28
41
  */
29
42
  export declare class PermissionsInvalidStateError extends PermissionsInvalidStateError_base<{
30
43
  readonly cause: unknown;
31
44
  }> {
32
45
  get message(): string;
33
46
  }
34
- declare const PermissionsTypeError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
47
+ declare const PermissionsTypeError_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 & {
35
48
  readonly _tag: "TypeError";
36
49
  } & Readonly<A>;
37
50
  /**
38
- * @since 1.0.0
51
+ * Error reason for a `TypeError` raised by the browser Permissions API.
52
+ *
39
53
  * @category errors
54
+ * @since 4.0.0
40
55
  */
41
56
  export declare class PermissionsTypeError extends PermissionsTypeError_base<{
42
57
  readonly cause: unknown;
@@ -44,16 +59,20 @@ export declare class PermissionsTypeError extends PermissionsTypeError_base<{
44
59
  get message(): string;
45
60
  }
46
61
  /**
47
- * @since 1.0.0
62
+ * Union of browser Permissions API error reasons represented by the service.
63
+ *
48
64
  * @category errors
65
+ * @since 4.0.0
49
66
  */
50
67
  export type PermissionsErrorReason = PermissionsInvalidStateError | PermissionsTypeError;
51
- declare const PermissionsError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
68
+ declare const PermissionsError_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 & {
52
69
  readonly _tag: "PermissionsError";
53
70
  } & Readonly<A>;
54
71
  /**
55
- * @since 1.0.0
72
+ * Tagged error wrapping a browser Permissions API failure reason.
73
+ *
56
74
  * @category errors
75
+ * @since 4.0.0
57
76
  */
58
77
  export declare class PermissionsError extends PermissionsError_base<{
59
78
  readonly reason: PermissionsErrorReason;
@@ -65,15 +84,32 @@ export declare class PermissionsError extends PermissionsError_base<{
65
84
  get message(): string;
66
85
  }
67
86
  /**
68
- * @since 1.0.0
69
- * @category Service
87
+ * Service tag for browser permission querying.
88
+ *
89
+ * **When to use**
90
+ *
91
+ * Use when you need to require or provide browser permission querying through
92
+ * Effect's context.
93
+ *
94
+ * @category services
95
+ * @since 4.0.0
70
96
  */
71
- export declare const Permissions: ServiceMap.Service<Permissions, Permissions>;
97
+ export declare const Permissions: Context.Service<Permissions, Permissions>;
72
98
  /**
73
- * A layer that directly interfaces with the `navigator.permissions` api
99
+ * Provides the `Permissions` service using the browser `navigator.permissions` API.
100
+ *
101
+ * **When to use**
102
+ *
103
+ * Use when you need a live browser `Permissions` service backed by the ambient
104
+ * `navigator.permissions` implementation.
105
+ *
106
+ * **Details**
107
+ *
108
+ * `query` delegates to `navigator.permissions.query({ name })` and wraps
109
+ * rejected browser operations in `PermissionsError`.
74
110
  *
75
- * @since 1.0.0
76
- * @category Layers
111
+ * @category layers
112
+ * @since 4.0.0
77
113
  */
78
114
  export declare const layer: Layer.Layer<Permissions>;
79
115
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Permissions.d.ts","sourceRoot":"","sources":["../src/Permissions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,QAAA,MAAM,MAAM,0CAA0C,CAAA;AACtD,QAAA,MAAM,WAAW,2DAA2D,CAAA;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,SAAS,cAAc,EAC1C,IAAI,EAAE,IAAI,KACP,MAAM,CAAC,MAAM,CAGhB,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,EAC/C,gBAAgB,CACjB,CAAA;CACF;;;;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,kCAAsC;IACtF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;;;;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,0BAA8B;IACtE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,oBAAoB,CAAA;;;;AAExF;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;CACxC,CAAC;gBACY,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;KAAE;IAO9D,QAAQ,CAAC,CAAC,WAAW,CAAC,4DAAc;IAEpC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAA2C,CAAA;AAEhH;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAe1C,CAAA"}
1
+ {"version":3,"file":"Permissions.d.ts","sourceRoot":"","sources":["../src/Permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,QAAA,MAAM,MAAM,0CAA0C,CAAA;AACtD,QAAA,MAAM,WAAW,2DAA2D,CAAA;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,SAAS,cAAc,EAC1C,IAAI,EAAE,IAAI,KACP,MAAM,CAAC,MAAM,CAGhB,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,EAC/C,gBAAgB,CACjB,CAAA;CACF;;;;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,kCAAsC;IACtF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;;;;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,0BAA8B;IACtE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,oBAAoB,CAAA;;;;AAExF;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;CACxC,CAAC;gBACY,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;KAAE;IAO9D,QAAQ,CAAC,CAAC,WAAW,CAAC,4DAAc;IAEpC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAwC,CAAA;AAE1G;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAe1C,CAAA"}