cbcore-ts 1.0.0

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 (39) hide show
  1. package/.idea/misc.xml +6 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/uicore.iml +9 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/.jshintrc +4 -0
  6. package/LICENSE +21 -0
  7. package/README.md +5 -0
  8. package/compiledScripts/CBCore.d.ts +54 -0
  9. package/compiledScripts/CBCore.js +182 -0
  10. package/compiledScripts/CBCore.js.map +7 -0
  11. package/compiledScripts/CBDataInterfaces.d.ts +156 -0
  12. package/compiledScripts/CBDataInterfaces.js +35 -0
  13. package/compiledScripts/CBDataInterfaces.js.map +7 -0
  14. package/compiledScripts/CBLanguageService.d.ts +43 -0
  15. package/compiledScripts/CBLanguageService.js +167 -0
  16. package/compiledScripts/CBLanguageService.js.map +7 -0
  17. package/compiledScripts/CBServerClient.d.ts +10 -0
  18. package/compiledScripts/CBServerClient.js +88 -0
  19. package/compiledScripts/CBServerClient.js.map +7 -0
  20. package/compiledScripts/CBSocketCallbackHolder.d.ts +65 -0
  21. package/compiledScripts/CBSocketCallbackHolder.js +343 -0
  22. package/compiledScripts/CBSocketCallbackHolder.js.map +7 -0
  23. package/compiledScripts/CBSocketClient.d.ts +70 -0
  24. package/compiledScripts/CBSocketClient.js +371 -0
  25. package/compiledScripts/CBSocketClient.js.map +7 -0
  26. package/compiledScripts/index.d.ts +6 -0
  27. package/compiledScripts/index.js +23 -0
  28. package/compiledScripts/index.js.map +7 -0
  29. package/etsc.config.mjs +23 -0
  30. package/package.json +51 -0
  31. package/rollup.config.js +49 -0
  32. package/scripts/CBCore.ts +381 -0
  33. package/scripts/CBDataInterfaces.ts +336 -0
  34. package/scripts/CBLanguageService.ts +371 -0
  35. package/scripts/CBServerClient.ts +147 -0
  36. package/scripts/CBSocketCallbackHolder.ts +872 -0
  37. package/scripts/CBSocketClient.ts +748 -0
  38. package/scripts/index.ts +18 -0
  39. package/tsconfig.json +69 -0
