@mescius/js-collaboration 18.1.2 → 18.1.3

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/dist/index.d.ts CHANGED
@@ -67,6 +67,57 @@ export class Connection {
67
67
  broadcast(data: MessageData, type?: MessageType, includeSelf?: boolean): void;
68
68
  }
69
69
 
70
+ export interface IServerConfig {
71
+ httpServer?: HTTPServer | HTTPSServer | Http2SecureServer | Http2Server;
72
+ port?: number;
73
+ /**
74
+ * The request path for the server. Defaults to '/collaboration/'.
75
+ */
76
+ path?: string;
77
+ }
78
+
79
+ export interface IFeature {
80
+ middlewares?: IMiddlewares;
81
+ hooks?: IHooks;
82
+ }
83
+
84
+ /**
85
+ * Represents a collaboration server, provides bidirectional communication, middleware and hooks mechanism.
86
+ */
87
+ export declare class Server {
88
+ constructor(config?: IServerConfig);
89
+
90
+ /**
91
+ * Registers multiple middlewares to the server in a batch.
92
+ * @param {IMiddlewares} middlewares - The middlewares to register.
93
+ */
94
+ use(middlewares: IMiddlewares): void;
95
+ /**
96
+ * Registers a single middleware for a specific action on the server.
97
+ * @template K - Type of the action name, extending keyof IMiddlewareContext.
98
+ * @param {K} action - The name of the action to associate with the middleware.
99
+ * @param {IMiddleware<IMiddlewareContext[K]>} middleware - The middleware to register for the specified action.
100
+ */
101
+ use<K extends keyof IMiddlewareContext>(action: K, middleware: IMiddleware<IMiddlewareContext[K]>): void;
102
+ /**
103
+ * Registers multiple hooks to the server in a batch.
104
+ * @param hooks - The hooks to register.
105
+ */
106
+ on(hooks: IHooks): void;
107
+ /**
108
+ * Registers a single hook for a specific action on the server.
109
+ * @template K - Type of the action name, extending keyof IHookContext.
110
+ * @param {K} action - he name of the action to associate with the hook
111
+ * @param {IHook<IHookContext<K>>} hook - The hook to register for the specified action.
112
+ */
113
+ on<K extends keyof IHookContext>(action: K, hook: IHook<IHookContext[K]>): void;
114
+ /**
115
+ * Register feature to the server.
116
+ * @param {IFeature} feature - The feature to register.
117
+ */
118
+ useFeature(feature: IFeature): void;
119
+ }
120
+
70
121
  export interface IHooks {
71
122
  connect?: IHook<IConnectContext>;
72
123
  message?: IHook<IMessageContext>;
@@ -143,54 +194,3 @@ export interface IMessageMiddlewareContext {
143
194
  type: MessageType;
144
195
  data: MessageData;
145
196
  }
146
-
147
- export interface IServerConfig {
148
- httpServer?: HTTPServer | HTTPSServer | Http2SecureServer | Http2Server;
149
- port?: number;
150
- /**
151
- * The request path for the server. Defaults to '/collaboration/'.
152
- */
153
- path?: string;
154
- }
155
-
156
- export interface IFeature {
157
- middlewares?: IMiddlewares;
158
- hooks?: IHooks;
159
- }
160
-
161
- /**
162
- * Represents a collaboration server, provides bidirectional communication, middleware and hooks mechanism.
163
- */
164
- export declare class Server {
165
- constructor(config?: IServerConfig);
166
-
167
- /**
168
- * Registers multiple middlewares to the server in a batch.
169
- * @param {IMiddlewares} middlewares - The middlewares to register.
170
- */
171
- use(middlewares: IMiddlewares): void;
172
- /**
173
- * Registers a single middleware for a specific action on the server.
174
- * @template K - Type of the action name, extending keyof IMiddlewareContext.
175
- * @param {K} action - The name of the action to associate with the middleware.
176
- * @param {IMiddleware<IMiddlewareContext[K]>} middleware - The middleware to register for the specified action.
177
- */
178
- use<K extends keyof IMiddlewareContext>(action: K, middleware: IMiddleware<IMiddlewareContext[K]>): void;
179
- /**
180
- * Registers multiple hooks to the server in a batch.
181
- * @param hooks - The hooks to register.
182
- */
183
- on(hooks: IHooks): void;
184
- /**
185
- * Registers a single hook for a specific action on the server.
186
- * @template K - Type of the action name, extending keyof IHookContext.
187
- * @param {K} action - he name of the action to associate with the hook
188
- * @param {IHook<IHookContext<K>>} hook - The hook to register for the specified action.
189
- */
190
- on<K extends keyof IHookContext>(action: K, hook: IHook<IHookContext[K]>): void;
191
- /**
192
- * Register feature to the server.
193
- * @param {IFeature} feature - The feature to register.
194
- */
195
- useFeature(feature: IFeature): void;
196
- }
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(this,(()=>(()=>{"use strict";var e={42:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=void 0,t.getConnection=function(e){return e.__conn__};const r=o(884);class n extends r.Observable{constructor(e){super(),this._tags=new Map;const t=e.handshake.query;this._roomId=t.roomId,this._query=t,this._socket=e,this._socket.__conn__=this,this._socket.on(r.SOCKET_IO_MESSAGE_EVENT,this.onmessage.bind(this))}get id(){return this._socket.id}get roomId(){return this._roomId}get query(){return this._query}get auth(){return this._socket.handshake.auth}get tags(){return this._tags}get socket(){return this._socket}send(e,t){this._socket.emit(r.SOCKET_IO_MESSAGE_EVENT,(0,r.encodeMessage)(e,t))}close(){this._socket.disconnect()}broadcast(e,t,o=!1){const n=(0,r.encodeMessage)(e,t);o&&this._socket.emit(r.SOCKET_IO_MESSAGE_EVENT,n),this._socket.to(this.roomId).emit(r.SOCKET_IO_MESSAGE_EVENT,n)}onmessage(e){this.emit("message",(0,r.decodeMessage)(e))}}t.Connection=n},273:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},897:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},271:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.Server=void 0;const i=s(o(952)),a=o(884),c=o(42);class d extends a.Middleware{constructor(e){var t;super(),this.rooms=new Set,e=null!=e?e:{port:3e3},this.io=new i.Server(e.httpServer||e.port,{path:null!==(t=e.path)&&void 0!==t?t:a.DEFAULT_REQUEST_PATH,maxHttpBufferSize:1e10,perMessageDeflate:{threshold:1024}}),this.io.use(((e,t)=>{const o=new c.Connection(e),r={connection:o,roomId:o.roomId};this.trigger("connect",r,(async e=>{return e?t((o=e)instanceof Error?o:new Error(o)):t();var o}))}));const o=this.io.of("/").adapter;this.io.on("connection",(e=>{const t=(0,c.getConnection)(e);this.emit("connect",{connection:t,roomId:t.roomId}),this.rooms.add(t.roomId),t.socket.join(t.roomId),t.on("message",((e,o)=>{this.trigger("message",{connection:t,data:e,type:o,roomId:t.roomId},(async r=>{r?t.socket.emit("message_error",r instanceof Error?r.message:r):await this.emit("message",{connection:t,data:e,type:o,roomId:t.roomId})}))})),t.socket.on("disconnect",(()=>{this.emit("disconnect",{connection:t,roomId:t.roomId})}))})),o.on("create-room",(e=>{this.rooms.has(e)&&this.emit("createRoom",{roomId:e})})),o.on("join-room",((e,t)=>{if(!this.rooms.has(e))return;const o=this.io.sockets.sockets.get(t);this.emit("enterRoom",{roomId:e,connection:(0,c.getConnection)(o)})})),o.on("leave-room",((e,t)=>{if(!this.rooms.has(e))return;const o=this.io.sockets.sockets.get(t);this.emit("leaveRoom",{roomId:e,connection:(0,c.getConnection)(o)})})),o.on("delete-room",(e=>{this.rooms.has(e)&&(this.rooms.delete(e),this.emit("destroyRoom",{roomId:e}))}))}use(e,t){if("string"==typeof e){const o=e;super.use(o,t)}else{const t=e;t.connect&&super.use("connect",t.connect),t.message&&super.use("message",t.message)}}on(e,t){if("string"==typeof e){const o=e;super.on(o,t)}else{const t=e;t.connect&&super.on("connect",t.connect),t.createRoom&&super.on("createRoom",t.createRoom),t.enterRoom&&super.on("enterRoom",t.enterRoom),t.message&&super.on("message",t.message),t.disconnect&&super.on("disconnect",t.disconnect),t.leaveRoom&&super.on("leaveRoom",t.leaveRoom),t.destroyRoom&&super.on("destroyRoom",t.destroyRoom)}}useFeature(e){e.middlewares&&this.use(e.middlewares),e.hooks&&this.on(e.hooks)}}t.Server=d},871:e=>{e.exports=require("buffer")},331:e=>{e.exports=require("pako")},952:e=>{e.exports=require("socket.io")},884:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_REQUEST_PATH=void 0,n(o(589),t),n(o(735),t),n(o(31),t),n(o(76),t),n(o(959),t),t.DEFAULT_REQUEST_PATH="/collaboration/"},31:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerManager=void 0;class o{debug(...e){}info(e){}warn(...e){}error(...e){}}class r{constructor(e){this.namespace=e}debug(...e){this.isEnabled&&this.logger.debug(`[${this.namespace}]`,...e)}info(...e){this.isEnabled&&this.logger.info(`[${this.namespace}]`,...e)}warn(...e){this.isEnabled&&this.logger.warn(`[${this.namespace}]`,...e)}error(...e){this.isEnabled&&this.logger.error(`[${this.namespace}]`,...e)}get isEnabled(){return n._isEnabledNamespace(this.namespace)}get logger(){return n.getInstance()}}class n{static getInstance(){return n._instance||(n._instance=new o),n._instance}static createLogger(e){return new r(e)}static setLogger(e){n._instance=e}static enableNamespace(e){n._enabledNamespace.push(...e)}static disableNamespace(e){n._enabledNamespace=n._enabledNamespace.filter((t=>!e.includes(t)))}static _isEnabledNamespace(e){return n._enabledNamespace.includes(e)||n._enabledNamespace.includes("*")}}t.LoggerManager=n,n._enabledNamespace=[]},735:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.SOCKET_IO_MESSAGE_EVENT=void 0,t.encodeMessage=function(e,t=null){return[t,"string"==typeof e?c(e):e]},t.decodeMessage=function(e){return["string"==typeof e[1]?d(e[1]):e[1],e[0]]};const i=s(o(331)),a=o(871);function c(e){const t=(new TextEncoder).encode(e),o=i.deflate(t);return a.Buffer.from(o).toString("base64")}function d(e){const t=a.Buffer.from(e,"base64"),o=i.inflate(new Uint8Array(t));return(new TextDecoder).decode(o)}t.SOCKET_IO_MESSAGE_EVENT="m"},589:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Middleware=void 0,t.Middleware=class{constructor(){this.middlewares=new Map,this.hooks=new Map}use(e,t){this.middlewares.has(e)||this.middlewares.set(e,[]),this.middlewares.get(e).push(t)}on(e,t){this.hooks.has(e)||this.hooks.set(e,[]),this.hooks.get(e).push(t)}async trigger(e,t,o){let r=this.middlewares.get(e);if(!r||0===r.length)return o();r=r.slice();const n=async e=>{if(e)return await o(e);const s=r.shift();if(!s)return await o();await s(t,n)};await n()}async emit(e,t){const o=this.hooks.get(e);if(o)for(const e of o)await e(t)}}},959:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Observable=void 0,t.Observable=class{constructor(){this._observers=new Map}on(e,t){return o(this._observers,e,(()=>new Set)).add(t),t}once(e,t){const o=(...r)=>{this.off(e,o),t(...r)};this.on(e,o)}off(e,t){const o=this._observers.get(e);void 0!==o&&(o.delete(t),0===o.size&&this._observers.delete(e))}emit(e,t){return Array.from((this._observers.get(e)||new Map).values()).forEach((e=>e(...t)))}destroy(){this._observers=new Map}};const o=(e,t,o)=>{let r=e.get(t);return void 0===r&&(r=o(),e.set(t,r)),r}},76:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNullOrUndefined=function(e){return null==e}}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,o),s.exports}var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.Middleware=e.LoggerManager=e.Connection=e.Server=void 0,o(897),o(273);const t=o(271);Object.defineProperty(e,"Server",{enumerable:!0,get:function(){return t.Server}});const n=o(42);Object.defineProperty(e,"Connection",{enumerable:!0,get:function(){return n.Connection}});const s=o(884);Object.defineProperty(e,"LoggerManager",{enumerable:!0,get:function(){return s.LoggerManager}}),Object.defineProperty(e,"Middleware",{enumerable:!0,get:function(){return s.Middleware}})})(),r})()));
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(this,(()=>(()=>{"use strict";var e={42:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=void 0,t.getConnection=s;const r=o(884);class n extends r.Observable{constructor(e){super(),this._tags=new Map,this._innerTags=new Map;const t=e.handshake.query;this._roomId=t.roomId,this._query=t,this._socket=e,this._socket.__conn__=this,this._socket.on(r.SOCKET_IO_MESSAGE_EVENT,this.onmessage.bind(this))}get id(){return this._socket.id}get roomId(){return this._roomId}get query(){return this._query}get auth(){return this._socket.handshake.auth}get tags(){return this._tags}get innerTags(){return this._innerTags}get socket(){return this._socket}send(e,t){this._socket.emit(r.SOCKET_IO_MESSAGE_EVENT,(0,r.encodeMessage)(e,t))}close(){this._socket.disconnect()}broadcast(e,t,o=!1){const n=(0,r.encodeMessage)(e,t);o&&this._socket.emit(r.SOCKET_IO_MESSAGE_EVENT,n),this._socket.to(this.roomId).emit(r.SOCKET_IO_MESSAGE_EVENT,n)}async broadcastWithFilter(e,t,o){const n=(0,r.encodeMessage)(e,t);(await this._socket.to(this.roomId).fetchSockets()).filter((e=>o(s(e)))).forEach((e=>e.emit(r.SOCKET_IO_MESSAGE_EVENT,n)))}onmessage(e){this.emit("message",(0,r.decodeMessage)(e))}}function s(e){return e.__conn__}t.Connection=n},271:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},826:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},692:function(e,t,o){var r,n=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(r=function(e){return r=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[t.length]=o);return t},r(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=r(e),i=0;i<o.length;i++)"default"!==o[i]&&n(t,e,o[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.Server=void 0;const a=i(o(952)),c=o(884),u=o(42);class d extends c.Middleware{constructor(e){var t;super(),this.rooms=new Set,e=null!=e?e:{port:3e3},this.io=new a.Server(e.httpServer||e.port,{path:null!==(t=e.path)&&void 0!==t?t:c.DEFAULT_REQUEST_PATH,maxHttpBufferSize:1e10,perMessageDeflate:{threshold:1024}}),this.io.use(((e,t)=>{const o=new u.Connection(e),r={connection:o,roomId:o.roomId};this.trigger("connect",r,(async e=>{return e?t((o=e)instanceof Error?o:new Error(o)):t();var o}))}));const o=this.io.of("/").adapter;this.io.on("connection",(e=>{const t=(0,u.getConnection)(e);this.emit("connect",{connection:t,roomId:t.roomId}),this.rooms.add(t.roomId),t.socket.join(t.roomId),t.on("message",((e,o)=>{this.trigger("message",{connection:t,data:e,type:o,roomId:t.roomId},(async r=>{r?t.socket.emit("message_error",r instanceof Error?r.message:r):await this.emit("message",{connection:t,data:e,type:o,roomId:t.roomId})}))})),t.socket.on("disconnect",(()=>{this.emit("disconnect",{connection:t,roomId:t.roomId})}))})),o.on("create-room",(e=>{this.rooms.has(e)&&this.emit("createRoom",{roomId:e})})),o.on("join-room",((e,t)=>{if(!this.rooms.has(e))return;const o=this.io.sockets.sockets.get(t);this.emit("enterRoom",{roomId:e,connection:(0,u.getConnection)(o)})})),o.on("leave-room",((e,t)=>{if(!this.rooms.has(e))return;const o=this.io.sockets.sockets.get(t);this.emit("leaveRoom",{roomId:e,connection:(0,u.getConnection)(o)})})),o.on("delete-room",(e=>{this.rooms.has(e)&&(this.rooms.delete(e),this.emit("destroyRoom",{roomId:e}))}))}use(e,t){if("string"==typeof e){const o=e;super.use(o,t)}else{const t=e;t.connect&&super.use("connect",t.connect),t.message&&super.use("message",t.message)}}on(e,t){if("string"==typeof e){const o=e;super.on(o,t)}else{const t=e;t.connect&&super.on("connect",t.connect),t.createRoom&&super.on("createRoom",t.createRoom),t.enterRoom&&super.on("enterRoom",t.enterRoom),t.message&&super.on("message",t.message),t.disconnect&&super.on("disconnect",t.disconnect),t.leaveRoom&&super.on("leaveRoom",t.leaveRoom),t.destroyRoom&&super.on("destroyRoom",t.destroyRoom)}}useFeature(e){e.middlewares&&this.use(e.middlewares),e.hooks&&this.on(e.hooks)}}t.Server=d},871:e=>{e.exports=require("buffer")},331:e=>{e.exports=require("pako")},952:e=>{e.exports=require("socket.io")},884:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_REQUEST_PATH=void 0,n(o(589),t),n(o(735),t),n(o(31),t),n(o(76),t),n(o(959),t),t.DEFAULT_REQUEST_PATH="/collaboration/"},31:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LoggerManager=void 0;class o{debug(...e){}info(e){}warn(...e){}error(...e){}}class r{constructor(e){this.namespace=e}debug(...e){this.isEnabled&&this.logger.debug(`[${this.namespace}]`,...e)}info(...e){this.isEnabled&&this.logger.info(`[${this.namespace}]`,...e)}warn(...e){this.isEnabled&&this.logger.warn(`[${this.namespace}]`,...e)}error(...e){this.isEnabled&&this.logger.error(`[${this.namespace}]`,...e)}get isEnabled(){return n._isEnabledNamespace(this.namespace)}get logger(){return n.getInstance()}}class n{static getInstance(){return n._instance||(n._instance=new o),n._instance}static createLogger(e){return new r(e)}static setLogger(e){n._instance=e}static enableNamespace(e){n._enabledNamespace.push(...e)}static disableNamespace(e){n._enabledNamespace=n._enabledNamespace.filter((t=>!e.includes(t)))}static _isEnabledNamespace(e){return n._enabledNamespace.includes(e)||n._enabledNamespace.includes("*")}}t.LoggerManager=n,n._enabledNamespace=[]},735:function(e,t,o){var r,n=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(r=function(e){return r=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[t.length]=o);return t},r(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=r(e),i=0;i<o.length;i++)"default"!==o[i]&&n(t,e,o[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.SOCKET_IO_MESSAGE_EVENT=void 0,t.encodeMessage=function(e,t=null){return[t,"string"==typeof e?u(e):e]},t.decodeMessage=function(e){return["string"==typeof e[1]?d(e[1]):e[1],e[0]]};const a=i(o(331)),c=o(871);function u(e){const t=(new TextEncoder).encode(e),o=a.deflate(t);return c.Buffer.from(o).toString("base64")}function d(e){const t=c.Buffer.from(e,"base64"),o=a.inflate(new Uint8Array(t));return(new TextDecoder).decode(o)}t.SOCKET_IO_MESSAGE_EVENT="m"},589:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Middleware=void 0,t.Middleware=class{constructor(){this.middlewares=new Map,this.hooks=new Map}use(e,t){this.middlewares.has(e)||this.middlewares.set(e,[]),this.middlewares.get(e).push(t)}on(e,t){this.hooks.has(e)||this.hooks.set(e,[]),this.hooks.get(e).push(t)}async trigger(e,t,o){let r=this.middlewares.get(e);if(!r||0===r.length)return o();r=r.slice();const n=async e=>{if(e)return await o(e);const s=r.shift();if(!s)return await o();await s(t,n)};await n()}async emit(e,t){const o=this.hooks.get(e);if(o)for(const e of o)await e(t)}}},959:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Observable=void 0,t.Observable=class{constructor(){this._observers=new Map}on(e,t){return o(this._observers,e,(()=>new Set)).add(t),t}once(e,t){const o=(...r)=>{this.off(e,o),t(...r)};this.on(e,o)}off(e,t){const o=this._observers.get(e);void 0!==o&&(o.delete(t),0===o.size&&this._observers.delete(e))}emit(e,t){return Array.from((this._observers.get(e)||new Map).values()).forEach((e=>e(...t)))}destroy(){this._observers=new Map}};const o=(e,t,o)=>{let r=e.get(t);return void 0===r&&(r=o(),e.set(t,r)),r}},76:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNullOrUndefined=function(e){return null==e}}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,o),s.exports}var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.Middleware=e.LoggerManager=e.Connection=e.Server=void 0,o(826),o(271);const t=o(692);Object.defineProperty(e,"Server",{enumerable:!0,get:function(){return t.Server}});const n=o(42);Object.defineProperty(e,"Connection",{enumerable:!0,get:function(){return n.Connection}});const s=o(884);Object.defineProperty(e,"LoggerManager",{enumerable:!0,get:function(){return s.LoggerManager}}),Object.defineProperty(e,"Middleware",{enumerable:!0,get:function(){return s.Middleware}})})(),r})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mescius/js-collaboration",
3
- "version": "18.1.2",
3
+ "version": "18.1.3",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.js",
6
6
  "exports": {