@effect/platform-browser 4.0.0-beta.70 → 4.0.0-beta.71
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 +59 -1
- package/dist/BrowserCrypto.d.ts.map +1 -1
- package/dist/BrowserCrypto.js +59 -1
- package/dist/BrowserCrypto.js.map +1 -1
- package/dist/BrowserHttpClient.d.ts +8 -0
- package/dist/BrowserHttpClient.d.ts.map +1 -1
- package/dist/BrowserHttpClient.js +8 -0
- package/dist/BrowserHttpClient.js.map +1 -1
- package/dist/BrowserKeyValueStore.d.ts +20 -0
- package/dist/BrowserKeyValueStore.d.ts.map +1 -1
- package/dist/BrowserKeyValueStore.js +70 -15
- package/dist/BrowserKeyValueStore.js.map +1 -1
- package/dist/BrowserPersistence.d.ts +19 -0
- package/dist/BrowserPersistence.d.ts.map +1 -1
- package/dist/BrowserPersistence.js +19 -0
- package/dist/BrowserPersistence.js.map +1 -1
- package/dist/BrowserRuntime.d.ts +48 -0
- package/dist/BrowserRuntime.d.ts.map +1 -1
- package/dist/BrowserRuntime.js +16 -0
- package/dist/BrowserRuntime.js.map +1 -1
- package/dist/BrowserSocket.d.ts +55 -22
- package/dist/BrowserSocket.d.ts.map +1 -1
- package/dist/BrowserSocket.js +55 -22
- package/dist/BrowserSocket.js.map +1 -1
- package/dist/BrowserStream.d.ts +36 -21
- package/dist/BrowserStream.d.ts.map +1 -1
- package/dist/BrowserStream.js +36 -21
- package/dist/BrowserStream.js.map +1 -1
- package/dist/BrowserWorker.d.ts +17 -0
- package/dist/BrowserWorker.d.ts.map +1 -1
- package/dist/BrowserWorker.js +50 -18
- package/dist/BrowserWorker.js.map +1 -1
- package/dist/BrowserWorkerRunner.d.ts +19 -0
- package/dist/BrowserWorkerRunner.d.ts.map +1 -1
- package/dist/BrowserWorkerRunner.js +45 -14
- package/dist/BrowserWorkerRunner.js.map +1 -1
- package/dist/Clipboard.d.ts +52 -15
- package/dist/Clipboard.d.ts.map +1 -1
- package/dist/Clipboard.js +37 -13
- package/dist/Clipboard.js.map +1 -1
- package/dist/Geolocation.d.ts +58 -15
- package/dist/Geolocation.d.ts.map +1 -1
- package/dist/Geolocation.js +38 -15
- package/dist/Geolocation.js.map +1 -1
- package/dist/IndexedDb.d.ts +12 -0
- package/dist/IndexedDb.d.ts.map +1 -1
- package/dist/IndexedDb.js +12 -0
- package/dist/IndexedDb.js.map +1 -1
- package/dist/IndexedDbDatabase.d.ts +19 -0
- package/dist/IndexedDbDatabase.d.ts.map +1 -1
- package/dist/IndexedDbDatabase.js +19 -0
- package/dist/IndexedDbDatabase.js.map +1 -1
- package/dist/IndexedDbQueryBuilder.d.ts +8 -0
- package/dist/IndexedDbQueryBuilder.d.ts.map +1 -1
- package/dist/IndexedDbQueryBuilder.js +8 -0
- package/dist/IndexedDbQueryBuilder.js.map +1 -1
- package/dist/IndexedDbTable.d.ts +55 -17
- package/dist/IndexedDbTable.d.ts.map +1 -1
- package/dist/IndexedDbTable.js +55 -17
- package/dist/IndexedDbTable.js.map +1 -1
- package/dist/IndexedDbVersion.d.ts +14 -0
- package/dist/IndexedDbVersion.d.ts.map +1 -1
- package/dist/IndexedDbVersion.js +14 -0
- package/dist/IndexedDbVersion.js.map +1 -1
- package/dist/Permissions.d.ts +47 -17
- package/dist/Permissions.d.ts.map +1 -1
- package/dist/Permissions.js +47 -17
- package/dist/Permissions.js.map +1 -1
- package/dist/index.d.ts +0 -319
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -319
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/BrowserCrypto.ts +59 -1
- package/src/BrowserHttpClient.ts +8 -0
- package/src/BrowserKeyValueStore.ts +70 -15
- package/src/BrowserPersistence.ts +66 -9
- package/src/BrowserRuntime.ts +48 -0
- package/src/BrowserSocket.ts +55 -22
- package/src/BrowserStream.ts +33 -18
- package/src/BrowserWorker.ts +50 -18
- package/src/BrowserWorkerRunner.ts +45 -14
- package/src/Clipboard.ts +52 -15
- package/src/Geolocation.ts +58 -15
- package/src/IndexedDb.ts +12 -0
- package/src/IndexedDbDatabase.ts +19 -0
- package/src/IndexedDbQueryBuilder.ts +8 -0
- package/src/IndexedDbTable.ts +55 -17
- package/src/IndexedDbVersion.ts +14 -0
- package/src/Permissions.ts +47 -17
- package/src/index.ts +0 -319
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAO,MAAMC,OAAO,gBA0DhBD,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,26 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* `
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
2
|
+
* Provide Effect sockets backed by the browser `WebSocket` implementation.
|
|
3
|
+
*
|
|
4
|
+
* This module is the browser entry point for Effect's socket abstraction. Use
|
|
5
|
+
* {@link layerWebSocket} when a client-side Effect program needs a complete
|
|
6
|
+
* `Socket.Socket` connected to a WebSocket URL. Use
|
|
7
|
+
* {@link layerWebSocketConstructor} when lower-level socket code only needs the
|
|
8
|
+
* browser-backed constructor service.
|
|
9
|
+
*
|
|
10
|
+
* ## Mental model
|
|
11
|
+
*
|
|
12
|
+
* `layerWebSocket` delegates socket behavior to Effect's WebSocket support and
|
|
13
|
+
* supplies `globalThis.WebSocket` as the constructor. Incoming browser messages
|
|
14
|
+
* are normalized to strings or binary `Uint8Array` values. Browser `Blob`
|
|
15
|
+
* messages are read into bytes before they reach the socket consumer.
|
|
16
|
+
*
|
|
17
|
+
* Outgoing data should already be serialized to a string or bytes. To close the
|
|
18
|
+
* underlying browser socket with a specific code and reason, send a
|
|
19
|
+
* `CloseEvent` value so the close metadata is preserved.
|
|
20
|
+
*
|
|
21
|
+
* ## Common tasks
|
|
22
|
+
*
|
|
23
|
+
* - Connect RPC transports, browser tests, or realtime UI features to a
|
|
24
|
+
* WebSocket URL with {@link layerWebSocket}.
|
|
25
|
+
* - Provide only the browser constructor service with
|
|
26
|
+
* {@link layerWebSocketConstructor} when another socket layer builds the
|
|
27
|
+
* connection.
|
|
28
|
+
* - Customize `closeCodeIsError` for protocols that treat specific close codes
|
|
29
|
+
* as normal completion instead of socket failure.
|
|
30
|
+
*
|
|
31
|
+
* ## Gotchas
|
|
32
|
+
*
|
|
33
|
+
* Browser WebSocket rules still apply. URL schemes, subprotocol negotiation,
|
|
34
|
+
* mixed-content blocking, cookies, authentication, server origin checks, and
|
|
35
|
+
* extension negotiation are controlled by the browser and server rather than by
|
|
36
|
+
* Effect. Close events become socket errors unless `closeCodeIsError`
|
|
37
|
+
* classifies the close code as clean.
|
|
24
38
|
*
|
|
25
39
|
* @since 4.0.0
|
|
26
40
|
*/
|
|
@@ -29,6 +43,25 @@ import * as Socket from "effect/unstable/socket/Socket";
|
|
|
29
43
|
/**
|
|
30
44
|
* Creates a `Socket` layer connected to the given URL using the browser `WebSocket` constructor.
|
|
31
45
|
*
|
|
46
|
+
* **When to use**
|
|
47
|
+
*
|
|
48
|
+
* Use when browser or client-side code needs a complete `Socket` layer
|
|
49
|
+
* connected to a WebSocket URL.
|
|
50
|
+
*
|
|
51
|
+
* **Details**
|
|
52
|
+
*
|
|
53
|
+
* Delegates socket construction to `Socket.makeWebSocket` and provides the
|
|
54
|
+
* browser-backed `WebSocketConstructor` service.
|
|
55
|
+
*
|
|
56
|
+
* **Gotchas**
|
|
57
|
+
*
|
|
58
|
+
* Browser WebSocket rules still control URL schemes, mixed-content blocking,
|
|
59
|
+
* cookies, authentication, origin checks, subprotocols, and extensions. Close
|
|
60
|
+
* events are errors unless `closeCodeIsError` classifies the close code as
|
|
61
|
+
* clean.
|
|
62
|
+
*
|
|
63
|
+
* @see {@link layerWebSocketConstructor} for providing only the browser constructor service
|
|
64
|
+
*
|
|
32
65
|
* @category layers
|
|
33
66
|
* @since 4.0.0
|
|
34
67
|
*/
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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,26 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* `
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
2
|
+
* Provide Effect sockets backed by the browser `WebSocket` implementation.
|
|
3
|
+
*
|
|
4
|
+
* This module is the browser entry point for Effect's socket abstraction. Use
|
|
5
|
+
* {@link layerWebSocket} when a client-side Effect program needs a complete
|
|
6
|
+
* `Socket.Socket` connected to a WebSocket URL. Use
|
|
7
|
+
* {@link layerWebSocketConstructor} when lower-level socket code only needs the
|
|
8
|
+
* browser-backed constructor service.
|
|
9
|
+
*
|
|
10
|
+
* ## Mental model
|
|
11
|
+
*
|
|
12
|
+
* `layerWebSocket` delegates socket behavior to Effect's WebSocket support and
|
|
13
|
+
* supplies `globalThis.WebSocket` as the constructor. Incoming browser messages
|
|
14
|
+
* are normalized to strings or binary `Uint8Array` values. Browser `Blob`
|
|
15
|
+
* messages are read into bytes before they reach the socket consumer.
|
|
16
|
+
*
|
|
17
|
+
* Outgoing data should already be serialized to a string or bytes. To close the
|
|
18
|
+
* underlying browser socket with a specific code and reason, send a
|
|
19
|
+
* `CloseEvent` value so the close metadata is preserved.
|
|
20
|
+
*
|
|
21
|
+
* ## Common tasks
|
|
22
|
+
*
|
|
23
|
+
* - Connect RPC transports, browser tests, or realtime UI features to a
|
|
24
|
+
* WebSocket URL with {@link layerWebSocket}.
|
|
25
|
+
* - Provide only the browser constructor service with
|
|
26
|
+
* {@link layerWebSocketConstructor} when another socket layer builds the
|
|
27
|
+
* connection.
|
|
28
|
+
* - Customize `closeCodeIsError` for protocols that treat specific close codes
|
|
29
|
+
* as normal completion instead of socket failure.
|
|
30
|
+
*
|
|
31
|
+
* ## Gotchas
|
|
32
|
+
*
|
|
33
|
+
* Browser WebSocket rules still apply. URL schemes, subprotocol negotiation,
|
|
34
|
+
* mixed-content blocking, cookies, authentication, server origin checks, and
|
|
35
|
+
* extension negotiation are controlled by the browser and server rather than by
|
|
36
|
+
* Effect. Close events become socket errors unless `closeCodeIsError`
|
|
37
|
+
* classifies the close code as clean.
|
|
24
38
|
*
|
|
25
39
|
* @since 4.0.0
|
|
26
40
|
*/
|
|
@@ -29,6 +43,25 @@ import * as Socket from "effect/unstable/socket/Socket";
|
|
|
29
43
|
/**
|
|
30
44
|
* Creates a `Socket` layer connected to the given URL using the browser `WebSocket` constructor.
|
|
31
45
|
*
|
|
46
|
+
* **When to use**
|
|
47
|
+
*
|
|
48
|
+
* Use when browser or client-side code needs a complete `Socket` layer
|
|
49
|
+
* connected to a WebSocket URL.
|
|
50
|
+
*
|
|
51
|
+
* **Details**
|
|
52
|
+
*
|
|
53
|
+
* Delegates socket construction to `Socket.makeWebSocket` and provides the
|
|
54
|
+
* browser-backed `WebSocketConstructor` service.
|
|
55
|
+
*
|
|
56
|
+
* **Gotchas**
|
|
57
|
+
*
|
|
58
|
+
* Browser WebSocket rules still control URL schemes, mixed-content blocking,
|
|
59
|
+
* cookies, authentication, origin checks, subprotocols, and extensions. Close
|
|
60
|
+
* events are errors unless `closeCodeIsError` classifies the close code as
|
|
61
|
+
* clean.
|
|
62
|
+
*
|
|
63
|
+
* @see {@link layerWebSocketConstructor} for providing only the browser constructor service
|
|
64
|
+
*
|
|
32
65
|
* @category layers
|
|
33
66
|
* @since 4.0.0
|
|
34
67
|
*/
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,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,25 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* This module provides typed
|
|
5
|
-
* `document
|
|
6
|
-
* for
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
2
|
+
* Convert browser DOM events into Effect streams.
|
|
3
|
+
*
|
|
4
|
+
* This module provides typed constructors for listening to `window` and
|
|
5
|
+
* `document` events from Effect programs. Use {@link fromEventListenerWindow}
|
|
6
|
+
* for viewport, network, focus, pointer, keyboard, and other `Window` events,
|
|
7
|
+
* and use {@link fromEventListenerDocument} for document lifecycle,
|
|
8
|
+
* visibility, selection, fullscreen, and other `Document` events.
|
|
9
|
+
*
|
|
10
|
+
* ## Mental model
|
|
11
|
+
*
|
|
12
|
+
* Each constructor registers a DOM `addEventListener` callback when the stream
|
|
13
|
+
* is consumed and removes it when the stream is finalized. Browser events are
|
|
14
|
+
* push-based `EventTarget` notifications, so the browser does not slow down the
|
|
15
|
+
* event source when downstream stream processing is busy. Events are buffered
|
|
16
|
+
* inside the stream until a consumer pulls them.
|
|
17
|
+
*
|
|
18
|
+
* ## Common tasks
|
|
19
|
+
*
|
|
20
|
+
* - Track browser state such as resize, online / offline, focus, visibility, or
|
|
21
|
+
* pointer activity with Effect stream operators.
|
|
22
|
+
* - Scope DOM listeners to a fiber so they are removed when the consuming
|
|
23
|
+
* effect is interrupted or completes.
|
|
24
|
+
* - Set `bufferSize` for bursty event sources before applying sampling,
|
|
25
|
+
* throttling, debouncing, or dropping logic downstream.
|
|
26
|
+
*
|
|
27
|
+
* ## Gotchas
|
|
28
|
+
*
|
|
29
|
+
* The default buffer is unbounded. High-frequency sources such as `scroll`,
|
|
30
|
+
* `pointermove`, or `mousemove` should usually specify `bufferSize` and reduce
|
|
31
|
+
* the event rate with stream operators.
|
|
32
|
+
*
|
|
33
|
+
* These helpers are for DOM events, not for `ReadableStream` request or
|
|
34
|
+
* response bodies. Fetch bodies follow Web Streams rules such as
|
|
35
|
+
* single-consumer locking and disturbed bodies after reads. When using the DOM
|
|
36
|
+
* `once` option, also use `Stream.take(1)` if the consuming code needs a finite
|
|
37
|
+
* stream.
|
|
23
38
|
*
|
|
24
39
|
* @since 4.0.0
|
|
25
40
|
*/
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;;;;;;;;;GAWG;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;;;;;;;;;;;GAWG;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,25 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* This module provides typed
|
|
5
|
-
* `document
|
|
6
|
-
* for
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
2
|
+
* Convert browser DOM events into Effect streams.
|
|
3
|
+
*
|
|
4
|
+
* This module provides typed constructors for listening to `window` and
|
|
5
|
+
* `document` events from Effect programs. Use {@link fromEventListenerWindow}
|
|
6
|
+
* for viewport, network, focus, pointer, keyboard, and other `Window` events,
|
|
7
|
+
* and use {@link fromEventListenerDocument} for document lifecycle,
|
|
8
|
+
* visibility, selection, fullscreen, and other `Document` events.
|
|
9
|
+
*
|
|
10
|
+
* ## Mental model
|
|
11
|
+
*
|
|
12
|
+
* Each constructor registers a DOM `addEventListener` callback when the stream
|
|
13
|
+
* is consumed and removes it when the stream is finalized. Browser events are
|
|
14
|
+
* push-based `EventTarget` notifications, so the browser does not slow down the
|
|
15
|
+
* event source when downstream stream processing is busy. Events are buffered
|
|
16
|
+
* inside the stream until a consumer pulls them.
|
|
17
|
+
*
|
|
18
|
+
* ## Common tasks
|
|
19
|
+
*
|
|
20
|
+
* - Track browser state such as resize, online / offline, focus, visibility, or
|
|
21
|
+
* pointer activity with Effect stream operators.
|
|
22
|
+
* - Scope DOM listeners to a fiber so they are removed when the consuming
|
|
23
|
+
* effect is interrupted or completes.
|
|
24
|
+
* - Set `bufferSize` for bursty event sources before applying sampling,
|
|
25
|
+
* throttling, debouncing, or dropping logic downstream.
|
|
26
|
+
*
|
|
27
|
+
* ## Gotchas
|
|
28
|
+
*
|
|
29
|
+
* The default buffer is unbounded. High-frequency sources such as `scroll`,
|
|
30
|
+
* `pointermove`, or `mousemove` should usually specify `bufferSize` and reduce
|
|
31
|
+
* the event rate with stream operators.
|
|
32
|
+
*
|
|
33
|
+
* These helpers are for DOM events, not for `ReadableStream` request or
|
|
34
|
+
* response bodies. Fetch bodies follow Web Streams rules such as
|
|
35
|
+
* single-consumer locking and disturbed bodies after reads. When using the DOM
|
|
36
|
+
* `once` option, also use `Stream.take(1)` if the consuming code needs a finite
|
|
37
|
+
* stream.
|
|
23
38
|
*
|
|
24
39
|
* @since 4.0.0
|
|
25
40
|
*/
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC;;;;;;;;;;;;AAYA,OAAO,MAAMC,uBAAuB,GAAGA,CACrCC,IAAO,EACPC,OAKa,KACsCH,MAAM,CAACI,iBAAiB,CAAoBC,MAAM,EAAEH,IAAI,EAAEC,OAAO,CAAC;AAEvH;;;;;;;;;;;;AAYA,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
|
@@ -3,6 +3,23 @@ import * as Worker from "effect/unstable/workers/Worker";
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates browser worker layers by combining the default `WorkerPlatform` with a spawner for `Worker`, `SharedWorker`, or `MessagePort` instances.
|
|
5
5
|
*
|
|
6
|
+
* **When to use**
|
|
7
|
+
*
|
|
8
|
+
* Use when browser parent or client code needs both the browser
|
|
9
|
+
* `WorkerPlatform` and a `Spawner` from one layer.
|
|
10
|
+
*
|
|
11
|
+
* **Details**
|
|
12
|
+
*
|
|
13
|
+
* The `spawn` callback receives the numeric worker id and may return a
|
|
14
|
+
* `Worker`, `SharedWorker`, or `MessagePort`.
|
|
15
|
+
*
|
|
16
|
+
* **Gotchas**
|
|
17
|
+
*
|
|
18
|
+
* Scope finalization sends the worker close protocol over the port. Dedicated
|
|
19
|
+
* workers created by `spawn` are not terminated by this layer.
|
|
20
|
+
*
|
|
21
|
+
* @see {@link layerPlatform} for providing only the browser worker platform
|
|
22
|
+
*
|
|
6
23
|
* @category layers
|
|
7
24
|
* @since 4.0.0
|
|
8
25
|
*/
|
|
@@ -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":"AAwCA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAA;AAGxD;;;;;;;;;;;;;;;;;;;;;;GAsBG;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,22 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Parent-side browser
|
|
3
|
-
*
|
|
4
|
-
* This module provides the `WorkerPlatform` used by browser
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* `
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
2
|
+
* Parent-side browser platform for running Effect workers.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the `WorkerPlatform` used by browser code that spawns or
|
|
5
|
+
* connects to `Worker`, `SharedWorker`, and `MessagePort` endpoints through
|
|
6
|
+
* Effect's worker protocol. Pair it with `BrowserWorkerRunner` in the worker
|
|
7
|
+
* entrypoint when building worker-backed RPC clients, moving CPU-bound work off
|
|
8
|
+
* the main thread, isolating browser-only services, or adapting an existing
|
|
9
|
+
* `MessageChannel` in tests.
|
|
10
|
+
*
|
|
11
|
+
* **Mental model**
|
|
12
|
+
*
|
|
13
|
+
* Browser worker communication is normalized to a message port. Dedicated
|
|
14
|
+
* workers post messages on the worker object itself, shared workers post
|
|
15
|
+
* through `worker.port`, and raw `MessagePort` values can be supplied directly.
|
|
16
|
+
* `layerPlatform` provides only the browser platform, while `layer` combines
|
|
17
|
+
* the platform with a `Spawner` that creates a worker endpoint for each worker
|
|
18
|
+
* id.
|
|
19
|
+
*
|
|
20
|
+
* **Common tasks**
|
|
21
|
+
*
|
|
22
|
+
* Use `layer` when parent code should both provide browser worker messaging and
|
|
23
|
+
* define how workers are spawned. Use `layerPlatform` when a spawner is already
|
|
24
|
+
* provided elsewhere. Return a `MessagePort` from the spawner for tests or
|
|
25
|
+
* custom channels, a `Worker` for dedicated workers, or a `SharedWorker` when
|
|
26
|
+
* multiple browser contexts should share one worker runtime.
|
|
27
|
+
*
|
|
28
|
+
* **Gotchas**
|
|
29
|
+
*
|
|
30
|
+
* Messages use the browser structured-clone algorithm, so payloads and transfer
|
|
31
|
+
* lists must be accepted by the target runtime. Transferring an `ArrayBuffer` or
|
|
32
|
+
* `MessagePort` moves ownership away from the sender. Scope finalization sends
|
|
33
|
+
* the worker close signal over the port, but code that created a dedicated
|
|
34
|
+
* `Worker` remains responsible for broader lifecycle concerns such as
|
|
20
35
|
* terminating it.
|
|
21
36
|
*
|
|
22
37
|
* @since 4.0.0
|
|
@@ -30,6 +45,23 @@ import { WorkerError, WorkerReceiveError } from "effect/unstable/workers/WorkerE
|
|
|
30
45
|
/**
|
|
31
46
|
* Creates browser worker layers by combining the default `WorkerPlatform` with a spawner for `Worker`, `SharedWorker`, or `MessagePort` instances.
|
|
32
47
|
*
|
|
48
|
+
* **When to use**
|
|
49
|
+
*
|
|
50
|
+
* Use when browser parent or client code needs both the browser
|
|
51
|
+
* `WorkerPlatform` and a `Spawner` from one layer.
|
|
52
|
+
*
|
|
53
|
+
* **Details**
|
|
54
|
+
*
|
|
55
|
+
* The `spawn` callback receives the numeric worker id and may return a
|
|
56
|
+
* `Worker`, `SharedWorker`, or `MessagePort`.
|
|
57
|
+
*
|
|
58
|
+
* **Gotchas**
|
|
59
|
+
*
|
|
60
|
+
* Scope finalization sends the worker close protocol over the port. Dedicated
|
|
61
|
+
* workers created by `spawn` are not terminated by this layer.
|
|
62
|
+
*
|
|
63
|
+
* @see {@link layerPlatform} for providing only the browser worker platform
|
|
64
|
+
*
|
|
33
65
|
* @category layers
|
|
34
66
|
* @since 4.0.0
|
|
35
67
|
*/
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,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;;;;;;;;;;;;;;;;;;;;;;;AAuBA,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":[]}
|
|
@@ -10,6 +10,25 @@ export declare const make: (self: MessagePort | Window) => WorkerRunner.WorkerRu
|
|
|
10
10
|
/**
|
|
11
11
|
* Layer that provides a browser `WorkerRunnerPlatform` using the global `self` worker context.
|
|
12
12
|
*
|
|
13
|
+
* **When to use**
|
|
14
|
+
*
|
|
15
|
+
* Use when a browser worker entry point uses the ambient `self` object as the
|
|
16
|
+
* worker transport.
|
|
17
|
+
*
|
|
18
|
+
* **Details**
|
|
19
|
+
*
|
|
20
|
+
* Delegates to `make(self)` and provides the runner-side platform used by
|
|
21
|
+
* protocols such as `RpcServer.layerProtocolWorkerRunner`.
|
|
22
|
+
*
|
|
23
|
+
* **Gotchas**
|
|
24
|
+
*
|
|
25
|
+
* This layer depends on the browser worker global `self`. Use
|
|
26
|
+
* `layerMessagePort` when the transport is an explicit `MessagePort` or
|
|
27
|
+
* `Window`.
|
|
28
|
+
*
|
|
29
|
+
* @see {@link make} for constructing a runner platform from an explicit endpoint
|
|
30
|
+
* @see {@link layerMessagePort} for providing a platform from an explicit endpoint
|
|
31
|
+
*
|
|
13
32
|
* @category layers
|
|
14
33
|
* @since 4.0.0
|
|
15
34
|
*/
|
|
@@ -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":"AAuCA,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;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;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,21 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Runner-side browser platform for Effect worker handlers.
|
|
3
3
|
*
|
|
4
|
-
* This module is
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* This module is for code already executing inside a browser worker, or for
|
|
5
|
+
* tests and adapters that pass a `MessagePort` or `Window` endpoint directly.
|
|
6
|
+
* It provides the `WorkerRunnerPlatform` used by `WorkerRunner` and protocols
|
|
7
|
+
* such as `RpcServer.layerProtocolWorkerRunner` to receive parent or client
|
|
8
|
+
* requests, run Effect handlers, and post responses back through the browser
|
|
9
|
+
* messaging channel.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* **Mental model**
|
|
12
|
+
*
|
|
13
|
+
* Dedicated workers use the ambient `self` endpoint. Shared workers receive one
|
|
14
|
+
* `MessagePort` per `onconnect` event, and this module caches ports that arrive
|
|
15
|
+
* before the runner layer starts. `layer` reads from the global worker `self`;
|
|
16
|
+
* `make` and `layerMessagePort` are for explicit endpoints supplied by tests,
|
|
17
|
+
* custom channels, or adapter code.
|
|
18
|
+
*
|
|
19
|
+
* **Common tasks**
|
|
20
|
+
*
|
|
21
|
+
* Pair this module with `BrowserWorker` in the parent page when moving RPC
|
|
12
22
|
* handlers, CPU-bound computations, or browser-only services into a dedicated
|
|
13
|
-
* worker or shared worker.
|
|
14
|
-
* `
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
23
|
+
* worker or shared worker. Use `layer` in normal worker entry points and
|
|
24
|
+
* `layerMessagePort` when a test or integration already owns the transport.
|
|
25
|
+
*
|
|
26
|
+
* **Gotchas**
|
|
27
|
+
*
|
|
28
|
+
* Payloads and transfer lists must satisfy the browser structured-clone
|
|
29
|
+
* algorithm. `messageerror` and `error` events fail the runner, and each
|
|
30
|
+
* connected `MessagePort` is closed when its scope finalizes.
|
|
19
31
|
*
|
|
20
32
|
* @since 4.0.0
|
|
21
33
|
*/
|
|
@@ -153,6 +165,25 @@ export const make = self => ({
|
|
|
153
165
|
/**
|
|
154
166
|
* Layer that provides a browser `WorkerRunnerPlatform` using the global `self` worker context.
|
|
155
167
|
*
|
|
168
|
+
* **When to use**
|
|
169
|
+
*
|
|
170
|
+
* Use when a browser worker entry point uses the ambient `self` object as the
|
|
171
|
+
* worker transport.
|
|
172
|
+
*
|
|
173
|
+
* **Details**
|
|
174
|
+
*
|
|
175
|
+
* Delegates to `make(self)` and provides the runner-side platform used by
|
|
176
|
+
* protocols such as `RpcServer.layerProtocolWorkerRunner`.
|
|
177
|
+
*
|
|
178
|
+
* **Gotchas**
|
|
179
|
+
*
|
|
180
|
+
* This layer depends on the browser worker global `self`. Use
|
|
181
|
+
* `layerMessagePort` when the transport is an explicit `MessagePort` or
|
|
182
|
+
* `Window`.
|
|
183
|
+
*
|
|
184
|
+
* @see {@link make} for constructing a runner platform from an explicit endpoint
|
|
185
|
+
* @see {@link layerMessagePort} for providing a platform from an explicit endpoint
|
|
186
|
+
*
|
|
156
187
|
* @category layers
|
|
157
188
|
* @since 4.0.0
|
|
158
189
|
*/
|
|
@@ -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":[]}
|