@effect/platform-browser 4.0.0-beta.9 → 4.0.0-beta.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BrowserCrypto.d.ts +49 -0
- package/dist/BrowserCrypto.d.ts.map +1 -0
- package/dist/BrowserCrypto.js +87 -0
- package/dist/BrowserCrypto.js.map +1 -0
- package/dist/BrowserHttpClient.d.ts +48 -19
- package/dist/BrowserHttpClient.d.ts.map +1 -1
- package/dist/BrowserHttpClient.js +62 -21
- package/dist/BrowserHttpClient.js.map +1 -1
- package/dist/BrowserKeyValueStore.d.ts +37 -14
- package/dist/BrowserKeyValueStore.d.ts.map +1 -1
- package/dist/BrowserKeyValueStore.js +144 -10
- package/dist/BrowserKeyValueStore.js.map +1 -1
- package/dist/BrowserPersistence.d.ts +40 -0
- package/dist/BrowserPersistence.d.ts.map +1 -0
- package/dist/BrowserPersistence.js +207 -0
- package/dist/BrowserPersistence.js.map +1 -0
- package/dist/BrowserRuntime.d.ts +64 -4
- package/dist/BrowserRuntime.d.ts.map +1 -1
- package/dist/BrowserRuntime.js +19 -1
- package/dist/BrowserRuntime.js.map +1 -1
- package/dist/BrowserSocket.d.ts +33 -6
- package/dist/BrowserSocket.d.ts.map +1 -1
- package/dist/BrowserSocket.js +33 -6
- package/dist/BrowserSocket.js.map +1 -1
- package/dist/BrowserStream.d.ts +19 -7
- package/dist/BrowserStream.d.ts.map +1 -1
- package/dist/BrowserStream.js +19 -7
- package/dist/BrowserStream.js.map +1 -1
- package/dist/BrowserWorker.d.ts +25 -4
- package/dist/BrowserWorker.d.ts.map +1 -1
- package/dist/BrowserWorker.js +34 -6
- package/dist/BrowserWorker.js.map +1 -1
- package/dist/BrowserWorkerRunner.d.ts +31 -6
- package/dist/BrowserWorkerRunner.d.ts.map +1 -1
- package/dist/BrowserWorkerRunner.js +43 -10
- package/dist/BrowserWorkerRunner.js.map +1 -1
- package/dist/Clipboard.d.ts +59 -14
- package/dist/Clipboard.d.ts.map +1 -1
- package/dist/Clipboard.js +34 -12
- package/dist/Clipboard.js.map +1 -1
- package/dist/Geolocation.d.ts +80 -25
- package/dist/Geolocation.d.ts.map +1 -1
- package/dist/Geolocation.js +48 -17
- package/dist/Geolocation.js.map +1 -1
- package/dist/IndexedDb.d.ts +75 -0
- package/dist/IndexedDb.d.ts.map +1 -0
- package/dist/IndexedDb.js +85 -0
- package/dist/IndexedDb.js.map +1 -0
- package/dist/IndexedDbDatabase.d.ts +153 -0
- package/dist/IndexedDbDatabase.d.ts.map +1 -0
- package/dist/IndexedDbDatabase.js +327 -0
- package/dist/IndexedDbDatabase.js.map +1 -0
- package/dist/IndexedDbQueryBuilder.d.ts +422 -0
- package/dist/IndexedDbQueryBuilder.d.ts.map +1 -0
- package/dist/IndexedDbQueryBuilder.js +935 -0
- package/dist/IndexedDbQueryBuilder.js.map +1 -0
- package/dist/IndexedDbTable.d.ts +166 -0
- package/dist/IndexedDbTable.d.ts.map +1 -0
- package/dist/IndexedDbTable.js +71 -0
- package/dist/IndexedDbTable.js.map +1 -0
- package/dist/IndexedDbVersion.d.ts +99 -0
- package/dist/IndexedDbVersion.d.ts.map +1 -0
- package/dist/IndexedDbVersion.js +44 -0
- package/dist/IndexedDbVersion.js.map +1 -0
- package/dist/Permissions.d.ts +52 -16
- package/dist/Permissions.d.ts.map +1 -1
- package/dist/Permissions.js +42 -11
- package/dist/Permissions.js.map +1 -1
- package/dist/index.d.ts +38 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -10
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/src/BrowserCrypto.ts +97 -0
- package/src/BrowserHttpClient.ts +72 -27
- package/src/BrowserKeyValueStore.ts +160 -12
- package/src/BrowserPersistence.ts +334 -0
- package/src/BrowserRuntime.ts +64 -4
- package/src/BrowserSocket.ts +33 -6
- package/src/BrowserStream.ts +19 -7
- package/src/BrowserWorker.ts +34 -6
- package/src/BrowserWorkerRunner.ts +43 -10
- package/src/Clipboard.ts +56 -14
- package/src/Geolocation.ts +76 -21
- package/src/IndexedDb.ts +113 -0
- package/src/IndexedDbDatabase.ts +648 -0
- package/src/IndexedDbQueryBuilder.ts +2032 -0
- package/src/IndexedDbTable.ts +260 -0
- package/src/IndexedDbVersion.ts +138 -0
- package/src/Permissions.ts +47 -14
- package/src/index.ts +45 -10
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-backed implementation of Effect's Crypto service.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a `Crypto.Crypto` layer backed by the Web Crypto API.
|
|
5
|
+
* The {@link WebCrypto} context reference defaults to `globalThis.crypto`, so
|
|
6
|
+
* browser programs can use the standard implementation while tests or embedded
|
|
7
|
+
* runtimes can provide their own `Crypto` object.
|
|
8
|
+
*
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
import * as Context from "effect/Context";
|
|
12
|
+
import * as EffectCrypto from "effect/Crypto";
|
|
13
|
+
import * as Layer from "effect/Layer";
|
|
14
|
+
/**
|
|
15
|
+
* Provides Browser Web Crypto APIs used by the Crypto service implementation.
|
|
16
|
+
*
|
|
17
|
+
* **When to use**
|
|
18
|
+
*
|
|
19
|
+
* Use to override the browser `Crypto` object used by the platform crypto
|
|
20
|
+
* layer.
|
|
21
|
+
*
|
|
22
|
+
* @category references
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
*/
|
|
25
|
+
export declare const WebCrypto: Context.Reference<Crypto>;
|
|
26
|
+
/**
|
|
27
|
+
* Layer that directly interfaces with the Web Crypto API.
|
|
28
|
+
*
|
|
29
|
+
* **When to use**
|
|
30
|
+
*
|
|
31
|
+
* Use to provide cryptographic randomness, UUID generation, and digest
|
|
32
|
+
* operations in browser runtimes backed by `globalThis.crypto`.
|
|
33
|
+
*
|
|
34
|
+
* **Details**
|
|
35
|
+
*
|
|
36
|
+
* Random bytes are produced with `crypto.getRandomValues`. Digests are computed
|
|
37
|
+
* with `crypto.subtle.digest` and returned as `Uint8Array` values.
|
|
38
|
+
*
|
|
39
|
+
* **Gotchas**
|
|
40
|
+
*
|
|
41
|
+
* The layer dies if the Web Crypto object is unavailable. Digest operations
|
|
42
|
+
* fail with `PlatformError` when `crypto.subtle.digest` is unavailable or the
|
|
43
|
+
* browser rejects the digest request.
|
|
44
|
+
*
|
|
45
|
+
* @category layers
|
|
46
|
+
* @since 1.0.0
|
|
47
|
+
*/
|
|
48
|
+
export declare const layer: Layer.Layer<EffectCrypto.Crypto>;
|
|
49
|
+
//# sourceMappingURL=BrowserCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserCrypto.d.ts","sourceRoot":"","sources":["../src/BrowserCrypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,YAAY,MAAM,eAAe,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,2BAEpB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CA2ClD,CAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-backed implementation of Effect's Crypto service.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a `Crypto.Crypto` layer backed by the Web Crypto API.
|
|
5
|
+
* The {@link WebCrypto} context reference defaults to `globalThis.crypto`, so
|
|
6
|
+
* browser programs can use the standard implementation while tests or embedded
|
|
7
|
+
* runtimes can provide their own `Crypto` object.
|
|
8
|
+
*
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
import * as Context from "effect/Context";
|
|
12
|
+
import * as EffectCrypto from "effect/Crypto";
|
|
13
|
+
import * as Effect from "effect/Effect";
|
|
14
|
+
import * as Layer from "effect/Layer";
|
|
15
|
+
import * as PlatformError from "effect/PlatformError";
|
|
16
|
+
/**
|
|
17
|
+
* Provides Browser Web Crypto APIs used by the Crypto service implementation.
|
|
18
|
+
*
|
|
19
|
+
* **When to use**
|
|
20
|
+
*
|
|
21
|
+
* Use to override the browser `Crypto` object used by the platform crypto
|
|
22
|
+
* layer.
|
|
23
|
+
*
|
|
24
|
+
* @category references
|
|
25
|
+
* @since 1.0.0
|
|
26
|
+
*/
|
|
27
|
+
export const WebCrypto = /*#__PURE__*/Context.Reference("@effect/platform-browser/Crypto/WebCrypto", {
|
|
28
|
+
defaultValue: () => globalThis.crypto
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Layer that directly interfaces with the Web Crypto API.
|
|
32
|
+
*
|
|
33
|
+
* **When to use**
|
|
34
|
+
*
|
|
35
|
+
* Use to provide cryptographic randomness, UUID generation, and digest
|
|
36
|
+
* operations in browser runtimes backed by `globalThis.crypto`.
|
|
37
|
+
*
|
|
38
|
+
* **Details**
|
|
39
|
+
*
|
|
40
|
+
* Random bytes are produced with `crypto.getRandomValues`. Digests are computed
|
|
41
|
+
* with `crypto.subtle.digest` and returned as `Uint8Array` values.
|
|
42
|
+
*
|
|
43
|
+
* **Gotchas**
|
|
44
|
+
*
|
|
45
|
+
* The layer dies if the Web Crypto object is unavailable. Digest operations
|
|
46
|
+
* fail with `PlatformError` when `crypto.subtle.digest` is unavailable or the
|
|
47
|
+
* browser rejects the digest request.
|
|
48
|
+
*
|
|
49
|
+
* @category layers
|
|
50
|
+
* @since 1.0.0
|
|
51
|
+
*/
|
|
52
|
+
export const layer = /*#__PURE__*/Layer.effect(EffectCrypto.Crypto, /*#__PURE__*/Effect.gen(function* () {
|
|
53
|
+
const crypto = yield* WebCrypto;
|
|
54
|
+
if (!crypto) {
|
|
55
|
+
return yield* Effect.die(new Error("Web Crypto API is not available"));
|
|
56
|
+
}
|
|
57
|
+
const randomBytes = size => {
|
|
58
|
+
const bytes = new Uint8Array(size);
|
|
59
|
+
crypto.getRandomValues(bytes);
|
|
60
|
+
return bytes;
|
|
61
|
+
};
|
|
62
|
+
const digest = (algorithm, data) => {
|
|
63
|
+
if (typeof crypto.subtle.digest !== "function") {
|
|
64
|
+
return Effect.fail(PlatformError.systemError({
|
|
65
|
+
module: "Crypto",
|
|
66
|
+
method: "digest",
|
|
67
|
+
_tag: "Unknown",
|
|
68
|
+
description: "crypto.subtle.digest is not available"
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
return Effect.map(Effect.tryPromise({
|
|
72
|
+
try: () => crypto.subtle.digest(algorithm, new Uint8Array(data)),
|
|
73
|
+
catch: cause => PlatformError.systemError({
|
|
74
|
+
module: "Crypto",
|
|
75
|
+
method: "digest",
|
|
76
|
+
_tag: "Unknown",
|
|
77
|
+
description: "Could not compute digest",
|
|
78
|
+
cause
|
|
79
|
+
})
|
|
80
|
+
}), buffer => new Uint8Array(buffer));
|
|
81
|
+
};
|
|
82
|
+
return EffectCrypto.make({
|
|
83
|
+
randomBytes,
|
|
84
|
+
digest
|
|
85
|
+
});
|
|
86
|
+
}));
|
|
87
|
+
//# 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;;;;;;;;;;AAUA,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;;;;;;;;;;;AAWA,OAAO,MAAMC,SAAS,gBAAGL,OAAO,CAACM,SAAS,CAAS,2CAA2C,EAAE;EAC9FC,YAAY,EAAEA,CAAA,KAAMC,UAAU,CAACC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;AAsBA,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,78 @@
|
|
|
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
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Context reference for the `fetch` implementation used by the fetch-based HTTP client.
|
|
9
|
+
*
|
|
10
|
+
* @category fetch
|
|
11
|
+
* @since 4.0.0
|
|
10
12
|
*/
|
|
11
13
|
Fetch,
|
|
12
14
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
+
* Layer that provides an `HttpClient` implementation backed by the configured `Fetch` function.
|
|
16
|
+
*
|
|
17
|
+
* @category fetch
|
|
18
|
+
* @since 4.0.0
|
|
15
19
|
*/
|
|
16
20
|
layer as layerFetch,
|
|
17
21
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
22
|
+
* Service that contains default fetch options for the browser fetch client.
|
|
23
|
+
*
|
|
24
|
+
* **When to use**
|
|
25
|
+
*
|
|
26
|
+
* Use to provide default credentials, cache, redirect, integrity, or other
|
|
27
|
+
* fetch options for browser HTTP requests.
|
|
28
|
+
*
|
|
29
|
+
* @category fetch
|
|
30
|
+
* @since 4.0.0
|
|
20
31
|
*/
|
|
21
32
|
RequestInit } from "effect/unstable/http/FetchHttpClient";
|
|
22
33
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
34
|
+
* Allowed response body modes for the browser XHR HTTP client.
|
|
35
|
+
*
|
|
36
|
+
* @category models
|
|
37
|
+
* @since 4.0.0
|
|
25
38
|
*/
|
|
26
39
|
export type XHRResponseType = "arraybuffer" | "text";
|
|
27
40
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
41
|
+
* Context reference for the `XMLHttpRequest.responseType` used by the browser XHR HTTP client, defaulting to `"text"`.
|
|
42
|
+
*
|
|
43
|
+
* **When to use**
|
|
44
|
+
*
|
|
45
|
+
* Use when you need XHR-backed HTTP requests to receive response bodies as text
|
|
46
|
+
* or raw `ArrayBuffer` values.
|
|
47
|
+
*
|
|
48
|
+
* @see {@link XHRResponseType} for the allowed response body modes
|
|
49
|
+
* @see {@link withXHRArrayBuffer} for scoping XHR response handling to `ArrayBuffer`
|
|
50
|
+
*
|
|
51
|
+
* @category references
|
|
52
|
+
* @since 4.0.0
|
|
30
53
|
*/
|
|
31
|
-
export declare const CurrentXHRResponseType:
|
|
54
|
+
export declare const CurrentXHRResponseType: Context.Reference<XHRResponseType>;
|
|
32
55
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
56
|
+
* Runs an effect with `CurrentXHRResponseType` set to `"arraybuffer"` so the XHR HTTP client receives response bodies as `ArrayBuffer` values.
|
|
57
|
+
*
|
|
58
|
+
* @category references
|
|
59
|
+
* @since 4.0.0
|
|
35
60
|
*/
|
|
36
61
|
export declare const withXHRArrayBuffer: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
37
|
-
declare const XMLHttpRequest_base:
|
|
62
|
+
declare const XMLHttpRequest_base: Context.ServiceClass<XMLHttpRequest, "@effect/platform-browser/BrowserHttpClient/XMLHttpRequest", LazyArg<globalThis.XMLHttpRequest>>;
|
|
38
63
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
64
|
+
* Service tag for the `XMLHttpRequest` constructor used by the browser XHR HTTP client.
|
|
65
|
+
*
|
|
66
|
+
* @category services
|
|
67
|
+
* @since 4.0.0
|
|
41
68
|
*/
|
|
42
69
|
export declare class XMLHttpRequest extends XMLHttpRequest_base {
|
|
43
70
|
}
|
|
44
71
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
72
|
+
* Layer that provides an `HttpClient` implementation backed by the browser `XMLHttpRequest` API.
|
|
73
|
+
*
|
|
74
|
+
* @category layers
|
|
75
|
+
* @since 4.0.0
|
|
47
76
|
*/
|
|
48
77
|
export declare const layerXMLHttpRequest: Layer.Layer<HttpClient.HttpClient>;
|
|
49
78
|
//# sourceMappingURL=BrowserHttpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserHttpClient.d.ts","sourceRoot":"","sources":["../src/BrowserHttpClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BrowserHttpClient.d.ts","sourceRoot":"","sources":["../src/BrowserHttpClient.ts"],"names":[],"mappings":"AAaA,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;;;;;;;;;;GAUG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;AAM7C;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,MAAM,CAAA;AAEpD;;;;;;;;;;;;;GAaG;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,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
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 `Fetch`, `RequestInit`, and `layerFetch` APIs for
|
|
6
|
+
* the common case where requests use the platform `fetch` implementation. It
|
|
7
|
+
* also provides an `XMLHttpRequest`-backed client, including controls for the
|
|
8
|
+
* XHR response type, an overridable `XMLHttpRequest` constructor service, and
|
|
9
|
+
* the `layerXMLHttpRequest` layer.
|
|
10
|
+
*
|
|
11
|
+
* @since 4.0.0
|
|
3
12
|
*/
|
|
4
13
|
import * as Cause from "effect/Cause";
|
|
14
|
+
import * as Context from "effect/Context";
|
|
5
15
|
import * as Effect from "effect/Effect";
|
|
6
16
|
import * as Inspectable from "effect/Inspectable";
|
|
17
|
+
import * as Option from "effect/Option";
|
|
18
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
7
19
|
import * as Queue from "effect/Queue";
|
|
8
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
9
20
|
import * as Stream from "effect/Stream";
|
|
10
21
|
import * as Cookies from "effect/unstable/http/Cookies";
|
|
11
22
|
import * as Headers from "effect/unstable/http/Headers";
|
|
@@ -20,40 +31,65 @@ import * as HeaderParser from "multipasta/HeadersParser";
|
|
|
20
31
|
// =============================================================================
|
|
21
32
|
export {
|
|
22
33
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
34
|
+
* Context reference for the `fetch` implementation used by the fetch-based HTTP client.
|
|
35
|
+
*
|
|
36
|
+
* @category fetch
|
|
37
|
+
* @since 4.0.0
|
|
25
38
|
*/
|
|
26
39
|
Fetch,
|
|
27
40
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
41
|
+
* Layer that provides an `HttpClient` implementation backed by the configured `Fetch` function.
|
|
42
|
+
*
|
|
43
|
+
* @category fetch
|
|
44
|
+
* @since 4.0.0
|
|
30
45
|
*/
|
|
31
46
|
layer as layerFetch,
|
|
32
47
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
48
|
+
* Service that contains default fetch options for the browser fetch client.
|
|
49
|
+
*
|
|
50
|
+
* **When to use**
|
|
51
|
+
*
|
|
52
|
+
* Use to provide default credentials, cache, redirect, integrity, or other
|
|
53
|
+
* fetch options for browser HTTP requests.
|
|
54
|
+
*
|
|
55
|
+
* @category fetch
|
|
56
|
+
* @since 4.0.0
|
|
35
57
|
*/
|
|
36
58
|
RequestInit } from "effect/unstable/http/FetchHttpClient";
|
|
37
59
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
60
|
+
* Context reference for the `XMLHttpRequest.responseType` used by the browser XHR HTTP client, defaulting to `"text"`.
|
|
61
|
+
*
|
|
62
|
+
* **When to use**
|
|
63
|
+
*
|
|
64
|
+
* Use when you need XHR-backed HTTP requests to receive response bodies as text
|
|
65
|
+
* or raw `ArrayBuffer` values.
|
|
66
|
+
*
|
|
67
|
+
* @see {@link XHRResponseType} for the allowed response body modes
|
|
68
|
+
* @see {@link withXHRArrayBuffer} for scoping XHR response handling to `ArrayBuffer`
|
|
69
|
+
*
|
|
70
|
+
* @category references
|
|
71
|
+
* @since 4.0.0
|
|
40
72
|
*/
|
|
41
|
-
export const CurrentXHRResponseType = /*#__PURE__*/
|
|
73
|
+
export const CurrentXHRResponseType = /*#__PURE__*/Context.Reference("@effect/platform-browser/BrowserHttpClient/CurrentXHRResponseType", {
|
|
42
74
|
defaultValue: () => "text"
|
|
43
75
|
});
|
|
44
76
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
77
|
+
* Runs an effect with `CurrentXHRResponseType` set to `"arraybuffer"` so the XHR HTTP client receives response bodies as `ArrayBuffer` values.
|
|
78
|
+
*
|
|
79
|
+
* @category references
|
|
80
|
+
* @since 4.0.0
|
|
47
81
|
*/
|
|
48
82
|
export const withXHRArrayBuffer = self => Effect.provideService(self, CurrentXHRResponseType, "arraybuffer");
|
|
49
83
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
84
|
+
* Service tag for the `XMLHttpRequest` constructor used by the browser XHR HTTP client.
|
|
85
|
+
*
|
|
86
|
+
* @category services
|
|
87
|
+
* @since 4.0.0
|
|
52
88
|
*/
|
|
53
|
-
export class XMLHttpRequest extends /*#__PURE__*/
|
|
89
|
+
export class XMLHttpRequest extends /*#__PURE__*/Context.Service()("@effect/platform-browser/BrowserHttpClient/XMLHttpRequest") {}
|
|
54
90
|
const makeXhrRequest = () => new globalThis.XMLHttpRequest();
|
|
55
91
|
const makeXmlHttpRequest = /*#__PURE__*/HttpClient.make((request, url, signal, fiber) => Effect.suspend(() => {
|
|
56
|
-
const xhr =
|
|
92
|
+
const xhr = Context.getOrElse(fiber.context, XMLHttpRequest, () => makeXhrRequest)();
|
|
57
93
|
signal.addEventListener("abort", () => {
|
|
58
94
|
xhr.abort();
|
|
59
95
|
xhr.onreadystatechange = null;
|
|
@@ -155,7 +191,7 @@ class IncomingMessageImpl extends Inspectable.Class {
|
|
|
155
191
|
return this.cachedCookies = Cookies.fromSetCookie(this._rawHeaders["set-cookie"]);
|
|
156
192
|
}
|
|
157
193
|
get remoteAddress() {
|
|
158
|
-
return
|
|
194
|
+
return Option.none();
|
|
159
195
|
}
|
|
160
196
|
_textEffect;
|
|
161
197
|
get text() {
|
|
@@ -286,10 +322,15 @@ class ClientResponseImpl extends IncomingMessageImpl {
|
|
|
286
322
|
status: this.status
|
|
287
323
|
});
|
|
288
324
|
}
|
|
325
|
+
pipe() {
|
|
326
|
+
return pipeArguments(this, arguments);
|
|
327
|
+
}
|
|
289
328
|
}
|
|
290
329
|
/**
|
|
291
|
-
*
|
|
292
|
-
*
|
|
330
|
+
* Layer that provides an `HttpClient` implementation backed by the browser `XMLHttpRequest` API.
|
|
331
|
+
*
|
|
332
|
+
* @category layers
|
|
333
|
+
* @since 4.0.0
|
|
293
334
|
*/
|
|
294
|
-
export const layerXMLHttpRequest = /*#__PURE__*/HttpClient.
|
|
335
|
+
export const layerXMLHttpRequest = /*#__PURE__*/HttpClient.layerMergedContext(/*#__PURE__*/Effect.succeed(makeXmlHttpRequest));
|
|
295
336
|
//# 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,47 @@
|
|
|
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`
|
|
5
|
+
* Creates a `KeyValueStore` layer that uses the browser's `localStorage` API and stores values between browser sessions.
|
|
8
6
|
*
|
|
9
|
-
*
|
|
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`
|
|
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
|
-
* @
|
|
21
|
-
* @
|
|
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
|
+
* **When to use**
|
|
22
|
+
*
|
|
23
|
+
* Use when you need persistent asynchronous IndexedDB storage for a browser
|
|
24
|
+
* `KeyValueStore` instead of the synchronous Web Storage APIs.
|
|
25
|
+
*
|
|
26
|
+
* **Details**
|
|
27
|
+
*
|
|
28
|
+
* The database name defaults to `"effect_key_value_store"`. The layer requires
|
|
29
|
+
* the `IndexedDb` service and stores string and `Uint8Array` values in the same
|
|
30
|
+
* backing object store.
|
|
31
|
+
*
|
|
32
|
+
* **Gotchas**
|
|
33
|
+
*
|
|
34
|
+
* IndexedDB may be unavailable or blocked by browser settings, private browsing,
|
|
35
|
+
* quota limits, or restricted contexts. The string and `Uint8Array` accessors do
|
|
36
|
+
* not coerce values stored with the other representation.
|
|
37
|
+
*
|
|
38
|
+
* @see {@link layerLocalStorage} for synchronous persistent Web Storage
|
|
39
|
+
* @see {@link layerSessionStorage} for synchronous tab-session Web Storage
|
|
40
|
+
*
|
|
41
|
+
* @category layers
|
|
42
|
+
* @since 4.0.0
|
|
43
|
+
*/
|
|
44
|
+
export declare const layerIndexedDb: (options?: {
|
|
45
|
+
readonly database?: string | undefined;
|
|
46
|
+
}) => Layer.Layer<KeyValueStore.KeyValueStore, never, IndexedDb>;
|
|
24
47
|
//# sourceMappingURL=BrowserKeyValueStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserKeyValueStore.d.ts","sourceRoot":"","sources":["../src/BrowserKeyValueStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BrowserKeyValueStore.d.ts","sourceRoot":"","sources":["../src/BrowserKeyValueStore.ts"],"names":[],"mappings":"AAcA,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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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"}
|