@grapecity-software/js-collaboration-presence 18.1.2 → 18.1.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.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,s){if("object"==typeof exports&&"object"==typeof module)module.exports=s();else if("function"==typeof define&&define.amd)define([],s);else{var t=s();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(this,(()=>(()=>{"use strict";var e={658:(e,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.PresenceManager=void 0,s.PresenceManager=class{constructor(){this._presences=new Map}get presences(){return this._presences}getPresence(e){return this._presences.get(e)}setPresence(e,s){this._presences.set(e,s)}removePresence(e){this._presences.delete(e)}}},17:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.Presence=void 0;const n=t(773);s.Presence=class{constructor(){this.presences={}}messageHandler(e,s){if("string"!=typeof s)return;const t=JSON.parse(s);switch(t.a){case n.Actions.update:this._handleUpdateMsg(e,t);break;case n.Actions.updateField:this._handleUpdateFieldMsg(e,t);break;case n.Actions.remove:this._handleRemoveMsg(e);break;case n.Actions.subscribe:this._handleSubscribeMsg(e)}}disconnect(e){this._handleRemoveMsg(e)}_handleUpdateMsg(e,s){if(!("presence"in s))return void this._handleRemoveMsg(e);const t=s.presence,r=(0,n.createPresences)([e.id],[t]);this._has(e.id)?(this.presences[e.id]=t,this._broadCast(e,{a:n.Actions.update,presences:r})):(this.presences[e.id]=t,this._broadCast(e,{a:n.Actions.add,presences:r}))}_handleUpdateFieldMsg(e,s){const t=s.fieldUpdate;if(!t)return;const r=this.presences[e.id];(0,n.canApplyFieldUpdate)(r)&&(r[t.k]=t.v,this._broadCast(e,{a:n.Actions.updateField,fieldUpdates:{[e.id]:t}}))}_handleSubscribeMsg(e){this._send(e,{a:n.Actions.subscribe,presences:this.presences})}_handleRemoveMsg(e){this._has(e.id)&&(delete this.presences[e.id],this._broadCast(e,{a:n.Actions.remove,presencesIds:[e.id]}))}_send(e,s){e.send(JSON.stringify(s),n.PRESENCE_MESSAGE_TYPE)}_broadCast(e,s){e.broadcast(JSON.stringify(s),n.PRESENCE_MESSAGE_TYPE)}_has(e){return e in this.presences}}},773:(e,s)=>{var t;Object.defineProperty(s,"__esModule",{value:!0}),s.PRESENCE_MESSAGE_TYPE=s.Actions=void 0,s.createPresences=function(e,s){const t={};for(let n=0;n<e.length;n++)t[e[n]]=s[n];return t},s.canApplyFieldUpdate=function(e){return"object"==typeof e&&null!==e},function(e){e.subscribe="s",e.unsubscribe="u",e.update="d",e.updateField="df",e.add="a",e.remove="r"}(t||(s.Actions=t={})),s.PRESENCE_MESSAGE_TYPE="presence"}},s={};function t(n){var r=s[n];if(void 0!==r)return r.exports;var i=s[n]={exports:{}};return e[n](i,i.exports,t),i.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.presenceFeature=function(e){return e=null!=e?e:new s.PresenceManager,{middlewares:{message:async(s,t)=>{var n;if(s.type!==i.PRESENCE_MESSAGE_TYPE)return await t();null===(n=e.getPresence(s.roomId))||void 0===n||n.messageHandler(s.connection,s.data)}},hooks:{createRoom:s=>{const t=new r.Presence;e.setPresence(s.roomId,t)},destroyRoom:s=>{e.removePresence(s.roomId)},leaveRoom:s=>{var t;null===(t=e.getPresence(s.roomId))||void 0===t||t.disconnect(s.connection)}}}};const s=t(658),r=t(17),i=t(773)})(),n})()));
1
+ !function(e,s){if("object"==typeof exports&&"object"==typeof module)module.exports=s();else if("function"==typeof define&&define.amd)define([],s);else{var t=s();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(this,(()=>(()=>{"use strict";var e={658:(e,s)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.PresenceManager=void 0,s.PresenceManager=class{constructor(){this._presences=new Map}get presences(){return this._presences}getPresence(e){return this._presences.get(e)}setPresence(e,s){this._presences.set(e,s)}removePresence(e){this._presences.delete(e)}}},17:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.Presence=void 0;const n=t(773),r="presence-subscribed";s.Presence=class{constructor(){this.presences={}}messageHandler(e,s){if("string"!=typeof s)return;const t=JSON.parse(s);switch(t.a){case n.Actions.update:this._handleUpdateMsg(e,t);break;case n.Actions.updateField:this._handleUpdateFieldMsg(e,t);break;case n.Actions.remove:this._handleRemoveMsg(e);break;case n.Actions.subscribe:this._handleSubscribeMsg(e)}}disconnect(e){this._handleRemoveMsg(e)}_handleUpdateMsg(e,s){if(!("presence"in s))return void this._handleRemoveMsg(e);const t=s.presence,r=(0,n.createPresences)([e.id],[t]);this._has(e.id)?(this.presences[e.id]=t,this._broadCast(e,{a:n.Actions.update,presences:r})):(this.presences[e.id]=t,this._broadCast(e,{a:n.Actions.add,presences:r}))}_handleUpdateFieldMsg(e,s){const t=s.fieldUpdate;if(!t)return;const r=this.presences[e.id];(0,n.canApplyFieldUpdate)(r)&&(r[t.k]=t.v,this._broadCast(e,{a:n.Actions.updateField,fieldUpdates:{[e.id]:t}}))}_handleSubscribeMsg(e){e.innerTags.set(r,!0),this._send(e,{a:n.Actions.subscribe,presences:this.presences})}_handleRemoveMsg(e){this._has(e.id)&&(delete this.presences[e.id],this._broadCast(e,{a:n.Actions.remove,presencesIds:[e.id]}))}_send(e,s){e.send(JSON.stringify(s),n.PRESENCE_MESSAGE_TYPE)}_broadCast(e,s){e.broadcastWithFilter(JSON.stringify(s),n.PRESENCE_MESSAGE_TYPE,(s=>e.id!==s.id&&!!s.innerTags.get(r)))}_has(e){return e in this.presences}}},773:(e,s)=>{var t;Object.defineProperty(s,"__esModule",{value:!0}),s.PRESENCE_MESSAGE_TYPE=s.Actions=void 0,s.createPresences=function(e,s){const t={};for(let n=0;n<e.length;n++)t[e[n]]=s[n];return t},s.canApplyFieldUpdate=function(e){return"object"==typeof e&&null!==e},function(e){e.subscribe="s",e.unsubscribe="u",e.update="d",e.updateField="df",e.add="a",e.remove="r"}(t||(s.Actions=t={})),s.PRESENCE_MESSAGE_TYPE="presence"}},s={};function t(n){var r=s[n];if(void 0!==r)return r.exports;var i=s[n]={exports:{}};return e[n](i,i.exports,t),i.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.presenceFeature=function(e){return e=null!=e?e:new s.PresenceManager,{middlewares:{message:async(s,t)=>{var n;if(s.type!==i.PRESENCE_MESSAGE_TYPE)return await t();null===(n=e.getPresence(s.roomId))||void 0===n||n.messageHandler(s.connection,s.data)}},hooks:{createRoom:s=>{const t=new r.Presence;e.setPresence(s.roomId,t)},destroyRoom:s=>{e.removePresence(s.roomId)},leaveRoom:s=>{var t;null===(t=e.getPresence(s.roomId))||void 0===t||t.disconnect(s.connection)}}}};const s=t(658),r=t(17),i=t(773)})(),n})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grapecity-software/js-collaboration-presence",
3
- "version": "18.1.2",
3
+ "version": "18.1.4",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.js",
6
6
  "exports": {
@@ -26,7 +26,7 @@
26
26
  "license": "Commercial",
27
27
  "description": "SpreadJS Collaboration plugin",
28
28
  "dependencies": {
29
- "@grapecity-software/js-collaboration": "18.1.2"
29
+ "@grapecity-software/js-collaboration": "18.1.4"
30
30
  },
31
31
  "homepage": "http://www.grapecity.com.cn/"
32
32
  }