@effect/platform-browser 4.0.0-beta.7 → 4.0.0-beta.70

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 +23 -0
  2. package/dist/BrowserCrypto.d.ts.map +1 -0
  3. package/dist/BrowserCrypto.js +61 -0
  4. package/dist/BrowserCrypto.js.map +1 -0
  5. package/dist/BrowserHttpClient.d.ts +32 -16
  6. package/dist/BrowserHttpClient.d.ts.map +1 -1
  7. package/dist/BrowserHttpClient.js +66 -18
  8. package/dist/BrowserHttpClient.js.map +1 -1
  9. package/dist/BrowserKeyValueStore.d.ts +17 -14
  10. package/dist/BrowserKeyValueStore.d.ts.map +1 -1
  11. package/dist/BrowserKeyValueStore.js +130 -10
  12. package/dist/BrowserKeyValueStore.js.map +1 -1
  13. package/dist/BrowserPersistence.d.ts +21 -0
  14. package/dist/BrowserPersistence.d.ts.map +1 -0
  15. package/dist/BrowserPersistence.js +188 -0
  16. package/dist/BrowserPersistence.js.map +1 -0
  17. package/dist/BrowserRuntime.d.ts +31 -4
  18. package/dist/BrowserRuntime.d.ts.map +1 -1
  19. package/dist/BrowserRuntime.js +3 -1
  20. package/dist/BrowserRuntime.js.map +1 -1
  21. package/dist/BrowserSocket.d.ts +31 -6
  22. package/dist/BrowserSocket.d.ts.map +1 -1
  23. package/dist/BrowserSocket.js +31 -6
  24. package/dist/BrowserSocket.js.map +1 -1
  25. package/dist/BrowserStream.d.ts +33 -5
  26. package/dist/BrowserStream.d.ts.map +1 -1
  27. package/dist/BrowserStream.js +33 -5
  28. package/dist/BrowserStream.js.map +1 -1
  29. package/dist/BrowserWorker.d.ts +8 -4
  30. package/dist/BrowserWorker.d.ts.map +1 -1
  31. package/dist/BrowserWorker.js +30 -6
  32. package/dist/BrowserWorker.js.map +1 -1
  33. package/dist/BrowserWorkerRunner.d.ts +12 -6
  34. package/dist/BrowserWorkerRunner.d.ts.map +1 -1
  35. package/dist/BrowserWorkerRunner.js +34 -10
  36. package/dist/BrowserWorkerRunner.js.map +1 -1
  37. package/dist/Clipboard.d.ts +40 -13
  38. package/dist/Clipboard.d.ts.map +1 -1
  39. package/dist/Clipboard.js +33 -11
  40. package/dist/Clipboard.js.map +1 -1
  41. package/dist/Geolocation.d.ts +58 -24
  42. package/dist/Geolocation.d.ts.map +1 -1
  43. package/dist/Geolocation.js +46 -16
  44. package/dist/Geolocation.js.map +1 -1
  45. package/dist/IndexedDb.d.ts +77 -0
  46. package/dist/IndexedDb.d.ts.map +1 -0
  47. package/dist/IndexedDb.js +87 -0
  48. package/dist/IndexedDb.js.map +1 -0
  49. package/dist/IndexedDbDatabase.d.ts +150 -0
  50. package/dist/IndexedDbDatabase.d.ts.map +1 -0
  51. package/dist/IndexedDbDatabase.js +324 -0
  52. package/dist/IndexedDbDatabase.js.map +1 -0
  53. package/dist/IndexedDbQueryBuilder.d.ts +430 -0
  54. package/dist/IndexedDbQueryBuilder.d.ts.map +1 -0
  55. package/dist/IndexedDbQueryBuilder.js +927 -0
  56. package/dist/IndexedDbQueryBuilder.js.map +1 -0
  57. package/dist/IndexedDbTable.d.ts +153 -0
  58. package/dist/IndexedDbTable.d.ts.map +1 -0
  59. package/dist/IndexedDbTable.js +58 -0
  60. package/dist/IndexedDbTable.js.map +1 -0
  61. package/dist/IndexedDbVersion.d.ts +80 -0
  62. package/dist/IndexedDbVersion.d.ts.map +1 -0
  63. package/dist/IndexedDbVersion.js +25 -0
  64. package/dist/IndexedDbVersion.js.map +1 -0
  65. package/dist/Permissions.d.ts +45 -15
  66. package/dist/Permissions.d.ts.map +1 -1
  67. package/dist/Permissions.js +35 -10
  68. package/dist/Permissions.js.map +1 -1
  69. package/dist/index.d.ts +357 -10
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +357 -10
  72. package/dist/index.js.map +1 -1
  73. package/package.json +4 -3
  74. package/src/BrowserCrypto.ts +71 -0
  75. package/src/BrowserHttpClient.ts +76 -24
  76. package/src/BrowserKeyValueStore.ts +146 -12
  77. package/src/BrowserPersistence.ts +319 -0
  78. package/src/BrowserRuntime.ts +31 -4
  79. package/src/BrowserSocket.ts +31 -6
  80. package/src/BrowserStream.ts +33 -5
  81. package/src/BrowserWorker.ts +30 -6
  82. package/src/BrowserWorkerRunner.ts +34 -10
  83. package/src/Clipboard.ts +37 -13
  84. package/src/Geolocation.ts +54 -20
  85. package/src/IndexedDb.ts +115 -0
  86. package/src/IndexedDbDatabase.ts +645 -0
  87. package/src/IndexedDbQueryBuilder.ts +2040 -0
  88. package/src/IndexedDbTable.ts +247 -0
  89. package/src/IndexedDbVersion.ts +119 -0
  90. package/src/Permissions.ts +40 -13
  91. package/src/index.ts +364 -10
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Browser platform implementation of the Crypto service.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import * as Context from "effect/Context";
7
+ import * as EffectCrypto from "effect/Crypto";
8
+ import * as Layer from "effect/Layer";
9
+ /**
10
+ * Browser Web Crypto APIs used by the Crypto service implementation.
11
+ *
12
+ * @category models
13
+ * @since 1.0.0
14
+ */
15
+ export declare const WebCrypto: Context.Reference<Crypto>;
16
+ /**
17
+ * A layer that directly interfaces with the Web Crypto API.
18
+ *
19
+ * @category layers
20
+ * @since 1.0.0
21
+ */
22
+ export declare const layer: Layer.Layer<EffectCrypto.Crypto>;
23
+ //# sourceMappingURL=BrowserCrypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserCrypto.d.ts","sourceRoot":"","sources":["../src/BrowserCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;;;GAKG;AACH,eAAO,MAAM,SAAS,2BAEpB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CA2ClD,CAAA"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Browser platform implementation of the Crypto service.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import * as Context from "effect/Context";
7
+ import * as EffectCrypto from "effect/Crypto";
8
+ import * as Effect from "effect/Effect";
9
+ import * as Layer from "effect/Layer";
10
+ import * as PlatformError from "effect/PlatformError";
11
+ /**
12
+ * Browser Web Crypto APIs used by the Crypto service implementation.
13
+ *
14
+ * @category models
15
+ * @since 1.0.0
16
+ */
17
+ export const WebCrypto = /*#__PURE__*/Context.Reference("@effect/platform-browser/Crypto/WebCrypto", {
18
+ defaultValue: () => globalThis.crypto
19
+ });
20
+ /**
21
+ * A layer that directly interfaces with the Web Crypto API.
22
+ *
23
+ * @category layers
24
+ * @since 1.0.0
25
+ */
26
+ export const layer = /*#__PURE__*/Layer.effect(EffectCrypto.Crypto, /*#__PURE__*/Effect.gen(function* () {
27
+ const crypto = yield* WebCrypto;
28
+ if (!crypto) {
29
+ return yield* Effect.die(new Error("Web Crypto API is not available"));
30
+ }
31
+ const randomBytes = size => {
32
+ const bytes = new Uint8Array(size);
33
+ crypto.getRandomValues(bytes);
34
+ return bytes;
35
+ };
36
+ const digest = (algorithm, data) => {
37
+ if (typeof crypto.subtle.digest !== "function") {
38
+ return Effect.fail(PlatformError.systemError({
39
+ module: "Crypto",
40
+ method: "digest",
41
+ _tag: "Unknown",
42
+ description: "crypto.subtle.digest is not available"
43
+ }));
44
+ }
45
+ return Effect.map(Effect.tryPromise({
46
+ try: () => crypto.subtle.digest(algorithm, new Uint8Array(data)),
47
+ catch: cause => PlatformError.systemError({
48
+ module: "Crypto",
49
+ method: "digest",
50
+ _tag: "Unknown",
51
+ description: "Could not compute digest",
52
+ cause
53
+ })
54
+ }), buffer => new Uint8Array(buffer));
55
+ };
56
+ return EffectCrypto.make({
57
+ randomBytes,
58
+ digest
59
+ });
60
+ }));
61
+ //# sourceMappingURL=BrowserCrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserCrypto.js","names":["Context","EffectCrypto","Effect","Layer","PlatformError","WebCrypto","Reference","defaultValue","globalThis","crypto","layer","effect","Crypto","gen","die","Error","randomBytes","size","bytes","Uint8Array","getRandomValues","digest","algorithm","data","subtle","fail","systemError","module","method","_tag","description","map","tryPromise","try","catch","cause","buffer","make"],"sources":["../src/BrowserCrypto.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAKA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,YAAY,MAAM,eAAe;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,aAAa,MAAM,sBAAsB;AAErD;;;;;;AAMA,OAAO,MAAMC,SAAS,gBAAGL,OAAO,CAACM,SAAS,CAAS,2CAA2C,EAAE;EAC9FC,YAAY,EAAEA,CAAA,KAAMC,UAAU,CAACC;CAChC,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMC,KAAK,gBAAqCP,KAAK,CAACQ,MAAM,CACjEV,YAAY,CAACW,MAAM,eACnBV,MAAM,CAACW,GAAG,CAAC,aAAS;EAClB,MAAMJ,MAAM,GAAG,OAAOJ,SAAS;EAC/B,IAAI,CAACI,MAAM,EAAE;IACX,OAAO,OAAOP,MAAM,CAACY,GAAG,CAAC,IAAIC,KAAK,CAAC,iCAAiC,CAAC,CAAC;EACxE;EACA,MAAMC,WAAW,GAAIC,IAAY,IAAgB;IAC/C,MAAMC,KAAK,GAAG,IAAIC,UAAU,CAACF,IAAI,CAAC;IAClCR,MAAM,CAACW,eAAe,CAACF,KAAK,CAAC;IAC7B,OAAOA,KAAK;EACd,CAAC;EAED,MAAMG,MAAM,GAAkCA,CAACC,SAAS,EAAEC,IAAI,KAAI;IAChE,IAAI,OAAOd,MAAM,CAACe,MAAM,CAACH,MAAM,KAAK,UAAU,EAAE;MAC9C,OAAOnB,MAAM,CAACuB,IAAI,CAACrB,aAAa,CAACsB,WAAW,CAAC;QAC3CC,MAAM,EAAE,QAAQ;QAChBC,MAAM,EAAE,QAAQ;QAChBC,IAAI,EAAE,SAAS;QACfC,WAAW,EAAE;OACd,CAAC,CAAC;IACL;IACA,OAAO5B,MAAM,CAAC6B,GAAG,CACf7B,MAAM,CAAC8B,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAMxB,MAAM,CAACe,MAAM,CAACH,MAAM,CAACC,SAAS,EAAE,IAAIH,UAAU,CAACI,IAAI,CAAC,CAAC;MAChEW,KAAK,EAAGC,KAAK,IACX/B,aAAa,CAACsB,WAAW,CAAC;QACxBC,MAAM,EAAE,QAAQ;QAChBC,MAAM,EAAE,QAAQ;QAChBC,IAAI,EAAE,SAAS;QACfC,WAAW,EAAE,0BAA0B;QACvCK;OACD;KACJ,CAAC,EACDC,MAAM,IAAK,IAAIjB,UAAU,CAACiB,MAAM,CAAC,CACnC;EACH,CAAC;EAED,OAAOnC,YAAY,CAACoC,IAAI,CAAC;IACvBrB,WAAW;IACXK;GACD,CAAC;AACJ,CAAC,CAAC,CACH","ignoreList":[]}
@@ -1,49 +1,65 @@
1
+ import * as Context from "effect/Context";
1
2
  import * as Effect from "effect/Effect";
