@effect/platform-browser 0.30.5 → 0.30.6

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.
@@ -42,7 +42,6 @@ const platformWorkerImpl = /*#__PURE__*/Worker.PlatformWorker.of({
42
42
  let port;
43
43
  if ("port" in worker) {
44
44
  port = worker.port;
45
- port.start();
46
45
  } else {
47
46
  port = worker;
48
47
  }
@@ -65,6 +64,10 @@ const platformWorkerImpl = /*#__PURE__*/Worker.PlatformWorker.of({
65
64
  port.removeEventListener("error", onError);
66
65
  });
67
66
  }), Effect.interruptible, Effect.forkScoped);
67
+ yield* _(Effect.yieldNow());
68
+ if ("start" in port) {
69
+ port.start();
70
+ }
68
71
  const send = (message, transfers) => Effect.try({
69
72
  try: () => port.postMessage([0, message], transfers),
70
73
  catch: error => new _WorkerError.WorkerError({
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","names":["Worker","_interopRequireWildcard","require","_WorkerError","Effect","Layer","Queue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","platformWorkerImpl","PlatformWorker","of","PlatformWorkerTypeId","spawn","worker_","gen","_","worker","port","start","addFinalizer","sync","postMessage","queue","unbounded","fiber","async","resume","onMessage","event","unsafeOffer","data","onError","WorkerError","reason","error","message","addEventListener","removeEventListener","interruptible","forkScoped","send","transfers","try","catch","layerWorker","exports","succeed","layerManager","provide","layer","merge","layerSpawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","names":["Worker","_interopRequireWildcard","require","_WorkerError","Effect","Layer","Queue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","platformWorkerImpl","PlatformWorker","of","PlatformWorkerTypeId","spawn","worker_","gen","_","worker","port","addFinalizer","sync","postMessage","queue","unbounded","fiber","async","resume","onMessage","event","unsafeOffer","data","onError","WorkerError","reason","error","message","addEventListener","removeEventListener","interruptible","forkScoped","yieldNow","start","send","transfers","try","catch","layerWorker","exports","succeed","layerManager","provide","layer","merge","layerSpawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -17,5 +17,5 @@ export declare const layerWorker: Layer.Layer<Worker.PlatformWorker>;
17
17
  * @since 1.0.0
18
18
  * @category layers
19
19
  */
20
- export declare const layer: (spawn: Worker.SpawnerFn<Worker | SharedWorker>) => Layer.Layer<Worker.WorkerManager | Worker.Spawner, never, never>;
20
+ export declare const layer: (spawn: (id: number) => Worker | SharedWorker | MessagePort) => Layer.Layer<Worker.WorkerManager | Worker.Spawner, never, never>;
21
21
  //# sourceMappingURL=BrowserWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWorker.d.ts","sourceRoot":"","sources":["../../src/BrowserWorker.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAyB,CAAA;AAEpF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAwB,CAAA;AAEnF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,KAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAkB,CAAA"}
1
+ {"version":3,"file":"BrowserWorker.d.ts","sourceRoot":"","sources":["../../src/BrowserWorker.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAyB,CAAA;AAEpF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAwB,CAAA;AAEnF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,YAAY,GAAG,WAAW,KACvD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAkB,CAAA"}
@@ -11,7 +11,6 @@ const platformWorkerImpl = /*#__PURE__*/Worker.PlatformWorker.of({
11
11
  let port;
12
12
  if ("port" in worker) {
13
13
  port = worker.port;
14
- port.start();
15
14
  } else {
16
15
  port = worker;
17
16
  }
@@ -34,6 +33,10 @@ const platformWorkerImpl = /*#__PURE__*/Worker.PlatformWorker.of({
34
33
  port.removeEventListener("error", onError);
35
34
  });
36
35
  }), Effect.interruptible, Effect.forkScoped);
36
+ yield* _(Effect.yieldNow());
37
+ if ("start" in port) {
38
+ port.start();
39
+ }
37
40
  const send = (message, transfers) => Effect.try({
38
41
  try: () => port.postMessage([0, message], transfers),
39
42
  catch: error => new WorkerError({
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","names":["Worker","WorkerError","Effect","Layer","Queue","platformWorkerImpl","PlatformWorker","of","PlatformWorkerTypeId","spawn","worker_","gen","_","worker","port","start","addFinalizer","sync","postMessage","queue","unbounded","fiber","async","resume","onMessage","event","unsafeOffer","data","onError","reason","error","message","addEventListener","removeEventListener","interruptible","forkScoped","send","transfers","try","catch","layerWorker","succeed","layerManager","provide","layer","merge","layerSpawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","names":["Worker","WorkerError","Effect","Layer","Queue","platformWorkerImpl","PlatformWorker","of","PlatformWorkerTypeId","spawn","worker_","gen","_","worker","port","addFinalizer","sync","postMessage","queue","unbounded","fiber","async","resume","onMessage","event","unsafeOffer","data","onError","reason","error","message","addEventListener","removeEventListener","interruptible","forkScoped","yieldNow","start","send","transfers","try","catch","layerWorker","succeed","layerManager","provide","layer","merge","layerSpawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,19 +1,20 @@
1
1
  {
2
2
  "name": "@effect/platform-browser",
3
- "version": "0.30.5",
3
+ "version": "0.30.6",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/effect-ts/effect.git"
8
+ "url": "https://github.com/effect-ts/effect.git",
9
+ "directory": "packages/platform-browser"
9
10
  },
10
11
  "sideEffects": [],
11
12
  "dependencies": {
12
13
  "multipasta": "^0.1.21"
13
14
  },
14
15
  "peerDependencies": {
15
- "@effect/platform": "^0.45.5",
16
- "effect": "^2.3.7"
16
+ "@effect/platform": "^0.45.6",
17
+ "effect": "^2.3.8"
17
18
  },
18
19
  "main": "./dist/cjs/index.js",
19
20
  "module": "./dist/esm/index.js",
@@ -21,5 +21,5 @@ export const layerWorker: Layer.Layer<Worker.PlatformWorker> = internal.layerWor
21
21
  * @category layers
22
22
  */
23
23
  export const layer: (
24
- spawn: Worker.SpawnerFn<Worker | SharedWorker>
24
+ spawn: (id: number) => Worker | SharedWorker | MessagePort
25
25
  ) => Layer.Layer<Worker.WorkerManager | Worker.Spawner, never, never> = internal.layer
@@ -8,11 +8,10 @@ const platformWorkerImpl = Worker.PlatformWorker.of({
8
8
  [Worker.PlatformWorkerTypeId]: Worker.PlatformWorkerTypeId,
9
9
  spawn<I, O>(worker_: unknown) {
10
10
  return Effect.gen(function*(_) {
11
- const worker = worker_ as globalThis.SharedWorker | globalThis.Worker
11
+ const worker = worker_ as globalThis.SharedWorker | globalThis.Worker | MessagePort
12
12
  let port: globalThis.Worker | MessagePort
13
13
  if ("port" in worker) {
14
14
  port = worker.port
15
- port.start()
16
15
  } else {
17
16
  port = worker
18
17
  }
@@ -39,6 +38,11 @@ const platformWorkerImpl = Worker.PlatformWorker.of({
39
38
  Effect.interruptible,
40
39
  Effect.forkScoped
41
40
  )
41
+ yield* _(Effect.yieldNow())
42
+
43
+ if ("start" in port) {
44
+ port.start()
45
+ }
42
46
 
43
47
  const send = (message: I, transfers?: ReadonlyArray<unknown>) =>
44
48
  Effect.try({
@@ -58,8 +62,5 @@ export const layerWorker = Layer.succeed(Worker.PlatformWorker, platformWorkerIm
58
62
  export const layerManager = Layer.provide(Worker.layerManager, layerWorker)
59
63
 
60
64
  /** @internal */
61
- export const layer = (spawn: (id: number) => globalThis.Worker | globalThis.SharedWorker) =>
62
- Layer.merge(
63
- layerManager,
64
- Worker.layerSpawner(spawn)
65
- )
65
+ export const layer = (spawn: (id: number) => globalThis.Worker | globalThis.SharedWorker | MessagePort) =>
66
+ Layer.merge(layerManager, Worker.layerSpawner(spawn))