bruce-models 0.9.4 → 0.9.6
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/bruce-models.es5.js +33 -53
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +33 -53
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/server/message-broker.js +33 -53
- package/dist/lib/server/message-broker.js.map +1 -1
- package/dist/lib/tileset/tileset.js.map +1 -1
- package/dist/types/server/message-broker.d.ts +40 -81
- package/dist/types/tileset/tileset.d.ts +1 -0
- package/package.json +1 -1
|
@@ -6,34 +6,35 @@ var MessageBroker;
|
|
|
6
6
|
(function (MessageBroker) {
|
|
7
7
|
let EAction;
|
|
8
8
|
(function (EAction) {
|
|
9
|
+
// Subscribes a client to topic messages on a server side.
|
|
9
10
|
EAction["SUBSCRIBE"] = "subscribe";
|
|
11
|
+
// Subscribes a client to a topic without notifying other clients.
|
|
10
12
|
EAction["SUBSCRIBE_SHADOW"] = "subscribeShadow";
|
|
13
|
+
// Unsubscribes clients from topic messages on a server side
|
|
11
14
|
EAction["UNSUBSCRIBE"] = "unsubscribe";
|
|
15
|
+
// Sends a message to all topic subscribers.
|
|
12
16
|
EAction["BROADCAST"] = "broadcast";
|
|
13
|
-
|
|
17
|
+
// Requests topic subscribers without subscribing.
|
|
18
|
+
EAction["GET_TOPIC_SUBSCRIBERS"] = "getTopicSubscribers";
|
|
14
19
|
})(EAction = MessageBroker.EAction || (MessageBroker.EAction = {}));
|
|
15
|
-
/** Events types any component may get from server */
|
|
16
|
-
let EEvent;
|
|
17
|
-
(function (EEvent) {
|
|
18
|
-
EEvent["SAVED"] = "saved";
|
|
19
|
-
EEvent["UPDATED"] = "updated";
|
|
20
|
-
EEvent["DELETED"] = "deleted";
|
|
21
|
-
EEvent["EDIT_STARTED"] = "editStarted";
|
|
22
|
-
EEvent["EDIT_FINISHED"] = "editFinished";
|
|
23
|
-
EEvent["USERS_UPDATE"] = "usersUpdate";
|
|
24
|
-
})(EEvent = MessageBroker.EEvent || (MessageBroker.EEvent = {}));
|
|
25
20
|
/**
|
|
26
21
|
* Communicates with a server message broker.
|
|
27
22
|
*/
|
|
28
23
|
class WebSocketBroker {
|
|
29
24
|
constructor(uri, env) {
|
|
30
|
-
this.uri = uri;
|
|
31
|
-
this.env = env;
|
|
32
25
|
this.subscriptions = new Map();
|
|
33
26
|
this.reconnects = 0;
|
|
34
27
|
this.maxReconnects = 5;
|
|
28
|
+
this.uri = uri;
|
|
29
|
+
this.env = env ? env : api_1.Api.EEnv.PROD;
|
|
35
30
|
this.connect();
|
|
36
31
|
}
|
|
32
|
+
get IsConnected() {
|
|
33
|
+
return this.ws.readyState === WebSocket.OPEN;
|
|
34
|
+
}
|
|
35
|
+
SetUserId(userId) {
|
|
36
|
+
this.userId = this.userId ? this.userId : userId;
|
|
37
|
+
}
|
|
37
38
|
connect() {
|
|
38
39
|
try {
|
|
39
40
|
if (!WebSocket) {
|
|
@@ -53,9 +54,6 @@ var MessageBroker;
|
|
|
53
54
|
const ws = document.location.protocol === "https:" ? "wss" : "ws";
|
|
54
55
|
return uri.replace(/^(https|http)/, ws) + "websocket";
|
|
55
56
|
}
|
|
56
|
-
SetUser(user) {
|
|
57
|
-
this.user = this.user ? this.user : user;
|
|
58
|
-
}
|
|
59
57
|
onOpen(ev) {
|
|
60
58
|
if (this.env === api_1.Api.EEnv.DEV) {
|
|
61
59
|
console.log("MessageBroker connection opened: ", ev);
|
|
@@ -85,55 +83,45 @@ var MessageBroker;
|
|
|
85
83
|
}
|
|
86
84
|
subscribers.push(callback);
|
|
87
85
|
this.subscriptions.set(topic, subscribers);
|
|
88
|
-
if (this.env === api_1.Api.EEnv.DEV) {
|
|
89
|
-
console.groupCollapsed("MessageBroker subscription added: ", topic);
|
|
90
|
-
console.table(Array.from(this.subscriptions.entries()));
|
|
91
|
-
console.groupEnd();
|
|
92
|
-
}
|
|
93
86
|
}
|
|
94
87
|
/**
|
|
95
88
|
* Send message to server.
|
|
96
|
-
* @param
|
|
89
|
+
* @param base
|
|
97
90
|
* @returns
|
|
98
91
|
*/
|
|
99
|
-
|
|
92
|
+
SendMessage(base) {
|
|
100
93
|
if (this.ws.readyState !== WebSocket.OPEN) {
|
|
101
94
|
return;
|
|
102
95
|
}
|
|
103
|
-
if (!this.user) {
|
|
104
|
-
console.error("Set user first!");
|
|
105
|
-
}
|
|
106
96
|
try {
|
|
107
|
-
const
|
|
97
|
+
const msg = base;
|
|
98
|
+
if (!msg.event) {
|
|
99
|
+
msg.event = EAction.BROADCAST;
|
|
100
|
+
}
|
|
101
|
+
let message = base.data ? base.data : {};
|
|
102
|
+
if (typeof message == "object") {
|
|
103
|
+
message = JSON.stringify(message);
|
|
104
|
+
}
|
|
105
|
+
msg.data = message;
|
|
106
|
+
const outgoingMessage = Object.assign(Object.assign({}, msg), { user: this.userId, time: Date.now() });
|
|
108
107
|
this.ws.send(JSON.stringify(outgoingMessage));
|
|
109
108
|
}
|
|
110
109
|
catch (e) {
|
|
111
110
|
console.warn(e);
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
|
-
get IsConnected() {
|
|
115
|
-
return this.ws.readyState === WebSocket.OPEN;
|
|
116
|
-
}
|
|
117
113
|
/**
|
|
118
114
|
* Add a subscriber to a topic.
|
|
119
115
|
* @param topic
|
|
120
116
|
* @param callback
|
|
121
117
|
* @param action
|
|
122
118
|
*/
|
|
123
|
-
Subscribe(topic, callback, action
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (this.env === api_1.Api.EEnv.DEV) {
|
|
127
|
-
console.log(`Subscribe [${action}] called for topic`, topic);
|
|
119
|
+
Subscribe(topic, callback, action) {
|
|
120
|
+
if (!action) {
|
|
121
|
+
action = EAction.SUBSCRIBE;
|
|
128
122
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
* Add a shadow subscriber to a topic.
|
|
132
|
-
* @param topic
|
|
133
|
-
* @param callback
|
|
134
|
-
*/
|
|
135
|
-
SubscribeShadow(topic, callback) {
|
|
136
|
-
this.Subscribe(topic, callback, EAction.SUBSCRIBE_SHADOW);
|
|
123
|
+
this.addSubscriber(topic, callback);
|
|
124
|
+
this.SendMessage({ topic, action });
|
|
137
125
|
}
|
|
138
126
|
/**
|
|
139
127
|
* Remove a subscriber from a topic.
|
|
@@ -143,19 +131,11 @@ var MessageBroker;
|
|
|
143
131
|
Unsubscribe(topic, callback) {
|
|
144
132
|
const subscribers = this.subscriptions.get(topic) || [];
|
|
145
133
|
this.subscriptions.set(topic, subscribers.filter(fn => fn != callback));
|
|
146
|
-
this.
|
|
147
|
-
if (this.env === api_1.Api.EEnv.DEV) {
|
|
148
|
-
console.groupCollapsed("MessageBroker subscription removed: ", topic);
|
|
149
|
-
console.table(Array.from(this.subscriptions.entries()));
|
|
150
|
-
console.groupEnd();
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
SendBroadcastMessage(msg) {
|
|
154
|
-
this.sendMessage(Object.assign(Object.assign({}, msg), { action: EAction.BROADCAST }));
|
|
134
|
+
this.SendMessage({ topic, action: EAction.UNSUBSCRIBE });
|
|
155
135
|
}
|
|
156
136
|
RequestTopicUsers(topic, callback) {
|
|
157
137
|
this.addSubscriber(topic, callback);
|
|
158
|
-
this.
|
|
138
|
+
this.SendMessage({ topic, event: EAction.GET_TOPIC_SUBSCRIBERS });
|
|
159
139
|
}
|
|
160
140
|
}
|
|
161
141
|
MessageBroker.WebSocketBroker = WebSocketBroker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-broker.js","sourceRoot":"","sources":["../../../src/server/message-broker.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAEjC,IAAiB,aAAa,
|
|
1
|
+
{"version":3,"file":"message-broker.js","sourceRoot":"","sources":["../../../src/server/message-broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset.js","sourceRoot":"","sources":["../../../src/tileset/tileset.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAiC;AAuBjC;;;;;;;;;GASG;AACH,IAAiB,OAAO,
|
|
1
|
+
{"version":3,"file":"tileset.js","sourceRoot":"","sources":["../../../src/tileset/tileset.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAiC;AAuBjC;;;;;;;;;GASG;AACH,IAAiB,OAAO,CAsPvB;AAtPD,WAAiB,OAAO;IACpB,SAAgB,WAAW,CAAC,SAAiB,EAAE,SAAkB;QAC7D,OAAO,GAAG,SAAG,CAAC,SAAS,CAAC,OAAO,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;IACpG,CAAC;IAFe,mBAAW,cAE1B,CAAA;IAED,SAAgB,eAAe;QAC3B,OAAO,SAAG,CAAC,SAAS,CAAC,OAAO,CAAC;IACjC,CAAC;IAFe,uBAAe,kBAE9B,CAAA;IAeD,IAAY,KASX;IATD,WAAY,KAAK;QACb,mCAA0B,CAAA;QAC1B,2BAAkB,CAAA;QAClB,qCAA4B,CAAA;QAC5B,qCAA4B,CAAA;QAC5B,sBAAa,CAAA;QACb,6BAAoB,CAAA;QACpB,0CAAiC,CAAA;QACjC,wCAA+B,CAAA;IACnC,CAAC,EATW,KAAK,GAAL,aAAK,KAAL,aAAK,QAShB;IAED,IAAY,MAKX;IALD,WAAY,MAAM;QACd,uBAAa,CAAA;QACb,qBAAW,CAAA;QACX,2BAAiB,CAAA;QACjB,qBAAW,CAAA;IACf,CAAC,EALW,MAAM,GAAN,cAAM,KAAN,cAAM,QAKjB;IAED,SAAsB,GAAG,CAAC,GAAiB,EAAE,SAAiB,EAAE,YAAqB,KAAK,EAAE,SAA0B;;YAClH,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAK,CAAC,yBAAyB,CAAC,CAAC;aACpC;YACD,MAAM,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/F,IAAI,SAAS,EAAE;gBACX,OAAO,SAAS,CAAC;aACpB;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,SAAS,YAAY,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACxF,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,SAAG,CAAC,sBAAsB,CAAC,CAAC;YAClF,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;IAXqB,WAAG,MAWxB,CAAA;IAED,SAAsB,OAAO,CAAC,GAAiB,EAAE,SAA0B;;YACvE,MAAM,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;YAC/E,IAAI,SAAS,EAAE;gBACX,OAAO,SAAS,CAAC;aACpB;YACD,MAAM,GAAG,GAAwB,IAAI,OAAO,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC5D,IAAI;oBACA,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;oBACxD,GAAG,CAAC,IAAI,CAAC,CAAC;iBACb;gBACD,OAAO,CAAC,EAAE;oBACN,GAAG,CAAC,CAAC,CAAC,CAAC;iBACV;YACL,CAAC,CAAA,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,SAAG,CAAC,sBAAsB,CAAC,CAAC;YAClE,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;IAhBqB,eAAO,UAgB5B,CAAA;IAED,SAAsB,MAAM,CAAC,GAAiB,EAAE,SAAiB,EAAE,SAA0B;;YACzF,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAK,CAAC,yBAAyB,CAAC,CAAC;aACpC;YACD,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,OAAO,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;YACnF,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;KAAA;IAPqB,cAAM,SAO3B,CAAA;IAED,SAAsB,MAAM,CAAC,GAAiB,EAAE,IAAc,EAAE,SAA0B;;YACtF,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,EAAE;gBAC5B,MAAK,CAAC,qCAAqC,CAAC,CAAC;aAChD;YACD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,EAAE;gBACP,MAAM,GAAG,GAAa,MAAM,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,IAAI,SAAS,SAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC9G,IAAI,iDACG,GAAG,GACH,IAAI,KACP,QAAQ,kCACD,GAAG,CAAC,QAAQ,GACZ,IAAI,CAAC,QAAQ,GAEpB,EAAE,EAAE,GAAG,CAAC,EAAE,GACb,CAAA;aACJ;YACD,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YAChF,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,OAAO,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACjF,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IArBqB,cAAM,SAqB3B,CAAA;IAED,SAAsB,UAAU,CAAC,GAAiB,EAAE,SAAiB,EAAE,IAAU,EAAE,SAAgC;;YAC/G,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;gBACrB,MAAK,CAAC,mCAAmC,CAAC,CAAC;aAC9C;YAED,MAAM,MAAM,GAAG,SAAG,CAAC,aAAa,CAAC,SAAS,CAAyB,CAAC;YACpE,OAAO,GAAG,CAAC,MAAM,CAAC,sBAAsB,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;KAAA;IAPqB,kBAAU,aAO/B,CAAA;IAED,SAAsB,UAAU,CAAC,GAAiB,EAAE,SAAiB,EAAE,IAAY,EAAE,SAA0B;;YAC3G,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;gBACrB,MAAK,CAAC,mCAAmC,CAAC,CAAC;aAC9C;YACD,MAAM,GAAG,CAAC,MAAM,CAAC,sBAAsB,SAAS,UAAU,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YAC7E,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;KAAA;IANqB,kBAAU,aAM/B,CAAA;IAED,SAAsB,aAAa,CAAC,GAAiB,EAAE,SAAiB,EAAE,IAAU,EAAE,SAAgC;;YAClH,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;gBACrB,MAAK,CAAC,mCAAmC,CAAC,CAAC;aAC9C;YACD,MAAM,MAAM,GAAG,SAAG,CAAC,aAAa,CAAC,SAAS,CAAyB,CAAC;YACpE,MAAM,GAAG,CAAC,MAAM,CAAC,sBAAsB,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACtE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;KAAA;IAPqB,qBAAa,gBAOlC,CAAA;IAED,SAAsB,aAAa,CAAC,GAAiB,EAAE,SAAiB,EAAE,IAAY,EAAE,SAA0B;;YAC9G,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE;gBACrB,MAAK,CAAC,mCAAmC,CAAC,CAAC;aAC9C;YACD,MAAM,GAAG,CAAC,MAAM,CAAC,sBAAsB,SAAS,QAAQ,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;KAAA;IANqB,qBAAa,gBAMlC,CAAA;IAED,SAAgB,UAAU,CAAC,GAAiB,EAAE,SAAiB,EAAE,IAAY;QACzE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAK,CAAC,yBAAyB,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,EAAE,CAAC;SACb;QACD,OAAO,GAAG,CAAC,UAAU,EAAE,GAAG,mBAAmB,SAAS,UAAU,IAAI,EAAE,CAAC;IAC3E,CAAC;IARe,kBAAU,aAQzB,CAAA;IAED,SAAgB,aAAa,CAAC,GAAiB,EAAE,SAAiB,EAAE,IAAY;QAC5E,IAAI,CAAC,SAAS,EAAE;YACZ,MAAK,CAAC,yBAAyB,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,EAAE,CAAC;SACb;QACD,OAAO,GAAG,CAAC,UAAU,EAAE,GAAG,mBAAmB,SAAS,QAAQ,IAAI,EAAE,CAAC;IACzE,CAAC;IARe,qBAAa,gBAQ5B,CAAA;IAED,SAAgB,gBAAgB,CAAC,GAAiB,EAAE,SAAiB,EAAE,IAAY;QAC/E,IAAI,CAAC,SAAS,EAAE;YACZ,MAAK,CAAC,yBAAyB,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,EAAE,CAAC;SACb;QACD,OAAO,GAAG,CAAC,UAAU,EAAE,GAAG,gBAAgB,SAAS,IAAI,IAAI,EAAE,CAAC;IAClE,CAAC;IARe,wBAAgB,mBAQ/B,CAAA;IAED,SAAsB,QAAQ,CAAC,GAAiB,EAAE,SAAiB,EAAE,SAA0B;;YAC3F,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAK,CAAC,yBAAyB,CAAC,CAAC;aACpC;YACD,MAAM,GAAG,GAA0B,MAAM,GAAG,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,EAAE,SAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YAChH,OAAO,GAAG,CAAC,EAAE,CAAC;QAClB,CAAC;KAAA;IANqB,gBAAQ,WAM7B,CAAA;IAED,IAAiB,OAAO,CAsEvB;IAtED,WAAiB,OAAO;QACpB,SAAgB,WAAW,CAAC,SAAiB,EAAE,SAAkB;YAC7D,IAAI,CAAC,SAAS,EAAE;gBACZ,SAAS,GAAG,EAAE,CAAC;aAClB;YACD,OAAO,SAAG,CAAC,SAAS,CAAC,cAAc,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,SAAG,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;QACtG,CAAC;QALe,mBAAW,cAK1B,CAAA;QAaD,SAAsB,MAAM,CAAC,GAAkB,EAAE,IAAc,EAAE,SAA0B;;gBACvF,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,YAAY,EAAC,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,8BAA8B,EAAC,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,qBAAqB,EAAC,EAAE;oBACpG,MAAK,CAAC,0DAA0D,CAAC,CAAC;iBACrE;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBACV,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;iBACf;gBACD,MAAM,GAAG,GAAa,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC5E,MAAM,GAAG,GAAG;oBACR,kBAAkB,EAAE,IAAI,CAAC,6BAA6B,CAAC;iBAC1D,CAAC;gBACF,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,oBAAoB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACvE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACxF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YAChB,CAAC;SAAA;QAhBqB,cAAM,SAgB3B,CAAA;QAED,SAAsB,GAAG,CAAC,GAAkB,EAAE,SAAiB,EAAE,SAAiB,EAAE,SAA0B;;gBAC1G,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;oBAC1B,MAAK,CAAC,gDAAgD,CAAC,CAAC;iBAC3D;gBACD,MAAM,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC/F,IAAI,SAAS,EAAE;oBACX,OAAO,SAAS,CAAC;iBACpB;gBACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,sBAAsB,SAAS,IAAI,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC/E,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtD,OAAO,GAAG,CAAC;YACf,CAAC;SAAA;QAXqB,WAAG,MAWxB,CAAA;QAED,SAAsB,OAAO,CAAC,GAAkB,EAAE,SAAiB,EAAE,SAA0B;;gBAC3F,IAAI,CAAC,SAAS,EAAE;oBACZ,MAAK,CAAC,gCAAgC,CAAC,CAAC;iBAC3C;gBACD,MAAM,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;gBACpF,IAAI,SAAS,EAAE;oBACX,OAAO,SAAS,CAAC;iBACpB;gBACD,MAAM,GAAG,GAAwB,IAAI,OAAO,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC5D,IAAI;wBACA,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,8BAA8B,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;wBACjF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACnB;oBACD,OAAO,CAAC,EAAE;wBACN,GAAG,CAAC,CAAC,CAAC,CAAC;qBACV;gBACL,CAAC,CAAA,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3C,OAAO,GAAG,CAAC;YACf,CAAC;SAAA;QAnBqB,eAAO,UAmB5B,CAAA;IACL,CAAC,EAtEgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAsEvB;AACL,CAAC,EAtPgB,OAAO,GAAP,eAAO,KAAP,eAAO,QAsPvB"}
|
|
@@ -1,94 +1,62 @@
|
|
|
1
1
|
import { Api } from "../api/api";
|
|
2
2
|
export declare namespace MessageBroker {
|
|
3
|
-
|
|
3
|
+
enum EAction {
|
|
4
4
|
SUBSCRIBE = "subscribe",
|
|
5
5
|
SUBSCRIBE_SHADOW = "subscribeShadow",
|
|
6
6
|
UNSUBSCRIBE = "unsubscribe",
|
|
7
7
|
BROADCAST = "broadcast",
|
|
8
8
|
GET_TOPIC_SUBSCRIBERS = "getTopicSubscribers"
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
export enum EEvent {
|
|
12
|
-
SAVED = "saved",
|
|
13
|
-
UPDATED = "updated",
|
|
14
|
-
DELETED = "deleted",
|
|
15
|
-
EDIT_STARTED = "editStarted",
|
|
16
|
-
EDIT_FINISHED = "editFinished",
|
|
17
|
-
USERS_UPDATE = "usersUpdate"
|
|
18
|
-
}
|
|
10
|
+
type SubscribeType = EAction.SUBSCRIBE | EAction.SUBSCRIBE_SHADOW;
|
|
19
11
|
interface IMessageBase {
|
|
20
|
-
action: EAction;
|
|
21
12
|
topic: string;
|
|
13
|
+
event?: string;
|
|
14
|
+
data?: any;
|
|
22
15
|
}
|
|
23
|
-
interface
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
export type SubscribeMessage = IMessageBase & {
|
|
29
|
-
action: EAction.SUBSCRIBE | EAction.SUBSCRIBE_SHADOW;
|
|
30
|
-
user: string;
|
|
31
|
-
};
|
|
32
|
-
export type UnsubscribeMessage = IMessageBase & {
|
|
33
|
-
action: EAction.UNSUBSCRIBE;
|
|
34
|
-
};
|
|
35
|
-
export type GetTopicSubscribersMessage = IMessageBase & {
|
|
36
|
-
action: EAction.GET_TOPIC_SUBSCRIBERS;
|
|
37
|
-
};
|
|
38
|
-
export type BroadcastMessageSaved = IBroadcastMessage & {
|
|
39
|
-
event: EEvent.SAVED;
|
|
40
|
-
};
|
|
41
|
-
export type BroadcastMessageUpdated = IBroadcastMessage & {
|
|
42
|
-
event: EEvent.UPDATED;
|
|
43
|
-
};
|
|
44
|
-
export type BroadcastMessageDeleted = IBroadcastMessage & {
|
|
45
|
-
event: EEvent.DELETED;
|
|
46
|
-
};
|
|
47
|
-
export type BroadcastMessageEditionStarted = IBroadcastMessage & {
|
|
48
|
-
event: EEvent.EDIT_STARTED;
|
|
49
|
-
};
|
|
50
|
-
export type BroadcastMessageEditionFinished = IBroadcastMessage & {
|
|
51
|
-
event: EEvent.EDIT_FINISHED;
|
|
52
|
-
};
|
|
53
|
-
export type BroadcastMessageUsersUpdate = IBroadcastMessage & {
|
|
54
|
-
event: EEvent.USERS_UPDATE;
|
|
55
|
-
data: string[];
|
|
56
|
-
};
|
|
57
|
-
export interface OutgoingMessageBase {
|
|
58
|
-
topic: string;
|
|
59
|
-
event?: EEvent;
|
|
16
|
+
interface IMessage extends IMessageBase {
|
|
17
|
+
time?: number;
|
|
18
|
+
user?: string;
|
|
19
|
+
action: EAction;
|
|
60
20
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
21
|
+
interface IBroker {
|
|
22
|
+
/**
|
|
23
|
+
* Add a subscriber to a topic.
|
|
24
|
+
* @param topic
|
|
25
|
+
* @param callback
|
|
26
|
+
* @param action
|
|
27
|
+
*/
|
|
28
|
+
Subscribe: (topic: string, callback: (msg: IMessageBase) => void, type?: SubscribeType) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Remove a subscriber from a topic.
|
|
31
|
+
* @param topic
|
|
32
|
+
* @param callback
|
|
33
|
+
*/
|
|
34
|
+
Unsubscribe: (topic: string, callback: (msg: IMessageBase) => void) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Send message to server.
|
|
37
|
+
* @param base
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
SendMessage: (msg: IMessageBase) => void;
|
|
41
|
+
SetUserId: (userId: string) => void;
|
|
75
42
|
IsConnected: boolean;
|
|
76
43
|
}
|
|
77
44
|
/**
|
|
78
45
|
* Communicates with a server message broker.
|
|
79
46
|
*/
|
|
80
|
-
|
|
81
|
-
private uri;
|
|
82
|
-
private env?;
|
|
47
|
+
class WebSocketBroker implements IBroker {
|
|
83
48
|
private subscriptions;
|
|
84
49
|
private ws;
|
|
85
50
|
private reconnects;
|
|
86
51
|
private maxReconnects;
|
|
87
|
-
private
|
|
52
|
+
private userId;
|
|
53
|
+
private uri;
|
|
54
|
+
private env;
|
|
88
55
|
constructor(uri: string, env?: Api.Env);
|
|
56
|
+
get IsConnected(): boolean;
|
|
57
|
+
SetUserId(userId: string): void;
|
|
89
58
|
private connect;
|
|
90
59
|
private formatApiUri;
|
|
91
|
-
SetUser(user: string): void;
|
|
92
60
|
private onOpen;
|
|
93
61
|
private onClose;
|
|
94
62
|
private onMessage;
|
|
@@ -96,32 +64,23 @@ export declare namespace MessageBroker {
|
|
|
96
64
|
private addSubscriber;
|
|
97
65
|
/**
|
|
98
66
|
* Send message to server.
|
|
99
|
-
* @param
|
|
67
|
+
* @param base
|
|
100
68
|
* @returns
|
|
101
69
|
*/
|
|
102
|
-
|
|
103
|
-
get IsConnected(): boolean;
|
|
70
|
+
SendMessage(base: IMessageBase | IMessage): void;
|
|
104
71
|
/**
|
|
105
72
|
* Add a subscriber to a topic.
|
|
106
73
|
* @param topic
|
|
107
74
|
* @param callback
|
|
108
75
|
* @param action
|
|
109
76
|
*/
|
|
110
|
-
Subscribe(topic: string, callback: (msg:
|
|
111
|
-
/**
|
|
112
|
-
* Add a shadow subscriber to a topic.
|
|
113
|
-
* @param topic
|
|
114
|
-
* @param callback
|
|
115
|
-
*/
|
|
116
|
-
SubscribeShadow(topic: string, callback: (msg: IncomingMessage) => void): void;
|
|
77
|
+
Subscribe(topic: string, callback: (msg: IMessage) => void, action?: SubscribeType): void;
|
|
117
78
|
/**
|
|
118
79
|
* Remove a subscriber from a topic.
|
|
119
80
|
* @param topic
|
|
120
81
|
* @param callback
|
|
121
82
|
*/
|
|
122
|
-
Unsubscribe(topic: string, callback: (msg:
|
|
123
|
-
|
|
124
|
-
RequestTopicUsers(topic: string, callback: (msg: IncomingMessage) => void): void;
|
|
83
|
+
Unsubscribe(topic: string, callback: (msg: IMessage) => void): void;
|
|
84
|
+
RequestTopicUsers(topic: string, callback: (msg: IMessage) => void): void;
|
|
125
85
|
}
|
|
126
|
-
export {};
|
|
127
86
|
}
|
|
@@ -68,6 +68,7 @@ export declare namespace Tileset {
|
|
|
68
68
|
function GetCacheKey(accountId: string, tilesetId?: string): string;
|
|
69
69
|
interface IPublish {
|
|
70
70
|
ID?: number;
|
|
71
|
+
Name: string;
|
|
71
72
|
"Tileset.ID"?: string;
|
|
72
73
|
"PublishedBy.ClientAccount.ID"?: string;
|
|
73
74
|
"PublishedBy.User.ID"?: string;
|