@velarscript/web 0.26.0 → 0.27.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,QAgFxB,CAAC"}
1
+ {"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,QAiFxB,CAAC"}
@@ -66,6 +66,7 @@ function __velarWorkerClient(name, RequestType, ResponseType, capacity) {
66
66
  }
67
67
  const __velarWorkerPoolPrototype = Object.freeze({
68
68
  call(request, cancellation = null, timeout = null) { const state = __velarWorkerPoolStates.get(this); if (!state) throw new TypeError("WorkerPool.call requires a WorkerPool receiver"); if (state.closed) return Promise.reject(new WorkerClosedError("Worker pool is closed")); let total = 0; let selected = null; let load = 0; for (const item of state.workers) { const member = __velarWorkerStates.get(item); if (member.closed) continue; total += member.pending.size; if (selected === null || member.pending.size < load) { selected = item; load = member.pending.size; } } if (selected === null) return Promise.reject(new WorkerCrashedError("Worker pool has no live workers")); if (total >= state.capacity) return Promise.reject(new WorkerBackpressureError("Worker pool queue capacity " + state.capacity + " is full")); return selected.call(request, cancellation, timeout); },
69
+ broadcast(request, cancellation = null, timeout = null) { const state = __velarWorkerPoolStates.get(this); if (!state) throw new TypeError("WorkerPool.broadcast requires a WorkerPool receiver"); if (state.closed) return Promise.reject(new WorkerClosedError("Worker pool is closed")); const live = []; let total = 0; for (const item of state.workers) { const member = __velarWorkerStates.get(item); if (member.closed) continue; live.push(item); total += member.pending.size; if (member.pending.size >= member.capacity) return Promise.reject(new WorkerBackpressureError("Worker pool member queue capacity " + member.capacity + " is full")); } if (live.length === 0) return Promise.reject(new WorkerCrashedError("Worker pool has no live workers")); if (total + live.length > state.capacity) return Promise.reject(new WorkerBackpressureError("Worker pool queue capacity " + state.capacity + " cannot accept a broadcast to " + live.length + " workers")); return Promise.all(live.map(item => item.call(request, cancellation, timeout))); },
69
70
  async close() { const state = __velarWorkerPoolStates.get(this); if (!state) throw new TypeError("WorkerPool.close requires a WorkerPool receiver"); if (state.closed) return null; state.closed = true; await Promise.all(state.workers.map(item => item.close())); return null; },
70
71
  });
71
72
  const __velarWorkerType = Object.freeze({ is(value) { return __velarWorkerStates.has(value); }, parse(value) { if (!this.is(value)) throw new TypeError("Value does not match Worker"); return value; } });
@@ -1 +1 @@
1
- {"version":3,"file":"worker-runtime.js","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFjD,CAAC,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"worker-runtime.js","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFjD,CAAC,SAAS,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velarscript/web",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "description": "The official VelarScript Web framework contract and browser runtime.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -33,7 +33,7 @@
33
33
  }
34
34
  },
35
35
  "dependencies": {
36
- "@velarscript/compiler": "0.26.0"
36
+ "@velarscript/compiler": "0.27.0"
37
37
  },
38
38
  "exports": {
39
39
  ".": {