2
3
  import type { LazyArg } from "effect/Function";
3
4
  import type * as Layer from "effect/Layer";
4
- import * as ServiceMap from "effect/ServiceMap";
5
5
  import * as HttpClient from "effect/unstable/http/HttpClient";
6
6
  export {
7
7
  /**
8
- * @since 1.0.0
8
+ * Context reference for the `fetch` implementation used by the fetch-based HTTP client.
9
+ *
9
10
  * @category Fetch
11
+ * @since 4.0.0
10
12
  */
11
13
  Fetch,
12
14
  /**
13
- * @since 1.0.0
15
+ * Layer that provides an `HttpClient` implementation backed by the configured `Fetch` function.
16
+ *
14
17
  * @category Fetch
18
+ * @since 4.0.0
15
19
  */
16
20
  layer as layerFetch,
17
21
  /**
18
- * @since 1.0.0
22
+ * Service containing default `RequestInit` options for the fetch-based HTTP client.
23
+ *
19
24
  * @category Fetch
25
+ * @since 4.0.0
20
26
  */
21
27
  RequestInit } from "effect/unstable/http/FetchHttpClient";
22
28
  /**
23
- * @since 1.0.0
24
- * @category Models
29
+ * Allowed response body modes for the browser XHR HTTP client.
30
+ *
31
+ * @category models
32
+ * @since 4.0.0
25
33
  */
26
34
  export type XHRResponseType = "arraybuffer" | "text";
27
35
  /**
28
- * @since 1.0.0
29
- * @category References
36
+ * Reference that controls the `XMLHttpRequest.responseType` used by the browser XHR HTTP client, defaulting to `"text"`.
37
+ *
38
+ * @category references
39
+ * @since 4.0.0
30
40
  */
31
- export declare const CurrentXHRResponseType: ServiceMap.Reference<XHRResponseType>;
41
+ export declare const CurrentXHRResponseType: Context.Reference<XHRResponseType>;
32
42
  /**
33
- * @since 1.0.0
34
- * @category References
43
+ * Runs an effect with `CurrentXHRResponseType` set to `"arraybuffer"` so the XHR HTTP client receives response bodies as `ArrayBuffer` values.
44
+ *
45
+ * @category references
46
+ * @since 4.0.0
35
47
  */
36
48
  export declare const withXHRArrayBuffer: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
37
- declare const XMLHttpRequest_base: ServiceMap.ServiceClass<XMLHttpRequest, "@effect/platform-browser/BrowserHttpClient/XMLHttpRequest", LazyArg<globalThis.XMLHttpRequest>>;
49
+ declare const XMLHttpRequest_base: Context.ServiceClass<XMLHttpRequest, "@effect/platform-browser/BrowserHttpClient/XMLHttpRequest", LazyArg<globalThis.XMLHttpRequest>>;
38
50
  /**
39
- * @since 1.0.0
40
- * @category Services
51
+ * Service tag for the `XMLHttpRequest` constructor used by the browser XHR HTTP client.
52
+ *
53
+ * @category services
54
+ * @since 4.0.0
41
55
  */