@@ -0,0 +1,371 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var CBSocketClient_exports = {};
19
+ __export(CBSocketClient_exports, {
20
+ CBSocketClient: () => CBSocketClient,
21
+ IS_NOT_SOCKET_ERROR: () => IS_NOT_SOCKET_ERROR,
22
+ IS_SOCKET_ERROR: () => IS_SOCKET_ERROR,
23
+ SocketClient: () => SocketClient
24
+ });
25
+ module.exports = __toCommonJS(CBSocketClient_exports);
26
+ var import_socket = require("socket.io-client");
27
+ var import_uicore_ts = require("../../uicore-ts");
28
+ var import_CBCore = require("./CBCore");
29
+ var import_CBSocketCallbackHolder = require("./CBSocketCallbackHolder");
30
+ function IS_SOCKET_ERROR(object) {
31
+ const result = (0, import_uicore_ts.IS)(object) && object._isCBSocketErrorMessage;
32
+ return result;
33
+ }
34
+ function IS_NOT_SOCKET_ERROR(object) {
35
+ return !IS_SOCKET_ERROR(object);
36
+ }
37
+ const _CBSocketClient = class extends import_uicore_ts.UIObject {
38
+ constructor(core) {
39
+ super();
40
+ this._socket = (0, import_socket.io)();
41
+ this._isConnectionEstablished = import_uicore_ts.NO;
42
+ this._collectMessagesToSendLater = import_uicore_ts.NO;
43
+ this._messagesToBeSent = [];
44
+ this._subscribedKeys = {};
45
+ this._callbackHolder = new import_CBSocketCallbackHolder.CBSocketCallbackHolder(this);
46
+ this._core = core;
47
+ this.socket.on("connect", () => {
48
+ console.log("Socket.io connected to server. clientID = " + this.socket + ", socketID = " + this.socket);
49
+ var instanceIdentifier = localStorage.getItem("InstanceIdentifier");
50
+ if ((0, import_uicore_ts.IS_NOT)(instanceIdentifier)) {
51
+ instanceIdentifier = (0, import_uicore_ts.MAKE_ID)();
52
+ localStorage.setItem("InstanceIdentifier", instanceIdentifier);
53
+ }
54
+ const handshakeMessage = {
55
+ accessToken: null,
56
+ userID: this._core.userProfile._id,
57
+ inquiryAccessKey: null,
58
+ instanceIdentifier
59
+ };
60
+ this.socket.emit("CBSocketHandshakeInitMessage", {
61
+ identifier: (0, import_uicore_ts.MAKE_ID)(),
62
+ messageData: handshakeMessage
63
+ });
64
+ });
65
+ this.socket.on(
66
+ "CBSocketHandshakeResponseMessage",
67
+ (message) => {
68
+ this._isConnectionEstablished = message.messageData.accepted;
69
+ if (!message.messageData.accepted) {
70
+ console.log("SocketIO connection failed.");
71
+ this._core.dialogViewShowerClass.alert(
72
+ "Failed to establish connection to server.",
73
+ () => {
74
+ }
75
+ );
76
+ } else {
77
+ console.log("SocketIO connection handshake completed.");
78
+ this._callbackHolder = new import_CBSocketCallbackHolder.CBSocketCallbackHolder(this, this._callbackHolder);
79
+ core.userProfile = message.messageData.userProfile;
80
+ this.sendUnsentMessages();
81
+ }
82
+ }
83
+ );
84
+ this.socket.on("disconnect", () => {
85
+ console.log("Socket.io disconnected from server. clientID = " + this.socket + ".");
86
+ this._isConnectionEstablished = import_uicore_ts.NO;
87
+ this._callbackHolder.isValid = import_uicore_ts.NO;
88
+ this._callbackHolder.triggerDisconnectHandlers();
89
+ });
90
+ this.socket.on("CBPerformReconnect", (message) => {
91
+ console.log("Performing socket reconnection.");
92
+ core.reloadSocketConnection();
93
+ if (message) {
94
+ this._core.dialogViewShowerClass.alert(message);
95
+ }
96
+ });
97
+ this._socket.on(
98
+ _CBSocketClient.responseMessageKey,
99
+ (message) => {
100
+ this.didReceiveMessageForKey(_CBSocketClient.responseMessageKey, message);
101
+ }
102
+ );
103
+ this._socket.on(
104
+ _CBSocketClient.multipleMessageKey,
105
+ (message) => {
106
+ console.log("Received " + message.messageData.length + " messages.");
107
+ this.didReceiveMessageForKey(_CBSocketClient.multipleMessageKey, message);
108
+ }
109
+ );
110
+ }
111
+ get socket() {
112
+ return this._socket;
113
+ }
114
+ cancelUnsentMessages(messagesToCancel) {
115
+ this._messagesToBeSent = this._messagesToBeSent.filter((messageObject, index, array) => !messagesToCancel.contains(messageObject));
116
+ }
117
+ sendUnsentMessages(receiveResponsesTogether = import_uicore_ts.NO, completion) {
118
+ if (!this._isConnectionEstablished || this._collectMessagesToSendLater) {
119
+ return;
120
+ }
121
+ const groupedMessages = [];
122
+ const didSendFunctions = [];
123
+ this._messagesToBeSent.copy().forEach((messageToBeSentObject) => {
124
+ if (this._isConnectionEstablished) {
125
+ var message = messageToBeSentObject.message;
126
+ if ((0, import_uicore_ts.IS_NOT)(message)) {
127
+ message = "";
128
+ }
129
+ const identifier = (0, import_uicore_ts.MAKE_ID)();
130
+ const completion2 = messageToBeSentObject.completion;
131
+ const messageObject2 = {
132
+ messageData: message,
133
+ identifier,
134
+ keepWaitingForResponses: messageToBeSentObject.keepWaitingForResponses,
135
+ inResponseToIdentifier: messageToBeSentObject.inResponseToMessage.identifier
136
+ };
137
+ const shouldSendMessage = this._callbackHolder.socketShouldSendMessage(
138
+ messageToBeSentObject.key,
139
+ messageObject2,
140
+ messageToBeSentObject.completionPolicy,
141
+ completion2
142
+ );
143
+ if (shouldSendMessage) {
144
+ groupedMessages.push({
145
+ key: messageToBeSentObject.key,
146
+ message: messageObject2
147
+ });
148
+ }
149
+ didSendFunctions.push(messageToBeSentObject.didSendFunction);
150
+ }
151
+ });
152
+ this._messagesToBeSent = [];
153
+ if ((0, import_uicore_ts.IS_NOT)(groupedMessages.length)) {
154
+ return;
155
+ }
156
+ if (groupedMessages.length == 1) {
157
+ console.log("sending 1 unsent message.");
158
+ } else {
159
+ console.log("Sending " + groupedMessages.length + " unsent messages.");
160
+ }
161
+ const messageObject = {
162
+ messageData: groupedMessages,
163
+ identifier: (0, import_uicore_ts.MAKE_ID)(),
164
+ shouldGroupResponses: receiveResponsesTogether
165
+ };
166
+ this._callbackHolder.socketWillSendMultipleMessage(messageObject, completion);
167
+ this.socket.emit(_CBSocketClient.multipleMessageKey, messageObject);
168
+ didSendFunctions.forEach((didSendFunction, index, array) => {
169
+ didSendFunction();
170
+ });
171
+ }
172
+ sendUserBoundMessageForKeyWithPolicy(key, message, completionPolicy, completion) {
173
+ this._sendMessageForKey(key, message, void 0, import_uicore_ts.NO, completionPolicy, import_uicore_ts.YES, import_uicore_ts.nil, completion);
174
+ }
175
+ sendUserBoundMessageForKey(key, message, completion) {
176
+ this._sendMessageForKey(key, message, void 0, import_uicore_ts.NO, void 0, import_uicore_ts.YES, import_uicore_ts.nil, completion);
177
+ }
178
+ sendMessageForKeyWithPolicy(key, message, completionPolicy, completion) {
179
+ this._sendMessageForKey(key, message, void 0, import_uicore_ts.NO, completionPolicy, import_uicore_ts.NO, import_uicore_ts.nil, completion);
180
+ }
181
+ sendMessageForKey(key, message, completion) {
182
+ this._sendMessageForKey(key, message, void 0, import_uicore_ts.NO, void 0, import_uicore_ts.NO, import_uicore_ts.nil, completion);
183
+ }
184
+ resultForMessageForKey(key, message, completionPolicy, isUserBound = import_uicore_ts.NO) {
185
+ const result = new Promise((resolve, reject) => {
186
+ this._sendMessageForKey(
187
+ key,
188
+ message,
189
+ void 0,
190
+ import_uicore_ts.NO,
191
+ completionPolicy,
192
+ isUserBound,
193
+ import_uicore_ts.nil,
194
+ (responseMessage, respondWithMessage) => resolve({
195
+ responseMessage,
196
+ result: (0, import_uicore_ts.IF)(IS_NOT_SOCKET_ERROR(responseMessage))(() => responseMessage).ELSE((0, import_uicore_ts.RETURNER)(void 0)),
197
+ errorResult: (0, import_uicore_ts.IF)(IS_SOCKET_ERROR(responseMessage))(() => responseMessage).ELSE((0, import_uicore_ts.RETURNER)(void 0)),
198
+ respondWithMessage
199
+ })
200
+ );
201
+ });
202
+ return result;
203
+ }
204
+ _sendMessageForKey(key, message, inResponseToMessage = {}, keepMessageConnectionOpen = import_uicore_ts.NO, completionPolicy = _CBSocketClient.completionPolicy.directOnly, isUserBound = import_uicore_ts.NO, didSendFunction = import_uicore_ts.nil, completion = import_uicore_ts.nil) {
205
+ if ((0, import_uicore_ts.IS_NIL)(message)) {
206
+ message = "";
207
+ }
208
+ if (this._isConnectionEstablished && !this._collectMessagesToSendLater) {
209
+ const identifier = (0, import_uicore_ts.MAKE_ID)();
210
+ const messageObject = {
211
+ messageData: message,
212
+ identifier,
213
+ keepWaitingForResponses: keepMessageConnectionOpen,
214
+ inResponseToIdentifier: inResponseToMessage.identifier
215
+ };
216
+ const shouldSendMessage = this._callbackHolder.socketShouldSendMessage(
217
+ key,
218
+ messageObject,
219
+ completionPolicy,
220
+ completion
221
+ );
222
+ if (shouldSendMessage) {
223
+ this.socket.emit(key, messageObject);
224
+ }
225
+ didSendFunction();
226
+ } else {
227
+ this._messagesToBeSent.push({
228
+ key,
229
+ message,
230
+ inResponseToMessage,
231
+ keepWaitingForResponses: keepMessageConnectionOpen,
232
+ completionPolicy,
233
+ isBoundToUserWithID: (0, import_uicore_ts.IF)(isUserBound)((0, import_uicore_ts.RETURNER)((0, import_uicore_ts.FIRST_OR_NIL)(import_CBCore.CBCore.sharedInstance.userProfile._id)))(),
234
+ didSendFunction,
235
+ completion
236
+ });
237
+ return this._messagesToBeSent.lastElement;
238
+ }
239
+ }
240
+ sendMessagesAsGroup(functionToCall) {
241
+ const collectMessagesToSendLater = this._collectMessagesToSendLater;
242
+ this._collectMessagesToSendLater = import_uicore_ts.YES;
243
+ var result = functionToCall();
244
+ this._collectMessagesToSendLater = collectMessagesToSendLater;
245
+ this.sendUnsentMessages();
246
+ return result;
247
+ }
248
+ sendAndReceiveMessagesAsGroup(functionToCall, completion) {
249
+ const collectMessagesToSendLater = this._collectMessagesToSendLater;
250
+ this._collectMessagesToSendLater = import_uicore_ts.YES;
251
+ var result = functionToCall();
252
+ this._collectMessagesToSendLater = collectMessagesToSendLater;
253
+ this.sendUnsentMessages(import_uicore_ts.YES, completion);
254
+ return result;
255
+ }
256
+ didReceiveMessageForKey(key, message) {
257
+ const sendResponseFunction = function(responseMessage, completion) {
258
+ this._sendMessageForKey(
259
+ _CBSocketClient.responseMessageKey,
260
+ responseMessage,
261
+ message,
262
+ import_uicore_ts.NO,
263
+ void 0,
264
+ import_uicore_ts.NO,
265
+ import_uicore_ts.nil,
266
+ completion
267
+ );
268
+ }.bind(this);
269
+ sendResponseFunction.sendIntermediateResponse = function(updateMessage, completion) {
270
+ this._sendMessageForKey(
271
+ _CBSocketClient.responseMessageKey,
272
+ updateMessage,
273
+ message,
274
+ import_uicore_ts.YES,
275
+ void 0,
276
+ import_uicore_ts.NO,
277
+ import_uicore_ts.nil,
278
+ completion
279
+ );
280
+ }.bind(this);
281
+ const sendUserBoundResponseFunction = function(responseMessage, completion) {
282
+ this._sendMessageForKey(
283
+ _CBSocketClient.responseMessageKey,
284
+ responseMessage,
285
+ message,
286
+ import_uicore_ts.NO,
287
+ void 0,
288
+ import_uicore_ts.YES,
289
+ import_uicore_ts.nil,
290
+ completion
291
+ );
292
+ }.bind(this);
293
+ sendUserBoundResponseFunction.sendIntermediateResponse = function(updateMessage, completion) {
294
+ this._sendMessageForKey(
295
+ _CBSocketClient.responseMessageKey,
296
+ updateMessage,
297
+ message,
298
+ import_uicore_ts.YES,
299
+ void 0,
300
+ import_uicore_ts.YES,
301
+ import_uicore_ts.nil,
302
+ completion
303
+ );
304
+ }.bind(this);
305
+ if (IS_SOCKET_ERROR(message.messageData)) {
306
+ console.log("CBSocketClient did receive error message.");
307
+ console.log(message.messageData);
308
+ }
309
+ this._callbackHolder.socketDidReceiveMessageForKey(key, message, sendResponseFunction);
310
+ }
311
+ addTargetForMessagesForKeys(keys, handlerFunction) {
312
+ keys.forEach(function(key, index, array) {
313
+ this.addTargetForMessagesForKey(key, handlerFunction);
314
+ }.bind(this));
315
+ }
316
+ addTargetForMessagesForKey(key, handlerFunction) {
317
+ this._callbackHolder.registerHandler(key, handlerFunction);
318
+ if ((0, import_uicore_ts.IS_NOT)(this._subscribedKeys[key])) {
319
+ this._socket.on(key, function(message) {
320
+ this.didReceiveMessageForKey(key, message);
321
+ }.bind(this));
322
+ this._subscribedKeys[key] = true;
323
+ }
324
+ }
325
+ addTargetForOneMessageForKey(key, handlerFunction) {
326
+ this._callbackHolder.registerOnetimeHandler(key, handlerFunction);
327
+ if ((0, import_uicore_ts.IS_NOT)(this._subscribedKeys[key])) {
328
+ this._socket.on(key, function(message) {
329
+ this.didReceiveMessageForKey(key, message);
330
+ }.bind(this));
331
+ this._subscribedKeys[key] = true;
332
+ }
333
+ }
334
+ };
335
+ let CBSocketClient = _CBSocketClient;
336
+ CBSocketClient.responseMessageKey = "CBSocketResponseMessage";
337
+ CBSocketClient.multipleMessageKey = "CBSocketMultipleMessage";
338
+ CBSocketClient.disconnectionMessage = {
339
+ _isCBSocketErrorMessage: import_uicore_ts.YES,
340
+ messageData: "Server disconnected"
341
+ };
342
+ CBSocketClient.completionPolicy = {
343
+ "all": "all",
344
+ "allDifferent": "allDifferent",
345
+ "first": "first",
346
+ "last": "last",
347
+ "firstAndLast": "firstAndLast",
348
+ "firstAndLastIfDifferent": "firstAndLastIfDifferent",
349
+ "directOnly": "directOnly",
350
+ "firstOnly": "firstOnly",
351
+ "storedOrFirst": "storedOrFirst"
352
+ };
353
+ const SocketClient = new Proxy({ "name": "SocketClient" }, {
354
+ get(target, key) {
355
+ const result = (messageData, completionPolicy, isUserBound) => import_CBCore.CBCore.sharedInstance.socketClient.resultForMessageForKey(
356
+ key,
357
+ messageData,
358
+ completionPolicy,
359
+ isUserBound
360
+ );
361
+ return result;
362
+ }
363
+ });
364
+ // Annotate the CommonJS export names for ESM import in node:
365
+ 0 && (module.exports = {
366
+ CBSocketClient,
367
+ IS_NOT_SOCKET_ERROR,
368
+ IS_SOCKET_ERROR,
369
+ SocketClient
370
+ });
371
+ //# sourceMappingURL=CBSocketClient.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../scripts/CBSocketClient.ts"],
4
+ "sourcesContent": ["import { io, Socket } from \"socket.io-client\"\nimport { FIRST_OR_NIL, IF, IS, IS_NIL, IS_NOT, MAKE_ID, nil, NO, RETURNER, UIObject, YES } from \"../../uicore-ts\"\nimport { CBCore } from \"./CBCore\"\nimport {\n CBSocketHandshakeInitMessage,\n CBSocketHandshakeResponseMessage,\n CBSocketMessage,\n CBSocketMessageCompletionFunction,\n CBSocketMessageHandlerFunction,\n CBSocketMessageSendResponseFunction,\n CBSocketMultipleMessage,\n CBSocketMultipleMessagecompletionFunction,\n CBSocketMultipleMessageObject,\n SocketClientInterface\n} from \"./CBDataInterfaces\"\nimport { CBSocketCallbackHolder } from \"./CBSocketCallbackHolder\"\n\n\ndeclare interface CBSocketClientMessageToBeSent {\n \n key: string;\n message: any;\n \n inResponseToMessage: CBSocketMessage<any>;\n keepWaitingForResponses: boolean;\n \n isBoundToUserWithID: string;\n \n completionPolicy: string;\n \n didSendFunction?: () => void;\n \n completion: CBSocketMessageCompletionFunction;\n \n}\n\n\ndeclare interface CBSocketClientErrorMessage {\n \n _isCBSocketErrorMessage: boolean;\n \n messageData: any;\n \n}\n\n\ntype FilterConditionally<Source, Condition> = Pick<Source, { [K in keyof Source]: Source[K] extends Condition ? K : never }[keyof Source]>;\n\n\nexport function IS_SOCKET_ERROR(object: any): object is CBSocketClientErrorMessage {\n \n const result = (IS(object) && object._isCBSocketErrorMessage)\n \n return result\n \n}\n\nexport function IS_NOT_SOCKET_ERROR(object: any) {\n \n return !IS_SOCKET_ERROR(object)\n \n}\n\n\nexport class CBSocketClient extends UIObject {\n \n _socket: Socket = io()\n _isConnectionEstablished = NO\n \n _collectMessagesToSendLater = NO\n \n _messagesToBeSent: CBSocketClientMessageToBeSent[] = []\n \n static _sharedInstance: CBSocketClient\n \n _core: CBCore\n \n _subscribedKeys: {\n [x: string]: boolean\n } = {}\n \n _callbackHolder = new CBSocketCallbackHolder(this)\n \n static responseMessageKey = \"CBSocketResponseMessage\"\n static multipleMessageKey = \"CBSocketMultipleMessage\"\n \n \n static disconnectionMessage: CBSocketClientErrorMessage = {\n \n _isCBSocketErrorMessage: YES,\n \n messageData: \"Server disconnected\"\n \n }\n \n \n constructor(core: CBCore) {\n \n super()\n \n this._core = core\n \n \n this.socket.on(\"connect\", () => {\n \n console.log(\"Socket.io connected to server. clientID = \" + this.socket + \", socketID = \" + this.socket)\n \n var instanceIdentifier = localStorage.getItem(\"InstanceIdentifier\")\n \n if (IS_NOT(instanceIdentifier)) {\n \n instanceIdentifier = MAKE_ID()\n localStorage.setItem(\"InstanceIdentifier\", instanceIdentifier)\n \n }\n \n const handshakeMessage: CBSocketHandshakeInitMessage = {\n \n accessToken: null,\n userID: this._core.userProfile._id,\n \n inquiryAccessKey: null,\n \n instanceIdentifier: instanceIdentifier\n \n }\n \n this.socket.emit(\"CBSocketHandshakeInitMessage\", {\n \n identifier: MAKE_ID(),\n messageData: handshakeMessage\n \n })\n \n \n })\n \n \n this.socket.on(\n \"CBSocketHandshakeResponseMessage\",\n (message: CBSocketMessage<CBSocketHandshakeResponseMessage>) => {\n \n \n this._isConnectionEstablished = message.messageData.accepted\n \n if (!message.messageData.accepted) {\n \n console.log(\"SocketIO connection failed.\")\n \n this._core.dialogViewShowerClass.alert(\n \"Failed to establish connection to server.\",\n () => {\n }\n )\n \n }\n else {\n \n console.log(\"SocketIO connection handshake completed.\")\n \n this._callbackHolder = new CBSocketCallbackHolder(this, this._callbackHolder)\n \n core.userProfile = message.messageData.userProfile\n \n this.sendUnsentMessages()\n \n }\n \n \n }\n )\n \n \n this.socket.on(\"disconnect\", () => {\n \n console.log(\"Socket.io disconnected from server. clientID = \" + this.socket + \".\")\n \n this._isConnectionEstablished = NO\n \n this._callbackHolder.isValid = NO\n \n this._callbackHolder.triggerDisconnectHandlers()\n \n \n })\n \n \n this.socket.on(\"CBPerformReconnect\", (message?: string) => {\n \n console.log(\"Performing socket reconnection.\")\n \n core.reloadSocketConnection()\n \n if (message) {\n \n this._core.dialogViewShowerClass.alert(message)\n \n }\n \n \n })\n \n \n this._socket.on(\n CBSocketClient.responseMessageKey,\n (message: CBSocketMessage<any>) => {\n \n this.didReceiveMessageForKey(CBSocketClient.responseMessageKey, message)\n \n }\n )\n \n this._socket.on(\n CBSocketClient.multipleMessageKey,\n (message: CBSocketMessage<CBSocketMultipleMessageObject[]>) => {\n \n console.log(\"Received \" + message.messageData.length + \" messages.\")\n this.didReceiveMessageForKey(CBSocketClient.multipleMessageKey, message)\n \n }\n )\n \n \n }\n \n \n get socket() {\n return this._socket\n }\n \n \n cancelUnsentMessages(messagesToCancel: CBSocketClientMessageToBeSent[]) {\n \n this._messagesToBeSent = this._messagesToBeSent.filter((\n messageObject: CBSocketClientMessageToBeSent,\n index: number,\n array: CBSocketClientMessageToBeSent[]\n ) => !messagesToCancel.contains(messageObject))\n \n }\n \n \n sendUnsentMessages(receiveResponsesTogether = NO, completion?: CBSocketMultipleMessagecompletionFunction) {\n \n if (!this._isConnectionEstablished || this._collectMessagesToSendLater) {\n \n return\n \n }\n \n const groupedMessages: CBSocketMultipleMessageObject<any>[] = []\n const didSendFunctions: (() => void)[] = []\n \n \n this._messagesToBeSent.copy().forEach((messageToBeSentObject: CBSocketClientMessageToBeSent) => {\n \n if (this._isConnectionEstablished) {\n \n var message = messageToBeSentObject.message\n if (IS_NOT(message)) {\n message = \"\"\n }\n \n const identifier = MAKE_ID()\n \n const completion = messageToBeSentObject.completion\n \n const messageObject: CBSocketMessage<any> = {\n \n messageData: message,\n identifier: identifier,\n keepWaitingForResponses: messageToBeSentObject.keepWaitingForResponses,\n inResponseToIdentifier: messageToBeSentObject.inResponseToMessage.identifier\n \n }\n \n const shouldSendMessage = this._callbackHolder.socketShouldSendMessage(\n messageToBeSentObject.key,\n messageObject,\n messageToBeSentObject.completionPolicy,\n completion\n )\n \n if (shouldSendMessage) {\n \n \n groupedMessages.push({\n \n key: messageToBeSentObject.key,\n message: messageObject\n \n })\n \n \n }\n \n didSendFunctions.push(messageToBeSentObject.didSendFunction)\n \n \n }\n \n })\n \n \n this._messagesToBeSent = []\n \n if (IS_NOT(groupedMessages.length)) {\n \n return\n \n }\n \n if (groupedMessages.length == 1) {\n \n console.log(\"sending 1 unsent message.\")\n \n }\n else {\n \n console.log(\"Sending \" + groupedMessages.length + \" unsent messages.\")\n \n }\n \n \n const messageObject: CBSocketMultipleMessage = {\n \n messageData: groupedMessages,\n identifier: MAKE_ID(),\n \n shouldGroupResponses: receiveResponsesTogether\n \n }\n \n //if (receiveResponsesTogether) {\n \n this._callbackHolder.socketWillSendMultipleMessage(messageObject, completion)\n \n //}\n \n this.socket.emit(CBSocketClient.multipleMessageKey, messageObject)\n \n \n didSendFunctions.forEach((didSendFunction, index, array) => {\n didSendFunction()\n })\n \n }\n \n \n static completionPolicy = {\n \n \"all\": \"all\",\n \"allDifferent\": \"allDifferent\",\n \"first\": \"first\",\n \"last\": \"last\",\n \"firstAndLast\": \"firstAndLast\",\n \"firstAndLastIfDifferent\": \"firstAndLastIfDifferent\",\n \"directOnly\": \"directOnly\",\n \"firstOnly\": \"firstOnly\",\n \"storedOrFirst\": \"storedOrFirst\"\n \n }\n \n \n sendUserBoundMessageForKeyWithPolicy(\n key: keyof SocketClientInterface,\n message: any,\n completionPolicy: keyof typeof CBSocketClient.completionPolicy,\n completion?: CBSocketMessageCompletionFunction\n ) {\n \n \n this._sendMessageForKey(key as string, message, undefined, NO, completionPolicy, YES, nil, completion)\n \n }\n \n sendUserBoundMessageForKey(\n key: keyof SocketClientInterface,\n message: any,\n completion?: CBSocketMessageCompletionFunction\n ) {\n \n this._sendMessageForKey(key as string, message, undefined, NO, undefined, YES, nil, completion)\n \n }\n \n sendMessageForKeyWithPolicy(\n key: keyof SocketClientInterface,\n message: any,\n completionPolicy: keyof typeof CBSocketClient.completionPolicy,\n completion?: CBSocketMessageCompletionFunction\n ) {\n \n \n this._sendMessageForKey(key as string, message, undefined, NO, completionPolicy, NO, nil, completion)\n \n }\n \n sendMessageForKey(key: keyof SocketClientInterface, message: any, completion?: CBSocketMessageCompletionFunction) {\n \n this._sendMessageForKey(key as string, message, undefined, NO, undefined, NO, nil, completion)\n \n }\n \n \n resultForMessageForKey(\n key: keyof SocketClientInterface,\n message: any,\n completionPolicy?: keyof typeof CBSocketClient.completionPolicy,\n isUserBound = NO\n ) {\n \n const result = new Promise<{\n \n responseMessage: any,\n result: any,\n errorResult: any,\n \n respondWithMessage: CBSocketMessageSendResponseFunction\n \n }>((resolve, reject) => {\n \n this._sendMessageForKey(\n key as string,\n message,\n undefined,\n NO,\n completionPolicy,\n isUserBound,\n nil,\n (responseMessage, respondWithMessage) => resolve({\n \n responseMessage: responseMessage,\n result: IF(IS_NOT_SOCKET_ERROR(responseMessage))(() => responseMessage).ELSE(RETURNER(undefined)),\n errorResult: IF(IS_SOCKET_ERROR(responseMessage))(() => responseMessage).ELSE(RETURNER(undefined)),\n \n respondWithMessage: respondWithMessage\n \n })\n )\n \n })\n \n return result\n \n }\n \n \n _sendMessageForKey(\n key: string,\n message: any,\n inResponseToMessage: CBSocketMessage<any> = {} as any,\n keepMessageConnectionOpen = NO,\n completionPolicy = CBSocketClient.completionPolicy.directOnly,\n isUserBound = NO,\n didSendFunction: () => void = nil,\n completion: CBSocketMessageCompletionFunction = nil\n ) {\n \n if (IS_NIL(message)) {\n \n message = \"\"\n \n }\n \n if (this._isConnectionEstablished && !this._collectMessagesToSendLater) {\n \n const identifier = MAKE_ID()\n \n const messageObject: CBSocketMessage<any> = {\n \n messageData: message,\n identifier: identifier,\n keepWaitingForResponses: keepMessageConnectionOpen,\n inResponseToIdentifier: inResponseToMessage.identifier\n \n }\n \n const shouldSendMessage = this._callbackHolder.socketShouldSendMessage(\n key,\n messageObject,\n completionPolicy,\n completion\n )\n \n if (shouldSendMessage) {\n \n this.socket.emit(key, messageObject)\n \n }\n \n didSendFunction()\n \n }\n else {\n \n this._messagesToBeSent.push({\n \n key: key,\n message: message,\n inResponseToMessage: inResponseToMessage,\n keepWaitingForResponses: keepMessageConnectionOpen,\n completionPolicy: completionPolicy,\n isBoundToUserWithID: IF(isUserBound)(RETURNER(FIRST_OR_NIL(CBCore.sharedInstance.userProfile._id)))(),\n didSendFunction: didSendFunction,\n completion: completion\n \n })\n \n return this._messagesToBeSent.lastElement\n \n }\n \n }\n \n \n sendMessagesAsGroup<FunctionReturnType extends object>(functionToCall: () => FunctionReturnType) {\n \n const collectMessagesToSendLater = this._collectMessagesToSendLater\n \n this._collectMessagesToSendLater = YES\n \n var result = functionToCall()\n \n this._collectMessagesToSendLater = collectMessagesToSendLater\n \n this.sendUnsentMessages()\n \n return result\n \n }\n \n sendAndReceiveMessagesAsGroup<FunctionReturnType extends object>(\n functionToCall: () => FunctionReturnType,\n completion?: CBSocketMultipleMessagecompletionFunction\n ) {\n \n const collectMessagesToSendLater = this._collectMessagesToSendLater\n \n this._collectMessagesToSendLater = YES\n \n var result = functionToCall()\n \n this._collectMessagesToSendLater = collectMessagesToSendLater\n \n this.sendUnsentMessages(YES, completion)\n \n return result\n \n }\n \n \n didReceiveMessageForKey(key: string, message: CBSocketMessage<any>) {\n \n \n const sendResponseFunction: CBSocketMessageSendResponseFunction = function (\n this: CBSocketClient,\n responseMessage: any,\n completion: CBSocketMessageCompletionFunction\n ) {\n \n this._sendMessageForKey(\n CBSocketClient.responseMessageKey,\n responseMessage,\n message,\n NO,\n undefined,\n NO,\n nil,\n completion\n )\n \n }.bind(this) as any\n \n sendResponseFunction.sendIntermediateResponse = function (\n this: CBSocketClient,\n updateMessage: any,\n completion: CBSocketMessageCompletionFunction\n ) {\n \n this._sendMessageForKey(\n CBSocketClient.responseMessageKey,\n updateMessage,\n message,\n YES,\n undefined,\n NO,\n nil,\n completion\n )\n \n }.bind(this)\n \n const sendUserBoundResponseFunction: CBSocketMessageSendResponseFunction = function (\n this: CBSocketClient,\n responseMessage: any,\n completion: CBSocketMessageCompletionFunction\n ) {\n \n this._sendMessageForKey(\n CBSocketClient.responseMessageKey,\n responseMessage,\n message,\n NO,\n undefined,\n YES,\n nil,\n completion\n )\n \n }.bind(this) as any\n \n sendUserBoundResponseFunction.sendIntermediateResponse = function (\n this: CBSocketClient,\n updateMessage: any,\n completion: CBSocketMessageCompletionFunction\n ) {\n \n this._sendMessageForKey(\n CBSocketClient.responseMessageKey,\n updateMessage,\n message,\n YES,\n undefined,\n YES,\n nil,\n completion\n )\n \n }.bind(this)\n \n if (IS_SOCKET_ERROR(message.messageData)) {\n \n console.log(\"CBSocketClient did receive error message.\")\n \n console.log(message.messageData)\n \n \n }\n \n \n this._callbackHolder.socketDidReceiveMessageForKey(key, message, sendResponseFunction)\n \n }\n \n \n addTargetForMessagesForKeys(keys: string[], handlerFunction: CBSocketMessageHandlerFunction) {\n keys.forEach(function (this: CBSocketClient, key: string, index: number, array: string[]) {\n this.addTargetForMessagesForKey(key, handlerFunction)\n }.bind(this))\n }\n \n \n addTargetForMessagesForKey(key: string, handlerFunction: CBSocketMessageHandlerFunction) {\n \n this._callbackHolder.registerHandler(key, handlerFunction)\n \n if (IS_NOT(this._subscribedKeys[key])) {\n \n this._socket.on(key, function (this: CBSocketClient, message: CBSocketMessage<any>) {\n \n this.didReceiveMessageForKey(key, message)\n \n }.bind(this))\n \n this._subscribedKeys[key] = true\n \n }\n \n \n }\n \n addTargetForOneMessageForKey(key: string, handlerFunction: CBSocketMessageHandlerFunction) {\n \n this._callbackHolder.registerOnetimeHandler(key, handlerFunction)\n \n if (IS_NOT(this._subscribedKeys[key])) {\n \n this._socket.on(key, function (this: CBSocketClient, message: CBSocketMessage<any>) {\n \n this.didReceiveMessageForKey(key, message)\n \n }.bind(this))\n \n this._subscribedKeys[key] = true\n \n }\n \n \n }\n \n \n}\n\n\nexport const SocketClient: SocketClientInterface = new Proxy({ \"name\": \"SocketClient\" }, {\n \n get(target, key) {\n \n const result = (\n messageData,\n completionPolicy,\n isUserBound\n ) => CBCore.sharedInstance.socketClient.resultForMessageForKey(\n key as string,\n messageData,\n completionPolicy,\n isUserBound\n )\n \n \n return result\n \n }\n \n}) as any\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],
5
+ "mappings": "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",
6
+ "names": ["completion", "messageObject"]
7
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./CBCore";
2
+ export * from "./CBServerClient";
3
+ export * from "./CBSocketClient";
4
+ export * from "./CBSocketCallbackHolder";
5
+ export * from "./CBLanguageService";
6
+ export * from "./CBDataInterfaces";
@@ -0,0 +1,23 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var scripts_exports = {};
16
+ module.exports = __toCommonJS(scripts_exports);
17
+ __reExport(scripts_exports, require("./CBCore"), module.exports);
18
+ __reExport(scripts_exports, require("./CBServerClient"), module.exports);
19
+ __reExport(scripts_exports, require("./CBSocketClient"), module.exports);
20
+ __reExport(scripts_exports, require("./CBSocketCallbackHolder"), module.exports);
21
+ __reExport(scripts_exports, require("./CBLanguageService"), module.exports);
22
+ __reExport(scripts_exports, require("./CBDataInterfaces"), module.exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../scripts/index.ts"],
4
+ "sourcesContent": ["\nexport * from \"./CBCore\"\nexport * from \"./CBServerClient\"\nexport * from \"./CBSocketClient\"\nexport * from \"./CBSocketCallbackHolder\"\nexport * from \"./CBLanguageService\"\nexport * from \"./CBDataInterfaces\"\n\n\n\n\n\n\n\n\n\n\n\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AACA,4BAAc,qBADd;AAEA,4BAAc,6BAFd;AAGA,4BAAc,6BAHd;AAIA,4BAAc,qCAJd;AAKA,4BAAc,gCALd;AAMA,4BAAc,+BANd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,23 @@
1
+ import inlineWorkerPlugin from "esbuild-plugin-inline-worker"
2
+ import {BuildOptions} from "esbuild"
3
+
4
+
5
+ /**
6
+ * @type {BuildOptions} BuildOptions for ESBuild.
7
+ */
8
+ const buildOptions = {
9
+
10
+ plugins: [inlineWorkerPlugin({sourcemap: "inline"})],
11
+ sourcemap: true,
12
+ write: true,
13
+ minify: false
14
+
15
+ }
16
+
17
+ module.exports = {
18
+ esbuild: buildOptions
19
+ }
20
+
21
+
22
+
23
+
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "cbcore-ts",
3
+ "version": "1.0.0",
4
+ "description": "CBCore is a library to build web applications using pure Typescript.",
5
+ "main": "compiledScripts/index.js",
6
+ "types": "compiledScripts/index.d.ts",
7
+ "scripts": {
8
+ "build": "etsc && tsc --emitDeclarationOnly",
9
+ "test": "echo \"Error: no test specified\" && exit 1",
10
+ "prepare": "npm run build"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/inimeseke/UICore-TS.git"
15
+ },
16
+ "keywords": [
17
+ "UICore",
18
+ "UIKit",
19
+ "Apple",
20
+ "IOS",
21
+ "UI",
22
+ "Framework",
23
+ "Native-like",
24
+ "Native",
25
+ "Typescript"
26
+ ],
27
+ "author": "Mart Ernits",
28
+ "license": "MIT",
29
+ "bugs": {
30
+ "url": "https://github.com/inimeseke/UICore-TS/issues"
31
+ },
32
+ "homepage": "https://github.com/inimeseke/UICore-TS",
33
+ "dependencies": {
34
+ "@types/object-hash": "^2.1.1",
35
+ "object-hash": "^2.1.1",
36
+ "socket.io-client": "^4.5.2",
37
+ "uicore-ts": "^1.0.11"
38
+ },
39
+ "devDependencies": {
40
+ "@rollup/plugin-commonjs": "^23.0.0",
41
+ "@rollup/plugin-node-resolve": "^13.3.0",
42
+ "esbuild": "^0.14.53",
43
+ "esbuild-node-tsc": "^1.8.8",
44
+ "esbuild-plugin-inline-worker": "^0.1.1",
45
+ "etsc": "^0.1.0",
46
+ "rollup-plugin-sourcemaps": "^0.6.3",
47
+ "rollup-plugin-typescript2": "^0.32.1",
48
+ "rollup-plugin-web-worker-loader": "^1.6.1",
49
+ "typescript": "^4.7.4"
50
+ }
51
+ }
@@ -0,0 +1,49 @@
1
+ import {nodeResolve} from "@rollup/plugin-node-resolve"
2
+ import path from "path"
3
+ import sourcemaps from "rollup-plugin-sourcemaps"
4
+ import webWorkerLoader from "rollup-plugin-web-worker-loader"
5
+ import typescript from "rollup-plugin-typescript2"
6
+
7
+
8
+ const onwarn = (warning, rollupWarning) => {
9
+
10
+ // Silence circular dependency warning for CBCore
11
+ if (
12
+ warning.code === "CIRCULAR_DEPENDENCY"
13
+ && !warning.importer.indexOf(path.normalize("scripts/CBCore/CBCore.ts"))
14
+ ) {
15
+ return
16
+ }
17
+
18
+ rollupWarning(warning)
19
+
20
+ }
21
+
22
+ export default {
23
+ input: "./scripts/index.ts",
24
+ output: {
25
+
26
+ dir: "compiledScripts",
27
+ format: "cjs",
28
+ sourcemap: true
29
+
30
+ },
31
+ onwarn: onwarn,
32
+ plugins: [
33
+ nodeResolve({
34
+
35
+ browser: true
36
+
37
+ }),
38
+ typescript(),
39
+ sourcemaps(),
40
+ webWorkerLoader({
41
+
42
+ targetPlatform: "browser",
43
+ sourcemap: true,
44
+ pattern: /web-worker:(.+)/,
45
+ inline: true
46
+
47
+ })
48
+ ]
49
+ }