@gjsify/message-channel 0.64.15-next.287 → 0.64.16

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/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{EventTarget as e,MessageEvent as t}from"@gjsify/dom-events";let n=1;var MessagePort=class extends e{_partner=null;_portId=n++;_transferred=!1;_transport=null;_started=!1;_queue=[];_closed=!1;_onmessage=null;_onmessageerror=null;postMessage(e,t){if(this._transferred)throw DOMException_(`Cannot post on a transferred MessagePort`,`InvalidStateError`);if(!this._closed){if(this._transport!==null){this._transport.send(this._portId,e);return}this._partner&&!this._partner._closed&&this._partner._receive(e)}}start(){if(this._started||this._closed)return;this._started=!0;let e=this._queue;this._queue=[];for(let t of e)this._dispatch(t)}close(){this._closed||(this._closed=!0,this._transport!==null&&(this._transport.close(this._portId),this._transport=null),this._partner=null,this._queue.length=0)}_receive(e){if(!this._closed){if(!this._started){this._queue.push(e);return}this._dispatch(e)}}_dispatch(e){Promise.resolve().then(()=>{this._closed||this.dispatchEvent(new t(`message`,{data:e}))})}get onmessage(){return this._onmessage}set onmessage(e){this._onmessage&&this.removeEventListener(`message`,this._onmessage),this._onmessage=e,e&&this.addEventListener(`message`,e)}get onmessageerror(){return this._onmessageerror}set onmessageerror(e){this._onmessageerror&&this.removeEventListener(`messageerror`,this._onmessageerror),this._onmessageerror=e,e&&this.addEventListener(`messageerror`,e)}addEventListener(e,t,n){super.addEventListener(e,t,n),e===`message`&&this.start()}get[Symbol.toStringTag](){return`MessagePort`}},MessageChannel=class{port1;port2;constructor(){this.port1=new MessagePort,this.port2=new MessagePort,this.port1._partner=this.port2,this.port2._partner=this.port1}get[Symbol.toStringTag](){return`MessageChannel`}};function DOMException_(e,t){let n=globalThis.DOMException;if(typeof n==`function`)return new n(e,t);let r=Error(e);return r.name=t,r}export{MessageChannel,MessagePort};
1
+ import"./_virtual/_rolldown/runtime.js";import{EventTarget as e,MessageEvent as t}from"@gjsify/dom-events";let n=1;var MessagePort=class extends e{_partner=null;_portId=n++;_transferred=!1;_transport=null;_started=!1;_queue=[];_closed=!1;_onmessage=null;_onmessageerror=null;postMessage(e,t){if(this._transferred)throw DOMException_(`Cannot post on a transferred MessagePort`,`InvalidStateError`);if(!this._closed){if(this._transport!==null){this._transport.send(this._portId,e);return}this._partner&&!this._partner._closed&&this._partner._receive(e)}}start(){if(this._started||this._closed)return;this._started=!0;let e=this._queue;this._queue=[];for(let t of e)this._dispatch(t)}close(){this._closed||(this._closed=!0,this._transport!==null&&(this._transport.close(this._portId),this._transport=null),this._partner=null,this._queue.length=0)}_receive(e){if(!this._closed){if(!this._started){this._queue.push(e);return}this._dispatch(e)}}_receiveMessageError(){this._closed||Promise.resolve().then(()=>{this._closed||this.dispatchEvent(new t(`messageerror`,{data:null}))})}_dispatch(e){Promise.resolve().then(()=>{this._closed||this.dispatchEvent(new t(`message`,{data:e}))})}get onmessage(){return this._onmessage}set onmessage(e){this._onmessage&&this.removeEventListener(`message`,this._onmessage),this._onmessage=e,e&&this.addEventListener(`message`,e)}get onmessageerror(){return this._onmessageerror}set onmessageerror(e){this._onmessageerror&&this.removeEventListener(`messageerror`,this._onmessageerror),this._onmessageerror=e,e&&this.addEventListener(`messageerror`,e)}addEventListener(e,t,n){super.addEventListener(e,t,n),e===`message`&&this.start()}get[Symbol.toStringTag](){return`MessagePort`}},MessageChannel=class{port1;port2;constructor(){this.port1=new MessagePort,this.port2=new MessagePort,this.port1._partner=this.port2,this.port2._partner=this.port1}get[Symbol.toStringTag](){return`MessageChannel`}};function DOMException_(e,t){let n=globalThis.DOMException;if(typeof n==`function`)return new n(e,t);let r=Error(e);return r.name=t,r}export{MessageChannel,MessagePort};
@@ -46,6 +46,9 @@ export declare class MessagePort extends EventTarget {
46
46
  /** @internal Wire-side delivery point: called by the in-process partner
47
47
  * OR by the transport's recv-loop when a message arrives off the wire. */
48
48
  _receive(data: unknown): void;
49
+ /** @internal A payload arrived off the wire that this end could not
50
+ * deserialise. Same async scheduling as a message; the port stays open. */
51
+ _receiveMessageError(): void;
49
52
  private _dispatch;
50
53
  get onmessage(): ((evt: MessageEvent) => unknown) | null;
51
54
  set onmessage(fn: ((evt: MessageEvent) => unknown) | null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/message-channel",
3
- "version": "0.64.15-next.287",
3
+ "version": "0.64.16",
4
4
  "description": "W3C MessageChannel + MessagePort for GJS — EventTarget-based, transport-pluggable. Same surface backs in-process channels (default), the @gjsify/iframe WebKit bridge, and (future) @gjsify/worker_threads cross-process workers.",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -49,13 +49,13 @@
49
49
  "messageport"
50
50
  ],
51
51
  "devDependencies": {
52
- "@gjsify/cli": "0.64.15-next.287",
53
- "@gjsify/unit": "0.64.15-next.287",
52
+ "@gjsify/cli": "^0.64.16",
53
+ "@gjsify/unit": "^0.64.16",
54
54
  "@types/node": "^25.9.2",
55
55
  "typescript": "^6.0.3"
56
56
  },
57
57
  "dependencies": {
58
- "@gjsify/dom-events": "0.64.15-next.287"
58
+ "@gjsify/dom-events": "^0.64.16"
59
59
  },
60
60
  "license": "MIT",
61
61
  "author": "Pascal Garber <pascal@artandcode.studio>",
@@ -84,6 +84,5 @@
84
84
  "bugs": {
85
85
  "url": "https://github.com/gjsify/gjsify/issues"
86
86
  },
87
- "homepage": "https://github.com/gjsify/gjsify/tree/main/packages/web/message-channel#readme",
88
- "gitHead": "5742b282a8a2bc8633dd8384ef436768447f6a83"
87
+ "homepage": "https://github.com/gjsify/gjsify/tree/main/packages/web/message-channel#readme"
89
88
  }