@effect/platform 0.50.3 → 0.50.4
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.
|
@@ -68,8 +68,8 @@ const WorkerManager = exports.WorkerManager = /*#__PURE__*/Context.GenericTag("@
|
|
|
68
68
|
/** @internal */
|
|
69
69
|
const Spawner = exports.Spawner = /*#__PURE__*/Context.GenericTag("@effect/platform/Worker/Spawner");
|
|
70
70
|
/** @internal */
|
|
71
|
-
const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* (
|
|
72
|
-
const platform = yield*
|
|
71
|
+
const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
72
|
+
const platform = yield* PlatformWorker;
|
|
73
73
|
let idCounter = 0;
|
|
74
74
|
return WorkerManager.of({
|
|
75
75
|
[WorkerManagerTypeId]: WorkerManagerTypeId,
|
|
@@ -80,20 +80,20 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* (_)
|
|
|
80
80
|
queue,
|
|
81
81
|
transfers = _ => []
|
|
82
82
|
}) {
|
|
83
|
-
return Effect.gen(function* (
|
|
84
|
-
const spawn = yield*
|
|
83
|
+
return Effect.gen(function* () {
|
|
84
|
+
const spawn = yield* Spawner;
|
|
85
85
|
const id = idCounter++;
|
|
86
86
|
let requestIdCounter = 0;
|
|
87
|
-
const semaphore = yield*
|
|
87
|
+
const semaphore = yield* Effect.makeSemaphore(permits);
|
|
88
88
|
const requestMap = new Map();
|
|
89
|
-
const sendQueue = yield*
|
|
89
|
+
const sendQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
|
|
90
90
|
const collector = Transferable.unsafeMakeCollector();
|
|
91
91
|
const wrappedEncode = encode ? message => Effect.zipRight(collector.clear, Effect.provideService(encode(message), Transferable.Collector, collector)) : Effect.succeed;
|
|
92
|
-
const outbound = queue ?? (yield*
|
|
93
|
-
yield
|
|
94
|
-
yield
|
|
95
|
-
const readyLatch = yield*
|
|
96
|
-
const backing = yield*
|
|
92
|
+
const outbound = queue ?? (yield* defaultQueue());
|
|
93
|
+
yield Effect.addFinalizer(() => outbound.shutdown);
|
|
94
|
+
yield Effect.gen(function* () {
|
|
95
|
+
const readyLatch = yield* Deferred.make();
|
|
96
|
+
const backing = yield* platform.spawn(spawn(id));
|
|
97
97
|
const send = (0, _Function.pipe)(sendQueue.take, Effect.flatMap(([message, transfers]) => backing.send(message, transfers)), Effect.forever);
|
|
98
98
|
const take = (0, _Function.pipe)(Queue.take(backing.queue), Effect.flatMap(msg => {
|
|
99
99
|
if (msg[0] === 0) {
|
|
@@ -101,16 +101,16 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* (_)
|
|
|
101
101
|
}
|
|
102
102
|
return handleMessage(msg[1]);
|
|
103
103
|
}), Effect.forever);
|
|
104
|
-
return yield*
|
|
104
|
+
return yield* Effect.all([Fiber.join(backing.fiber), Effect.zipRight(Deferred.await(readyLatch), send), take], {
|
|
105
105
|
concurrency: "unbounded"
|
|
106
|
-
})
|
|
107
|
-
})
|
|
106
|
+
});
|
|
107
|
+
}).pipe(Effect.scoped, Effect.onError(cause => Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(cause)))), Effect.retry(Schedule.exponential("250 millis").pipe(Schedule.union(Schedule.spaced("30 seconds")))), Effect.annotateLogs({
|
|
108
108
|
package: "@effect/platform",
|
|
109
109
|
module: "Worker"
|
|
110
110
|
}), Effect.interruptible, Effect.forkScoped);
|
|
111
|
-
yield
|
|
111
|
+
yield Effect.addFinalizer(() => Effect.zipRight(Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(Cause.empty)), {
|
|
112
112
|
discard: true
|
|
113
|
-
}), Effect.sync(() => requestMap.clear())))
|
|
113
|
+
}), Effect.sync(() => requestMap.clear())));
|
|
114
114
|
const handleMessage = response => Effect.suspend(() => {
|
|
115
115
|
const queue = requestMap.get(response[0]);
|
|
116
116
|
if (!queue) return Effect.void;
|
|
@@ -149,7 +149,7 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* (_)
|
|
|
149
149
|
return Stream.fromChannel(loop);
|
|
150
150
|
});
|
|
151
151
|
const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.flatMap(Queue.take(queue), Exit.map(Arr.unsafeGet(0))), executeRelease);
|
|
152
|
-
yield
|
|
152
|
+
yield semaphore.take(1).pipe(Effect.zipRight(outbound.take), Effect.flatMap(([id, request, span]) => (0, _Function.pipe)(Effect.suspend(() => {
|
|
153
153
|
const result = requestMap.get(id);
|
|
154
154
|
if (!result) return Effect.void;
|
|
155
155
|
const transferables = transfers(request);
|
|
@@ -157,7 +157,7 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* (_)
|
|
|
157
157
|
return (0, _Function.pipe)(Effect.flatMap(wrappedEncode(request), payload => sendQueue.offer([[id, 0, payload, spanTuple], [...transferables, ...collector.unsafeRead()]])), Effect.catchAllCause(cause => Queue.offer(result[0], Exit.failCause(cause))), Effect.zipRight(Deferred.await(result[1])));
|
|
158
158
|
}), Effect.ensuring(semaphore.release(1)), Effect.fork)), Effect.forever, Effect.interruptible, Effect.forkScoped);
|
|
159
159
|
if (initialMessage) {
|
|
160
|
-
yield
|
|
160
|
+
yield Effect.sync(initialMessage).pipe(Effect.flatMap(executeEffect), Effect.mapError(error => new _WorkerError.WorkerError({
|
|
161
161
|
reason: "spawn",
|
|
162
162
|
error
|
|
163
163
|
})));
|
|
@@ -174,11 +174,11 @@ const makeManager = exports.makeManager = /*#__PURE__*/Effect.gen(function* (_)
|
|
|
174
174
|
/** @internal */
|
|
175
175
|
const layerManager = exports.layerManager = /*#__PURE__*/Layer.effect(WorkerManager, makeManager);
|
|
176
176
|
/** @internal */
|
|
177
|
-
const makePool = options => Effect.gen(function* (
|
|
178
|
-
const manager = yield*
|
|
177
|
+
const makePool = options => Effect.gen(function* () {
|
|
178
|
+
const manager = yield* WorkerManager;
|
|
179
179
|
const workers = new Set();
|
|
180
180
|
const acquire = (0, _Function.pipe)(manager.spawn(options), Effect.tap(worker => Effect.sync(() => workers.add(worker))), Effect.tap(worker => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))), options.onCreate ? Effect.tap(options.onCreate) : _Function.identity);
|
|
181
|
-
const backing = yield*
|
|
181
|
+
const backing = yield* "timeToLive" in options ? Pool.makeWithTTL({
|
|
182
182
|
acquire,
|
|
183
183
|
min: options.minSize,
|
|
184
184
|
max: options.maxSize,
|
|
@@ -186,7 +186,7 @@ const makePool = options => Effect.gen(function* (_) {
|
|
|
186
186
|
}) : Pool.make({
|
|
187
187
|
acquire,
|
|
188
188
|
size: options.size
|
|
189
|
-
})
|
|
189
|
+
});
|
|
190
190
|
const pool = {
|
|
191
191
|
backing,
|
|
192
192
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
@@ -203,9 +203,9 @@ exports.makePool = makePool;
|
|
|
203
203
|
const makePoolLayer = (tag, options) => Layer.scoped(tag, makePool(options));
|
|
204
204
|
/** @internal */
|
|
205
205
|
exports.makePoolLayer = makePoolLayer;
|
|
206
|
-
const makeSerialized = options => Effect.gen(function* (
|
|
207
|
-
const manager = yield*
|
|
208
|
-
const backing = yield*
|
|
206
|
+
const makeSerialized = options => Effect.gen(function* () {
|
|
207
|
+
const manager = yield* WorkerManager;
|
|
208
|
+
const backing = yield* manager.spawn({
|
|
209
209
|
...options,
|
|
210
210
|
encode(message) {
|
|
211
211
|
return Effect.mapError(Serializable.serialize(message), error => new _WorkerError.WorkerError({
|
|
@@ -213,7 +213,7 @@ const makeSerialized = options => Effect.gen(function* (_) {
|
|
|
213
213
|
error
|
|
214
214
|
}));
|
|
215
215
|
}
|
|
216
|
-
})
|
|
216
|
+
});
|
|
217
217
|
const execute = message => {
|
|
218
218
|
const parseSuccess = Schema.decode(Serializable.successSchema(message));
|
|
219
219
|
const parseFailure = Schema.decode(Serializable.failureSchema(message));
|
|
@@ -235,11 +235,11 @@ const makeSerialized = options => Effect.gen(function* (_) {
|
|
|
235
235
|
});
|
|
236
236
|
/** @internal */
|
|
237
237
|
exports.makeSerialized = makeSerialized;
|
|
238
|
-
const makePoolSerialized = options => Effect.gen(function* (
|
|
239
|
-
const manager = yield*
|
|
238
|
+
const makePoolSerialized = options => Effect.gen(function* () {
|
|
239
|
+
const manager = yield* WorkerManager;
|
|
240
240
|
const workers = new Set();
|
|
241
241
|
const acquire = (0, _Function.pipe)(makeSerialized(options), Effect.tap(worker => Effect.sync(() => workers.add(worker))), Effect.tap(worker => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))), options.onCreate ? Effect.tap(options.onCreate) : _Function.identity, Effect.provideService(WorkerManager, manager));
|
|
242
|
-
const backing = yield*
|
|
242
|
+
const backing = yield* "timeToLive" in options ? Pool.makeWithTTL({
|
|
243
243
|
acquire,
|
|
244
244
|
min: options.minSize,
|
|
245
245
|
max: options.maxSize,
|
|
@@ -247,7 +247,7 @@ const makePoolSerialized = options => Effect.gen(function* (_) {
|
|
|
247
247
|
}) : Pool.make({
|
|
248
248
|
acquire,
|
|
249
249
|
size: options.size
|
|
250
|
-
})
|
|
250
|
+
});
|
|
251
251
|
const pool = {
|
|
252
252
|
backing,
|
|
253
253
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Schema","_interopRequireWildcard","require","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","_Function","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","_WorkerError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","exports","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","_","platform","idCounter","of","spawn","encode","initialMessage","permits","transfers","requestIdCounter","semaphore","makeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","pipe","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","exponential","union","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","length","fail","WorkerError","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","ensuring","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","identity","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","unwrap","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Schema","_interopRequireWildcard","require","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","_Function","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","_WorkerError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","exports","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","permits","transfers","_","requestIdCounter","semaphore","makeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","pipe","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","exponential","union","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","length","fail","WorkerError","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","ensuring","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","identity","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","unwrap","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,YAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,GAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,OAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,KAAA,gBAAAN,uBAAA,eAAAC,OAAA;AACA,IAAAM,OAAA,gBAAAP,uBAAA,eAAAC,OAAA;AACA,IAAAO,QAAA,gBAAAR,uBAAA,eAAAC,OAAA;AACA,IAAAQ,MAAA,gBAAAT,uBAAA,eAAAC,OAAA;AACA,IAAAS,IAAA,gBAAAV,uBAAA,eAAAC,OAAA;AACA,IAAAU,KAAA,gBAAAX,uBAAA,eAAAC,OAAA;AACA,IAAAW,SAAA,gBAAAX,OAAA;AACA,IAAAY,KAAA,gBAAAb,uBAAA,eAAAC,OAAA;AACA,IAAAa,MAAA,gBAAAd,uBAAA,eAAAC,OAAA;AACA,IAAAc,IAAA,gBAAAf,uBAAA,eAAAC,OAAA;AACA,IAAAe,KAAA,gBAAAhB,uBAAA,eAAAC,OAAA;AACA,IAAAgB,QAAA,gBAAAjB,uBAAA,eAAAC,OAAA;AAEA,IAAAiB,MAAA,gBAAAlB,uBAAA,eAAAC,OAAA;AACA,IAAAkB,MAAA,gBAAAnB,uBAAA,eAAAC,OAAA;AACA,IAAAmB,YAAA,gBAAApB,uBAAA,eAAAC,OAAA;AAEA,IAAAoB,YAAA,gBAAApB,OAAA;AAA+C,SAAAqB,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAvB,wBAAAuB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAE/C;AACO,MAAMW,YAAY,GAAGA,CAAA,KAC1BjC,MAAM,CAACkC,GAAG,CACR3B,KAAK,CAAC4B,SAAS,EAAoE,EAClFC,KAAK,KAA6B;EACjCC,KAAK,EAAEA,CAACC,EAAE,EAAEC,IAAI,EAAEC,IAAI,KAAKjC,KAAK,CAAC8B,KAAK,CAACD,KAAK,EAAE,CAACE,EAAE,EAAEC,IAAI,EAAEC,IAAI,CAAC,CAAC;EAC/DC,IAAI,EAAElC,KAAK,CAACkC,IAAI,CAACL,KAAK,CAAC;EACvBM,QAAQ,EAAEnC,KAAK,CAACmC,QAAQ,CAACN,KAAK;CAC/B,CAAC,CACH;AAEH;AAAAO,OAAA,CAAAV,YAAA,GAAAA,YAAA;AACO,MAAMW,oBAAoB,GAAAD,OAAA,CAAAC,oBAAA,gBAAgCC,MAAM,CAACC,GAAG,CACzE,wCAAwC,CACV;AAEhC;AACO,MAAMC,cAAc,GAAAJ,OAAA,CAAAI,cAAA,gBAAGjD,OAAO,CAACkD,UAAU,CAC9C,wCAAwC,CACzC;AAED;AACO,MAAMC,mBAAmB,GAAAN,OAAA,CAAAM,mBAAA,gBAA+BJ,MAAM,CAACC,GAAG,CACvE,uCAAuC,CACV;AAE/B;AACO,MAAMI,aAAa,GAAAP,OAAA,CAAAO,aAAA,gBAAGpD,OAAO,CAACkD,UAAU,CAC7C,uCAAuC,CACxC;AAED;AACO,MAAMG,OAAO,GAAAR,OAAA,CAAAQ,OAAA,gBAAGrD,OAAO,CAACkD,UAAU,CACvC,iCAAiC,CAClC;AAED;AACO,MAAMI,WAAW,GAAAT,OAAA,CAAAS,WAAA,gBAAGpD,MAAM,CAACqD,GAAG,CAAC,aAAS;EAC7C,MAAMC,QAAQ,GAAG,OAAOP,cAAc;EACtC,IAAIQ,SAAS,GAAG,CAAC;EACjB,OAAOL,aAAa,CAACM,EAAE,CAAC;IACtB,CAACP,mBAAmB,GAAGA,mBAAmB;IAC1CQ,KAAKA,CAAU;MACbC,MAAM;MACNC,cAAc;MACdC,OAAO,GAAG,CAAC;MACXxB,KAAK;MACLyB,SAAS,GAAIC,CAAC,IAAK;IAAE,CACI;MACzB,OAAO9D,MAAM,CAACqD,GAAG,CAAC,aAAS;QACzB,MAAMI,KAAK,GAAG,OAAON,OAAO;QAC5B,MAAMb,EAAE,GAAGiB,SAAS,EAAE;QACtB,IAAIQ,gBAAgB,GAAG,CAAC;QACxB,MAAMC,SAAS,GAAG,OAAOhE,MAAM,CAACiE,aAAa,CAACL,OAAO,CAAC;QACtD,MAAMM,UAAU,GAAG,IAAIC,GAAG,EAGvB;QACH,MAAMC,SAAS,GAAG,OAAOpE,MAAM,CAACqE,cAAc,CAC5C9D,KAAK,CAAC4B,SAAS,EAAiF,EAChG5B,KAAK,CAACmC,QAAQ,CACf;QAED,MAAM4B,SAAS,GAAG3D,YAAY,CAAC4D,mBAAmB,EAAE;QACpD,MAAMC,aAAa,GAAGd,MAAM,GACxBe,OAAU,IACVzE,MAAM,CAAC0E,QAAQ,CACbJ,SAAS,CAACK,KAAK,EACf3E,MAAM,CAAC4E,cAAc,CAAClB,MAAM,CAACe,OAAO,CAAC,EAAE9D,YAAY,CAACkE,SAAS,EAAEP,SAAS,CAAC,CAC1E,GACHtE,MAAM,CAAC8E,OAAO;QAEhB,MAAMC,QAAQ,GAAG3C,KAAK,KAAK,OAAOH,YAAY,EAAK,CAAC;QACpD,MAAMjC,MAAM,CAACgF,YAAY,CAAC,MAAMD,QAAQ,CAACrC,QAAQ,CAAC;QAElD,MAAM1C,MAAM,CAACqD,GAAG,CAAC,aAAS;UACxB,MAAM4B,UAAU,GAAG,OAAOlF,QAAQ,CAACmF,IAAI,EAAQ;UAC/C,MAAMC,OAAO,GAAG,OAAO7B,QAAQ,CAACG,KAAK,CAAsDA,KAAK,CAACnB,EAAE,CAAC,CAAC;UACrG,MAAM8C,IAAI,GAAG,IAAAjF,SAAA,CAAAkF,IAAI,EACfjB,SAAS,CAAC3B,IAAI,EACdzC,MAAM,CAACsF,OAAO,CAAC,CAAC,CAACb,OAAO,EAAEZ,SAAS,CAAC,KAAKsB,OAAO,CAACC,IAAI,CAACX,OAAO,EAAEZ,SAAS,CAAC,CAAC,EAC1E7D,MAAM,CAACuF,OAAO,CACf;UACD,MAAM9C,IAAI,GAAG,IAAAtC,SAAA,CAAAkF,IAAI,EACf9E,KAAK,CAACkC,IAAI,CAAC0C,OAAO,CAAC/C,KAAK,CAAC,EACzBpC,MAAM,CAACsF,OAAO,CAAEE,GAAG,IAAI;YACrB,IAAIA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;cAChB,OAAOzF,QAAQ,CAAC0F,QAAQ,CAACR,UAAU,EAAEjF,MAAM,CAAC0F,IAAI,CAAC;YACnD;YACA,OAAOC,aAAa,CAACH,GAAG,CAAC,CAAC,CAAC,CAAC;UAC9B,CAAC,CAAC,EACFxF,MAAM,CAACuF,OAAO,CACf;UACD,OAAO,OAAOvF,MAAM,CAAC4F,GAAG,CAAC,CACvB1F,KAAK,CAAC2F,IAAI,CAACV,OAAO,CAACW,KAAK,CAAC,EACzB9F,MAAM,CAAC0E,QAAQ,CAAC3E,QAAQ,CAACgG,KAAK,CAACd,UAAU,CAAC,EAAEG,IAAI,CAAC,EACjD3C,IAAI,CACL,EAAE;YAAEuD,WAAW,EAAE;UAAW,CAAE,CAAC;QAClC,CAAC,CAAC,CAACX,IAAI,CACLrF,MAAM,CAACiG,MAAM,EACbjG,MAAM,CAACkG,OAAO,CAAEC,KAAK,IACnBnG,MAAM,CAACoG,OAAO,CAAClC,UAAU,CAACmC,MAAM,EAAE,EAAE,CAAC,CAACjE,KAAK,CAAC,KAAK7B,KAAK,CAAC8B,KAAK,CAACD,KAAK,EAAEnC,IAAI,CAACqG,SAAS,CAACH,KAAK,CAAC,CAAC,CAAC,CAC5F,EACDnG,MAAM,CAACuG,KAAK,CACV/F,QAAQ,CAACgG,WAAW,CAAC,YAAY,CAAC,CAACnB,IAAI,CACrC7E,QAAQ,CAACiG,KAAK,CAACjG,QAAQ,CAACkG,MAAM,CAAC,YAAY,CAAC,CAAC,CAC9C,CACF,EACD1G,MAAM,CAAC2G,YAAY,CAAC;UAClBC,OAAO,EAAE,kBAAkB;UAC3BC,MAAM,EAAE;SACT,CAAC,EACF7G,MAAM,CAAC8G,aAAa,EACpB9G,MAAM,CAAC+G,UAAU,CAClB;QAED,MAAM/G,MAAM,CAACgF,YAAY,CAAC,MACxBhF,MAAM,CAAC0E,QAAQ,CACb1E,MAAM,CAACoG,OAAO,CAAClC,UAAU,CAACmC,MAAM,EAAE,EAAE,CAAC,CAACjE,KAAK,CAAC,KAAK7B,KAAK,CAAC8B,KAAK,CAACD,KAAK,EAAEnC,IAAI,CAACqG,SAAS,CAAC3G,KAAK,CAACqH,KAAK,CAAC,CAAC,EAAE;UAChGC,OAAO,EAAE;SACV,CAAC,EACFjH,MAAM,CAACkH,IAAI,CAAC,MAAMhD,UAAU,CAACS,KAAK,EAAE,CAAC,CACtC,CACF;QAED,MAAMgB,aAAa,GAAIwB,QAAsC,IAC3DnH,MAAM,CAACoH,OAAO,CAAC,MAAK;UAClB,MAAMhF,KAAK,GAAG8B,UAAU,CAAC7C,GAAG,CAAC8F,QAAQ,CAAC,CAAC,CAAC,CAAC;UACzC,IAAI,CAAC/E,KAAK,EAAE,OAAOpC,MAAM,CAAC0F,IAAI;UAE9B,QAAQyB,QAAQ,CAAC,CAAC,CAAC;YACjB;YACA,KAAK,CAAC;cAAE;gBACN,OAAO5G,KAAK,CAAC8B,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEnC,IAAI,CAAC6E,OAAO,CAACqC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;cACzD;YACA;YACA,KAAK,CAAC;cAAE;gBACN,OAAOA,QAAQ,CAACE,MAAM,KAAK,CAAC,GAC1B9G,KAAK,CAAC8B,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEnC,IAAI,CAACqG,SAAS,CAAC3G,KAAK,CAACqH,KAAK,CAAC,CAAC,GAClDhH,MAAM,CAAC0E,QAAQ,CACbnE,KAAK,CAAC8B,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEnC,IAAI,CAAC6E,OAAO,CAACqC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAChD5G,KAAK,CAAC8B,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEnC,IAAI,CAACqG,SAAS,CAAC3G,KAAK,CAACqH,KAAK,CAAC,CAAC,CACnD;cACL;YACA;YACA,KAAK,CAAC;YACN,KAAK,CAAC;cAAE;gBACN,OAAOzG,KAAK,CAAC8B,KAAK,CAChBD,KAAK,CAAC,CAAC,CAAC,EACR+E,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GACblH,IAAI,CAACqH,IAAI,CAACH,QAAQ,CAAC,CAAC,CAAC,CAAC,GACtBlH,IAAI,CAACqG,SAAS,CAAC1F,YAAA,CAAA2G,WAAW,CAACC,WAAW,CAACL,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD;cACH;UACF;QACF,CAAC,CAAC;QAEJ,MAAMM,cAAc,GAAIC,OAAU,IAChC1H,MAAM,CAAC2H,GAAG,CACR3H,MAAM,CAAC4F,GAAG,CAAC,CACT5F,MAAM,CAACkH,IAAI,CAAC,MAAMnD,gBAAgB,EAAE,CAAC,EACrCxD,KAAK,CAAC4B,SAAS,EAAgD,EAC/DpC,QAAQ,CAACmF,IAAI,EAAQ,EACrBlF,MAAM,CAACkC,GAAG,CACRlC,MAAM,CAAC4H,aAAa,CAAClH,MAAM,CAACmH,UAAU,CAAC,EACvCxH,MAAM,CAACyH,MAAM,CAAEtF,IAAI,IAA0BA,IAAI,CAACuF,IAAI,KAAK,MAAM,CAAC,CACnE,CACF,CAAC,EACF,CAAC,CAACzF,EAAE,EAAEF,KAAK,EAAE4F,QAAQ,EAAExF,IAAI,CAAC,KAC1BxC,MAAM,CAACoH,OAAO,CAAC,MAAK;UAClBlD,UAAU,CAAClC,GAAG,CAACM,EAAE,EAAE,CAACF,KAAK,EAAE4F,QAAQ,CAAC,CAAC;UACrC,OAAOjD,QAAQ,CAAC1C,KAAK,CAACC,EAAE,EAAEoF,OAAO,EAAElF,IAAI,CAAC;QAC1C,CAAC,CAAC,CACL;QAEH,MAAMyF,cAAc,GAAGA,CACrB,CAAC3F,EAAE,GAAI0F,QAAQ,CAKd,EACDE,IAAiC,KAC/B;UACF,MAAMC,OAAO,GAAGnI,MAAM,CAAC0E,QAAQ,CAC7B3E,QAAQ,CAAC0F,QAAQ,CAACuC,QAAQ,EAAEhI,MAAM,CAAC0F,IAAI,CAAC,EACxC1F,MAAM,CAACkH,IAAI,CAAC,MAAMhD,UAAU,CAACkE,MAAM,CAAC9F,EAAE,CAAC,CAAC,CACzC;UACD,OAAOrC,IAAI,CAACoI,SAAS,CAACH,IAAI,CAAC,GACzBlI,MAAM,CAAC0E,QAAQ,CAACN,SAAS,CAAC/B,KAAK,CAAC,CAAC,CAACC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE6F,OAAO,CAAC,GACpDA,OAAO;QACX,CAAC;QAED,MAAMG,OAAO,GAAIZ,OAAU,IACzBjH,MAAM,CAAC6E,OAAO,CACZ7E,MAAM,CAAC4D,cAAc,CACnBoD,cAAc,CAACC,OAAO,CAAC,EACvBO,cAAc,CACf,EACD,CAAC,GAAG7F,KAAK,CAAC,KAAI;UACZ,MAAMmG,IAAI,GAAsF3I,OAAO,CACpG0F,OAAO,CACN/E,KAAK,CAACkC,IAAI,CAACL,KAAK,CAAC,EACjBnC,IAAI,CAACuI,KAAK,CAAC;YACTC,SAAS,EAAGtC,KAAK,IAAKxG,KAAK,CAAC+I,OAAO,CAACvC,KAAK,CAAC,GAAGvG,OAAO,CAAC8F,IAAI,GAAG9F,OAAO,CAAC0G,SAAS,CAACH,KAAK,CAAC;YACpFwC,SAAS,EAAGC,KAAK,IAAKhJ,OAAO,CAAC0F,OAAO,CAAC1F,OAAO,CAACiJ,KAAK,CAAChJ,KAAK,CAACiJ,eAAe,CAACF,KAAK,CAAC,CAAC,EAAE,MAAML,IAAI;WAC9F,CAAC,CACH;UACH,OAAO9H,MAAM,CAACsI,WAAW,CAACR,IAAI,CAAC;QACjC,CAAC,CACF;QAEH,MAAMS,aAAa,GAAItB,OAAU,IAC/B1H,MAAM,CAACiJ,iBAAiB,CACtBxB,cAAc,CAACC,OAAO,CAAC,EACvB,CAAC,GAAGtF,KAAK,CAAC,KAAKpC,MAAM,CAACsF,OAAO,CAAC/E,KAAK,CAACkC,IAAI,CAACL,KAAK,CAAC,EAAEnC,IAAI,CAACiC,GAAG,CAACxC,GAAG,CAACwJ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5EjB,cAAc,CACf;QAEH,MAAMjE,SAAS,CAACvB,IAAI,CAAC,CAAC,CAAC,CAAC4C,IAAI,CAC1BrF,MAAM,CAAC0E,QAAQ,CAACK,QAAQ,CAACtC,IAAI,CAAC,EAC9BzC,MAAM,CAACsF,OAAO,CAAC,CAAC,CAAChD,EAAE,EAAEoF,OAAO,EAAElF,IAAI,CAAC,KACjC,IAAArC,SAAA,CAAAkF,IAAI,EACFrF,MAAM,CAACoH,OAAO,CAAC,MAAK;UAClB,MAAM+B,MAAM,GAAGjF,UAAU,CAAC7C,GAAG,CAACiB,EAAE,CAAC;UACjC,IAAI,CAAC6G,MAAM,EAAE,OAAOnJ,MAAM,CAAC0F,IAAI;UAC/B,MAAM0D,aAAa,GAAGvF,SAAS,CAAC6D,OAAO,CAAC;UACxC,MAAM2B,SAAS,GAAGhJ,MAAM,CAACiJ,cAAc,CACrCjJ,MAAM,CAAC6B,GAAG,CAACM,IAAI,EAAGA,IAAI,IAAK,CAACA,IAAI,CAAC+G,OAAO,EAAE/G,IAAI,CAACgH,MAAM,EAAEhH,IAAI,CAACiH,OAAO,CAAU,CAAC,CAC/E;UACD,OAAO,IAAAtJ,SAAA,CAAAkF,IAAI,EACTrF,MAAM,CAACsF,OAAO,CACZd,aAAa,CAACkD,OAAO,CAAC,EACrBgC,OAAO,IACNtF,SAAS,CAAC/B,KAAK,CAAC,CAAC,CAACC,EAAE,EAAE,CAAC,EAAEoH,OAAO,EAAEL,SAAS,CAAC,EAAE,CAC5C,GAAGD,aAAa,EAChB,GAAG9E,SAAS,CAACqF,UAAU,EAAE,CAC1B,CAAC,CAAC,CACN,EACD3J,MAAM,CAAC4J,aAAa,CAAEzD,KAAK,IAAK5F,KAAK,CAAC8B,KAAK,CAAC8G,MAAM,CAAC,CAAC,CAAC,EAAElJ,IAAI,CAACqG,SAAS,CAACH,KAAK,CAAC,CAAC,CAAC,EAC9EnG,MAAM,CAAC0E,QAAQ,CAAC3E,QAAQ,CAACgG,KAAK,CAACoD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3C;QACH,CAAC,CAAC,EACFnJ,MAAM,CAAC6J,QAAQ,CAAC7F,SAAS,CAACmE,OAAO,CAAC,CAAC,CAAC,CAAC,EACrCnI,MAAM,CAAC8J,IAAI,CACZ,CACF,EACD9J,MAAM,CAACuF,OAAO,EACdvF,MAAM,CAAC8G,aAAa,EACpB9G,MAAM,CAAC+G,UAAU,CAClB;QAED,IAAIpD,cAAc,EAAE;UAClB,MAAM3D,MAAM,CAACkH,IAAI,CAACvD,cAAc,CAAC,CAAC0B,IAAI,CACpCrF,MAAM,CAACsF,OAAO,CAAC0D,aAAa,CAAC,EAC7BhJ,MAAM,CAAC+J,QAAQ,CAAEC,KAAK,IAAK,IAAIpJ,YAAA,CAAA2G,WAAW,CAAC;YAAE0C,MAAM,EAAE,OAAO;YAAED;UAAK,CAAE,CAAC,CAAC,CACxE;QACH;QAEA,OAAO;UAAE1H,EAAE;UAAEgG,OAAO;UAAEU;QAAa,CAAE;MACvC,CAAC,CAAC,CAAC3D,IAAI,CAACrF,MAAM,CAACkK,kBAAkB,CAAC;IACpC;GACD,CAAC;AACJ,CAAC,CAAC;AAEF;AACO,MAAMC,YAAY,GAAAxH,OAAA,CAAAwH,YAAA,gBAAG/J,KAAK,CAACgK,MAAM,CAAClH,aAAa,EAAEE,WAAW,CAAC;AAEpE;AACO,MAAMiH,QAAQ,GACnBC,OAAqC,IAErCtK,MAAM,CAACqD,GAAG,CAAC,aAAS;EAClB,MAAMkH,OAAO,GAAG,OAAOrH,aAAa;EACpC,MAAMsH,OAAO,GAAG,IAAIC,GAAG,EAA0B;EACjD,MAAMC,OAAO,GAAG,IAAAvK,SAAA,CAAAkF,IAAI,EAClBkF,OAAO,CAAC9G,KAAK,CAAU6G,OAAO,CAAC,EAC/BtK,MAAM,CAAC2H,GAAG,CAAEgD,MAAM,IAAK3K,MAAM,CAACkH,IAAI,CAAC,MAAMsD,OAAO,CAACI,GAAG,CAACD,MAAM,CAAC,CAAC,CAAC,EAC9D3K,MAAM,CAAC2H,GAAG,CAAEgD,MAAM,IAAK3K,MAAM,CAACgF,YAAY,CAAC,MAAMhF,MAAM,CAACkH,IAAI,CAAC,MAAMsD,OAAO,CAACpC,MAAM,CAACuC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC5FL,OAAO,CAACO,QAAQ,GAAG7K,MAAM,CAAC2H,GAAG,CAAC2C,OAAO,CAACO,QAAQ,CAAC,GAAG1K,SAAA,CAAA2K,QAAQ,CAC3D;EACD,MAAM3F,OAAO,GAAG,OAAO,YAAY,IAAImF,OAAO,GAC5ChK,IAAI,CAACyK,WAAW,CAAC;IACfL,OAAO;IACPM,GAAG,EAAEV,OAAO,CAACW,OAAO;IACpBC,GAAG,EAAEZ,OAAO,CAACa,OAAO;IACpBC,UAAU,EAAEd,OAAO,CAACc;GACrB,CAAC,GACF9K,IAAI,CAAC4E,IAAI,CAAC;IACRwF,OAAO;IACPW,IAAI,EAAEf,OAAO,CAACe;GACf,CAAC;EACJ,MAAMC,IAAI,GAA+B;IACvCnG,OAAO;IACPoG,SAAS,EAAG9G,OAAU,IACpBzE,MAAM,CAACoG,OAAO,CAACoE,OAAO,EAAGG,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACvE,OAAO,CAAC,EAAE;MACjEuB,WAAW,EAAE,WAAW;MACxBiB,OAAO,EAAE;KACV,CAAC;IACJqB,OAAO,EAAG7D,OAAU,IAClBhE,MAAM,CAAC+K,MAAM,CACXxL,MAAM,CAACkC,GAAG,CACRlC,MAAM,CAACiG,MAAM,CAACd,OAAO,CAAC9D,GAAG,CAAC,EACzBsJ,MAAM,IAAKA,MAAM,CAACrC,OAAO,CAAC7D,OAAO,CAAC,CACpC,CACF;IACHuE,aAAa,EAAGvE,OAAU,IACxBzE,MAAM,CAACsF,OAAO,CACZtF,MAAM,CAACiG,MAAM,CAACd,OAAO,CAAC9D,GAAG,CAAC,EACzBsJ,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACvE,OAAO,CAAC;GAE9C;EAED,OAAO6G,IAAI;AACb,CAAC,CAAC;AAEJ;AAAA3I,OAAA,CAAA0H,QAAA,GAAAA,QAAA;AACO,MAAMoB,aAAa,GAAGA,CAC3BC,GAAiD,EACjDpB,OAAqC,KAClClK,KAAK,CAAC6F,MAAM,CAACyF,GAAG,EAAErB,QAAQ,CAACC,OAAO,CAAC,CAAC;AAEzC;AAAA3H,OAAA,CAAA8I,aAAA,GAAAA,aAAA;AACO,MAAME,cAAc,GAGzBrB,OAA2C,IAE3CtK,MAAM,CAACqD,GAAG,CAAC,aAAS;EAClB,MAAMkH,OAAO,GAAG,OAAOrH,aAAa;EACpC,MAAMiC,OAAO,GAAG,OAAOoF,OAAO,CAAC9G,KAAK,CAAC;IACnC,GAAG6G,OAAc;IACjB5G,MAAMA,CAACe,OAAO;MACZ,OAAOzE,MAAM,CAAC+J,QAAQ,CACpBtK,YAAY,CAACmM,SAAS,CAACnH,OAAc,CAAC,EACrCuF,KAAK,IAAK,IAAIpJ,YAAA,CAAA2G,WAAW,CAAC;QAAE0C,MAAM,EAAE,QAAQ;QAAED;MAAK,CAAE,CAAC,CACxD;IACH;GACD,CAAC;EACF,MAAM1B,OAAO,GAAmB7D,OAAY,IAAI;IAC9C,MAAMoH,YAAY,GAAGvM,MAAM,CAACwM,MAAM,CAACrM,YAAY,CAACsM,aAAa,CAACtH,OAAc,CAAC,CAAC;IAC9E,MAAMuH,YAAY,GAAG1M,MAAM,CAACwM,MAAM,CAACrM,YAAY,CAACwM,aAAa,CAACxH,OAAc,CAAC,CAAC;IAC9E,OAAO,IAAAtE,SAAA,CAAAkF,IAAI,EACTF,OAAO,CAACmD,OAAO,CAAC7D,OAAO,CAAC,EACxBhE,MAAM,CAACyL,QAAQ,CAAElC,KAAK,IAAKhK,MAAM,CAACsF,OAAO,CAAC0G,YAAY,CAAChC,KAAK,CAAC,EAAEhK,MAAM,CAACsH,IAAI,CAAC,CAAC,EAC5E7G,MAAM,CAAC0L,SAAS,CAACN,YAAY,CAAC,CAC/B;EACH,CAAC;EACD,MAAM7C,aAAa,GAAmBvE,OAAY,IAAI;IACpD,MAAMoH,YAAY,GAAGvM,MAAM,CAACwM,MAAM,CAACrM,YAAY,CAACsM,aAAa,CAACtH,OAAc,CAAC,CAAC;IAC9E,MAAMuH,YAAY,GAAG1M,MAAM,CAACwM,MAAM,CAACrM,YAAY,CAACwM,aAAa,CAACxH,OAAc,CAAC,CAAC;IAC9E,OAAOzE,MAAM,CAACoM,WAAW,CAACjH,OAAO,CAAC6D,aAAa,CAACvE,OAAO,CAAC,EAAE;MACxDgE,SAAS,EAAGuB,KAAK,IAAKhK,MAAM,CAACsF,OAAO,CAAC0G,YAAY,CAAChC,KAAK,CAAC,EAAEhK,MAAM,CAACsH,IAAI,CAAC;MACtEqB,SAAS,EAAEkD;KACZ,CAAC;EACJ,CAAC;EACD,OAAO,IAAA1L,SAAA,CAAA2K,QAAQ,EAA6B;IAC1CxI,EAAE,EAAE6C,OAAO,CAAC7C,EAAE;IACdgG,OAAO,EAAEA,OAAc;IACvBU,aAAa,EAAEA;GAChB,CAAC;AACJ,CAAC,CAAC;AAEJ;AAAArG,OAAA,CAAAgJ,cAAA,GAAAA,cAAA;AACO,MAAMU,kBAAkB,GAC7B/B,OAA+C,IAE/CtK,MAAM,CAACqD,GAAG,CAAC,aAAS;EAClB,MAAMkH,OAAO,GAAG,OAAOrH,aAAa;EACpC,MAAMsH,OAAO,GAAG,IAAIC,GAAG,EAA8B;EACrD,MAAMC,OAAO,GAAG,IAAAvK,SAAA,CAAAkF,IAAI,EAClBsG,cAAc,CAAIrB,OAAO,CAAC,EAC1BtK,MAAM,CAAC2H,GAAG,CAAEgD,MAAM,IAAK3K,MAAM,CAACkH,IAAI,CAAC,MAAMsD,OAAO,CAACI,GAAG,CAACD,MAAM,CAAC,CAAC,CAAC,EAC9D3K,MAAM,CAAC2H,GAAG,CAAEgD,MAAM,IAAK3K,MAAM,CAACgF,YAAY,CAAC,MAAMhF,MAAM,CAACkH,IAAI,CAAC,MAAMsD,OAAO,CAACpC,MAAM,CAACuC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC5FL,OAAO,CAACO,QAAQ,GACZ7K,MAAM,CAAC2H,GAAG,CACV2C,OAAO,CAACO,QAAoF,CAC7F,GACC1K,SAAA,CAAA2K,QAAQ,EACZ9K,MAAM,CAAC4E,cAAc,CAAC1B,aAAa,EAAEqH,OAAO,CAAC,CAC9C;EACD,MAAMpF,OAAO,GAAG,OAAO,YAAY,IAAImF,OAAO,GAC5ChK,IAAI,CAACyK,WAAW,CAAC;IACfL,OAAO;IACPM,GAAG,EAAEV,OAAO,CAACW,OAAO;IACpBC,GAAG,EAAEZ,OAAO,CAACa,OAAO;IACpBC,UAAU,EAAEd,OAAO,CAACc;GACrB,CAAC,GACF9K,IAAI,CAAC4E,IAAI,CAAC;IACRwF,OAAO;IACPW,IAAI,EAAEf,OAAO,CAACe;GACf,CAAC;EACJ,MAAMC,IAAI,GAAmC;IAC3CnG,OAAO;IACPoG,SAAS,EAAkB9G,OAAY,IACrCzE,MAAM,CAACoG,OAAO,CAACoE,OAAO,EAAGG,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACvE,OAAO,CAAC,EAAE;MACjEuB,WAAW,EAAE,WAAW;MACxBiB,OAAO,EAAE;KACV,CAAQ;IACXqB,OAAO,EAAkB7D,OAAY,IACnChE,MAAM,CAAC+K,MAAM,CACXxL,MAAM,CAACkC,GAAG,CACRlC,MAAM,CAACiG,MAAM,CAACd,OAAO,CAAC9D,GAAG,CAAC,EACzBsJ,MAAM,IAAKA,MAAM,CAACrC,OAAO,CAAC7D,OAAO,CAAC,CACpC,CACK;IACVuE,aAAa,EAAkBvE,OAAY,IACzCzE,MAAM,CAACsF,OAAO,CACZtF,MAAM,CAACiG,MAAM,CAACd,OAAO,CAAC9D,GAAG,CAAC,EACzBsJ,MAAM,IAAKA,MAAM,CAAC3B,aAAa,CAACvE,OAAO,CAAC;GAE9C;EAED,OAAO6G,IAAI;AACb,CAAC,CAAC;AAEJ;AAAA3I,OAAA,CAAA0J,kBAAA,GAAAA,kBAAA;AACO,MAAMC,uBAAuB,GAAGA,CACrCZ,GAAqD,EACrDpB,OAA+C,KAC5ClK,KAAK,CAAC6F,MAAM,CAACyF,GAAG,EAAEW,kBAAkB,CAAC/B,OAAO,CAAC,CAAC;AAEnD;AAAA3H,OAAA,CAAA2J,uBAAA,GAAAA,uBAAA;AACO,MAAMC,YAAY,GAAiBC,OAA4B,IACpEpM,KAAK,CAAC0E,OAAO,CACX3B,OAAO,EACPqJ,OAAO,CACR;AAAA7J,OAAA,CAAA4J,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -36,8 +36,8 @@ export const WorkerManager = /*#__PURE__*/Context.GenericTag("@effect/platform/W
|
|
|
36
36
|
/** @internal */
|
|
37
37
|
export const Spawner = /*#__PURE__*/Context.GenericTag("@effect/platform/Worker/Spawner");
|
|
38
38
|
/** @internal */
|
|
39
|
-
export const makeManager = /*#__PURE__*/Effect.gen(function* (
|
|
40
|
-
const platform = yield*
|
|
39
|
+
export const makeManager = /*#__PURE__*/Effect.gen(function* () {
|
|
40
|
+
const platform = yield* PlatformWorker;
|
|
41
41
|
let idCounter = 0;
|
|
42
42
|
return WorkerManager.of({
|
|
43
43
|
[WorkerManagerTypeId]: WorkerManagerTypeId,
|
|
@@ -48,20 +48,20 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
48
48
|
queue,
|
|
49
49
|
transfers = _ => []
|
|
50
50
|
}) {
|
|
51
|
-
return Effect.gen(function* (
|
|
52
|
-
const spawn = yield*
|
|
51
|
+
return Effect.gen(function* () {
|
|
52
|
+
const spawn = yield* Spawner;
|
|
53
53
|
const id = idCounter++;
|
|
54
54
|
let requestIdCounter = 0;
|
|
55
|
-
const semaphore = yield*
|
|
55
|
+
const semaphore = yield* Effect.makeSemaphore(permits);
|
|
56
56
|
const requestMap = new Map();
|
|
57
|
-
const sendQueue = yield*
|
|
57
|
+
const sendQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
|
|
58
58
|
const collector = Transferable.unsafeMakeCollector();
|
|
59
59
|
const wrappedEncode = encode ? message => Effect.zipRight(collector.clear, Effect.provideService(encode(message), Transferable.Collector, collector)) : Effect.succeed;
|
|
60
|
-
const outbound = queue ?? (yield*
|
|
61
|
-
yield
|
|
62
|
-
yield
|
|
63
|
-
const readyLatch = yield*
|
|
64
|
-
const backing = yield*
|
|
60
|
+
const outbound = queue ?? (yield* defaultQueue());
|
|
61
|
+
yield Effect.addFinalizer(() => outbound.shutdown);
|
|
62
|
+
yield Effect.gen(function* () {
|
|
63
|
+
const readyLatch = yield* Deferred.make();
|
|
64
|
+
const backing = yield* platform.spawn(spawn(id));
|
|
65
65
|
const send = pipe(sendQueue.take, Effect.flatMap(([message, transfers]) => backing.send(message, transfers)), Effect.forever);
|
|
66
66
|
const take = pipe(Queue.take(backing.queue), Effect.flatMap(msg => {
|
|
67
67
|
if (msg[0] === 0) {
|
|
@@ -69,16 +69,16 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
69
69
|
}
|
|
70
70
|
return handleMessage(msg[1]);
|
|
71
71
|
}), Effect.forever);
|
|
72
|
-
return yield*
|
|
72
|
+
return yield* Effect.all([Fiber.join(backing.fiber), Effect.zipRight(Deferred.await(readyLatch), send), take], {
|
|
73
73
|
concurrency: "unbounded"
|
|
74
|
-
})
|
|
75
|
-
})
|
|
74
|
+
});
|
|
75
|
+
}).pipe(Effect.scoped, Effect.onError(cause => Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(cause)))), Effect.retry(Schedule.exponential("250 millis").pipe(Schedule.union(Schedule.spaced("30 seconds")))), Effect.annotateLogs({
|
|
76
76
|
package: "@effect/platform",
|
|
77
77
|
module: "Worker"
|
|
78
78
|
}), Effect.interruptible, Effect.forkScoped);
|
|
79
|
-
yield
|
|
79
|
+
yield Effect.addFinalizer(() => Effect.zipRight(Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(Cause.empty)), {
|
|
80
80
|
discard: true
|
|
81
|
-
}), Effect.sync(() => requestMap.clear())))
|
|
81
|
+
}), Effect.sync(() => requestMap.clear())));
|
|
82
82
|
const handleMessage = response => Effect.suspend(() => {
|
|
83
83
|
const queue = requestMap.get(response[0]);
|
|
84
84
|
if (!queue) return Effect.void;
|
|
@@ -117,7 +117,7 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
117
117
|
return Stream.fromChannel(loop);
|
|
118
118
|
});
|
|
119
119
|
const executeEffect = request => Effect.acquireUseRelease(executeAcquire(request), ([, queue]) => Effect.flatMap(Queue.take(queue), Exit.map(Arr.unsafeGet(0))), executeRelease);
|
|
120
|
-
yield
|
|
120
|
+
yield semaphore.take(1).pipe(Effect.zipRight(outbound.take), Effect.flatMap(([id, request, span]) => pipe(Effect.suspend(() => {
|
|
121
121
|
const result = requestMap.get(id);
|
|
122
122
|
if (!result) return Effect.void;
|
|
123
123
|
const transferables = transfers(request);
|
|
@@ -125,7 +125,7 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
125
125
|
return pipe(Effect.flatMap(wrappedEncode(request), payload => sendQueue.offer([[id, 0, payload, spanTuple], [...transferables, ...collector.unsafeRead()]])), Effect.catchAllCause(cause => Queue.offer(result[0], Exit.failCause(cause))), Effect.zipRight(Deferred.await(result[1])));
|
|
126
126
|
}), Effect.ensuring(semaphore.release(1)), Effect.fork)), Effect.forever, Effect.interruptible, Effect.forkScoped);
|
|
127
127
|
if (initialMessage) {
|
|
128
|
-
yield
|
|
128
|
+
yield Effect.sync(initialMessage).pipe(Effect.flatMap(executeEffect), Effect.mapError(error => new WorkerError({
|
|
129
129
|
reason: "spawn",
|
|
130
130
|
error
|
|
131
131
|
})));
|
|
@@ -142,11 +142,11 @@ export const makeManager = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
142
142
|
/** @internal */
|
|
143
143
|
export const layerManager = /*#__PURE__*/Layer.effect(WorkerManager, makeManager);
|
|
144
144
|
/** @internal */
|
|
145
|
-
export const makePool = options => Effect.gen(function* (
|
|
146
|
-
const manager = yield*
|
|
145
|
+
export const makePool = options => Effect.gen(function* () {
|
|
146
|
+
const manager = yield* WorkerManager;
|
|
147
147
|
const workers = new Set();
|
|
148
148
|
const acquire = pipe(manager.spawn(options), Effect.tap(worker => Effect.sync(() => workers.add(worker))), Effect.tap(worker => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))), options.onCreate ? Effect.tap(options.onCreate) : identity);
|
|
149
|
-
const backing = yield*
|
|
149
|
+
const backing = yield* "timeToLive" in options ? Pool.makeWithTTL({
|
|
150
150
|
acquire,
|
|
151
151
|
min: options.minSize,
|
|
152
152
|
max: options.maxSize,
|
|
@@ -154,7 +154,7 @@ export const makePool = options => Effect.gen(function* (_) {
|
|
|
154
154
|
}) : Pool.make({
|
|
155
155
|
acquire,
|
|
156
156
|
size: options.size
|
|
157
|
-
})
|
|
157
|
+
});
|
|
158
158
|
const pool = {
|
|
159
159
|
backing,
|
|
160
160
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
@@ -169,9 +169,9 @@ export const makePool = options => Effect.gen(function* (_) {
|
|
|
169
169
|
/** @internal */
|
|
170
170
|
export const makePoolLayer = (tag, options) => Layer.scoped(tag, makePool(options));
|
|
171
171
|
/** @internal */
|
|
172
|
-
export const makeSerialized = options => Effect.gen(function* (
|
|
173
|
-
const manager = yield*
|
|
174
|
-
const backing = yield*
|
|
172
|
+
export const makeSerialized = options => Effect.gen(function* () {
|
|
173
|
+
const manager = yield* WorkerManager;
|
|
174
|
+
const backing = yield* manager.spawn({
|
|
175
175
|
...options,
|
|
176
176
|
encode(message) {
|
|
177
177
|
return Effect.mapError(Serializable.serialize(message), error => new WorkerError({
|
|
@@ -179,7 +179,7 @@ export const makeSerialized = options => Effect.gen(function* (_) {
|
|
|
179
179
|
error
|
|
180
180
|
}));
|
|
181
181
|
}
|
|
182
|
-
})
|
|
182
|
+
});
|
|
183
183
|
const execute = message => {
|
|
184
184
|
const parseSuccess = Schema.decode(Serializable.successSchema(message));
|
|
185
185
|
const parseFailure = Schema.decode(Serializable.failureSchema(message));
|
|
@@ -200,11 +200,11 @@ export const makeSerialized = options => Effect.gen(function* (_) {
|
|
|
200
200
|
});
|
|
201
201
|
});
|
|
202
202
|
/** @internal */
|
|
203
|
-
export const makePoolSerialized = options => Effect.gen(function* (
|
|
204
|
-
const manager = yield*
|
|
203
|
+
export const makePoolSerialized = options => Effect.gen(function* () {
|
|
204
|
+
const manager = yield* WorkerManager;
|
|
205
205
|
const workers = new Set();
|
|
206
206
|
const acquire = pipe(makeSerialized(options), Effect.tap(worker => Effect.sync(() => workers.add(worker))), Effect.tap(worker => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))), options.onCreate ? Effect.tap(options.onCreate) : identity, Effect.provideService(WorkerManager, manager));
|
|
207
|
-
const backing = yield*
|
|
207
|
+
const backing = yield* "timeToLive" in options ? Pool.makeWithTTL({
|
|
208
208
|
acquire,
|
|
209
209
|
min: options.minSize,
|
|
210
210
|
max: options.maxSize,
|
|
@@ -212,7 +212,7 @@ export const makePoolSerialized = options => Effect.gen(function* (_) {
|
|
|
212
212
|
}) : Pool.make({
|
|
213
213
|
acquire,
|
|
214
214
|
size: options.size
|
|
215
|
-
})
|
|
215
|
+
});
|
|
216
216
|
const pool = {
|
|
217
217
|
backing,
|
|
218
218
|
broadcast: message => Effect.forEach(workers, worker => worker.executeEffect(message), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Schema","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","WorkerError","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","_","platform","idCounter","of","spawn","encode","initialMessage","permits","transfers","requestIdCounter","semaphore","makeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","exponential","union","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","get","length","fail","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","set","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","ensuring","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","unwrap","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"worker.js","names":["Schema","Serializable","Arr","Cause","Channel","Chunk","Context","Deferred","Effect","Exit","Fiber","identity","pipe","Layer","Option","Pool","Queue","Schedule","Stream","Tracer","Transferable","WorkerError","defaultQueue","map","unbounded","queue","offer","id","item","span","take","shutdown","PlatformWorkerTypeId","Symbol","for","PlatformWorker","GenericTag","WorkerManagerTypeId","WorkerManager","Spawner","makeManager","gen","platform","idCounter","of","spawn","encode","initialMessage","permits","transfers","_","requestIdCounter","semaphore","makeSemaphore","requestMap","Map","sendQueue","acquireRelease","collector","unsafeMakeCollector","wrappedEncode","message","zipRight","clear","provideService","Collector","succeed","outbound","addFinalizer","readyLatch","make","backing","send","flatMap","forever","msg","complete","void","handleMessage","all","join","fiber","await","concurrency","scoped","onError","cause","forEach","values","failCause","retry","exponential","union","spaced","annotateLogs","package","module","interruptible","forkScoped","empty","discard","sync","response","suspend","get","length","fail","decodeCause","executeAcquire","request","tap","serviceOption","ParentSpan","filter","_tag","deferred","set","executeRelease","exit","release","delete","isFailure","execute","loop","match","onFailure","isEmpty","onSuccess","value","write","unsafeFromArray","fromChannel","executeEffect","acquireUseRelease","unsafeGet","result","transferables","spanTuple","getOrUndefined","traceId","spanId","sampled","payload","unsafeRead","catchAllCause","ensuring","fork","mapError","error","reason","parallelFinalizers","layerManager","effect","makePool","options","manager","workers","Set","acquire","worker","add","onCreate","makeWithTTL","min","minSize","max","maxSize","timeToLive","size","pool","broadcast","unwrap","makePoolLayer","tag","makeSerialized","serialize","parseSuccess","decode","successSchema","parseFailure","failureSchema","catchAll","mapEffect","matchEffect","makePoolSerialized","makePoolSerializedLayer","layerSpawner","spawner"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.4",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"path-browserify": "^1.0.1"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@effect/schema": "^0.66.
|
|
20
|
-
"effect": "^3.0.
|
|
19
|
+
"@effect/schema": "^0.66.7",
|
|
20
|
+
"effect": "^3.0.4"
|
|
21
21
|
},
|
|
22
22
|
"publishConfig": {
|
|
23
23
|
"provenance": true
|
package/src/internal/worker.ts
CHANGED
|
@@ -59,8 +59,8 @@ export const Spawner = Context.GenericTag<Worker.Spawner, Worker.SpawnerFn>(
|
|
|
59
59
|
)
|
|
60
60
|
|
|
61
61
|
/** @internal */
|
|
62
|
-
export const makeManager = Effect.gen(function*(
|
|
63
|
-
const platform = yield*
|
|
62
|
+
export const makeManager = Effect.gen(function*() {
|
|
63
|
+
const platform = yield* PlatformWorker
|
|
64
64
|
let idCounter = 0
|
|
65
65
|
return WorkerManager.of({
|
|
66
66
|
[WorkerManagerTypeId]: WorkerManagerTypeId,
|
|
@@ -71,19 +71,19 @@ export const makeManager = Effect.gen(function*(_) {
|
|
|
71
71
|
queue,
|
|
72
72
|
transfers = (_) => []
|
|
73
73
|
}: Worker.Worker.Options<I>) {
|
|
74
|
-
return Effect.gen(function*(
|
|
75
|
-
const spawn = yield*
|
|
74
|
+
return Effect.gen(function*() {
|
|
75
|
+
const spawn = yield* Spawner
|
|
76
76
|
const id = idCounter++
|
|
77
77
|
let requestIdCounter = 0
|
|
78
|
-
const semaphore = yield*
|
|
78
|
+
const semaphore = yield* Effect.makeSemaphore(permits)
|
|
79
79
|
const requestMap = new Map<
|
|
80
80
|
number,
|
|
81
81
|
readonly [Queue.Queue<Exit.Exit<ReadonlyArray<O>, E | WorkerError>>, Deferred.Deferred<void>]
|
|
82
82
|
>()
|
|
83
|
-
const sendQueue = yield*
|
|
83
|
+
const sendQueue = yield* Effect.acquireRelease(
|
|
84
84
|
Queue.unbounded<readonly [message: Worker.Worker.Request, transfers?: ReadonlyArray<unknown>]>(),
|
|
85
85
|
Queue.shutdown
|
|
86
|
-
)
|
|
86
|
+
)
|
|
87
87
|
|
|
88
88
|
const collector = Transferable.unsafeMakeCollector()
|
|
89
89
|
const wrappedEncode = encode ?
|
|
@@ -94,36 +94,33 @@ export const makeManager = Effect.gen(function*(_) {
|
|
|
94
94
|
)) :
|
|
95
95
|
Effect.succeed
|
|
96
96
|
|
|
97
|
-
const outbound = queue ?? (yield*
|
|
98
|
-
yield
|
|
97
|
+
const outbound = queue ?? (yield* defaultQueue<I>())
|
|
98
|
+
yield Effect.addFinalizer(() => outbound.shutdown)
|
|
99
99
|
|
|
100
|
-
yield*
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
)
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
take
|
|
125
|
-
], { concurrency: "unbounded" }))
|
|
126
|
-
}),
|
|
100
|
+
yield Effect.gen(function*() {
|
|
101
|
+
const readyLatch = yield* Deferred.make<void>()
|
|
102
|
+
const backing = yield* platform.spawn<Worker.Worker.Request, Worker.Worker.Response<E, O>>(spawn(id))
|
|
103
|
+
const send = pipe(
|
|
104
|
+
sendQueue.take,
|
|
105
|
+
Effect.flatMap(([message, transfers]) => backing.send(message, transfers)),
|
|
106
|
+
Effect.forever
|
|
107
|
+
)
|
|
108
|
+
const take = pipe(
|
|
109
|
+
Queue.take(backing.queue),
|
|
110
|
+
Effect.flatMap((msg) => {
|
|
111
|
+
if (msg[0] === 0) {
|
|
112
|
+
return Deferred.complete(readyLatch, Effect.void)
|
|
113
|
+
}
|
|
114
|
+
return handleMessage(msg[1])
|
|
115
|
+
}),
|
|
116
|
+
Effect.forever
|
|
117
|
+
)
|
|
118
|
+
return yield* Effect.all([
|
|
119
|
+
Fiber.join(backing.fiber),
|
|
120
|
+
Effect.zipRight(Deferred.await(readyLatch), send),
|
|
121
|
+
take
|
|
122
|
+
], { concurrency: "unbounded" })
|
|
123
|
+
}).pipe(
|
|
127
124
|
Effect.scoped,
|
|
128
125
|
Effect.onError((cause) =>
|
|
129
126
|
Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(cause)))
|
|
@@ -141,14 +138,14 @@ export const makeManager = Effect.gen(function*(_) {
|
|
|
141
138
|
Effect.forkScoped
|
|
142
139
|
)
|
|
143
140
|
|
|
144
|
-
yield
|
|
141
|
+
yield Effect.addFinalizer(() =>
|
|
145
142
|
Effect.zipRight(
|
|
146
143
|
Effect.forEach(requestMap.values(), ([queue]) => Queue.offer(queue, Exit.failCause(Cause.empty)), {
|
|
147
144
|
discard: true
|
|
148
145
|
}),
|
|
149
146
|
Effect.sync(() => requestMap.clear())
|
|
150
147
|
)
|
|
151
|
-
)
|
|
148
|
+
)
|
|
152
149
|
|
|
153
150
|
const handleMessage = (response: Worker.Worker.Response<E, O>) =>
|
|
154
151
|
Effect.suspend(() => {
|
|
@@ -244,8 +241,7 @@ export const makeManager = Effect.gen(function*(_) {
|
|
|
244
241
|
executeRelease
|
|
245
242
|
)
|
|
246
243
|
|
|
247
|
-
yield
|
|
248
|
-
semaphore.take(1),
|
|
244
|
+
yield semaphore.take(1).pipe(
|
|
249
245
|
Effect.zipRight(outbound.take),
|
|
250
246
|
Effect.flatMap(([id, request, span]) =>
|
|
251
247
|
pipe(
|
|
@@ -279,8 +275,7 @@ export const makeManager = Effect.gen(function*(_) {
|
|
|
279
275
|
)
|
|
280
276
|
|
|
281
277
|
if (initialMessage) {
|
|
282
|
-
yield
|
|
283
|
-
Effect.sync(initialMessage),
|
|
278
|
+
yield Effect.sync(initialMessage).pipe(
|
|
284
279
|
Effect.flatMap(executeEffect),
|
|
285
280
|
Effect.mapError((error) => new WorkerError({ reason: "spawn", error }))
|
|
286
281
|
)
|
|
@@ -299,8 +294,8 @@ export const layerManager = Layer.effect(WorkerManager, makeManager)
|
|
|
299
294
|
export const makePool = <I, O, E>(
|
|
300
295
|
options: Worker.WorkerPool.Options<I>
|
|
301
296
|
) =>
|
|
302
|
-
Effect.gen(function*(
|
|
303
|
-
const manager = yield*
|
|
297
|
+
Effect.gen(function*() {
|
|
298
|
+
const manager = yield* WorkerManager
|
|
304
299
|
const workers = new Set<Worker.Worker<I, O, E>>()
|
|
305
300
|
const acquire = pipe(
|
|
306
301
|
manager.spawn<I, O, E>(options),
|
|
@@ -308,19 +303,17 @@ export const makePool = <I, O, E>(
|
|
|
308
303
|
Effect.tap((worker) => Effect.addFinalizer(() => Effect.sync(() => workers.delete(worker)))),
|
|
309
304
|
options.onCreate ? Effect.tap(options.onCreate) : identity
|
|
310
305
|
)
|
|
311
|
-
const backing = yield*
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
})
|
|
323
|
-
)
|
|
306
|
+
const backing = yield* "timeToLive" in options ?
|
|
307
|
+
Pool.makeWithTTL({
|
|
308
|
+
acquire,
|
|
309
|
+
min: options.minSize,
|
|
310
|
+
max: options.maxSize,
|
|
311
|
+
timeToLive: options.timeToLive
|
|
312
|
+
}) :
|
|
313
|
+
Pool.make({
|
|
314
|
+
acquire,
|
|
315
|
+
size: options.size
|
|
316
|
+
})
|
|
324
317
|
const pool: Worker.WorkerPool<I, O, E> = {
|
|
325
318
|
backing,
|
|
326
319
|
broadcast: (message: I) =>
|
|
@@ -357,19 +350,17 @@ export const makeSerialized = <
|
|
|
357
350
|
>(
|
|
358
351
|
options: Worker.SerializedWorker.Options<I>
|
|
359
352
|
): Effect.Effect<Worker.SerializedWorker<I>, WorkerError, Worker.WorkerManager | Worker.Spawner | Scope.Scope> =>
|
|
360
|
-
Effect.gen(function*(
|
|
361
|
-
const manager = yield*
|
|
362
|
-
const backing = yield*
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
})
|
|
372
|
-
)
|
|
353
|
+
Effect.gen(function*() {
|
|
354
|
+
const manager = yield* WorkerManager
|
|
355
|
+
const backing = yield* manager.spawn({
|
|
356
|
+
...options as any,
|
|
357
|
+
encode(message) {
|
|
358
|
+
return Effect.mapError(
|
|
359
|
+
Serializable.serialize(message as any),
|
|
360
|
+
(error) => new WorkerError({ reason: "encode", error })
|
|
361
|
+
)
|
|
362
|
+
}
|
|
363
|
+
})
|
|
373
364
|
const execute = <Req extends I>(message: Req) => {
|
|
374
365
|
const parseSuccess = Schema.decode(Serializable.successSchema(message as any))
|
|
375
366
|
const parseFailure = Schema.decode(Serializable.failureSchema(message as any))
|
|
@@ -398,8 +389,8 @@ export const makeSerialized = <
|
|
|
398
389
|
export const makePoolSerialized = <I extends Schema.TaggedRequest.Any>(
|
|
399
390
|
options: Worker.SerializedWorkerPool.Options<I>
|
|
400
391
|
) =>
|
|
401
|
-
Effect.gen(function*(
|
|
402
|
-
const manager = yield*
|
|
392
|
+
Effect.gen(function*() {
|
|
393
|
+
const manager = yield* WorkerManager
|
|
403
394
|
const workers = new Set<Worker.SerializedWorker<I>>()
|
|
404
395
|
const acquire = pipe(
|
|
405
396
|
makeSerialized<I>(options),
|
|
@@ -412,19 +403,17 @@ export const makePoolSerialized = <I extends Schema.TaggedRequest.Any>(
|
|
|
412
403
|
: identity,
|
|
413
404
|
Effect.provideService(WorkerManager, manager)
|
|
414
405
|
)
|
|
415
|
-
const backing = yield*
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
})
|
|
427
|
-
)
|
|
406
|
+
const backing = yield* "timeToLive" in options ?
|
|
407
|
+
Pool.makeWithTTL({
|
|
408
|
+
acquire,
|
|
409
|
+
min: options.minSize,
|
|
410
|
+
max: options.maxSize,
|
|
411
|
+
timeToLive: options.timeToLive
|
|
412
|
+
}) :
|
|
413
|
+
Pool.make({
|
|
414
|
+
acquire,
|
|
415
|
+
size: options.size
|
|
416
|
+
})
|
|
428
417
|
const pool: Worker.SerializedWorkerPool<I> = {
|
|
429
418
|
backing,
|
|
430
419
|
broadcast: <Req extends I>(message: Req) =>
|