@kerebron/extension-server-hono 0.4.8 → 0.4.10

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,4 +1,3 @@
1
- import "./_dnt.polyfills.js";
2
1
  import { WSEvents } from './deps/jsr.io/@hono/hono/4.10.7/src/helper/websocket/index.js';
3
2
  import * as Y from 'yjs';
4
3
  import * as awarenessProtocol from 'y-protocols/awareness';
@@ -1 +1 @@
1
- {"version":3,"file":"HonoYjsMemAdapter.d.ts","sourceRoot":"","sources":["../src/HonoYjsMemAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAa,QAAQ,EAAE,MAAM,+DAA+D,CAAC;AAEpG,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAa,CAAC;AAIlD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,YAAS,KAAG,CAAC,CAAC,GAWtD,CAAC;AAEF,qBAAa,aAAa;aAGI,IAAI,EAAE,IAAI;aAAkB,MAAM,EAAE,SAAS;IAFzE,SAAgB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAE3B,IAAI,EAAE,IAAI,EAAkB,MAAM,EAAE,SAAS;CAE1E;AAED,qBAAa,IAAI;aAIa,QAAQ,EAAE,MAAM;aAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;IAHxE,SAAgB,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC1E,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC;gBAEX,QAAQ,EAAE,MAAM,EAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;CAuDzE;AAID,qBAAa,iBAAkB,YAAW,aAAa;;IACrD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC5D,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;;IAMlC,YAAY;IAIZ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;IAsEvD,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU;IAUnC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS;CA8DzD"}
1
+ {"version":3,"file":"HonoYjsMemAdapter.d.ts","sourceRoot":"","sources":["../src/HonoYjsMemAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,+DAA+D,CAAC;AAEpG,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,WAAW;;;CAGvB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAa,CAAC;AAIlD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,YAAS,KAAG,CAAC,CAAC,GAWtD,CAAC;AAEF,qBAAa,aAAa;aAGI,IAAI,EAAE,IAAI;aAAkB,MAAM,EAAE,SAAS;IAFzE,SAAgB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAE3B,IAAI,EAAE,IAAI,EAAkB,MAAM,EAAE,SAAS;CAE1E;AAED,qBAAa,IAAI;aAIa,QAAQ,EAAE,MAAM;aAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;IAHxE,SAAgB,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC1E,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC;gBAEX,QAAQ,EAAE,MAAM,EAAkB,GAAG,EAAE,CAAC,CAAC,GAAG;CAuDzE;AAID,qBAAa,iBAAkB,YAAW,aAAa;;IACrD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAa;IAC5D,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;;IAMlC,YAAY;IAIZ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;IAsEvD,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU;IAUnC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS;CA8DzD"}
@@ -1,10 +1,3 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var _HonoYjsMemAdapter_instances, _HonoYjsMemAdapter_terminate, _HonoYjsMemAdapter_removeSocket;
7
- import "./_dnt.polyfills.js";
8
1
  import * as Y from 'yjs';
9
2
  import * as syncProtocol from 'y-protocols/sync';
10
3
  import * as awarenessProtocol from 'y-protocols/awareness';
@@ -36,53 +29,22 @@ export const getYDoc = (docname, gc = true) => {
36
29
  return ydoc;
37
30
  };
38
31
  export class SocketContext {
32
+ room;
33
+ socket;
34
+ controlledIds = new Set();
39
35
  constructor(room, socket) {
40
- Object.defineProperty(this, "room", {
41
- enumerable: true,
42
- configurable: true,
43
- writable: true,
44
- value: room
45
- });
46
- Object.defineProperty(this, "socket", {
47
- enumerable: true,
48
- configurable: true,
49
- writable: true,
50
- value: socket
51
- });
52
- Object.defineProperty(this, "controlledIds", {
53
- enumerable: true,
54
- configurable: true,
55
- writable: true,
56
- value: new Set()
57
- });
36
+ this.room = room;
37
+ this.socket = socket;
58
38
  }
59
39
  }
60
40
  export class Room {
41
+ roomName;
42
+ doc;
43
+ socketContexts = new Map();
44
+ awareness;
61
45
  constructor(roomName, doc) {
62
- Object.defineProperty(this, "roomName", {
63
- enumerable: true,
64
- configurable: true,
65
- writable: true,
66
- value: roomName
67
- });
68
- Object.defineProperty(this, "doc", {
69
- enumerable: true,
70
- configurable: true,
71
- writable: true,
72
- value: doc
73
- });
74
- Object.defineProperty(this, "socketContexts", {
75
- enumerable: true,
76
- configurable: true,
77
- writable: true,
78
- value: new Map()
79
- });
80
- Object.defineProperty(this, "awareness", {
81
- enumerable: true,
82
- configurable: true,
83
- writable: true,
84
- value: void 0
85
- });
46
+ this.roomName = roomName;
47
+ this.doc = doc;
86
48
  this.awareness = new awarenessProtocol.Awareness(doc);
87
49
  this.awareness.setLocalState(null);
88
50
  this.awareness.on('update', ({ added, updated, removed }, conn) => {
@@ -120,20 +82,9 @@ export class Room {
120
82
  }
121
83
  const rooms = new Map();
122
84
  export class HonoYjsMemAdapter {
85
+ sockets = new Map();
86
+ rooms;
123
87
  constructor() {
124
- _HonoYjsMemAdapter_instances.add(this);
125
- Object.defineProperty(this, "sockets", {
126
- enumerable: true,
127
- configurable: true,
128
- writable: true,
129
- value: new Map()
130
- });
131
- Object.defineProperty(this, "rooms", {
132
- enumerable: true,
133
- configurable: true,
134
- writable: true,
135
- value: void 0
136
- });
137
88
  this.rooms = rooms;
138
89
  }
139
90
  getRoomNames() {
@@ -189,14 +140,14 @@ export class HonoYjsMemAdapter {
189
140
  if (!wsContext.raw) {
190
141
  return;
191
142
  }
192
- __classPrivateFieldGet(this, _HonoYjsMemAdapter_instances, "m", _HonoYjsMemAdapter_removeSocket).call(this, wsContext.raw);
143
+ this.#removeSocket(wsContext.raw);
193
144
  },
194
145
  };
195
146
  }
196
147
  send(conn, m) {
197
148
  if (conn.readyState !== WebSocket.CONNECTING &&
198
149
  conn.readyState !== WebSocket.OPEN) {
199
- __classPrivateFieldGet(this, _HonoYjsMemAdapter_instances, "m", _HonoYjsMemAdapter_terminate).call(this, conn);
150
+ this.#terminate(conn);
200
151
  }
201
152
  conn.send(m);
202
153
  }
@@ -232,20 +183,21 @@ export class HonoYjsMemAdapter {
232
183
  // room.doc.emit('error', [err]);
233
184
  }
234
185
  }
235
- }
236
- _HonoYjsMemAdapter_instances = new WeakSet(), _HonoYjsMemAdapter_terminate = function _HonoYjsMemAdapter_terminate(socket) {
237
- __classPrivateFieldGet(this, _HonoYjsMemAdapter_instances, "m", _HonoYjsMemAdapter_removeSocket).call(this, socket);
238
- socket.close();
239
- }, _HonoYjsMemAdapter_removeSocket = function _HonoYjsMemAdapter_removeSocket(conn) {
240
- const socketContext = this.sockets.get(conn);
241
- if (socketContext) {
242
- const room = socketContext.room;
243
- room.socketContexts.delete(socketContext.socket);
244
- awarenessProtocol.removeAwarenessStates(room.awareness, Array.from(socketContext.controlledIds), null);
245
- if (room.socketContexts.size === 0) {
246
- // TODO save to persistence
247
- // TODO Destroy room
186
+ #terminate(socket) {
187
+ this.#removeSocket(socket);
188
+ socket.close();
189
+ }
190
+ #removeSocket(conn) {
191
+ const socketContext = this.sockets.get(conn);
192
+ if (socketContext) {
193
+ const room = socketContext.room;
194
+ room.socketContexts.delete(socketContext.socket);
195
+ awarenessProtocol.removeAwarenessStates(room.awareness, Array.from(socketContext.controlledIds), null);
196
+ if (room.socketContexts.size === 0) {
197
+ // TODO save to persistence
198
+ // TODO Destroy room
199
+ }
200
+ this.sockets.delete(conn);
248
201
  }
249
- this.sockets.delete(conn);
250
202
  }
251
- };
203
+ }