42
56
  export declare class XMLHttpRequest extends XMLHttpRequest_base {
43
57
  }
44
58
  /**
45
- * @since 1.0.0
46
- * @category Layers
59
+ * Layer that provides an `HttpClient` implementation backed by the browser `XMLHttpRequest` API.
60
+ *
61
+ * @category layers
62
+ * @since 4.0.0
47
63
  */
48
64
  export declare const layerXMLHttpRequest: Layer.Layer<HttpClient.HttpClient>;
49
65
  //# sourceMappingURL=BrowserHttpClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserHttpClient.d.ts","sourceRoot":"","sources":["../src/BrowserHttpClient.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAI/C,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAY7D,OAAO;AACL;;;GAGG;AACH,KAAK;AACL;;;GAGG;AACH,KAAK,IAAI,UAAU;AACnB;;;GAGG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;AAM7C;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,MAAM,CAAA;AAEpD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAGxE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACxC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAKrB,CAAA;;AAEH;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAG4B;CAAG;AAwSnE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAElE,CAAA"}
1
+ {"version":3,"file":"BrowserHttpClient.d.ts","sourceRoot":"","sources":["../src/BrowserHttpClient.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAQ1C,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAY7D,OAAO;AACL;;;;;GAKG;AACH,KAAK;AACL;;;;;GAKG;AACH,KAAK,IAAI,UAAU;AACnB;;;;;GAKG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;AAM7C;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,MAAM,CAAA;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,eAAe,CAGrE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACxC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAKrB,CAAA;;AAEH;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBAG4B;CAAG;AA4SnE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAElE,CAAA"}
@@ -1,11 +1,42 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Browser implementations of the Effect `HttpClient`.
3
+ *
4
+ * This module exposes HTTP client layers for code that runs in a browser. It
5
+ * re-exports the fetch-based client for the common case, where requests should
6
+ * use the platform `fetch` implementation and optional `RequestInit` defaults,
7
+ * and it provides an `XMLHttpRequest`-backed layer for integrations that need
8
+ * XHR semantics such as response type control or environments where XHR is the
9
+ * required transport.
10
+ *
11
+ * Use these layers for single-page applications, browser tests, generated
12
+ * `HttpApiClient`s, and other client-side Effect programs that need HTTP
13
+ * requests to participate in interruption, typed transport / decode errors, and
14
+ * Effect's response body readers.
15
+ *
16
+ * Browser networking rules still apply. Cross-origin requests are subject to
17
+ * CORS preflights and server allowlists, especially when using custom headers,
18
+ * non-simple methods, or non-simple content types. Only CORS-exposed response
19
+ * headers are readable, and cookies / authentication are controlled by the
20
+ * browser and the configured fetch `RequestInit.credentials` policy. The XHR
21
+ * layer uses the browser's `XMLHttpRequest` defaults for credentials.
22
+ *
23
+ * Body handling differs between the transports. Fetch delegates body framing to
24
+ * the Web Fetch implementation. The XHR client sends empty, raw, `Uint8Array`,
25
+ * and `FormData` bodies directly, buffers `Stream` request bodies before
26
+ * sending, defaults responses to text, and can be switched to `ArrayBuffer`
27
+ * responses with `withXHRArrayBuffer`. When sending `FormData`, avoid setting
28
+ * an incompatible `Content-Type` header so the browser can generate the
29
+ * multipart boundary.
30
+ *
31
+ * @since 4.0.0
3
32
  */
4
33
  import * as Cause from "effect/Cause";
34
+ import * as Context from "effect/Context";
5
35
  import * as Effect from "effect/Effect";
6
36
  import * as Inspectable from "effect/Inspectable";
37
+ import * as Option from "effect/Option";
38
+ import { pipeArguments } from "effect/Pipeable";
7
39
  import * as Queue from "effect/Queue";
8
- import * as ServiceMap from "effect/ServiceMap";
9
40
  import * as Stream from "effect/Stream";
10
41
  import * as Cookies from "effect/unstable/http/Cookies";
11
42
  import * as Headers from "effect/unstable/http/Headers";
@@ -20,40 +51,52 @@ import * as HeaderParser from "multipasta/HeadersParser";
20
51
  // =============================================================================
21
52
  export {
22
53
  /**
23
- * @since 1.0.0
54
+ * Context reference for the `fetch` implementation used by the fetch-based HTTP client.
55
+ *
24
56
  * @category Fetch
57
+ * @since 4.0.0
25
58
  */
26
59
  Fetch,
27
60
  /**
28
- * @since 1.0.0
61
+ * Layer that provides an `HttpClient` implementation backed by the configured `Fetch` function.
62
+ *
29
63
  * @category Fetch
64
+ * @since 4.0.0
30
65
  */
31
66
  layer as layerFetch,
32
67
  /**
33
- * @since 1.0.0
68
+ * Service containing default `RequestInit` options for the fetch-based HTTP client.
69
+ *
34
70
  * @category Fetch
71
+ * @since 4.0.0
35
72
  */
36
73
  RequestInit } from "effect/unstable/http/FetchHttpClient";
37
74
  /**
38
- * @since 1.0.0
39
- * @category References
75
+ * Reference that controls the `XMLHttpRequest.responseType` used by the browser XHR HTTP client, defaulting to `"text"`.
76
+ *
77
+ * @category references
78
+ * @since 4.0.0
40
79
  */
41
- export const CurrentXHRResponseType = /*#__PURE__*/ServiceMap.Reference("@effect/platform-browser/BrowserHttpClient/CurrentXHRResponseType", {
80
+ export const CurrentXHRResponseType = /*#__PURE__*/Context.Reference("@effect/platform-browser/BrowserHttpClient/CurrentXHRResponseType", {
42
81
  defaultValue: () => "text"
43
82
  });
44
83
  /**
45
- * @since 1.0.0
46
- * @category References
84
+ * Runs an effect with `CurrentXHRResponseType` set to `"arraybuffer"` so the XHR HTTP client receives response bodies as `ArrayBuffer` values.
85
+ *
86
+ * @category references
87
+ * @since 4.0.0
47
88
  */
48
89
  export const withXHRArrayBuffer = self => Effect.provideService(self, CurrentXHRResponseType, "arraybuffer");
49
90
  /**
50
- * @since 1.0.0
51
- * @category Services
91
+ * Service tag for the `XMLHttpRequest` constructor used by the browser XHR HTTP client.
92
+ *
93
+ * @category services
94
+ * @since 4.0.0
52
95
  */
53
- export class XMLHttpRequest extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-browser/BrowserHttpClient/XMLHttpRequest") {}
96
+ export class XMLHttpRequest extends /*#__PURE__*/Context.Service()("@effect/platform-browser/BrowserHttpClient/XMLHttpRequest") {}
54
97
  const makeXhrRequest = () => new globalThis.XMLHttpRequest();
55
98
  const makeXmlHttpRequest = /*#__PURE__*/HttpClient.make((request, url, signal, fiber) => Effect.suspend(() => {
56
- const xhr = ServiceMap.getOrElse(fiber.services, XMLHttpRequest, () => makeXhrRequest)();
99
+ const xhr = Context.getOrElse(fiber.context, XMLHttpRequest, () => makeXhrRequest)();
57
100
  signal.addEventListener("abort", () => {
58
101
  xhr.abort();
59
102
  xhr.onreadystatechange = null;
@@ -155,7 +198,7 @@ class IncomingMessageImpl extends Inspectable.Class {
155
198
  return this.cachedCookies = Cookies.fromSetCookie(this._rawHeaders["set-cookie"]);
156
199
  }
157
200
  get remoteAddress() {
158
- return undefined;
201
+ return Option.none();
159
202
  }
160
203
  _textEffect;
161
204
  get text() {
@@ -286,10 +329,15 @@ class ClientResponseImpl extends IncomingMessageImpl {
286
329
  status: this.status
287
330
  });
288
331
  }
332
+ pipe() {
333
+ return pipeArguments(this, arguments);
334
+ }
289
335
  }
290
336
  /**
291
- * @since 1.0.0
292
- * @category Layers
337
+ * Layer that provides an `HttpClient` implementation backed by the browser `XMLHttpRequest` API.
338
+ *
339
+ * @category layers
340
+ * @since 4.0.0
293
341
  */
294
- export const layerXMLHttpRequest = /*#__PURE__*/HttpClient.layerMergedServices(/*#__PURE__*/Effect.succeed(makeXmlHttpRequest));
342
+ export const layerXMLHttpRequest = /*#__PURE__*/HttpClient.layerMergedContext(/*#__PURE__*/Effect.succeed(makeXmlHttpRequest));
295
343
  //# sourceMappingURL=BrowserHttpClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserHttpClient.js","names":["Cause","Effect","Inspectable","Queue","ServiceMap","Stream","Cookies","Headers","HttpClient","HttpClientError","HttpClientResponse","HttpIncomingMessage","UrlParams","HeaderParser","Fetch","layer","layerFetch","RequestInit","CurrentXHRResponseType","Reference","defaultValue","withXHRArrayBuffer","self","provideService","XMLHttpRequest","Service","makeXhrRequest","globalThis","makeXmlHttpRequest","make","request","url","signal","fiber","suspend","xhr","getOrElse","services","addEventListener","abort","onreadystatechange","once","open","method","toString","responseType","getRef","Object","entries","headers","forEach","k","v","setRequestHeader","andThen","sendBody","callback","resume","sent","onChange","readyState","succeed","ClientResponseImpl","onerror","_event","fail","reason","TransportError","cause","statusText","void","body","_tag","sync","send","formData","matchEffect","runFold","stream","Uint8Array","acc","chunk","next","length","set","onFailure","EncodeError","onSuccess","encoder","TextEncoder","IncomingMessageImpl","Class","TypeId","source","onError","constructor","_rawHeaderString","getAllResponseHeaders","_rawHeaders","_headers","empty","parser","result","encode","undefined","parsed","fromInput","cachedCookies","cookies","fromSetCookie","remoteAddress","_textEffect","text","responseText","onReadyStateChange","removeEventListener","pipe","cached","runSync","json","flatMap","try","JSON","parse","catch","urlParamsBody","URLSearchParams","queue","offset","encoded","slice","offerUnsafe","endUnsafe","failCauseUnsafe","_arrayBufferEffect","arrayBuffer","response","map","arr","byteLength","buffer","byteOffset","DecodeError","status","die","toJSON","inspect","_id","layerXMLHttpRequest","layerMergedServices"],"sources":["../src/BrowserHttpClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AAEjD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,UAAU,MAAM,iCAAiC;AAC7D,OAAO,KAAKC,eAAe,MAAM,sCAAsC;AAEvE,OAAO,KAAKC,kBAAkB,MAAM,yCAAyC;AAC7E,OAAO,KAAKC,mBAAmB,MAAM,0CAA0C;AAC/E,OAAO,KAAKC,SAAS,MAAM,gCAAgC;AAC3D,OAAO,KAAKC,YAAY,MAAM,0BAA0B;AAExD;AACA;AACA;AAEA;AACE;;;;AAIAC,KAAK;AACL;;;;AAIAC,KAAK,IAAIC,UAAU;AACnB;;;;AAIAC,WAAW,QACN,sCAAsC;AAY7C;;;;AAIA,OAAO,MAAMC,sBAAsB,gBAA0Cd,UAAU,CAACe,SAAS,CAC/F,mEAAmE,EACnE;EAAEC,YAAY,EAAEA,CAAA,KAAuB;AAAM,CAAE,CAChD;AAED;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BC,IAA4B,IAE5BrB,MAAM,CAACsB,cAAc,CACnBD,IAAI,EACJJ,sBAAsB,EACtB,aAAa,CACd;AAEH;;;;AAIA,OAAM,MAAOM,cAAe,sBAAQpB,UAAU,CAACqB,OAAO,EAGnD,CAAC,2DAA2D,CAAC;AAEhE,MAAMC,cAAc,GAAGA,CAAA,KAAM,IAAIC,UAAU,CAACH,cAAc,EAAE;AAE5D,MAAMI,kBAAkB,gBAAGpB,UAAU,CAACqB,IAAI,CACxC,CAACC,OAAO,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,KAC1BhC,MAAM,CAACiC,OAAO,CAAC,MAAK;EAClB,MAAMC,GAAG,GAAG/B,UAAU,CAACgC,SAAS,CAC9BH,KAAK,CAACI,QAAQ,EACdb,cAAc,EACd,MAAME,cAAc,CACrB,EAAE;EACHM,MAAM,CAACM,gBAAgB,CAAC,OAAO,EAAE,MAAK;IACpCH,GAAG,CAACI,KAAK,EAAE;IACXJ,GAAG,CAACK,kBAAkB,GAAG,IAAI;EAC/B,CAAC,EAAE;IAAEC,IAAI,EAAE;EAAI,CAAE,CAAC;EAClBN,GAAG,CAACO,IAAI,CAACZ,OAAO,CAACa,MAAM,EAAEZ,GAAG,CAACa,QAAQ,EAAE,EAAE,IAAI,CAAC;EAC9CT,GAAG,CAACU,YAAY,GAAGZ,KAAK,CAACa,MAAM,CAAC5B,sBAAsB,CAAC;EACvD6B,MAAM,CAACC,OAAO,CAAClB,OAAO,CAACmB,OAAO,CAAC,CAACC,OAAO,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAI;IACjDjB,GAAG,CAACkB,gBAAgB,CAACF,CAAC,EAAEC,CAAC,CAAC;EAC5B,CAAC,CAAC;EACF,OAAOnD,MAAM,CAACqD,OAAO,CACnBC,QAAQ,CAACpB,GAAG,EAAEL,OAAO,CAAC,EACtB7B,MAAM,CAACuD,QAAQ,CAAuDC,MAAM,IAAI;IAC9E,IAAIC,IAAI,GAAG,KAAK;IAChB,MAAMC,QAAQ,GAAGA,CAAA,KAAK;MACpB,IAAI,CAACD,IAAI,IAAIvB,GAAG,CAACyB,UAAU,IAAI,CAAC,EAAE;QAChCF,IAAI,GAAG,IAAI;QACXD,MAAM,CAACxD,MAAM,CAAC4D,OAAO,CAAC,IAAIC,kBAAkB,CAAChC,OAAO,EAAEK,GAAG,CAAC,CAAC,CAAC;MAC9D;IACF,CAAC;IACDA,GAAG,CAACK,kBAAkB,GAAGmB,QAAQ;IACjCxB,GAAG,CAAC4B,OAAO,GAAIC,MAAM,IAAI;MACvBP,MAAM,CAACxD,MAAM,CAACgE,IAAI,CAChB,IAAIxD,eAAe,CAACA,eAAe,CAAC;QAClCyD,MAAM,EAAE,IAAIzD,eAAe,CAAC0D,cAAc,CAAC;UACzCrC,OAAO;UACPsC,KAAK,EAAEjC,GAAG,CAACkC;SACZ;OACF,CAAC,CACH,CAAC;IACJ,CAAC;IACDV,QAAQ,EAAE;IACV,OAAO1D,MAAM,CAACqE,IAAI;EACpB,CAAC,CAAC,CACH;AACH,CAAC,CAAC,CACL;AAED,MAAMf,QAAQ,GAAGA,CACfpB,GAA8B,EAC9BL,OAA4C,KACY;EACxD,MAAMyC,IAAI,GAAGzC,OAAO,CAACyC,IAAI;EACzB,QAAQA,IAAI,CAACC,IAAI;IACf,KAAK,OAAO;MACV,OAAOvE,MAAM,CAACwE,IAAI,CAAC,MAAMtC,GAAG,CAACuC,IAAI,EAAE,CAAC;IACtC,KAAK,KAAK;MACR,OAAOzE,MAAM,CAACwE,IAAI,CAAC,MAAMtC,GAAG,CAACuC,IAAI,CAACH,IAAI,CAACA,IAAW,CAAC,CAAC;IACtD,KAAK,YAAY;MACf,OAAOtE,MAAM,CAACwE,IAAI,CAAC,MAAMtC,GAAG,CAACuC,IAAI,CAACH,IAAI,CAACA,IAAW,CAAC,CAAC;IACtD,KAAK,UAAU;MACb,OAAOtE,MAAM,CAACwE,IAAI,CAAC,MAAMtC,GAAG,CAACuC,IAAI,CAACH,IAAI,CAACI,QAAQ,CAAC,CAAC;IACnD,KAAK,QAAQ;MACX,OAAO1E,MAAM,CAAC2E,WAAW,CACvBvE,MAAM,CAACwE,OAAO,CAACN,IAAI,CAACO,MAAM,EAAE,MAAM,IAAIC,UAAU,CAAC,CAAC,CAAC,EAAE,CAACC,GAAG,EAAEC,KAAK,KAAI;QAClE,MAAMC,IAAI,GAAG,IAAIH,UAAU,CAACC,GAAG,CAACG,MAAM,GAAGF,KAAK,CAACE,MAAM,CAAC;QACtDD,IAAI,CAACE,GAAG,CAACJ,GAAG,EAAE,CAAC,CAAC;QAChBE,IAAI,CAACE,GAAG,CAACH,KAAK,EAAED,GAAG,CAACG,MAAM,CAAC;QAC3B,OAAOD,IAAI;MACb,CAAC,CAAC,EACF;QACEG,SAAS,EAAGjB,KAAK,IACfnE,MAAM,CAACgE,IAAI,CACT,IAAIxD,eAAe,CAACA,eAAe,CAAC;UAClCyD,MAAM,EAAE,IAAIzD,eAAe,CAAC6E,WAAW,CAAC;YACtCxD,OAAO;YACPsC;WACD;SACF,CAAC,CACH;QACHmB,SAAS,EAAGhB,IAAI,IAAKtE,MAAM,CAACwE,IAAI,CAAC,MAAMtC,GAAG,CAACuC,IAAI,CAACH,IAAI,CAAC;OACtD,CACF;EACL;AACF,CAAC;AAED,MAAMiB,OAAO,gBAAG,IAAIC,WAAW,EAAE;AAEjC,MAAeC,mBAAuB,SAAQxF,WAAW,CAACyF,KAAK;EACpD,CAAChF,mBAAmB,CAACiF,MAAM;EAC3BC,MAAM;EACNC,OAAO;EAEhBC,YAAYF,MAAiC,EAAEC,OAA8B;IAC3E,KAAK,EAAE;IACP,IAAI,CAACnF,mBAAmB,CAACiF,MAAM,CAAC,GAAGjF,mBAAmB,CAACiF,MAAM;IAC7D,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,gBAAgB,GAAGH,MAAM,CAACI,qBAAqB,EAAE;EACxD;EAEQD,gBAAgB;EAChBE,WAAW;EACXC,QAAQ;EAChB,IAAIlD,OAAOA,CAAA;IACT,IAAI,IAAI,CAACkD,QAAQ,EAAE;MACjB,OAAO,IAAI,CAACA,QAAQ;IACtB;IACA,IAAI,IAAI,CAACH,gBAAgB,KAAK,EAAE,EAAE;MAChC,OAAO,IAAI,CAACG,QAAQ,GAAG5F,OAAO,CAAC6F,KAAK;IACtC;IACA,MAAMC,MAAM,GAAGxF,YAAY,CAACgB,IAAI,EAAE;IAClC,MAAMyE,MAAM,GAAGD,MAAM,CAACb,OAAO,CAACe,MAAM,CAAC,IAAI,CAACP,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACxE,IAAI,CAACE,WAAW,GAAGI,MAAM,CAAC9B,IAAI,KAAK,SAAS,GAAG8B,MAAM,CAACrD,OAAO,GAAGuD,SAAS;IACzE,MAAMC,MAAM,GAAGH,MAAM,CAAC9B,IAAI,KAAK,SAAS,GAAGjE,OAAO,CAACmG,SAAS,CAACJ,MAAM,CAACrD,OAAO,CAAC,GAAG1C,OAAO,CAAC6F,KAAK;IAC5F,OAAO,IAAI,CAACD,QAAQ,GAAGM,MAAM;EAC/B;EAEAE,aAAa;EACb,IAAIC,OAAOA,CAAA;IACT,IAAI,IAAI,CAACD,aAAa,EAAE;MACtB,OAAO,IAAI,CAACA,aAAa;IAC3B;IACA,IAAI,IAAI,CAACT,WAAW,KAAKM,SAAS,EAAE;MAClC,OAAOlG,OAAO,CAAC8F,KAAK;IACtB,CAAC,MAAM,IAAI,IAAI,CAACF,WAAW,CAAC,YAAY,CAAC,KAAKM,SAAS,EAAE;MACvD,OAAO,IAAI,CAACG,aAAa,GAAGrG,OAAO,CAAC8F,KAAK;IAC3C;IACA,OAAO,IAAI,CAACO,aAAa,GAAGrG,OAAO,CAACuG,aAAa,CAAC,IAAI,CAACX,WAAW,CAAC,YAAY,CAAC,CAAC;EACnF;EAEA,IAAIY,aAAaA,CAAA;IACf,OAAON,SAAS;EAClB;EAEAO,WAAW;EACX,IAAIC,IAAIA,CAAA;IACN,IAAI,IAAI,CAACD,WAAW,EAAE;MACpB,OAAO,IAAI,CAACA,WAAW;IACzB;IACA,OAAO,IAAI,CAACA,WAAW,GAAG9G,MAAM,CAACuD,QAAQ,CAAaC,MAAM,IAAI;MAC9D,IAAI,IAAI,CAACoC,MAAM,CAACjC,UAAU,KAAK,CAAC,EAAE;QAChCH,MAAM,CAACxD,MAAM,CAAC4D,OAAO,CAAC,IAAI,CAACgC,MAAM,CAACoB,YAAY,CAAC,CAAC;QAChD;MACF;MAEA,MAAMC,kBAAkB,GAAGA,CAAA,KAAK;QAC9B,IAAI,IAAI,CAACrB,MAAM,CAACjC,UAAU,KAAK,CAAC,EAAE;UAChCH,MAAM,CAACxD,MAAM,CAAC4D,OAAO,CAAC,IAAI,CAACgC,MAAM,CAACoB,YAAY,CAAC,CAAC;QAClD;MACF,CAAC;MACD,MAAMnB,OAAO,GAAGA,CAAA,KAAK;QACnBrC,MAAM,CAACxD,MAAM,CAACgE,IAAI,CAAC,IAAI,CAAC6B,OAAO,CAAC,IAAI,CAACD,MAAM,CAACxB,UAAU,CAAC,CAAC,CAAC;MAC3D,CAAC;MACD,IAAI,CAACwB,MAAM,CAACvD,gBAAgB,CAAC,kBAAkB,EAAE4E,kBAAkB,CAAC;MACpE,IAAI,CAACrB,MAAM,CAACvD,gBAAgB,CAAC,OAAO,EAAEwD,OAAO,CAAC;MAC9C,OAAO7F,MAAM,CAACwE,IAAI,CAAC,MAAK;QACtB,IAAI,CAACoB,MAAM,CAACsB,mBAAmB,CAAC,kBAAkB,EAAED,kBAAkB,CAAC;QACvE,IAAI,CAACrB,MAAM,CAACsB,mBAAmB,CAAC,OAAO,EAAErB,OAAO,CAAC;MACnD,CAAC,CAAC;IACJ,CAAC,CAAC,CAACsB,IAAI,CACLnH,MAAM,CAACoH,MAAM,EACbpH,MAAM,CAACqH,OAAO,CACf;EACH;EAEA,IAAIC,IAAIA,CAAA;IACN,OAAOtH,MAAM,CAACuH,OAAO,CAAC,IAAI,CAACR,IAAI,EAAGA,IAAI,IACpC/G,MAAM,CAACwH,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAMT,IAAI,KAAK,EAAE,GAAG,IAAI,GAAGU,IAAI,CAACC,KAAK,CAACX,IAAI,CAAY;MAC3DY,KAAK,EAAE,IAAI,CAAC9B;KACb,CAAC,CAAC;EACP;EAEA,IAAI+B,aAAaA,CAAA;IACf,OAAO5H,MAAM,CAACuH,OAAO,CAAC,IAAI,CAACR,IAAI,EAAGA,IAAI,IACpC/G,MAAM,CAACwH,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAM7G,SAAS,CAAC8F,SAAS,CAAC,IAAIoB,eAAe,CAACd,IAAI,CAAC,CAAC;MACzDY,KAAK,EAAE,IAAI,CAAC9B;KACb,CAAC,CAAC;EACP;EAEA,IAAIhB,MAAMA,CAAA;IACR,OAAOzE,MAAM,CAACmD,QAAQ,CAAiBuE,KAAK,IAAI;MAC9C,IAAIC,MAAM,GAAG,CAAC;MACd,MAAMd,kBAAkB,GAAGA,CAAA,KAAK;QAC9B,IAAI,IAAI,CAACrB,MAAM,CAACjC,UAAU,KAAK,CAAC,EAAE;UAChC,MAAMqE,OAAO,GAAGzC,OAAO,CAACe,MAAM,CAAC,IAAI,CAACV,MAAM,CAACoB,YAAY,CAACiB,KAAK,CAACF,MAAM,CAAC,CAAC;UACtE7H,KAAK,CAACgI,WAAW,CAACJ,KAAK,EAAEE,OAAO,CAAC;UACjCD,MAAM,GAAG,IAAI,CAACnC,MAAM,CAACoB,YAAY,CAAC9B,MAAM;QAC1C,CAAC,MAAM,IAAI,IAAI,CAACU,MAAM,CAACjC,UAAU,KAAK,CAAC,EAAE;UACvC,MAAMqE,OAAO,GAAGzC,OAAO,CAACe,MAAM,CAAC,IAAI,CAACV,MAAM,CAACoB,YAAY,CAACiB,KAAK,CAACF,MAAM,CAAC,CAAC;UACtE,IAAIA,MAAM,GAAG,IAAI,CAACnC,MAAM,CAACoB,YAAY,CAAC9B,MAAM,EAAE;YAC5ChF,KAAK,CAACgI,WAAW,CAACJ,KAAK,EAAEE,OAAO,CAAC;UACnC;UACA9H,KAAK,CAACiI,SAAS,CAACL,KAAK,CAAC;QACxB;MACF,CAAC;MACD,MAAMjC,OAAO,GAAGA,CAAA,KAAK;QACnB3F,KAAK,CAACkI,eAAe,CAACN,KAAK,EAAE/H,KAAK,CAACiE,IAAI,CAAC,IAAI,CAAC6B,OAAO,CAAC,IAAI,CAACD,MAAM,CAACxB,UAAU,CAAC,CAAC,CAAC;MAChF,CAAC;MACD,IAAI,CAACwB,MAAM,CAACvD,gBAAgB,CAAC,kBAAkB,EAAE4E,kBAAkB,CAAC;MACpE,IAAI,CAACrB,MAAM,CAACvD,gBAAgB,CAAC,OAAO,EAAEwD,OAAO,CAAC;MAC9CoB,kBAAkB,EAAE;MACpB,OAAOjH,MAAM,CAACwE,IAAI,CAAC,MAAK;QACtB,IAAI,CAACoB,MAAM,CAACsB,mBAAmB,CAAC,kBAAkB,EAAED,kBAAkB,CAAC;QACvE,IAAI,CAACrB,MAAM,CAACsB,mBAAmB,CAAC,OAAO,EAAErB,OAAO,CAAC;MACnD,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAwC,kBAAkB;EAClB,IAAIC,WAAWA,CAAA;IACb,IAAI,IAAI,CAACD,kBAAkB,EAAE;MAC3B,OAAO,IAAI,CAACA,kBAAkB;IAChC;IACA,OAAO,IAAI,CAACA,kBAAkB,GAAGrI,MAAM,CAACuD,QAAQ,CAAkBC,MAAM,IAAI;MAC1E,IAAI,IAAI,CAACoC,MAAM,CAACjC,UAAU,KAAK,CAAC,EAAE;QAChCH,MAAM,CAACxD,MAAM,CAAC4D,OAAO,CAAC,IAAI,CAACgC,MAAM,CAAC2C,QAAQ,CAAC,CAAC;QAC5C;MACF;MAEA,MAAMtB,kBAAkB,GAAGA,CAAA,KAAK;QAC9B,IAAI,IAAI,CAACrB,MAAM,CAACjC,UAAU,KAAK,CAAC,EAAE;UAChCH,MAAM,CAACxD,MAAM,CAAC4D,OAAO,CAAC,IAAI,CAACgC,MAAM,CAAC2C,QAAQ,CAAC,CAAC;QAC9C;MACF,CAAC;MACD,MAAM1C,OAAO,GAAGA,CAAA,KAAK;QACnBrC,MAAM,CAACxD,MAAM,CAACgE,IAAI,CAAC,IAAI,CAAC6B,OAAO,CAAC,IAAI,CAACD,MAAM,CAACxB,UAAU,CAAC,CAAC,CAAC;MAC3D,CAAC;MACD,IAAI,CAACwB,MAAM,CAACvD,gBAAgB,CAAC,kBAAkB,EAAE4E,kBAAkB,CAAC;MACpE,IAAI,CAACrB,MAAM,CAACvD,gBAAgB,CAAC,OAAO,EAAEwD,OAAO,CAAC;MAC9C,OAAO7F,MAAM,CAACwE,IAAI,CAAC,MAAK;QACtB,IAAI,CAACoB,MAAM,CAACsB,mBAAmB,CAAC,kBAAkB,EAAED,kBAAkB,CAAC;QACvE,IAAI,CAACrB,MAAM,CAACsB,mBAAmB,CAAC,OAAO,EAAErB,OAAO,CAAC;MACnD,CAAC,CAAC;IACJ,CAAC,CAAC,CAACsB,IAAI,CACLnH,MAAM,CAACwI,GAAG,CAAED,QAAQ,IAAI;MACtB,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;QAChC,MAAME,GAAG,GAAGlD,OAAO,CAACe,MAAM,CAACiC,QAAQ,CAAC;QACpC,OAAOE,GAAG,CAACC,UAAU,KAAKD,GAAG,CAACE,MAAM,CAACD,UAAU,GAC3CD,GAAG,CAACE,MAAM,CAACV,KAAK,CAACQ,GAAG,CAACG,UAAU,EAAEH,GAAG,CAACG,UAAU,GAAGH,GAAG,CAACC,UAAU,CAAC,GACjED,GAAG,CAACE,MAAM;MAChB;MACA,OAAOJ,QAAQ;IACjB,CAAC,CAAC,EACFvI,MAAM,CAACoH,MAAM,EACbpH,MAAM,CAACqH,OAAO,CACf;EACH;;AAGF,MAAMxD,kBAAmB,SAAQ4B,mBAAoD;EAG1E,CAAChF,kBAAkB,CAACkF,MAAM;EAC1B9D,OAAO;EAEhBiE,YACEjE,OAA4C,EAC5C+D,MAAiC;IAEjC,KAAK,CAACA,MAAM,EAAGzB,KAAK,IAClB,IAAI3D,eAAe,CAACA,eAAe,CAAC;MAClCyD,MAAM,EAAE,IAAIzD,eAAe,CAACqI,WAAW,CAAC;QACtChH,OAAO;QACP0G,QAAQ,EAAE,IAAI;QACdpE;OACD;KACF,CAAC,CAAC;IACL,IAAI,CAACtC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACpB,kBAAkB,CAACkF,MAAM,CAAC,GAAGlF,kBAAkB,CAACkF,MAAM;EAC7D;EAEA,IAAImD,MAAMA,CAAA;IACR,OAAO,IAAI,CAAClD,MAAM,CAACkD,MAAM;EAC3B;EAEA,IAAIpE,QAAQA,CAAA;IACV,OAAO1E,MAAM,CAAC+I,GAAG,CAAC,iBAAiB,CAAC;EACtC;EAESpG,QAAQA,CAAA;IACf,OAAO,kBAAkB,IAAI,CAACmG,MAAM,GAAG;EACzC;EAEAE,MAAMA,CAAA;IACJ,OAAOtI,mBAAmB,CAACuI,OAAO,CAAC,IAAI,EAAE;MACvCC,GAAG,EAAE,qCAAqC;MAC1CrH,OAAO,EAAE,IAAI,CAACA,OAAO,CAACmH,MAAM,EAAE;MAC9BF,MAAM,EAAE,IAAI,CAACA;KACd,CAAC;EACJ;;AAGF;;;;AAIA,OAAO,MAAMK,mBAAmB,gBAAuC5I,UAAU,CAAC6I,mBAAmB,cACnGpJ,MAAM,CAAC4D,OAAO,CAACjC,kBAAkB,CAAC,CACnC","ignoreList":[]}
1
+ {"version":3,"file":"BrowserHttpClient.js","names":["Cause","Context","Effect","Inspectable","Option","pipeArguments","Queue","Stream","Cookies","Headers","HttpClient","HttpClientError","HttpClientResponse","HttpIncomingMessage","UrlParams","HeaderParser","Fetch","layer","layerFetch","RequestInit","CurrentXHRResponseType","Reference","defaultValue","withXHRArrayBuffer","self","provideService","XMLHttpRequest","Service","makeXhrRequest","globalThis","makeXmlHttpRequest","make","request","url","signal","fiber","suspend","xhr","getOrElse","context","addEventListener","abort","onreadystatechange","once","open","method","toString","responseType","getRef","Object","entries","headers","forEach","k","v","setRequestHeader","andThen","sendBody","callback","resume","sent","onChange","readyState","succeed","ClientResponseImpl","onerror","_event","fail","reason","TransportError","cause","statusText","void","body","_tag","sync","send","formData","matchEffect","runFold","stream","Uint8Array","acc","chunk","next","length","set","onFailure","EncodeError","onSuccess","encoder","TextEncoder","IncomingMessageImpl","Class","TypeId","source","onError","constructor","_rawHeaderString","getAllResponseHeaders","_rawHeaders","_headers","empty","parser","result","encode","undefined","parsed","fromInput","cachedCookies","cookies","fromSetCookie","remoteAddress","none","_textEffect","text","responseText","onReadyStateChange","removeEventListener","pipe","cached","runSync","json","flatMap","try","JSON","parse","catch","urlParamsBody","URLSearchParams","queue","offset","encoded","slice","offerUnsafe","endUnsafe","failCauseUnsafe","_arrayBufferEffect","arrayBuffer","response","map","arr","byteLength","buffer","byteOffset","DecodeError","status","die","toJSON","inspect","_id","arguments","layerXMLHttpRequest","layerMergedContext"],"sources":["../src/BrowserHttpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,27 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type * as Layer from "effect/Layer";
1
+ import * as Layer from "effect/Layer";
5
2
  import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore";
3
+ import { IndexedDb } from "./IndexedDb.ts";
6
4
  /**
7
- * Creates a `KeyValueStore` layer that uses the browser's `localStorage` api.
5
+ * Creates a `KeyValueStore` layer that uses the browser's `localStorage` API and stores values between browser sessions.
8
6
  *
9
- * Values are stored between sessions.
10
- *
11
- * @since 1.0.0
12
- * @category Layers
7
+ * @category layers
8
+ * @since 4.0.0
13
9
  */
14
10
  export declare const layerLocalStorage: Layer.Layer<KeyValueStore.KeyValueStore>;
15
11
  /**
16
- * Creates a `KeyValueStore` layer that uses the browser's `sessionStorage` api.
17
- *
18
- * Values are stored only for the current session.
12
+ * Creates a `KeyValueStore` layer that uses the browser's `sessionStorage` API and stores values only for the current session.
19
13
  *
20
- * @since 1.0.0
21
- * @category Layers
14
+ * @category layers
15
+ * @since 4.0.0
22
16
  */
23
17
  export declare const layerSessionStorage: Layer.Layer<KeyValueStore.KeyValueStore>;
18
+ /**
19
+ * Creates a `KeyValueStore` layer backed by IndexedDB.
20
+ *
21
+ * @category layers
22
+ * @since 4.0.0
23
+ */
24
+ export declare const layerIndexedDb: (options?: {
25
+ readonly database?: string | undefined;
26
+ }) => Layer.Layer<KeyValueStore.KeyValueStore, never, IndexedDb>;
24
27
  //# sourceMappingURL=BrowserKeyValueStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserKeyValueStore.d.ts","sourceRoot":"","sources":["../src/BrowserKeyValueStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,aAAa,MAAM,2CAA2C,CAAA;AAE1E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAEtE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAExE,CAAA"}
1
+ {"version":3,"file":"BrowserKeyValueStore.d.ts","sourceRoot":"","sources":["../src/BrowserKeyValueStore.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAEtE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAExE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACvC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CA8D1D,CAAA"}
@@ -1,20 +1,140 @@
1
- import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore";
2
1
  /**
3
- * Creates a `KeyValueStore` layer that uses the browser's `localStorage` api.
2
+ * Browser-backed `KeyValueStore` layers for Effect programs.
3
+ *
4
+ * This module provides `KeyValueStore` implementations backed by the browser's
5
+ * synchronous Web Storage APIs: `localStorage` for origin-scoped data that
6
+ * persists across page reloads and browser sessions, and `sessionStorage` for
7
+ * page-session data that is cleared when that tab or window's page session
8
+ * ends. They are useful for small client-side values such as user preferences,
9
+ * feature flags, lightweight caches, persisted drafts, or session-only workflow
10
+ * state.
4
11
  *
5
- * Values are stored between sessions.
12
+ * Web Storage is only available in browser environments and is scoped by origin.
13
+ * Browsers may deny access in private modes or restricted contexts, and writes
14
+ * can fail when storage quotas are exceeded. The API stores strings and runs
15
+ * synchronously on the main thread, so prefer it for small payloads and avoid
16
+ * treating it as a database or a secure place for sensitive data.
6
17
  *
7
- * @since 1.0.0
8
- * @category Layers
18
+ * @since 4.0.0
9
19
  */
10
- export const layerLocalStorage = /*#__PURE__*/KeyValueStore.layerStorage(() => globalThis.localStorage);
20
+ import * as Effect from "effect/Effect";
21
+ import * as Layer from "effect/Layer";
22
+ import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore";
23
+ import { IndexedDb } from "./IndexedDb.js";
11
24
  /**
12
- * Creates a `KeyValueStore` layer that uses the browser's `sessionStorage` api.
25
+ * Creates a `KeyValueStore` layer that uses the browser's `localStorage` API and stores values between browser sessions.
13
26
  *
14
- * Values are stored only for the current session.
27
+ * @category layers
28
+ * @since 4.0.0
29
+ */
30
+ export const layerLocalStorage = /*#__PURE__*/KeyValueStore.layerStorage(() => globalThis.localStorage);
31
+ /**
32
+ * Creates a `KeyValueStore` layer that uses the browser's `sessionStorage` API and stores values only for the current session.
15
33
  *
16
- * @since 1.0.0
17
- * @category Layers
34
+ * @category layers
35
+ * @since 4.0.0
18
36
  */
19
37
  export const layerSessionStorage = /*#__PURE__*/KeyValueStore.layerStorage(() => globalThis.sessionStorage);
38
+ /**
39
+ * Creates a `KeyValueStore` layer backed by IndexedDB.
40
+ *
41
+ * @category layers
42
+ * @since 4.0.0
43
+ */
44
+ export const layerIndexedDb = options => Layer.effect(KeyValueStore.KeyValueStore)(Effect.gen(function* () {
45
+ const db = yield* Effect.acquireRelease(openDatabase(options?.database ?? "effect_key_value_store"), db => Effect.sync(() => db.close())).pipe(Effect.orDie);
46
+ return KeyValueStore.make({
47
+ clear: Effect.suspend(() => {
48
+ const store = getKvsEntriesStore(db, "readwrite");
49
+ return idbRequest({
50
+ method: "clear",
51
+ message: "Failed to clear backing store"
52
+ }, () => store.clear());
53
+ }),
54
+ get: key => Effect.map(Effect.suspend(() => {
55
+ const store = getKvsEntriesStore(db, "readonly");
56
+ return idbRequest({
57
+ method: "get",
58
+ message: "Failed to get value from backing store",
59
+ key
60
+ }, () => store.get(key));
61
+ }), found => typeof found?.value === "string" ? found.value : undefined),
62
+ getUint8Array: key => Effect.map(Effect.suspend(() => {
63
+ const store = getKvsEntriesStore(db, "readonly");
64
+ return idbRequest({
65
+ method: "getUint8Array",
66
+ message: "Failed to get value from backing store",
67
+ key
68
+ }, () => store.get(key));
69
+ }), found => found?.value && found.value instanceof Uint8Array ? found.value : undefined),
70
+ set: (key, value) => Effect.asVoid(Effect.suspend(() => {
71
+ const store = getKvsEntriesStore(db, "readwrite");
72
+ return idbRequest({
73
+ method: "set",
74
+ message: "Failed to set value in backing store",
75
+ key
76
+ }, () => store.put({
77
+ key,
78
+ value
79
+ }));
80
+ })),
81
+ size: Effect.suspend(() => {
82
+ const store = getKvsEntriesStore(db, "readonly");
83
+ return idbRequest({
84
+ method: "size",
85
+ message: "Failed to get backing store size"
86
+ }, () => store.count());
87
+ }),
88
+ remove: key => Effect.asVoid(Effect.suspend(() => {
89
+ const store = getKvsEntriesStore(db, "readwrite");
90
+ return idbRequest({
91
+ method: "remove",
92
+ message: "Failed to remove value from backing store",
93
+ key
94
+ }, () => store.delete(key));
95
+ }))
96
+ });
97
+ }));
98
+ const databaseVersion = 1;
99
+ const entriesStoreName = "entries";
100
+ const openDatabase = /*#__PURE__*/Effect.fnUntraced(function* (database) {
101
+ const idb = (yield* IndexedDb).indexedDB;
102
+ const openRequest = yield* Effect.try({
103
+ try: () => idb.open(database, databaseVersion),
104
+ catch: cause => new KeyValueStore.KeyValueStoreError({
105
+ method: "open",
106
+ message: "Failed to open backing store database",
107
+ cause
108
+ })
109
+ });
110
+ openRequest.onupgradeneeded = () => {
111
+ const db = openRequest.result;
112
+ if (!db.objectStoreNames.contains(entriesStoreName)) {
113
+ db.createObjectStore(entriesStoreName, {
114
+ keyPath: "key"
115
+ });
116
+ }
117
+ };
118
+ return yield* idbRequest({
119
+ method: "open",
120
+ message: "Failed to open backing store database"
121
+ }, () => openRequest);
122
+ });
123
+ const idbRequest = (failArgs, evaluate) => Effect.callback(resume => {
124
+ const request = evaluate();
125
+ if (request.readyState === "done") {
126
+ return resume(Effect.succeed(request.result));
127
+ }
128
+ request.onsuccess = () => {
129
+ resume(Effect.succeed(request.result));
130
+ };
131
+ request.onerror = () => resume(Effect.fail(new KeyValueStore.KeyValueStoreError({
132
+ ...failArgs,
133
+ cause: request.error
134
+ })));
135
+ });
136
+ const getKvsEntriesStore = (db, mode) => {
137
+ const transaction = db.transaction(entriesStoreName, mode);
138
+ return transaction.objectStore(entriesStoreName);
139
+ };
20
140
  //# sourceMappingURL=BrowserKeyValueStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserKeyValueStore.js","names":["KeyValueStore","layerLocalStorage","layerStorage","globalThis","localStorage","layerSessionStorage","sessionStorage"],"sources":["../src/BrowserKeyValueStore.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,aAAa,MAAM,2CAA2C;AAE1E;;;;;;;;AAQA,OAAO,MAAMC,iBAAiB,gBAA6CD,aAAa,CAACE,YAAY,CAAC,MACpGC,UAAU,CAACC,YAAY,CACxB;AAED;;;;;;;;AAQA,OAAO,MAAMC,mBAAmB,gBAA6CL,aAAa,CAACE,YAAY,CAAC,MACtGC,UAAU,CAACG,cAAc,CAC1B","ignoreList":[]}
1
+ {"version":3,"file":"BrowserKeyValueStore.js","names":["Effect","Layer","KeyValueStore","IndexedDb","layerLocalStorage","layerStorage","globalThis","localStorage","layerSessionStorage","sessionStorage","layerIndexedDb","options","effect","gen","db","acquireRelease","openDatabase","database","sync","close","pipe","orDie","make","clear","suspend","store","getKvsEntriesStore","idbRequest","method","message","get","key","map","found","value","undefined","getUint8Array","Uint8Array","set","asVoid","put","size","count","remove","delete","databaseVersion","entriesStoreName","fnUntraced","idb","indexedDB","openRequest","try","open","catch","cause","KeyValueStoreError","onupgradeneeded","result","objectStoreNames","contains","createObjectStore","keyPath","failArgs","evaluate","callback","resume","request","readyState","succeed","onsuccess","onerror","fail","error","mode","transaction","objectStore"],"sources":["../src/BrowserKeyValueStore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as Persistence from "effect/unstable/persistence/Persistence";
3
+ /**
4
+ * Creates a `BackingPersistence` layer backed by IndexedDB, optionally using the provided database name.
5
+ *
6
+ * @category layers
7
+ * @since 4.0.0
8
+ */
9
+ export declare const layerBackingIndexedDb: (options?: {
10
+ readonly database?: string | undefined;
11
+ }) => Layer.Layer<Persistence.BackingPersistence>;
12
+ /**
13
+ * Creates a `Persistence` layer backed by IndexedDB, optionally using the provided database name.
14
+ *
15
+ * @category layers
16
+ * @since 4.0.0
17
+ */
18
+ export declare const layerIndexedDb: (options?: {
19
+ readonly database?: string | undefined;
20
+ }) => Layer.Layer<Persistence.Persistence>;
21
+ //# sourceMappingURL=BrowserPersistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserPersistence.d.ts","sourceRoot":"","sources":["../src/BrowserPersistence.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAA;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACvC,KAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAoBzC,CAAA;AAOL;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACvC,KAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAGpC,CAAA"}