@effect/platform-browser 4.0.0-beta.66 → 4.0.0-beta.68
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 +23 -0
- package/dist/BrowserCrypto.d.ts.map +1 -0
- package/dist/BrowserCrypto.js +61 -0
- package/dist/BrowserCrypto.js.map +1 -0
- package/dist/BrowserHttpClient.d.ts +23 -13
- package/dist/BrowserHttpClient.d.ts.map +1 -1
- package/dist/BrowserHttpClient.js +49 -12
- package/dist/BrowserHttpClient.js.map +1 -1
- package/dist/BrowserKeyValueStore.d.ts +15 -8
- package/dist/BrowserKeyValueStore.d.ts.map +1 -1
- package/dist/BrowserKeyValueStore.js +128 -4
- package/dist/BrowserKeyValueStore.js.map +1 -1
- package/dist/BrowserPersistence.d.ts +6 -2
- package/dist/BrowserPersistence.d.ts.map +1 -1
- package/dist/BrowserPersistence.js +6 -2
- package/dist/BrowserPersistence.js.map +1 -1
- package/dist/BrowserRuntime.d.ts +31 -4
- package/dist/BrowserRuntime.d.ts.map +1 -1
- package/dist/BrowserRuntime.js +3 -1
- package/dist/BrowserRuntime.js.map +1 -1
- package/dist/BrowserSocket.d.ts +31 -6
- package/dist/BrowserSocket.d.ts.map +1 -1
- package/dist/BrowserSocket.js +31 -6
- package/dist/BrowserSocket.js.map +1 -1
- package/dist/BrowserStream.d.ts +25 -3
- package/dist/BrowserStream.d.ts.map +1 -1
- package/dist/BrowserStream.js +25 -3
- package/dist/BrowserStream.js.map +1 -1
- package/dist/BrowserWorker.d.ts +8 -4
- package/dist/BrowserWorker.d.ts.map +1 -1
- package/dist/BrowserWorker.js +29 -5
- package/dist/BrowserWorker.js.map +1 -1
- package/dist/BrowserWorkerRunner.d.ts +12 -6
- package/dist/BrowserWorkerRunner.d.ts.map +1 -1
- package/dist/BrowserWorkerRunner.js +31 -7
- package/dist/BrowserWorkerRunner.js.map +1 -1
- package/dist/Clipboard.d.ts +35 -11
- package/dist/Clipboard.d.ts.map +1 -1
- package/dist/Clipboard.js +31 -9
- package/dist/Clipboard.js.map +1 -1
- package/dist/Geolocation.d.ts +52 -18
- package/dist/Geolocation.d.ts.map +1 -1
- package/dist/Geolocation.js +44 -14
- package/dist/Geolocation.js.map +1 -1
- package/dist/IndexedDb.d.ts +38 -11
- package/dist/IndexedDb.d.ts.map +1 -1
- package/dist/IndexedDb.js +35 -13
- package/dist/IndexedDb.js.map +1 -1
- package/dist/IndexedDbDatabase.d.ts +57 -10
- package/dist/IndexedDbDatabase.d.ts.map +1 -1
- package/dist/IndexedDbDatabase.js +36 -3
- package/dist/IndexedDbDatabase.js.map +1 -1
- package/dist/IndexedDbQueryBuilder.d.ts +102 -28
- package/dist/IndexedDbQueryBuilder.d.ts.map +1 -1
- package/dist/IndexedDbQueryBuilder.js +56 -26
- package/dist/IndexedDbQueryBuilder.js.map +1 -1
- package/dist/IndexedDbTable.d.ts +57 -13
- package/dist/IndexedDbTable.d.ts.map +1 -1
- package/dist/IndexedDbTable.js +21 -1
- package/dist/IndexedDbTable.js.map +1 -1
- package/dist/IndexedDbVersion.d.ts +37 -7
- package/dist/IndexedDbVersion.d.ts.map +1 -1
- package/dist/IndexedDbVersion.js +3 -1
- package/dist/IndexedDbVersion.js.map +1 -1
- package/dist/Permissions.d.ts +38 -11
- package/dist/Permissions.d.ts.map +1 -1
- package/dist/Permissions.js +33 -8
- package/dist/Permissions.js.map +1 -1
- package/dist/index.d.ts +334 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +334 -11
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/BrowserCrypto.ts +71 -0
- package/src/BrowserHttpClient.ts +53 -14
- package/src/BrowserKeyValueStore.ts +144 -6
- package/src/BrowserPersistence.ts +19 -3
- package/src/BrowserRuntime.ts +31 -4
- package/src/BrowserSocket.ts +31 -6
- package/src/BrowserStream.ts +25 -3
- package/src/BrowserWorker.ts +29 -5
- package/src/BrowserWorkerRunner.ts +31 -7
- package/src/Clipboard.ts +35 -11
- package/src/Geolocation.ts +52 -18
- package/src/IndexedDb.ts +39 -21
- package/src/IndexedDbDatabase.ts +57 -10
- package/src/IndexedDbQueryBuilder.ts +171 -58
- package/src/IndexedDbTable.ts +57 -13
- package/src/IndexedDbVersion.ts +37 -7
- package/src/Permissions.ts +38 -11
- package/src/index.ts +335 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserPersistence.js","names":["Clock","Effect","Layer","Persistence","layerBackingIndexedDb","options","effect","BackingPersistence","gen","db","acquireRelease","openDatabase","database","defaultDatabase","sync","close","pipe","orDie","of","make","fnUntraced","storeId","clock","get","key","getMany","keys","set","value","ttl","setMany","entries","remove","clear","databaseVersion","entriesStoreName","storeIdIndexName","layerIndexedDb","layer","provide","openRequest","try","globalThis","indexedDB","open","catch","cause","PersistenceError","message","onupgradeneeded","result","objectStoreNames","contains","transaction","objectStore","createObjectStore","keyPath","indexNames","createIndex","unique","idbRequest","isExpired","row","now","expires","withEntriesTransaction","setResult","fail","currentTimeMillisUnsafe","id","request","onerror","error","onsuccess","deleteRequest","delete","undefined","results","Array","length","i","put","unsafeTtlToExpires","store","index","cursorRequest","openCursor","cursor","continue","mode","run","callback","resume","tx","done","oncomplete","succeed","onabort","next","abort","evaluate","readyState"],"sources":["../src/BrowserPersistence.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"BrowserPersistence.js","names":["Clock","Effect","Layer","Persistence","layerBackingIndexedDb","options","effect","BackingPersistence","gen","db","acquireRelease","openDatabase","database","defaultDatabase","sync","close","pipe","orDie","of","make","fnUntraced","storeId","clock","get","key","getMany","keys","set","value","ttl","setMany","entries","remove","clear","databaseVersion","entriesStoreName","storeIdIndexName","layerIndexedDb","layer","provide","openRequest","try","globalThis","indexedDB","open","catch","cause","PersistenceError","message","onupgradeneeded","result","objectStoreNames","contains","transaction","objectStore","createObjectStore","keyPath","indexNames","createIndex","unique","idbRequest","isExpired","row","now","expires","withEntriesTransaction","setResult","fail","currentTimeMillisUnsafe","id","request","onerror","error","onsuccess","deleteRequest","delete","undefined","results","Array","length","i","put","unsafeTtlToExpires","store","index","cursorRequest","openCursor","cursor","continue","mode","run","callback","resume","tx","done","oncomplete","succeed","onabort","next","abort","evaluate","readyState"],"sources":["../src/BrowserPersistence.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/BrowserRuntime.d.ts
CHANGED
|
@@ -1,24 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser entry-point helpers for running Effect programs.
|
|
3
|
+
*
|
|
4
|
+
* This module exposes `runMain`, a browser-oriented main runner for launching
|
|
5
|
+
* an Effect as the root program of a page, single-page application, demo, or
|
|
6
|
+
* browser test harness. It delegates execution to the core Effect runtime while
|
|
7
|
+
* adding the browser lifecycle hook needed to interrupt the main fiber when the
|
|
8
|
+
* page receives `beforeunload`.
|
|
9
|
+
*
|
|
10
|
+
* `BrowserRuntime` does not provide application services by itself. Provide
|
|
11
|
+
* any required layers, such as browser HTTP, storage, worker, geolocation, or
|
|
12
|
+
* permission services, before passing the effect to `runMain`. Keep long-lived
|
|
13
|
+
* browser resources scoped so interruption can run their finalizers while the
|
|
14
|
+
* page is still active.
|
|
15
|
+
*
|
|
16
|
+
* Browser unload is more constrained than a process signal. Finalizers that
|
|
17
|
+
* need the network, timers, prompts, or long asynchronous work may not complete
|
|
18
|
+
* once navigation or tab close has started, and browsers do not expose a
|
|
19
|
+
* process exit status. Use `runMain` to connect the page lifecycle to Effect
|
|
20
|
+
* interruption, and use browser-specific persistence or delivery APIs for work
|
|
21
|
+
* that must survive page teardown.
|
|
22
|
+
*
|
|
23
|
+
* @since 4.0.0
|
|
3
24
|
*/
|
|
4
25
|
import type * as Effect from "effect/Effect";
|
|
5
26
|
import { type Teardown } from "effect/Runtime";
|
|
6
27
|
/**
|
|
7
|
-
*
|
|
28
|
+
* Runs an effect as the browser main program and interrupts its fiber when the page receives a `beforeunload` event.
|
|
29
|
+
*
|
|
8
30
|
* @category Runtime
|
|
31
|
+
* @since 4.0.0
|
|
9
32
|
*/
|
|
10
33
|
export declare const runMain: {
|
|
11
34
|
/**
|
|
12
|
-
*
|
|
35
|
+
* Runs an effect as the browser main program and interrupts its fiber when the page receives a `beforeunload` event.
|
|
36
|
+
*
|
|
13
37
|
* @category Runtime
|
|
38
|
+
* @since 4.0.0
|
|
14
39
|
*/
|
|
15
40
|
(options?: {
|
|
16
41
|
readonly disableErrorReporting?: boolean | undefined;
|
|
17
42
|
readonly teardown?: Teardown | undefined;
|
|
18
43
|
}): <E, A>(effect: Effect.Effect<A, E>) => void;
|
|
19
44
|
/**
|
|
20
|
-
*
|
|
45
|
+
* Runs an effect as the browser main program and interrupts its fiber when the page receives a `beforeunload` event.
|
|
46
|
+
*
|
|
21
47
|
* @category Runtime
|
|
48
|
+
* @since 4.0.0
|
|
22
49
|
*/
|
|
23
50
|
<E, A>(effect: Effect.Effect<A, E>, options?: {
|
|
24
51
|
readonly disableErrorReporting?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserRuntime.d.ts","sourceRoot":"","sources":["../src/BrowserRuntime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BrowserRuntime.d.ts","sourceRoot":"","sources":["../src/BrowserRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;OAKG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IAC9C;;;;;OAKG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,IAAI,CAAA;CAKP,CAAA"}
|
package/dist/BrowserRuntime.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { makeRunMain } from "effect/Runtime";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Runs an effect as the browser main program and interrupts its fiber when the page receives a `beforeunload` event.
|
|
4
|
+
*
|
|
4
5
|
* @category Runtime
|
|
6
|
+
* @since 4.0.0
|
|
5
7
|
*/
|
|
6
8
|
export const runMain = /*#__PURE__*/makeRunMain(({
|
|
7
9
|
fiber
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserRuntime.js","names":["makeRunMain","runMain","fiber","globalThis","addEventListener","interruptUnsafe","id"],"sources":["../src/BrowserRuntime.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"BrowserRuntime.js","names":["makeRunMain","runMain","fiber","globalThis","addEventListener","interruptUnsafe","id"],"sources":["../src/BrowserRuntime.ts"],"sourcesContent":[null],"mappings":"AAyBA,SAASA,WAAW,QAAuB,gBAAgB;AAE3D;;;;;;AAMA,OAAO,MAAMC,OAAO,gBA0BhBD,WAAW,CAAC,CAAC;EAAEE;AAAK,CAAE,KAAI;EAC5BC,UAAU,CAACC,gBAAgB,CAAC,cAAc,EAAE,MAAK;IAC/CF,KAAK,CAACG,eAAe,CAACH,KAAK,CAACI,EAAE,CAAC;EACjC,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
package/dist/BrowserSocket.d.ts
CHANGED
|
@@ -1,20 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser WebSocket layers for Effect sockets.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the browser entry point for `Socket.Socket` values
|
|
5
|
+
* backed by the platform `WebSocket` implementation. Use `layerWebSocket` when
|
|
6
|
+
* client-side Effect programs, browser tests, RPC transports, or realtime UI
|
|
7
|
+
* features need a bidirectional socket connected to a WebSocket URL, and use
|
|
8
|
+
* `layerWebSocketConstructor` when lower-level socket APIs need access to the
|
|
9
|
+
* browser constructor service.
|
|
10
|
+
*
|
|
11
|
+
* Browser WebSocket rules still apply. Connections are created through
|
|
12
|
+
* `globalThis.WebSocket`, so URL schemes, subprotocol negotiation, mixed-content
|
|
13
|
+
* blocking, cookies, authentication, CORS-like origin checks, and extension
|
|
14
|
+
* negotiation are controlled by the browser and server rather than by Effect.
|
|
15
|
+
* Close events are translated into socket errors unless the provided
|
|
16
|
+
* `closeCodeIsError` predicate classifies the close code as clean, which is
|
|
17
|
+
* useful for protocols that use application-specific close codes.
|
|
18
|
+
*
|
|
19
|
+
* Messages are delivered as strings or binary `Uint8Array` values; browser
|
|
20
|
+
* `Blob` messages are read into bytes before they reach the socket handler.
|
|
21
|
+
* Outgoing data should already be serialized to a string or bytes, and protocol
|
|
22
|
+
* frames that represent an intentional close should be sent as `CloseEvent`
|
|
23
|
+
* values so the underlying `WebSocket.close` code and reason are preserved.
|
|
24
|
+
*
|
|
25
|
+
* @since 4.0.0
|
|
3
26
|
*/
|
|
4
27
|
import * as Layer from "effect/Layer";
|
|
5
28
|
import * as Socket from "effect/unstable/socket/Socket";
|
|
6
29
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
30
|
+
* Creates a `Socket` layer connected to the given URL using the browser `WebSocket` constructor.
|
|
31
|
+
*
|
|
32
|
+
* @category layers
|
|
33
|
+
* @since 4.0.0
|
|
9
34
|
*/
|
|
10
35
|
export declare const layerWebSocket: (url: string, options?: {
|
|
11
36
|
readonly closeCodeIsError?: (code: number) => boolean;
|
|
12
37
|
}) => Layer.Layer<Socket.Socket>;
|
|
13
38
|
/**
|
|
14
|
-
*
|
|
39
|
+
* Layer that provides a `WebSocketConstructor` service backed by `globalThis.WebSocket`.
|
|
15
40
|
*
|
|
16
|
-
* @
|
|
17
|
-
* @
|
|
41
|
+
* @category layers
|
|
42
|
+
* @since 4.0.0
|
|
18
43
|
*/
|
|
19
44
|
export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>;
|
|
20
45
|
//# sourceMappingURL=BrowserSocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserSocket.d.ts","sourceRoot":"","sources":["../src/BrowserSocket.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BrowserSocket.d.ts","sourceRoot":"","sources":["../src/BrowserSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,EAAE,UAAU;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CACtD,KAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAG1B,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CACvC,CAAA"}
|
package/dist/BrowserSocket.js
CHANGED
|
@@ -1,18 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser WebSocket layers for Effect sockets.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the browser entry point for `Socket.Socket` values
|
|
5
|
+
* backed by the platform `WebSocket` implementation. Use `layerWebSocket` when
|
|
6
|
+
* client-side Effect programs, browser tests, RPC transports, or realtime UI
|
|
7
|
+
* features need a bidirectional socket connected to a WebSocket URL, and use
|
|
8
|
+
* `layerWebSocketConstructor` when lower-level socket APIs need access to the
|
|
9
|
+
* browser constructor service.
|
|
10
|
+
*
|
|
11
|
+
* Browser WebSocket rules still apply. Connections are created through
|
|
12
|
+
* `globalThis.WebSocket`, so URL schemes, subprotocol negotiation, mixed-content
|
|
13
|
+
* blocking, cookies, authentication, CORS-like origin checks, and extension
|
|
14
|
+
* negotiation are controlled by the browser and server rather than by Effect.
|
|
15
|
+
* Close events are translated into socket errors unless the provided
|
|
16
|
+
* `closeCodeIsError` predicate classifies the close code as clean, which is
|
|
17
|
+
* useful for protocols that use application-specific close codes.
|
|
18
|
+
*
|
|
19
|
+
* Messages are delivered as strings or binary `Uint8Array` values; browser
|
|
20
|
+
* `Blob` messages are read into bytes before they reach the socket handler.
|
|
21
|
+
* Outgoing data should already be serialized to a string or bytes, and protocol
|
|
22
|
+
* frames that represent an intentional close should be sent as `CloseEvent`
|
|
23
|
+
* values so the underlying `WebSocket.close` code and reason are preserved.
|
|
24
|
+
*
|
|
25
|
+
* @since 4.0.0
|
|
3
26
|
*/
|
|
4
27
|
import * as Layer from "effect/Layer";
|
|
5
28
|
import * as Socket from "effect/unstable/socket/Socket";
|
|
6
29
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
30
|
+
* Creates a `Socket` layer connected to the given URL using the browser `WebSocket` constructor.
|
|
31
|
+
*
|
|
32
|
+
* @category layers
|
|
33
|
+
* @since 4.0.0
|
|
9
34
|
*/
|
|
10
35
|
export const layerWebSocket = (url, options) => Layer.effect(Socket.Socket, Socket.makeWebSocket(url, options)).pipe(Layer.provide(layerWebSocketConstructor));
|
|
11
36
|
/**
|
|
12
|
-
*
|
|
37
|
+
* Layer that provides a `WebSocketConstructor` service backed by `globalThis.WebSocket`.
|
|
13
38
|
*
|
|
14
|
-
* @
|
|
15
|
-
* @
|
|
39
|
+
* @category layers
|
|
40
|
+
* @since 4.0.0
|
|
16
41
|
*/
|
|
17
42
|
export const layerWebSocketConstructor = Socket.layerWebSocketConstructorGlobal;
|
|
18
43
|
//# sourceMappingURL=BrowserSocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserSocket.js","names":["Layer","Socket","layerWebSocket","url","options","effect","makeWebSocket","pipe","provide","layerWebSocketConstructor","layerWebSocketConstructorGlobal"],"sources":["../src/BrowserSocket.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BrowserSocket.js","names":["Layer","Socket","layerWebSocket","url","options","effect","makeWebSocket","pipe","provide","layerWebSocketConstructor","layerWebSocketConstructorGlobal"],"sources":["../src/BrowserSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD;;;;;;AAMA,OAAO,MAAMC,cAAc,GAAGA,CAACC,GAAW,EAAEC,OAE3C,KACCJ,KAAK,CAACK,MAAM,CAACJ,MAAM,CAACA,MAAM,EAAEA,MAAM,CAACK,aAAa,CAACH,GAAG,EAAEC,OAAO,CAAC,CAAC,CAACG,IAAI,CAClEP,KAAK,CAACQ,OAAO,CAACC,yBAAyB,CAAC,CACzC;AAEH;;;;;;AAMA,OAAO,MAAMA,yBAAyB,GACpCR,MAAM,CAACS,+BAA+B","ignoreList":[]}
|
package/dist/BrowserStream.d.ts
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser `Stream` constructors for DOM event targets.
|
|
3
|
+
*
|
|
4
|
+
* This module provides typed helpers for turning `window.addEventListener` and
|
|
5
|
+
* `document.addEventListener` callbacks into Effect `Stream`s. They are useful
|
|
6
|
+
* for UI and runtime signals such as resize, visibility, keyboard, pointer,
|
|
7
|
+
* focus, online / offline, and other browser events that should be composed
|
|
8
|
+
* with Effect stream operators and finalized with the consuming fiber.
|
|
9
|
+
*
|
|
10
|
+
* Browser events are push-based `EventTarget` notifications, so they do not
|
|
11
|
+
* apply Web Streams backpressure to the browser event source. Events are
|
|
12
|
+
* buffered until downstream pulls them; the default buffer is unbounded, so
|
|
13
|
+
* high-frequency sources like scroll, pointermove, or mousemove should usually
|
|
14
|
+
* set `bufferSize` and use stream operators that sample, debounce, throttle, or
|
|
15
|
+
* drop work as appropriate.
|
|
16
|
+
*
|
|
17
|
+
* These helpers are for DOM events, not for adapting `ReadableStream` request
|
|
18
|
+
* or response bodies. Fetch bodies follow the Web Streams body rules, including
|
|
19
|
+
* single-consumer locking and disturbed bodies after reads, and should be
|
|
20
|
+
* handled with body-specific HTTP or Web Streams APIs instead. When using the
|
|
21
|
+
* browser `once` option, pair the stream with `Stream.take(1)` if a finite
|
|
22
|
+
* stream is required.
|
|
23
|
+
*
|
|
24
|
+
* @since 4.0.0
|
|
3
25
|
*/
|
|
4
26
|
import * as Stream from "effect/Stream";
|
|
5
27
|
/**
|
|
@@ -8,8 +30,8 @@ import * as Stream from "effect/Stream";
|
|
|
8
30
|
* By default, the underlying buffer is unbounded in size. You can customize the
|
|
9
31
|
* buffer size an object as the second argument with the `bufferSize` field.
|
|
10
32
|
*
|
|
11
|
-
* @since 1.0.0
|
|
12
33
|
* @category Streams
|
|
34
|
+
* @since 4.0.0
|
|
13
35
|
*/
|
|
14
36
|
export declare const fromEventListenerWindow: <K extends keyof WindowEventMap>(type: K, options?: boolean | {
|
|
15
37
|
readonly capture?: boolean;
|
|
@@ -23,8 +45,8 @@ export declare const fromEventListenerWindow: <K extends keyof WindowEventMap>(t
|
|
|
23
45
|
* By default, the underlying buffer is unbounded in size. You can customize the
|
|
24
46
|
* buffer size an object as the second argument with the `bufferSize` field.
|
|
25
47
|
*
|
|
26
|
-
* @since 1.0.0
|
|
27
48
|
* @category Streams
|
|
49
|
+
* @since 4.0.0
|
|
28
50
|
*/
|
|
29
51
|
export declare const fromEventListenerDocument: <K extends keyof DocumentEventMap>(type: K, options?: boolean | {
|
|
30
52
|
readonly capture?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserStream.d.ts","sourceRoot":"","sources":["../src/BrowserStream.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BrowserStream.d.ts","sourceRoot":"","sources":["../src/BrowserStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,MAAM,cAAc,EACpE,MAAM,CAAC,EACP,UAAU,OAAO,GAAG;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzC,GAAG,SAAS,KACZ,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAuE,CAAA;AAEvH;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,MAAM,gBAAgB,EACxE,MAAM,CAAC,EACP,UAAU,OAAO,GAAG;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzC,GAAG,SAAS,KACZ,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CACsB,CAAA"}
|
package/dist/BrowserStream.js
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser `Stream` constructors for DOM event targets.
|
|
3
|
+
*
|
|
4
|
+
* This module provides typed helpers for turning `window.addEventListener` and
|
|
5
|
+
* `document.addEventListener` callbacks into Effect `Stream`s. They are useful
|
|
6
|
+
* for UI and runtime signals such as resize, visibility, keyboard, pointer,
|
|
7
|
+
* focus, online / offline, and other browser events that should be composed
|
|
8
|
+
* with Effect stream operators and finalized with the consuming fiber.
|
|
9
|
+
*
|
|
10
|
+
* Browser events are push-based `EventTarget` notifications, so they do not
|
|
11
|
+
* apply Web Streams backpressure to the browser event source. Events are
|
|
12
|
+
* buffered until downstream pulls them; the default buffer is unbounded, so
|
|
13
|
+
* high-frequency sources like scroll, pointermove, or mousemove should usually
|
|
14
|
+
* set `bufferSize` and use stream operators that sample, debounce, throttle, or
|
|
15
|
+
* drop work as appropriate.
|
|
16
|
+
*
|
|
17
|
+
* These helpers are for DOM events, not for adapting `ReadableStream` request
|
|
18
|
+
* or response bodies. Fetch bodies follow the Web Streams body rules, including
|
|
19
|
+
* single-consumer locking and disturbed bodies after reads, and should be
|
|
20
|
+
* handled with body-specific HTTP or Web Streams APIs instead. When using the
|
|
21
|
+
* browser `once` option, pair the stream with `Stream.take(1)` if a finite
|
|
22
|
+
* stream is required.
|
|
23
|
+
*
|
|
24
|
+
* @since 4.0.0
|
|
3
25
|
*/
|
|
4
26
|
import * as Stream from "effect/Stream";
|
|
5
27
|
/**
|
|
@@ -8,8 +30,8 @@ import * as Stream from "effect/Stream";
|
|
|
8
30
|
* By default, the underlying buffer is unbounded in size. You can customize the
|
|
9
31
|
* buffer size an object as the second argument with the `bufferSize` field.
|
|
10
32
|
*
|
|
11
|
-
* @since 1.0.0
|
|
12
33
|
* @category Streams
|
|
34
|
+
* @since 4.0.0
|
|
13
35
|
*/
|
|
14
36
|
export const fromEventListenerWindow = (type, options) => Stream.fromEventListener(window, type, options);
|
|
15
37
|
/**
|
|
@@ -18,8 +40,8 @@ export const fromEventListenerWindow = (type, options) => Stream.fromEventListen
|
|
|
18
40
|
* By default, the underlying buffer is unbounded in size. You can customize the
|
|
19
41
|
* buffer size an object as the second argument with the `bufferSize` field.
|
|
20
42
|
*
|
|
21
|
-
* @since 1.0.0
|
|
22
43
|
* @category Streams
|
|
44
|
+
* @since 4.0.0
|
|
23
45
|
*/
|
|
24
46
|
export const fromEventListenerDocument = (type, options) => Stream.fromEventListener(document, type, options);
|
|
25
47
|
//# sourceMappingURL=BrowserStream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserStream.js","names":["Stream","fromEventListenerWindow","type","options","fromEventListener","window","fromEventListenerDocument","document"],"sources":["../src/BrowserStream.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BrowserStream.js","names":["Stream","fromEventListenerWindow","type","options","fromEventListener","window","fromEventListenerDocument","document"],"sources":["../src/BrowserStream.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC;;;;;;;;;AASA,OAAO,MAAMC,uBAAuB,GAAGA,CACrCC,IAAO,EACPC,OAKa,KACsCH,MAAM,CAACI,iBAAiB,CAAoBC,MAAM,EAAEH,IAAI,EAAEC,OAAO,CAAC;AAEvH;;;;;;;;;AASA,OAAO,MAAMG,yBAAyB,GAAGA,CACvCJ,IAAO,EACPC,OAKa,KAEbH,MAAM,CAACI,iBAAiB,CAAsBG,QAAQ,EAAEL,IAAI,EAAEC,OAAO,CAAC","ignoreList":[]}
|
package/dist/BrowserWorker.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import * as Layer from "effect/Layer";
|
|
2
2
|
import * as Worker from "effect/unstable/workers/Worker";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Creates browser worker layers by combining the default `WorkerPlatform` with a spawner for `Worker`, `SharedWorker`, or `MessagePort` instances.
|
|
5
|
+
*
|
|
6
|
+
* @category layers
|
|
7
|
+
* @since 4.0.0
|
|
6
8
|
*/
|
|
7
9
|
export declare const layer: (spawn: (id: number) => Worker | SharedWorker | MessagePort) => Layer.Layer<Worker.WorkerPlatform | Worker.Spawner>;
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
+
* Layer that provides the browser `WorkerPlatform` for `Worker`, `SharedWorker`, and `MessagePort` communication.
|
|
12
|
+
*
|
|
13
|
+
* @category layers
|
|
14
|
+
* @since 4.0.0
|
|
11
15
|
*/
|
|
12
16
|
export declare const layerPlatform: Layer.Layer<Worker.WorkerPlatform>;
|
|
13
17
|
//# sourceMappingURL=BrowserWorker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserWorker.d.ts","sourceRoot":"","sources":["../src/BrowserWorker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BrowserWorker.d.ts","sourceRoot":"","sources":["../src/BrowserWorker.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAA;AAGxD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,YAAY,GAAG,WAAW,KACzD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAIlD,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CA2C5D,CAAA"}
|
package/dist/BrowserWorker.js
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Parent-side browser support for Effect workers.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the `WorkerPlatform` used by browser applications that
|
|
5
|
+
* spawn or connect to `Worker`, `SharedWorker`, and `MessagePort` endpoints
|
|
6
|
+
* through Effect's worker protocol. Pair it with `BrowserWorkerRunner` in the
|
|
7
|
+
* worker entrypoint when building worker-backed RPC clients, moving CPU-bound
|
|
8
|
+
* work off the main thread, isolating browser-only services, or adapting an
|
|
9
|
+
* existing `MessageChannel` in tests and custom transports.
|
|
10
|
+
*
|
|
11
|
+
* Dedicated workers communicate through the worker object itself, while shared
|
|
12
|
+
* workers communicate through `worker.port`; raw `MessagePort` values are also
|
|
13
|
+
* accepted and are started when supported. Messages are posted with the browser
|
|
14
|
+
* structured-clone algorithm, so payloads must be cloneable by the target
|
|
15
|
+
* runtime. Transfer lists can avoid copying values such as `ArrayBuffer` or
|
|
16
|
+
* `MessagePort`, but transferring moves ownership away from the sender and
|
|
17
|
+
* invalid or mismatched transferables can fail the send. Scope finalization
|
|
18
|
+
* sends the worker close signal over the port; the application that created a
|
|
19
|
+
* dedicated `Worker` remains responsible for any broader lifecycle such as
|
|
20
|
+
* terminating it.
|
|
21
|
+
*
|
|
22
|
+
* @since 4.0.0
|
|
3
23
|
*/
|
|
4
24
|
import * as Deferred from "effect/Deferred";
|
|
5
25
|
import * as Effect from "effect/Effect";
|
|
@@ -8,13 +28,17 @@ import * as Scope from "effect/Scope";
|
|
|
8
28
|
import * as Worker from "effect/unstable/workers/Worker";
|
|
9
29
|
import { WorkerError, WorkerReceiveError } from "effect/unstable/workers/WorkerError";
|
|
10
30
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
31
|
+
* Creates browser worker layers by combining the default `WorkerPlatform` with a spawner for `Worker`, `SharedWorker`, or `MessagePort` instances.
|
|
32
|
+
*
|
|
33
|
+
* @category layers
|
|
34
|
+
* @since 4.0.0
|
|
13
35
|
*/
|
|
14
36
|
export const layer = spawn => Layer.merge(layerPlatform, Worker.layerSpawner(spawn));
|
|
15
37
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
38
|
+
* Layer that provides the browser `WorkerPlatform` for `Worker`, `SharedWorker`, and `MessagePort` communication.
|
|
39
|
+
*
|
|
40
|
+
* @category layers
|
|
41
|
+
* @since 4.0.0
|
|
18
42
|
*/
|
|
19
43
|
export const layerPlatform = /*#__PURE__*/Layer.succeed(Worker.WorkerPlatform)(/*#__PURE__*/Worker.makePlatform()({
|
|
20
44
|
setup({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserWorker.js","names":["Deferred","Effect","Layer","Scope","Worker","WorkerError","WorkerReceiveError","layer","spawn","merge","layerPlatform","layerSpawner","succeed","WorkerPlatform","makePlatform","setup","scope","worker","port","as","addFinalizer","sync","postMessage","listen","deferred","emit","onMessage","event","data","onError","doneUnsafe","reason","message","cause","error","addEventListener","start","removeEventListener"],"sources":["../src/BrowserWorker.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BrowserWorker.js","names":["Deferred","Effect","Layer","Scope","Worker","WorkerError","WorkerReceiveError","layer","spawn","merge","layerPlatform","layerSpawner","succeed","WorkerPlatform","makePlatform","setup","scope","worker","port","as","addFinalizer","sync","postMessage","listen","deferred","emit","onMessage","event","data","onError","doneUnsafe","reason","message","cause","error","addEventListener","start","removeEventListener"],"sources":["../src/BrowserWorker.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,gCAAgC;AACxD,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,qCAAqC;AAErF;;;;;;AAMA,OAAO,MAAMC,KAAK,GAChBC,KAA0D,IAE1DN,KAAK,CAACO,KAAK,CACTC,aAAa,EACbN,MAAM,CAACO,YAAY,CAACH,KAAK,CAAC,CAC3B;AAEH;;;;;;AAMA,OAAO,MAAME,aAAa,gBAAuCR,KAAK,CAACU,OAAO,CAACR,MAAM,CAACS,cAAc,CAAC,cACnGT,MAAM,CAACU,YAAY,EAA6D,CAAC;EAC/EC,KAAKA,CAAC;IAAEC,KAAK;IAAEC;EAAM,CAAE;IACrB,MAAMC,IAAI,GAAG,MAAM,IAAID,MAAM,GAAGA,MAAM,CAACC,IAAI,GAAGD,MAAM;IACpD,OAAOhB,MAAM,CAACkB,EAAE,CACdhB,KAAK,CAACiB,YAAY,CAChBJ,KAAK,EACLf,MAAM,CAACoB,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;MAChC3B,QAAQ,CAAC8B,UAAU,CACjBN,QAAQ,EACR,IAAInB,WAAW,CAAC;QACd0B,MAAM,EAAE,IAAIzB,kBAAkB,CAAC;UAC7B0B,OAAO,EAAE,4BAA4B;UACrCC,KAAK,EAAEN,KAAK,CAACO,KAAK,IAAIP,KAAK,CAACK;SAC7B;OACF,CAAC,CACH;IACH;IACAd,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,OAAOjC,KAAK,CAACiB,YAAY,CACvBJ,KAAK,EACLf,MAAM,CAACoB,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,CACH","ignoreList":[]}
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import * as Layer from "effect/Layer";
|
|
2
2
|
import * as WorkerRunner from "effect/unstable/workers/WorkerRunner";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Creates a `WorkerRunnerPlatform` service that runs worker handlers over a `MessagePort` or `Window`.
|
|
5
|
+
*
|
|
6
|
+
* @category constructors
|
|
7
|
+
* @since 4.0.0
|
|
6
8
|
*/
|
|
7
9
|
export declare const make: (self: MessagePort | Window) => WorkerRunner.WorkerRunnerPlatform["Service"];
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
+
* Layer that provides a browser `WorkerRunnerPlatform` using the global `self` worker context.
|
|
12
|
+
*
|
|
13
|
+
* @category layers
|
|
14
|
+
* @since 4.0.0
|
|
11
15
|
*/
|
|
12
16
|
export declare const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform>;
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
18
|
+
* Layer that provides a `WorkerRunnerPlatform` using the supplied `MessagePort` or `Window`.
|
|
19
|
+
*
|
|
20
|
+
* @category layers
|
|
21
|
+
* @since 4.0.0
|
|
16
22
|
*/
|
|
17
23
|
export declare const layerMessagePort: (port: MessagePort | Window) => Layer.Layer<WorkerRunner.WorkerRunnerPlatform>;
|
|
18
24
|
//# sourceMappingURL=BrowserWorkerRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserWorkerRunner.d.ts","sourceRoot":"","sources":["../src/BrowserWorkerRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BrowserWorkerRunner.d.ts","sourceRoot":"","sources":["../src/BrowserWorkerRunner.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAUpE;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,WAAW,GAAG,MAAM,KAAG,YAAY,CAAC,oBAAoB,CAAC,SAAS,CA2H3F,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAEhE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,WAAW,GAAG,MAAM,KAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAC7C,CAAA"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser runtime support for Effect worker runners.
|
|
3
|
+
*
|
|
4
|
+
* This module is intended for code that is already executing in a browser
|
|
5
|
+
* worker context, or for tests and adapters that supply a `MessagePort` or
|
|
6
|
+
* `Window` endpoint directly. It provides the `WorkerRunnerPlatform` used by
|
|
7
|
+
* `WorkerRunner` and `RpcServer.layerProtocolWorkerRunner` to receive parent
|
|
8
|
+
* or client requests, run Effect handlers, and send responses through the
|
|
9
|
+
* browser `postMessage` channel.
|
|
10
|
+
*
|
|
11
|
+
* Use it with `BrowserWorker` when a browser application needs to move RPC
|
|
12
|
+
* handlers, CPU-bound computations, or browser-only services into a dedicated
|
|
13
|
+
* worker or shared worker. Dedicated workers communicate through the current
|
|
14
|
+
* `self` endpoint; shared workers accept multiple `onconnect` ports and cache
|
|
15
|
+
* ports that connect before the runner layer starts. Messages still use the
|
|
16
|
+
* browser structured-clone algorithm, so payload schemas, transfer lists,
|
|
17
|
+
* `messageerror` events, and the lifetime of each `MessagePort` must be
|
|
18
|
+
* considered when crossing worker boundaries.
|
|
19
|
+
*
|
|
20
|
+
* @since 4.0.0
|
|
3
21
|
*/
|
|
4
22
|
import * as Cause from "effect/Cause";
|
|
5
23
|
import * as Deferred from "effect/Deferred";
|
|
@@ -20,8 +38,10 @@ if (typeof self !== "undefined" && "onconnect" in self) {
|
|
|
20
38
|
self.onconnect = globalHandleConnect;
|
|
21
39
|
}
|
|
22
40
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
41
|
+
* Creates a `WorkerRunnerPlatform` service that runs worker handlers over a `MessagePort` or `Window`.
|
|
42
|
+
*
|
|
43
|
+
* @category constructors
|
|
44
|
+
* @since 4.0.0
|
|
25
45
|
*/
|
|
26
46
|
export const make = self => ({
|
|
27
47
|
start: Effect.fnUntraced(function* () {
|
|
@@ -131,13 +151,17 @@ export const make = self => ({
|
|
|
131
151
|
})
|
|
132
152
|
});
|
|
133
153
|
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
154
|
+
* Layer that provides a browser `WorkerRunnerPlatform` using the global `self` worker context.
|
|
155
|
+
*
|
|
156
|
+
* @category layers
|
|
157
|
+
* @since 4.0.0
|
|
136
158
|
*/
|
|
137
159
|
export const layer = /*#__PURE__*/Layer.sync(WorkerRunner.WorkerRunnerPlatform)(() => make(self));
|
|
138
160
|
/**
|
|
139
|
-
*
|
|
140
|
-
*
|
|
161
|
+
* Layer that provides a `WorkerRunnerPlatform` using the supplied `MessagePort` or `Window`.
|
|
162
|
+
*
|
|
163
|
+
* @category layers
|
|
164
|
+
* @since 4.0.0
|
|
141
165
|
*/
|
|
142
166
|
export const layerMessagePort = port => Layer.succeed(WorkerRunner.WorkerRunnerPlatform)(make(port));
|
|
143
167
|
//# sourceMappingURL=BrowserWorkerRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserWorkerRunner.js","names":["Cause","Deferred","Effect","Exit","Fiber","identity","Layer","Queue","Scope","WorkerError","WorkerReceiveError","WorkerRunner","cachedPorts","Set","globalHandleConnect","event","add","ports","self","onconnect","make","start","fnUntraced","disconnects","currentPortId","Map","sendUnsafe","portId","message","transfer","get","postMessage","send","sync","run","handler","scopedWith","scope","closeLatch","makeUnsafe","trackFiber","runIn","services","context","runFork","runForkWith","onExit","exit","_tag","hasInterruptsOnly","cause","logError","onMessage","data","result","isEffect","fiber","addObserver","port","size","doneUnsafe","void","delete","close","onMessageError","error","reason","onError","handlePort","portScope","forkUnsafe","set","onMsg","addEventListener","runSync","addFinalizer","removeEventListener","prevOnConnect","clear","await","layer","WorkerRunnerPlatform","layerMessagePort","succeed"],"sources":["../src/BrowserWorkerRunner.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BrowserWorkerRunner.js","names":["Cause","Deferred","Effect","Exit","Fiber","identity","Layer","Queue","Scope","WorkerError","WorkerReceiveError","WorkerRunner","cachedPorts","Set","globalHandleConnect","event","add","ports","self","onconnect","make","start","fnUntraced","disconnects","currentPortId","Map","sendUnsafe","portId","message","transfer","get","postMessage","send","sync","run","handler","scopedWith","scope","closeLatch","makeUnsafe","trackFiber","runIn","services","context","runFork","runForkWith","onExit","exit","_tag","hasInterruptsOnly","cause","logError","onMessage","data","result","isEffect","fiber","addObserver","port","size","doneUnsafe","void","delete","close","onMessageError","error","reason","onError","handlePort","portScope","forkUnsafe","set","onMsg","addEventListener","runSync","addFinalizer","removeEventListener","prevOnConnect","clear","await","layer","WorkerRunnerPlatform","layerMessagePort","succeed"],"sources":["../src/BrowserWorkerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|