@effect/platform-browser 0.74.0 → 4.0.0-beta.1
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/README.md +0 -6
- package/dist/BrowserHttpClient.d.ts +49 -0
- package/dist/BrowserHttpClient.d.ts.map +1 -0
- package/dist/{esm/internal/httpClient.js → BrowserHttpClient.js} +98 -60
- package/dist/BrowserHttpClient.js.map +1 -0
- package/dist/BrowserKeyValueStore.d.ts +24 -0
- package/dist/BrowserKeyValueStore.d.ts.map +1 -0
- package/dist/BrowserKeyValueStore.js +20 -0
- package/dist/BrowserKeyValueStore.js.map +1 -0
- package/dist/BrowserRuntime.d.ts +28 -0
- package/dist/BrowserRuntime.d.ts.map +1 -0
- package/dist/BrowserRuntime.js +13 -0
- package/dist/BrowserRuntime.js.map +1 -0
- package/dist/{dts/BrowserSocket.d.ts → BrowserSocket.d.ts} +4 -4
- package/dist/BrowserSocket.d.ts.map +1 -0
- package/dist/{esm/BrowserSocket.js → BrowserSocket.js} +5 -5
- package/dist/BrowserSocket.js.map +1 -0
- package/dist/BrowserStream.d.ts +35 -0
- package/dist/BrowserStream.d.ts.map +1 -0
- package/dist/BrowserStream.js +25 -0
- package/dist/BrowserStream.js.map +1 -0
- package/dist/BrowserWorker.d.ts +13 -0
- package/dist/BrowserWorker.d.ts.map +1 -0
- package/dist/{esm/internal/worker.js → BrowserWorker.js} +23 -17
- package/dist/BrowserWorker.js.map +1 -0
- package/dist/BrowserWorkerRunner.d.ts +18 -0
- package/dist/BrowserWorkerRunner.d.ts.map +1 -0
- package/dist/BrowserWorkerRunner.js +143 -0
- package/dist/BrowserWorkerRunner.js.map +1 -0
- package/dist/{dts/Clipboard.d.ts → Clipboard.d.ts} +13 -30
- package/dist/Clipboard.d.ts.map +1 -0
- package/dist/{esm/Clipboard.js → Clipboard.js} +12 -18
- package/dist/Clipboard.js.map +1 -0
- package/dist/Geolocation.d.ts +97 -0
- package/dist/Geolocation.d.ts.map +1 -0
- package/dist/Geolocation.js +99 -0
- package/dist/Geolocation.js.map +1 -0
- package/dist/Permissions.d.ts +80 -0
- package/dist/Permissions.d.ts.map +1 -0
- package/dist/Permissions.js +70 -0
- package/dist/Permissions.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{esm/index.js → index.js} +4 -0
- package/dist/index.js.map +1 -0
- package/package.json +51 -111
- package/src/BrowserHttpClient.ts +364 -16
- package/src/BrowserKeyValueStore.ts +15 -8
- package/src/BrowserRuntime.ts +30 -4
- package/src/BrowserSocket.ts +5 -5
- package/src/BrowserStream.ts +20 -10
- package/src/BrowserWorker.ts +58 -21
- package/src/BrowserWorkerRunner.ts +151 -18
- package/src/Clipboard.ts +16 -38
- package/src/Geolocation.ts +80 -40
- package/src/Permissions.ts +49 -34
- package/src/index.ts +16 -10
- package/BrowserHttpClient/package.json +0 -6
- package/BrowserKeyValueStore/package.json +0 -6
- package/BrowserRuntime/package.json +0 -6
- package/BrowserSocket/package.json +0 -6
- package/BrowserStream/package.json +0 -6
- package/BrowserWorker/package.json +0 -6
- package/BrowserWorkerRunner/package.json +0 -6
- package/Clipboard/package.json +0 -6
- package/Geolocation/package.json +0 -6
- package/Permissions/package.json +0 -6
- package/dist/cjs/BrowserHttpClient.js +0 -31
- package/dist/cjs/BrowserHttpClient.js.map +0 -1
- package/dist/cjs/BrowserKeyValueStore.js +0 -23
- package/dist/cjs/BrowserKeyValueStore.js.map +0 -1
- package/dist/cjs/BrowserRuntime.js +0 -14
- package/dist/cjs/BrowserRuntime.js.map +0 -1
- package/dist/cjs/BrowserSocket.js +0 -27
- package/dist/cjs/BrowserSocket.js.map +0 -1
- package/dist/cjs/BrowserStream.js +0 -23
- package/dist/cjs/BrowserStream.js.map +0 -1
- package/dist/cjs/BrowserWorker.js +0 -29
- package/dist/cjs/BrowserWorker.js.map +0 -1
- package/dist/cjs/BrowserWorkerRunner.js +0 -31
- package/dist/cjs/BrowserWorkerRunner.js.map +0 -1
- package/dist/cjs/Clipboard.js +0 -86
- package/dist/cjs/Clipboard.js.map +0 -1
- package/dist/cjs/Geolocation.js +0 -73
- package/dist/cjs/Geolocation.js.map +0 -1
- package/dist/cjs/Permissions.js +0 -59
- package/dist/cjs/Permissions.js.map +0 -1
- package/dist/cjs/index.js +0 -28
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internal/httpClient.js +0 -266
- package/dist/cjs/internal/httpClient.js.map +0 -1
- package/dist/cjs/internal/keyValueStore.js +0 -13
- package/dist/cjs/internal/keyValueStore.js.map +0 -1
- package/dist/cjs/internal/runtime.js +0 -16
- package/dist/cjs/internal/runtime.js.map +0 -1
- package/dist/cjs/internal/stream.js +0 -19
- package/dist/cjs/internal/stream.js.map +0 -1
- package/dist/cjs/internal/worker.js +0 -60
- package/dist/cjs/internal/worker.js.map +0 -1
- package/dist/cjs/internal/workerRunner.js +0 -144
- package/dist/cjs/internal/workerRunner.js.map +0 -1
- package/dist/dts/BrowserHttpClient.d.ts +0 -33
- package/dist/dts/BrowserHttpClient.d.ts.map +0 -1
- package/dist/dts/BrowserKeyValueStore.d.ts +0 -20
- package/dist/dts/BrowserKeyValueStore.d.ts.map +0 -1
- package/dist/dts/BrowserRuntime.d.ts +0 -10
- package/dist/dts/BrowserRuntime.d.ts.map +0 -1
- package/dist/dts/BrowserSocket.d.ts.map +0 -1
- package/dist/dts/BrowserStream.d.ts +0 -25
- package/dist/dts/BrowserStream.d.ts.map +0 -1
- package/dist/dts/BrowserWorker.d.ts +0 -26
- package/dist/dts/BrowserWorker.d.ts.map +0 -1
- package/dist/dts/BrowserWorkerRunner.d.ts +0 -27
- package/dist/dts/BrowserWorkerRunner.d.ts.map +0 -1
- package/dist/dts/Clipboard.d.ts.map +0 -1
- package/dist/dts/Geolocation.d.ts +0 -67
- package/dist/dts/Geolocation.d.ts.map +0 -1
- package/dist/dts/Permissions.d.ts +0 -67
- package/dist/dts/Permissions.d.ts.map +0 -1
- package/dist/dts/index.d.ts +0 -41
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/internal/httpClient.d.ts +0 -2
- package/dist/dts/internal/httpClient.d.ts.map +0 -1
- package/dist/dts/internal/keyValueStore.d.ts +0 -2
- package/dist/dts/internal/keyValueStore.d.ts.map +0 -1
- package/dist/dts/internal/runtime.d.ts +0 -2
- package/dist/dts/internal/runtime.d.ts.map +0 -1
- package/dist/dts/internal/stream.d.ts +0 -5
- package/dist/dts/internal/stream.d.ts.map +0 -1
- package/dist/dts/internal/worker.d.ts +0 -2
- package/dist/dts/internal/worker.d.ts.map +0 -1
- package/dist/dts/internal/workerRunner.d.ts +0 -2
- package/dist/dts/internal/workerRunner.d.ts.map +0 -1
- package/dist/esm/BrowserHttpClient.js +0 -23
- package/dist/esm/BrowserHttpClient.js.map +0 -1
- package/dist/esm/BrowserKeyValueStore.js +0 -16
- package/dist/esm/BrowserKeyValueStore.js.map +0 -1
- package/dist/esm/BrowserRuntime.js +0 -7
- package/dist/esm/BrowserRuntime.js.map +0 -1
- package/dist/esm/BrowserSocket.js.map +0 -1
- package/dist/esm/BrowserStream.js +0 -15
- package/dist/esm/BrowserStream.js.map +0 -1
- package/dist/esm/BrowserWorker.js +0 -22
- package/dist/esm/BrowserWorker.js.map +0 -1
- package/dist/esm/BrowserWorkerRunner.js +0 -23
- package/dist/esm/BrowserWorkerRunner.js.map +0 -1
- package/dist/esm/Clipboard.js.map +0 -1
- package/dist/esm/Geolocation.js +0 -63
- package/dist/esm/Geolocation.js.map +0 -1
- package/dist/esm/Permissions.js +0 -50
- package/dist/esm/Permissions.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/internal/httpClient.js.map +0 -1
- package/dist/esm/internal/keyValueStore.js +0 -6
- package/dist/esm/internal/keyValueStore.js.map +0 -1
- package/dist/esm/internal/runtime.js +0 -10
- package/dist/esm/internal/runtime.js.map +0 -1
- package/dist/esm/internal/stream.js +0 -9
- package/dist/esm/internal/stream.js.map +0 -1
- package/dist/esm/internal/worker.js.map +0 -1
- package/dist/esm/internal/workerRunner.js +0 -135
- package/dist/esm/internal/workerRunner.js.map +0 -1
- package/dist/esm/package.json +0 -4
- package/index/package.json +0 -6
- package/src/internal/httpClient.ts +0 -324
- package/src/internal/keyValueStore.ts +0 -7
- package/src/internal/runtime.ts +0 -8
- package/src/internal/stream.ts +0 -27
- package/src/internal/worker.ts +0 -58
- package/src/internal/workerRunner.ts +0 -155
package/dist/esm/Permissions.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import { TypeIdError } from "@effect/platform/Error";
|
|
5
|
-
import * as Context from "effect/Context";
|
|
6
|
-
import * as Effect from "effect/Effect";
|
|
7
|
-
import * as Layer from "effect/Layer";
|
|
8
|
-
/**
|
|
9
|
-
* @since 1.0.0
|
|
10
|
-
* @category type ids
|
|
11
|
-
*/
|
|
12
|
-
export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform-browser/Permissions");
|
|
13
|
-
/**
|
|
14
|
-
* @since 1.0.0
|
|
15
|
-
* @category type ids
|
|
16
|
-
*/
|
|
17
|
-
export const ErrorTypeId = /*#__PURE__*/Symbol.for("@effect/platform-browser/Permissions/PermissionsError");
|
|
18
|
-
/**
|
|
19
|
-
* @since 1.0.0
|
|
20
|
-
* @category errors
|
|
21
|
-
*/
|
|
22
|
-
export class PermissionsError extends /*#__PURE__*/TypeIdError(ErrorTypeId, "PermissionsError") {
|
|
23
|
-
get message() {
|
|
24
|
-
return this.reason;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @since 1.0.0
|
|
29
|
-
* @category tags
|
|
30
|
-
*/
|
|
31
|
-
export const Permissions = /*#__PURE__*/Context.GenericTag("@effect/platform-browser/Permissions");
|
|
32
|
-
/**
|
|
33
|
-
* A layer that directly interfaces with the `navigator.permissions` api
|
|
34
|
-
*
|
|
35
|
-
* @since 1.0.0
|
|
36
|
-
* @category layers
|
|
37
|
-
*/
|
|
38
|
-
export const layer = /*#__PURE__*/Layer.succeed(Permissions, /*#__PURE__*/Permissions.of({
|
|
39
|
-
[TypeId]: TypeId,
|
|
40
|
-
query: name => Effect.tryPromise({
|
|
41
|
-
try: () => navigator.permissions.query({
|
|
42
|
-
name
|
|
43
|
-
}),
|
|
44
|
-
catch: cause => new PermissionsError({
|
|
45
|
-
reason: cause instanceof DOMException ? "InvalidStateError" : "TypeError",
|
|
46
|
-
cause
|
|
47
|
-
})
|
|
48
|
-
})
|
|
49
|
-
}));
|
|
50
|
-
//# sourceMappingURL=Permissions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions.js","names":["TypeIdError","Context","Effect","Layer","TypeId","Symbol","for","ErrorTypeId","PermissionsError","message","reason","Permissions","GenericTag","layer","succeed","of","query","name","tryPromise","try","navigator","permissions","catch","cause","DOMException"],"sources":["../../src/Permissions.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,WAAW,QAAQ,wBAAwB;AACpD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AA+BvF;;;;AAIA,OAAO,MAAMC,WAAW,gBAAkBF,MAAM,CAACC,GAAG,CAAC,uDAAuD,CAAC;AAQ7G;;;;AAIA,OAAM,MAAOE,gBAAiB,sBAAQR,WAAW,CAACO,WAAW,EAAE,kBAAkB,CAI/E;EACA,IAAIE,OAAOA,CAAA;IACT,OAAO,IAAI,CAACC,MAAM;EACpB;;AAGF;;;;AAIA,OAAO,MAAMC,WAAW,gBAA0CV,OAAO,CAACW,UAAU,CAClF,sCAAsC,CACvC;AAED;;;;;;AAMA,OAAO,MAAMC,KAAK,gBAA6BV,KAAK,CAACW,OAAO,CAC1DH,WAAW,eACXA,WAAW,CAACI,EAAE,CAAC;EACb,CAACX,MAAM,GAAGA,MAAM;EAChBY,KAAK,EAAGC,IAAI,IACVf,MAAM,CAACgB,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMC,SAAS,CAACC,WAAW,CAACL,KAAK,CAAC;MAAEC;IAAI,CAAE,CAAiB;IAChEK,KAAK,EAAGC,KAAK,IACX,IAAIf,gBAAgB,CAAC;MACnBE,MAAM,EAAEa,KAAK,YAAYC,YAAY,GAAG,mBAAmB,GAAG,WAAW;MACzED;KACD;GACJ;CACJ,CAAC,CACH","ignoreList":[]}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["BrowserHttpClient","BrowserKeyValueStore","BrowserRuntime","BrowserSocket","BrowserStream","BrowserWorker","BrowserWorkerRunner","Clipboard","Geolocation","Permissions"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,oBAAoB,MAAM,2BAA2B;AAEjE;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B;AAE/D;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.js","names":["Cookies","Headers","Client","Error","ClientResponse","IncomingMessage","UrlParams","Context","Effect","FiberRef","globalValue","Inspectable","Option","Stream","HeaderParser","xhrTagKey","xhrTag","GenericTag","currentXHRResponseType","unsafeMake","withXHRArrayBuffer","effect","locally","makeXhr","XMLHttpRequest","makeXMLHttpRequest","make","request","url","signal","fiber","suspend","xhr","getOrElse","getFiberRef","currentContext","addEventListener","abort","onreadystatechange","once","open","method","toString","responseType","Object","entries","headers","forEach","k","v","setRequestHeader","zipRight","sendBody","async","resume","sent","onChange","readyState","succeed","ClientResponseImpl","onerror","_event","fail","RequestError","reason","cause","statusText","void","body","_tag","sync","send","formData","matchEffect","runFold","stream","Uint8Array","acc","chunk","next","length","set","onFailure","onSuccess","encoder","TextEncoder","IncomingMessageImpl","Class","source","onError","TypeId","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","tryMap","try","_","JSON","parse","catch","urlParamsBody","flatMap","URLSearchParams","emit","offset","single","slice","end","_arrayBufferEffect","arrayBuffer","response","map","arr","byteLength","buffer","byteOffset","ResponseError","status","die","toJSON","inspect","_id","layerXMLHttpRequest","layerMergedContext"],"sources":["../../../src/internal/httpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as KeyValueStore from "@effect/platform/KeyValueStore";
|
|
2
|
-
/** @internal */
|
|
3
|
-
export const layerSessionStorage = /*#__PURE__*/KeyValueStore.layerStorage(() => sessionStorage);
|
|
4
|
-
/** @internal */
|
|
5
|
-
export const layerLocalStorage = /*#__PURE__*/KeyValueStore.layerStorage(() => localStorage);
|
|
6
|
-
//# sourceMappingURL=keyValueStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyValueStore.js","names":["KeyValueStore","layerSessionStorage","layerStorage","sessionStorage","layerLocalStorage","localStorage"],"sources":["../../../src/internal/keyValueStore.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,aAAa,MAAM,gCAAgC;AAE/D;AACA,OAAO,MAAMC,mBAAmB,gBAAGD,aAAa,CAACE,YAAY,CAAC,MAAMC,cAAc,CAAC;AAEnF;AACA,OAAO,MAAMC,iBAAiB,gBAAGJ,aAAa,CAACE,YAAY,CAAC,MAAMG,YAAY,CAAC","ignoreList":[]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { makeRunMain } from "@effect/platform/Runtime";
|
|
2
|
-
/** @internal */
|
|
3
|
-
export const runMain = /*#__PURE__*/makeRunMain(({
|
|
4
|
-
fiber
|
|
5
|
-
}) => {
|
|
6
|
-
addEventListener("beforeunload", () => {
|
|
7
|
-
fiber.unsafeInterruptAsFork(fiber.id());
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","names":["makeRunMain","runMain","fiber","addEventListener","unsafeInterruptAsFork","id"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,0BAA0B;AAEtD;AACA,OAAO,MAAMC,OAAO,gBAAGD,WAAW,CAAC,CAAC;EAAEE;AAAK,CAAE,KAAI;EAC/CC,gBAAgB,CAAC,cAAc,EAAE,MAAK;IACpCD,KAAK,CAACE,qBAAqB,CAACF,KAAK,CAACG,EAAE,EAAE,CAAC;EACzC,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import * as Stream from "effect/Stream";
|
|
5
|
-
/** @internal */
|
|
6
|
-
export const fromEventListenerWindow = (type, options) => Stream.fromEventListener(window, type, options);
|
|
7
|
-
/** @internal */
|
|
8
|
-
export const fromEventListenerDocument = (type, options) => Stream.fromEventListener(document, type, options);
|
|
9
|
-
//# sourceMappingURL=stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","names":["Stream","fromEventListenerWindow","type","options","fromEventListener","window","fromEventListenerDocument","document"],"sources":["../../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC;AACA,OAAO,MAAMC,uBAAuB,GAAGA,CACrCC,IAAO,EACPC,OAKa,KACVH,MAAM,CAACI,iBAAiB,CAAoBC,MAAM,EAAEH,IAAI,EAAEC,OAAO,CAAC;AAEvE;AACA,OAAO,MAAMG,yBAAyB,GAAGA,CACvCJ,IAAO,EACPC,OAKa,KACVH,MAAM,CAACI,iBAAiB,CAAsBG,QAAQ,EAAEL,IAAI,EAAEC,OAAO,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Worker","WorkerError","Deferred","Effect","Layer","Scope","platformWorkerImpl","makePlatform","setup","scope","worker","port","as","addFinalizer","sync","postMessage","listen","deferred","emit","onMessage","event","data","onError","unsafeDone","reason","cause","error","message","addEventListener","start","removeEventListener","layerWorker","succeed","PlatformWorker","layerManager","provide","layer","spawn","merge","layerSpawner","layerPlatform"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,yBAAyB;AACjD,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,MAAMC,kBAAkB,gBAAGN,MAAM,CAACO,YAAY,EAA6D,CAAC;EAC1GC,KAAKA,CAAC;IAAEC,KAAK;IAAEC;EAAM,CAAE;IACrB,MAAMC,IAAI,GAAG,MAAM,IAAID,MAAM,GAAGA,MAAM,CAACC,IAAI,GAAGD,MAAM;IACpD,OAAOP,MAAM,CAACS,EAAE,CACdP,KAAK,CAACQ,YAAY,CAChBJ,KAAK,EACLN,MAAM,CAACW,IAAI,CAAC,MAAK;MACfH,IAAI,CAACI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,CACH,EACDJ,IAAI,CACL;EACH,CAAC;EACDK,MAAMA,CAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEP,IAAI;IAAEF;EAAK,CAAE;IACpC,SAASU,SAASA,CAACC,KAAmB;MACpCF,IAAI,CAACE,KAAK,CAACC,IAAI,CAAC;IAClB;IACA,SAASC,OAAOA,CAACF,KAAiB;MAChClB,QAAQ,CAACqB,UAAU,CACjBN,QAAQ,EACR,IAAIhB,WAAW,CAAC;QAAEuB,MAAM,EAAE,SAAS;QAAEC,KAAK,EAAEL,KAAK,CAACM,KAAK,IAAIN,KAAK,CAACO;MAAO,CAAE,CAAC,CAC5E;IACH;IACAhB,IAAI,CAACiB,gBAAgB,CAAC,SAAS,EAAET,SAAgB,CAAC;IAClDR,IAAI,CAACiB,gBAAgB,CAAC,OAAO,EAAEN,OAAc,CAAC;IAC9C,IAAI,OAAO,IAAIX,IAAI,EAAE;MACnBA,IAAI,CAACkB,KAAK,EAAE;IACd;IACA,OAAOxB,KAAK,CAACQ,YAAY,CACvBJ,KAAK,EACLN,MAAM,CAACW,IAAI,CAAC,MAAK;MACfH,IAAI,CAACmB,mBAAmB,CAAC,SAAS,EAAEX,SAAgB,CAAC;MACrDR,IAAI,CAACmB,mBAAmB,CAAC,OAAO,EAAER,OAAc,CAAC;IACnD,CAAC,CAAC,CACH;EACH;CACD,CAAC;AAEF;AACA,OAAO,MAAMS,WAAW,gBAAG3B,KAAK,CAAC4B,OAAO,CAAChC,MAAM,CAACiC,cAAc,EAAE3B,kBAAkB,CAAC;AAEnF;AACA,OAAO,MAAM4B,YAAY,gBAAG9B,KAAK,CAAC+B,OAAO,CAACnC,MAAM,CAACkC,YAAY,EAAEH,WAAW,CAAC;AAE3E;AACA,OAAO,MAAMK,KAAK,GAAIC,KAAgF,IACpGjC,KAAK,CAACkC,KAAK,CAACJ,YAAY,EAAElC,MAAM,CAACuC,YAAY,CAACF,KAAK,CAAC,CAAC;AAEvD;AACA,OAAO,MAAMG,aAAa,GAAIH,KAAgF,IAC5GjC,KAAK,CAACkC,KAAK,CAACP,WAAW,EAAE/B,MAAM,CAACuC,YAAY,CAACF,KAAK,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { WorkerError } from "@effect/platform/WorkerError";
|
|
2
|
-
import * as Runner from "@effect/platform/WorkerRunner";
|
|
3
|
-
import * as Cause from "effect/Cause";
|
|
4
|
-
import * as Context from "effect/Context";
|
|
5
|
-
import * as Deferred from "effect/Deferred";
|
|
6
|
-
import * as Effect from "effect/Effect";
|
|
7
|
-
import * as ExecStrategy from "effect/ExecutionStrategy";
|
|
8
|
-
import * as Exit from "effect/Exit";
|
|
9
|
-
import * as FiberSet from "effect/FiberSet";
|
|
10
|
-
import { identity } from "effect/Function";
|
|
11
|
-
import { globalValue } from "effect/GlobalValue";
|
|
12
|
-
import * as Layer from "effect/Layer";
|
|
13
|
-
import * as Mailbox from "effect/Mailbox";
|
|
14
|
-
import * as Runtime from "effect/Runtime";
|
|
15
|
-
import * as Scope from "effect/Scope";
|
|
16
|
-
const cachedPorts = /*#__PURE__*/globalValue("@effect/platform-browser/Worker/cachedPorts", () => new Set());
|
|
17
|
-
function globalHandleConnect(event) {
|
|
18
|
-
cachedPorts.add(event.ports[0]);
|
|
19
|
-
}
|
|
20
|
-
if (typeof self !== "undefined" && "onconnect" in self) {
|
|
21
|
-
self.onconnect = globalHandleConnect;
|
|
22
|
-
}
|
|
23
|
-
/** @internal */
|
|
24
|
-
export const make = self => Runner.PlatformRunner.of({
|
|
25
|
-
[Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
|
|
26
|
-
start: Effect.fnUntraced(function* (closeLatch) {
|
|
27
|
-
const disconnects = yield* Mailbox.make();
|
|
28
|
-
let currentPortId = 0;
|
|
29
|
-
const ports = new Map();
|
|
30
|
-
const send = (portId, message, transfer) => Effect.sync(() => {
|
|
31
|
-
;
|
|
32
|
-
(ports.get(portId)?.[0] ?? self).postMessage([1, message], {
|
|
33
|
-
transfer: transfer
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
const run = Effect.fnUntraced(function* (handler) {
|
|
37
|
-
const scope = yield* Effect.scope;
|
|
38
|
-
const runtime = (yield* Effect.interruptible(Effect.runtime())).pipe(Runtime.updateContext(Context.omit(Scope.Scope)));
|
|
39
|
-
const fiberSet = yield* FiberSet.make();
|
|
40
|
-
const runFork = Runtime.runFork(runtime);
|
|
41
|
-
function onExit(exit) {
|
|
42
|
-
if (exit._tag === "Failure" && !Cause.isInterruptedOnly(exit.cause)) {
|
|
43
|
-
Deferred.unsafeDone(closeLatch, Exit.die(Cause.squash(exit.cause)));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function onMessage(portId) {
|
|
47
|
-
return function (event) {
|
|
48
|
-
const message = event.data;
|
|
49
|
-
if (message[0] === 0) {
|
|
50
|
-
const result = handler(portId, message[1]);
|
|
51
|
-
if (Effect.isEffect(result)) {
|
|
52
|
-
const fiber = runFork(result);
|
|
53
|
-
fiber.addObserver(onExit);
|
|
54
|
-
FiberSet.unsafeAdd(fiberSet, fiber);
|
|
55
|
-
}
|
|
56
|
-
} else {
|
|
57
|
-
const port = ports.get(portId);
|
|
58
|
-
if (!port) {
|
|
59
|
-
return;
|
|
60
|
-
} else if (ports.size === 1) {
|
|
61
|
-
// let the last port close with the outer scope
|
|
62
|
-
return Deferred.unsafeDone(closeLatch, Exit.void);
|
|
63
|
-
}
|
|
64
|
-
ports.delete(portId);
|
|
65
|
-
Effect.runFork(Scope.close(port[1], Exit.void));
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
function onMessageError(error) {
|
|
70
|
-
Deferred.unsafeDone(closeLatch, new WorkerError({
|
|
71
|
-
reason: "decode",
|
|
72
|
-
cause: error.data
|
|
73
|
-
}));
|
|
74
|
-
}
|
|
75
|
-
function onError(error) {
|
|
76
|
-
Deferred.unsafeDone(closeLatch, new WorkerError({
|
|
77
|
-
reason: "unknown",
|
|
78
|
-
cause: error.data
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
function handlePort(port) {
|
|
82
|
-
const fiber = Scope.fork(scope, ExecStrategy.sequential).pipe(Effect.flatMap(scope => {
|
|
83
|
-
const portId = currentPortId++;
|
|
84
|
-
ports.set(portId, [port, scope]);
|
|
85
|
-
const onMsg = onMessage(portId);
|
|
86
|
-
port.addEventListener("message", onMsg);
|
|
87
|
-
port.addEventListener("messageerror", onMessageError);
|
|
88
|
-
if ("start" in port) {
|
|
89
|
-
port.start();
|
|
90
|
-
}
|
|
91
|
-
port.postMessage([0]);
|
|
92
|
-
return Scope.addFinalizer(scope, Effect.sync(() => {
|
|
93
|
-
port.removeEventListener("message", onMsg);
|
|
94
|
-
port.removeEventListener("messageerror", onError);
|
|
95
|
-
port.close();
|
|
96
|
-
}));
|
|
97
|
-
}), runFork);
|
|
98
|
-
fiber.addObserver(onExit);
|
|
99
|
-
FiberSet.unsafeAdd(fiberSet, fiber);
|
|
100
|
-
}
|
|
101
|
-
self.addEventListener("error", onError);
|
|
102
|
-
let prevOnConnect;
|
|
103
|
-
if ("onconnect" in self) {
|
|
104
|
-
prevOnConnect = self.onconnect;
|
|
105
|
-
self.onconnect = function (event) {
|
|
106
|
-
const port = event.ports[0];
|
|
107
|
-
handlePort(port);
|
|
108
|
-
};
|
|
109
|
-
for (const port of cachedPorts) {
|
|
110
|
-
handlePort(port);
|
|
111
|
-
}
|
|
112
|
-
cachedPorts.clear();
|
|
113
|
-
yield* Scope.addFinalizer(scope, Effect.sync(() => self.close()));
|
|
114
|
-
} else {
|
|
115
|
-
handlePort(self);
|
|
116
|
-
}
|
|
117
|
-
yield* Scope.addFinalizer(scope, Effect.sync(() => {
|
|
118
|
-
self.removeEventListener("error", onError);
|
|
119
|
-
if ("onconnect" in self) {
|
|
120
|
-
self.onconnect = prevOnConnect;
|
|
121
|
-
}
|
|
122
|
-
}));
|
|
123
|
-
});
|
|
124
|
-
return identity({
|
|
125
|
-
run,
|
|
126
|
-
send,
|
|
127
|
-
disconnects
|
|
128
|
-
});
|
|
129
|
-
})
|
|
130
|
-
});
|
|
131
|
-
/** @internal */
|
|
132
|
-
export const layerMessagePort = port => Layer.succeed(Runner.PlatformRunner, make(port));
|
|
133
|
-
/** @internal */
|
|
134
|
-
export const layer = /*#__PURE__*/Layer.sync(Runner.PlatformRunner, () => make(self));
|
|
135
|
-
//# sourceMappingURL=workerRunner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workerRunner.js","names":["WorkerError","Runner","Cause","Context","Deferred","Effect","ExecStrategy","Exit","FiberSet","identity","globalValue","Layer","Mailbox","Runtime","Scope","cachedPorts","Set","globalHandleConnect","event","add","ports","self","onconnect","make","PlatformRunner","of","PlatformRunnerTypeId","start","fnUntraced","closeLatch","disconnects","currentPortId","Map","send","portId","message","transfer","sync","get","postMessage","run","handler","scope","runtime","interruptible","pipe","updateContext","omit","fiberSet","runFork","onExit","exit","_tag","isInterruptedOnly","cause","unsafeDone","die","squash","onMessage","data","result","isEffect","fiber","addObserver","unsafeAdd","port","size","void","delete","close","onMessageError","error","reason","onError","handlePort","fork","sequential","flatMap","set","onMsg","addEventListener","addFinalizer","removeEventListener","prevOnConnect","clear","layerMessagePort","succeed","layer"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/package.json
DELETED
package/index/package.json
DELETED
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
import * as Cookies from "@effect/platform/Cookies"
|
|
2
|
-
import * as Headers from "@effect/platform/Headers"
|
|
3
|
-
import * as Client from "@effect/platform/HttpClient"
|
|
4
|
-
import * as Error from "@effect/platform/HttpClientError"
|
|
5
|
-
import type * as ClientRequest from "@effect/platform/HttpClientRequest"
|
|
6
|
-
import * as ClientResponse from "@effect/platform/HttpClientResponse"
|
|
7
|
-
import * as IncomingMessage from "@effect/platform/HttpIncomingMessage"
|
|
8
|
-
import * as UrlParams from "@effect/platform/UrlParams"
|
|
9
|
-
import * as Context from "effect/Context"
|
|
10
|
-
import * as Effect from "effect/Effect"
|
|
11
|
-
import * as FiberRef from "effect/FiberRef"
|
|
12
|
-
import { type LazyArg } from "effect/Function"
|
|
13
|
-
import { globalValue } from "effect/GlobalValue"
|
|
14
|
-
import * as Inspectable from "effect/Inspectable"
|
|
15
|
-
import * as Option from "effect/Option"
|
|
16
|
-
import * as Stream from "effect/Stream"
|
|
17
|
-
import * as HeaderParser from "multipasta/HeadersParser"
|
|
18
|
-
|
|
19
|
-
/** @internal */
|
|
20
|
-
export const xhrTagKey = "@effect/platform-browser/BrowserHttpClient/XMLHttpRequest"
|
|
21
|
-
|
|
22
|
-
const xhrTag = Context.GenericTag<LazyArg<XMLHttpRequest>>(xhrTagKey)
|
|
23
|
-
|
|
24
|
-
/** @internal */
|
|
25
|
-
export const currentXHRResponseType = globalValue(
|
|
26
|
-
"@effect/platform-browser/BrowserHttpClient/currentXHRResponseType",
|
|
27
|
-
() => FiberRef.unsafeMake<"text" | "arraybuffer">("text")
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
/** @internal */
|
|
31
|
-
export const withXHRArrayBuffer = <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
32
|
-
Effect.locally(
|
|
33
|
-
effect,
|
|
34
|
-
currentXHRResponseType,
|
|
35
|
-
"arraybuffer"
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
const makeXhr = () => new XMLHttpRequest()
|
|
39
|
-
|
|
40
|
-
const makeXMLHttpRequest = Client.make((request, url, signal, fiber) =>
|
|
41
|
-
Effect.suspend(() => {
|
|
42
|
-
const xhr = Context.getOrElse(
|
|
43
|
-
fiber.getFiberRef(FiberRef.currentContext),
|
|
44
|
-
xhrTag,
|
|
45
|
-
() => makeXhr
|
|
46
|
-
)()
|
|
47
|
-
signal.addEventListener("abort", () => {
|
|
48
|
-
xhr.abort()
|
|
49
|
-
xhr.onreadystatechange = null
|
|
50
|
-
}, { once: true })
|
|
51
|
-
xhr.open(request.method, url.toString(), true)
|
|
52
|
-
xhr.responseType = fiber.getFiberRef(currentXHRResponseType)
|
|
53
|
-
Object.entries(request.headers).forEach(([k, v]) => {
|
|
54
|
-
xhr.setRequestHeader(k, v)
|
|
55
|
-
})
|
|
56
|
-
return Effect.zipRight(
|
|
57
|
-
sendBody(xhr, request),
|
|
58
|
-
Effect.async<ClientResponseImpl, Error.RequestError>((resume) => {
|
|
59
|
-
let sent = false
|
|
60
|
-
const onChange = () => {
|
|
61
|
-
if (!sent && xhr.readyState >= 2) {
|
|
62
|
-
sent = true
|
|
63
|
-
resume(Effect.succeed(new ClientResponseImpl(request, xhr)))
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
xhr.onreadystatechange = onChange
|
|
67
|
-
xhr.onerror = (_event) => {
|
|
68
|
-
resume(Effect.fail(
|
|
69
|
-
new Error.RequestError({
|
|
70
|
-
request,
|
|
71
|
-
reason: "Transport",
|
|
72
|
-
cause: xhr.statusText
|
|
73
|
-
})
|
|
74
|
-
))
|
|
75
|
-
}
|
|
76
|
-
onChange()
|
|
77
|
-
return Effect.void
|
|
78
|
-
})
|
|
79
|
-
)
|
|
80
|
-
})
|
|
81
|
-
)
|
|
82
|
-
|
|
83
|
-
const sendBody = (
|
|
84
|
-
xhr: XMLHttpRequest,
|
|
85
|
-
request: ClientRequest.HttpClientRequest
|
|
86
|
-
): Effect.Effect<void, Error.RequestError> => {
|
|
87
|
-
const body = request.body
|
|
88
|
-
switch (body._tag) {
|
|
89
|
-
case "Empty":
|
|
90
|
-
return Effect.sync(() => xhr.send())
|
|
91
|
-
case "Raw":
|
|
92
|
-
return Effect.sync(() => xhr.send(body.body as any))
|
|
93
|
-
case "Uint8Array":
|
|
94
|
-
return Effect.sync(() => xhr.send(body.body))
|
|
95
|
-
case "FormData":
|
|
96
|
-
return Effect.sync(() => xhr.send(body.formData))
|
|
97
|
-
case "Stream":
|
|
98
|
-
return Effect.matchEffect(
|
|
99
|
-
Stream.runFold(body.stream, new Uint8Array(0), (acc, chunk) => {
|
|
100
|
-
const next = new Uint8Array(acc.length + chunk.length)
|
|
101
|
-
next.set(acc, 0)
|
|
102
|
-
next.set(chunk, acc.length)
|
|
103
|
-
return next
|
|
104
|
-
}),
|
|
105
|
-
{
|
|
106
|
-
onFailure: (cause) =>
|
|
107
|
-
Effect.fail(
|
|
108
|
-
new Error.RequestError({
|
|
109
|
-
request,
|
|
110
|
-
reason: "Encode",
|
|
111
|
-
cause
|
|
112
|
-
})
|
|
113
|
-
),
|
|
114
|
-
onSuccess: (body) => Effect.sync(() => xhr.send(body))
|
|
115
|
-
}
|
|
116
|
-
)
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const encoder = new TextEncoder()
|
|
121
|
-
|
|
122
|
-
/** @internal */
|
|
123
|
-
export abstract class IncomingMessageImpl<E> extends Inspectable.Class
|
|
124
|
-
implements IncomingMessage.HttpIncomingMessage<E>
|
|
125
|
-
{
|
|
126
|
-
readonly [IncomingMessage.TypeId]: IncomingMessage.TypeId
|
|
127
|
-
|
|
128
|
-
constructor(
|
|
129
|
-
readonly source: XMLHttpRequest,
|
|
130
|
-
readonly onError: (error: unknown) => E
|
|
131
|
-
) {
|
|
132
|
-
super()
|
|
133
|
-
this[IncomingMessage.TypeId] = IncomingMessage.TypeId
|
|
134
|
-
this._rawHeaderString = source.getAllResponseHeaders()
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
private _rawHeaderString: string
|
|
138
|
-
private _rawHeaders: Record<string, string | Array<string>> | undefined
|
|
139
|
-
private _headers: Headers.Headers | undefined
|
|
140
|
-
get headers() {
|
|
141
|
-
if (this._headers) {
|
|
142
|
-
return this._headers
|
|
143
|
-
}
|
|
144
|
-
if (this._rawHeaderString === "") {
|
|
145
|
-
return this._headers = Headers.empty
|
|
146
|
-
}
|
|
147
|
-
const parser = HeaderParser.make()
|
|
148
|
-
const result = parser(encoder.encode(this._rawHeaderString + "\r\n"), 0)
|
|
149
|
-
this._rawHeaders = result._tag === "Headers" ? result.headers : undefined
|
|
150
|
-
const parsed = result._tag === "Headers" ? Headers.fromInput(result.headers) : Headers.empty
|
|
151
|
-
return this._headers = parsed
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
cachedCookies: Cookies.Cookies | undefined
|
|
155
|
-
get cookies() {
|
|
156
|
-
if (this.cachedCookies) {
|
|
157
|
-
return this.cachedCookies
|
|
158
|
-
}
|
|
159
|
-
if (this._rawHeaders === undefined) {
|
|
160
|
-
return Cookies.empty
|
|
161
|
-
} else if (this._rawHeaders["set-cookie"] === undefined) {
|
|
162
|
-
return this.cachedCookies = Cookies.empty
|
|
163
|
-
}
|
|
164
|
-
return this.cachedCookies = Cookies.fromSetCookie(this._rawHeaders["set-cookie"])
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
get remoteAddress() {
|
|
168
|
-
return Option.none()
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
_textEffect: Effect.Effect<string, E> | undefined
|
|
172
|
-
get text(): Effect.Effect<string, E> {
|
|
173
|
-
if (this._textEffect) {
|
|
174
|
-
return this._textEffect
|
|
175
|
-
}
|
|
176
|
-
return this._textEffect = Effect.async<string, E>((resume) => {
|
|
177
|
-
if (this.source.readyState === 4) {
|
|
178
|
-
resume(Effect.succeed(this.source.responseText))
|
|
179
|
-
return
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
const onReadyStateChange = () => {
|
|
183
|
-
if (this.source.readyState === 4) {
|
|
184
|
-
resume(Effect.succeed(this.source.responseText))
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
const onError = () => {
|
|
188
|
-
resume(Effect.fail(this.onError(this.source.statusText)))
|
|
189
|
-
}
|
|
190
|
-
this.source.addEventListener("readystatechange", onReadyStateChange)
|
|
191
|
-
this.source.addEventListener("error", onError)
|
|
192
|
-
return Effect.sync(() => {
|
|
193
|
-
this.source.removeEventListener("readystatechange", onReadyStateChange)
|
|
194
|
-
this.source.removeEventListener("error", onError)
|
|
195
|
-
})
|
|
196
|
-
}).pipe(
|
|
197
|
-
Effect.cached,
|
|
198
|
-
Effect.runSync
|
|
199
|
-
)
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
get json(): Effect.Effect<unknown, E> {
|
|
203
|
-
return Effect.tryMap(this.text, {
|
|
204
|
-
try: (_) => _ === "" ? null : JSON.parse(_) as unknown,
|
|
205
|
-
catch: this.onError
|
|
206
|
-
})
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
get urlParamsBody(): Effect.Effect<UrlParams.UrlParams, E> {
|
|
210
|
-
return Effect.flatMap(this.text, (_) =>
|
|
211
|
-
Effect.try({
|
|
212
|
-
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
213
|
-
catch: this.onError
|
|
214
|
-
}))
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
get stream(): Stream.Stream<Uint8Array, E> {
|
|
218
|
-
return Stream.async<Uint8Array, E>((emit) => {
|
|
219
|
-
let offset = 0
|
|
220
|
-
const onReadyStateChange = () => {
|
|
221
|
-
if (this.source.readyState === 3) {
|
|
222
|
-
emit.single(encoder.encode(this.source.responseText.slice(offset)))
|
|
223
|
-
offset = this.source.responseText.length
|
|
224
|
-
} else if (this.source.readyState === 4) {
|
|
225
|
-
if (offset < this.source.responseText.length) {
|
|
226
|
-
emit.single(encoder.encode(this.source.responseText.slice(offset)))
|
|
227
|
-
}
|
|
228
|
-
emit.end()
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
const onError = () => {
|
|
232
|
-
emit.fail(this.onError(this.source.statusText))
|
|
233
|
-
}
|
|
234
|
-
this.source.addEventListener("readystatechange", onReadyStateChange)
|
|
235
|
-
this.source.addEventListener("error", onError)
|
|
236
|
-
onReadyStateChange()
|
|
237
|
-
return Effect.sync(() => {
|
|
238
|
-
this.source.removeEventListener("readystatechange", onReadyStateChange)
|
|
239
|
-
this.source.removeEventListener("error", onError)
|
|
240
|
-
})
|
|
241
|
-
})
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
_arrayBufferEffect: Effect.Effect<ArrayBuffer, E> | undefined
|
|
245
|
-
get arrayBuffer(): Effect.Effect<ArrayBuffer, E> {
|
|
246
|
-
if (this._arrayBufferEffect) {
|
|
247
|
-
return this._arrayBufferEffect
|
|
248
|
-
}
|
|
249
|
-
return this._arrayBufferEffect = Effect.async<ArrayBuffer, E>((resume) => {
|
|
250
|
-
if (this.source.readyState === 4) {
|
|
251
|
-
resume(Effect.succeed(this.source.response))
|
|
252
|
-
return
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
const onReadyStateChange = () => {
|
|
256
|
-
if (this.source.readyState === 4) {
|
|
257
|
-
resume(Effect.succeed(this.source.response))
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
const onError = () => {
|
|
261
|
-
resume(Effect.fail(this.onError(this.source.statusText)))
|
|
262
|
-
}
|
|
263
|
-
this.source.addEventListener("readystatechange", onReadyStateChange)
|
|
264
|
-
this.source.addEventListener("error", onError)
|
|
265
|
-
return Effect.sync(() => {
|
|
266
|
-
this.source.removeEventListener("readystatechange", onReadyStateChange)
|
|
267
|
-
this.source.removeEventListener("error", onError)
|
|
268
|
-
})
|
|
269
|
-
}).pipe(
|
|
270
|
-
Effect.map((response) => {
|
|
271
|
-
if (typeof response === "string") {
|
|
272
|
-
const arr = encoder.encode(response)
|
|
273
|
-
return arr.byteLength !== arr.buffer.byteLength
|
|
274
|
-
? arr.buffer.slice(arr.byteOffset, arr.byteOffset + arr.byteLength)
|
|
275
|
-
: arr.buffer
|
|
276
|
-
}
|
|
277
|
-
return response
|
|
278
|
-
}),
|
|
279
|
-
Effect.cached,
|
|
280
|
-
Effect.runSync
|
|
281
|
-
)
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
class ClientResponseImpl extends IncomingMessageImpl<Error.ResponseError> implements ClientResponse.HttpClientResponse {
|
|
286
|
-
readonly [ClientResponse.TypeId]: ClientResponse.TypeId
|
|
287
|
-
|
|
288
|
-
constructor(
|
|
289
|
-
readonly request: ClientRequest.HttpClientRequest,
|
|
290
|
-
source: XMLHttpRequest
|
|
291
|
-
) {
|
|
292
|
-
super(source, (cause) =>
|
|
293
|
-
new Error.ResponseError({
|
|
294
|
-
request,
|
|
295
|
-
response: this,
|
|
296
|
-
reason: "Decode",
|
|
297
|
-
cause
|
|
298
|
-
}))
|
|
299
|
-
this[ClientResponse.TypeId] = ClientResponse.TypeId
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
get status() {
|
|
303
|
-
return this.source.status
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
get formData(): Effect.Effect<FormData, Error.ResponseError> {
|
|
307
|
-
return Effect.die("Not implemented")
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
toString(): string {
|
|
311
|
-
return `ClientResponse(${this.status})`
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
toJSON(): unknown {
|
|
315
|
-
return IncomingMessage.inspect(this, {
|
|
316
|
-
_id: "@effect/platform/HttpClientResponse",
|
|
317
|
-
request: this.request.toJSON(),
|
|
318
|
-
status: this.status
|
|
319
|
-
})
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
/** @internal */
|
|
324
|
-
export const layerXMLHttpRequest = Client.layerMergedContext(Effect.succeed(makeXMLHttpRequest))
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as KeyValueStore from "@effect/platform/KeyValueStore"
|
|
2
|
-
|
|
3
|
-
/** @internal */
|
|
4
|
-
export const layerSessionStorage = KeyValueStore.layerStorage(() => sessionStorage)
|
|
5
|
-
|
|
6
|
-
/** @internal */
|
|
7
|
-
export const layerLocalStorage = KeyValueStore.layerStorage(() => localStorage)
|