prostgles-server 3.0.154 → 4.0.1

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 (136) hide show
  1. package/dist/AuthHandler.d.ts.map +1 -1
  2. package/dist/AuthHandler.js +6 -3
  3. package/dist/AuthHandler.js.map +1 -1
  4. package/dist/DBEventsManager.d.ts.map +1 -1
  5. package/dist/DBEventsManager.js +5 -4
  6. package/dist/DBEventsManager.js.map +1 -1
  7. package/dist/DBSchemaBuilder.js +14 -14
  8. package/dist/DBSchemaBuilder.js.map +1 -1
  9. package/dist/DboBuilder/QueryBuilder/Functions.js +1 -1
  10. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  11. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -1
  12. package/dist/DboBuilder/TableHandler.js +1 -2
  13. package/dist/DboBuilder/TableHandler.js.map +1 -1
  14. package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
  15. package/dist/DboBuilder/ViewHandler.js +10 -8
  16. package/dist/DboBuilder/ViewHandler.js.map +1 -1
  17. package/dist/DboBuilder/getCondition.js +1 -1
  18. package/dist/DboBuilder/getCondition.js.map +1 -1
  19. package/dist/DboBuilder/insert.js +1 -1
  20. package/dist/DboBuilder/insert.js.map +1 -1
  21. package/dist/DboBuilder/insertDataParse.js +4 -3
  22. package/dist/DboBuilder/insertDataParse.js.map +1 -1
  23. package/dist/DboBuilder/subscribe.d.ts +2 -2
  24. package/dist/DboBuilder/subscribe.d.ts.map +1 -1
  25. package/dist/DboBuilder/subscribe.js +3 -4
  26. package/dist/DboBuilder/subscribe.js.map +1 -1
  27. package/dist/DboBuilder.d.ts.map +1 -1
  28. package/dist/DboBuilder.js +5 -4
  29. package/dist/DboBuilder.js.map +1 -1
  30. package/dist/FileManager.js +1 -1
  31. package/dist/FileManager.js.map +1 -1
  32. package/dist/Filtering.js.map +1 -1
  33. package/dist/JSONBValidation/validation.js.map +1 -1
  34. package/dist/Prostgles.js +1 -1
  35. package/dist/Prostgles.js.map +1 -1
  36. package/dist/PubSubManager/PubSubManager.d.ts +28 -26
  37. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  38. package/dist/PubSubManager/PubSubManager.js +53 -433
  39. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  40. package/dist/PubSubManager/addSub.d.ts +8 -0
  41. package/dist/PubSubManager/addSub.d.ts.map +1 -0
  42. package/dist/PubSubManager/addSub.js +163 -0
  43. package/dist/PubSubManager/addSub.js.map +1 -0
  44. package/dist/PubSubManager/addSync.d.ts +8 -0
  45. package/dist/PubSubManager/addSync.d.ts.map +1 -0
  46. package/dist/PubSubManager/addSync.js +110 -0
  47. package/dist/PubSubManager/addSync.js.map +1 -0
  48. package/dist/PubSubManager/notifListener.d.ts +5 -0
  49. package/dist/PubSubManager/notifListener.d.ts.map +1 -0
  50. package/dist/PubSubManager/notifListener.js +99 -0
  51. package/dist/PubSubManager/notifListener.js.map +1 -0
  52. package/dist/PubSubManager/pushSubData.d.ts +3 -0
  53. package/dist/PubSubManager/pushSubData.d.ts.map +1 -0
  54. package/dist/PubSubManager/pushSubData.js +48 -0
  55. package/dist/PubSubManager/pushSubData.js.map +1 -0
  56. package/dist/PublishParser.d.ts.map +1 -1
  57. package/dist/PublishParser.js +4 -3
  58. package/dist/PublishParser.js.map +1 -1
  59. package/dist/TableConfig/TableConfig.js.map +1 -1
  60. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  61. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  62. package/lib/AuthHandler.d.ts.map +1 -1
  63. package/lib/AuthHandler.js +6 -3
  64. package/lib/AuthHandler.ts +12 -7
  65. package/lib/DBEventsManager.d.ts.map +1 -1
  66. package/lib/DBEventsManager.js +5 -4
  67. package/lib/DBEventsManager.ts +10 -9
  68. package/lib/DBSchemaBuilder.js +14 -14
  69. package/lib/DBSchemaBuilder.ts +14 -14
  70. package/lib/DboBuilder/QueryBuilder/Functions.js +1 -1
  71. package/lib/DboBuilder/QueryBuilder/Functions.ts +2 -2
  72. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +1 -1
  73. package/lib/DboBuilder/TableHandler.d.ts +1 -5
  74. package/lib/DboBuilder/TableHandler.d.ts.map +1 -1
  75. package/lib/DboBuilder/TableHandler.js +1 -2
  76. package/lib/DboBuilder/TableHandler.ts +3 -3
  77. package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
  78. package/lib/DboBuilder/ViewHandler.js +10 -8
  79. package/lib/DboBuilder/ViewHandler.ts +22 -20
  80. package/lib/DboBuilder/getCondition.js +1 -1
  81. package/lib/DboBuilder/getCondition.ts +2 -2
  82. package/lib/DboBuilder/insert.js +1 -1
  83. package/lib/DboBuilder/insert.ts +1 -1
  84. package/lib/DboBuilder/insertDataParse.js +4 -3
  85. package/lib/DboBuilder/insertDataParse.ts +15 -13
  86. package/lib/DboBuilder/subscribe.d.ts +2 -2
  87. package/lib/DboBuilder/subscribe.d.ts.map +1 -1
  88. package/lib/DboBuilder/subscribe.js +3 -4
  89. package/lib/DboBuilder/subscribe.ts +8 -9
  90. package/lib/DboBuilder.d.ts.map +1 -1
  91. package/lib/DboBuilder.js +5 -4
  92. package/lib/DboBuilder.ts +15 -21
  93. package/lib/FileManager.js +1 -1
  94. package/lib/FileManager.ts +5 -5
  95. package/lib/Filtering.ts +1 -1
  96. package/lib/JSONBValidation/validation.ts +3 -3
  97. package/lib/Prostgles.js +1 -1
  98. package/lib/Prostgles.ts +3 -3
  99. package/lib/PubSubManager/PubSubManager.d.ts +27 -29
  100. package/lib/PubSubManager/PubSubManager.d.ts.map +1 -1
  101. package/lib/PubSubManager/PubSubManager.js +54 -437
  102. package/lib/PubSubManager/PubSubManager.ts +93 -546
  103. package/lib/PubSubManager/addSub.d.ts +8 -0
  104. package/lib/PubSubManager/addSub.d.ts.map +1 -0
  105. package/lib/PubSubManager/addSub.js +162 -0
  106. package/lib/PubSubManager/addSub.ts +186 -0
  107. package/lib/PubSubManager/addSync.d.ts +8 -0
  108. package/lib/PubSubManager/addSync.d.ts.map +1 -0
  109. package/lib/PubSubManager/addSync.js +109 -0
  110. package/lib/PubSubManager/addSync.ts +127 -0
  111. package/lib/PubSubManager/notifListener.d.ts +5 -0
  112. package/lib/PubSubManager/notifListener.d.ts.map +1 -0
  113. package/lib/PubSubManager/notifListener.js +98 -0
  114. package/lib/PubSubManager/notifListener.ts +124 -0
  115. package/lib/PubSubManager/pushSubData.d.ts +3 -0
  116. package/lib/PubSubManager/pushSubData.d.ts.map +1 -0
  117. package/lib/PubSubManager/pushSubData.js +47 -0
  118. package/lib/PubSubManager/pushSubData.ts +47 -0
  119. package/lib/PublishParser.d.ts.map +1 -1
  120. package/lib/PublishParser.js +4 -3
  121. package/lib/PublishParser.ts +4 -3
  122. package/lib/TableConfig/TableConfig.ts +7 -7
  123. package/lib/TableConfig/getConstraintDefinitionQueries.ts +1 -1
  124. package/lib/TableConfig/getTableColumnQueries.ts +2 -2
  125. package/package.json +2 -2
  126. package/tests/client/PID.txt +1 -1
  127. package/tests/client/package-lock.json +15 -15
  128. package/tests/client/package.json +1 -1
  129. package/tests/client/tsconfig.json +2 -1
  130. package/tests/client_only_queries.js +1 -1
  131. package/tests/client_only_queries.ts +1 -1
  132. package/tests/isomorphic_queries.ts +1 -1
  133. package/tests/server/DBoGenerated.d.ts +2 -2
  134. package/tests/server/package-lock.json +3 -3
  135. package/tests/server/tsconfig.json +2 -1
  136. package/tsconfig.json +1 -1
@@ -5,8 +5,8 @@
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  var _a;
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.omitKeys = exports.pickKeys = exports.PubSubManager = exports.log = exports.DEFAULT_SYNC_BATCH_SIZE = exports.asValue = void 0;
9
- const utils_1 = require("../utils");
8
+ exports.omitKeys = exports.pickKeys = exports.parseCondition = exports.PubSubManager = exports.log = exports.DEFAULT_SYNC_BATCH_SIZE = exports.asValue = void 0;
9
+ const addSync_1 = require("./addSync");
10
10
  const DboBuilder_1 = require("../DboBuilder");
11
11
  const Prostgles_1 = require("../Prostgles");
12
12
  const initPubSubManager_1 = require("./initPubSubManager");
@@ -16,6 +16,9 @@ const prostgles_types_1 = require("prostgles-types");
16
16
  const SyncReplication_1 = require("../SyncReplication");
17
17
  const util_1 = require("prostgles-types/dist/util");
18
18
  const getInitQuery_1 = require("./getInitQuery");
19
+ const addSub_1 = require("./addSub");
20
+ const notifListener_1 = require("./notifListener");
21
+ const pushSubData_1 = require("./pushSubData");
19
22
  const pgp = pgPromise({
20
23
  promiseLib: Bluebird
21
24
  });
@@ -36,6 +39,10 @@ class PubSubManager {
36
39
  return this.dboBuilder.dbo;
37
40
  }
38
41
  constructor(options) {
42
+ this.sockets = {};
43
+ // subs: { [ke: string]: { [ke: string]: { subs: SubscriptionParams[] } } };
44
+ this.subs = [];
45
+ this.syncs = [];
39
46
  this.onSchemaChange = undefined;
40
47
  this.NOTIF_TYPE = {
41
48
  data: "data_has_changed",
@@ -57,7 +64,8 @@ class PubSubManager {
57
64
  if (this.appCheck) {
58
65
  clearInterval(this.appCheck);
59
66
  }
60
- this.onSocketDisconnected();
67
+ this.subs = [];
68
+ this.syncs = [];
61
69
  if (!this.postgresNotifListenManager) {
62
70
  throw "this.postgresNotifListenManager missing";
63
71
  }
@@ -191,103 +199,24 @@ class PubSubManager {
191
199
  throw e;
192
200
  }
193
201
  };
194
- /* Relay relevant data to relevant subscriptions */
195
- this.notifListener = async (data) => {
196
- const str = data.payload;
197
- if (!str) {
198
- console.error("Empty notif?");
199
- return;
200
- }
201
- const dataArr = str.split(PubSubManager.DELIMITER), notifType = dataArr[0];
202
- (0, exports.log)(str);
203
- if (notifType === this.NOTIF_TYPE.schema) {
204
- if (this.onSchemaChange) {
205
- const command = dataArr[1], event_type = dataArr[2], query = dataArr[3];
206
- if (query) {
207
- this.onSchemaChange({ command, query });
208
- }
209
- }
210
- return;
211
- }
212
- if (notifType !== this.NOTIF_TYPE.data) {
213
- console.error("Unexpected notif type: ", notifType);
214
- return;
215
- }
216
- if (dataArr.length < 3) {
217
- throw "dataArr length < 3";
218
- }
219
- const table_name = dataArr[1], op_name = dataArr[2], condition_ids_str = dataArr[3];
220
- // const triggers = await this.db.any("SELECT * FROM prostgles.triggers WHERE table_name = $1 AND id IN ($2:csv)", [table_name, condition_ids_str.split(",").map(v => +v)]);
221
- // const conditions: string[] = triggers.map(t => t.condition);
222
- /**
223
- * Trigger error
224
- */
225
- (0, exports.log)("PG Trigger ->", dataArr.join("__"));
226
- if (condition_ids_str && condition_ids_str.startsWith("error") &&
227
- this._triggers &&
228
- this._triggers[table_name]?.length) {
229
- const pref = "INTERNAL ERROR";
230
- console.error(`${pref}: condition_ids_str: ${condition_ids_str}`);
231
- this._triggers[table_name].map(c => {
232
- const subs = this.getSubs(table_name, c);
233
- subs.map(s => {
234
- this.pushSubData(s, pref + ". Check server logs. Schema might have changed");
235
- });
236
- });
237
- /**
238
- * Trigger ok
239
- */
202
+ this.notifListener = notifListener_1.notifListener.bind(this);
203
+ this.getSubData = async (sub) => {
204
+ const { table_info, filter, params, table_rules } = sub; //, subOne = false
205
+ const { name: table_name } = table_info;
206
+ if (!this.dbo?.[table_name]?.find) {
207
+ throw new Error(`1107 this.dbo.${table_name}.find`);
240
208
  }
241
- else if (condition_ids_str?.split(",").length &&
242
- condition_ids_str?.split(",").every((c) => Number.isInteger(+c)) &&
243
- this._triggers?.[table_name]?.length) {
244
- const idxs = condition_ids_str.split(",").map(v => +v);
245
- const conditions = this._triggers[table_name].filter((c, i) => idxs.includes(i));
246
- (0, exports.log)("PG Trigger -> ", { table_name, op_name, condition_ids_str, conditions }, this._triggers[table_name]);
247
- conditions.map(condition => {
248
- const subs = this.getSubs(table_name, condition);
249
- const syncs = this.getSyncs(table_name, condition);
250
- syncs.map((s) => {
251
- this.syncData(s, undefined, "trigger");
252
- });
253
- if (!subs) {
254
- // console.error(`sub missing for ${table_name} ${condition}`, this.triggers);
255
- // console.log(this.subs)
256
- return;
257
- }
258
- /* Throttle the subscriptions */
259
- for (let i = 0; i < subs.length; i++) {
260
- const sub = subs[i];
261
- if (this.dbo[sub.table_name] &&
262
- sub.is_ready &&
263
- (sub.socket_id && this.sockets[sub.socket_id]) || sub.func) {
264
- const throttle = sub.throttle || 0;
265
- if (sub.last_throttled <= Date.now() - throttle) {
266
- /* It is assumed the policy was checked before this point */
267
- this.pushSubData(sub);
268
- // sub.last_throttled = Date.now();
269
- }
270
- else if (!sub.is_throttling) {
271
- (0, exports.log)("throttling sub");
272
- sub.is_throttling = setTimeout(() => {
273
- (0, exports.log)("throttling finished. pushSubData...");
274
- sub.is_throttling = null;
275
- this.pushSubData(sub);
276
- }, throttle); // sub.throttle);
277
- }
278
- }
279
- }
280
- });
209
+ try {
210
+ const data = await this.dbo?.[table_name].find(filter, params, undefined, table_rules);
211
+ return { data };
281
212
  }
282
- else {
283
- // if(!this._triggers || !this._triggers[table_name] || !this._triggers[table_name].length){
284
- // console.warn(190, "Trigger sub not found. DROPPING TRIGGER", table_name, condition_ids_str, this._triggers);
285
- // this.dropTrigger(table_name);
286
- // } else {
287
- // }
288
- console.warn(190, "Trigger sub issue: ", table_name, condition_ids_str, this._triggers);
213
+ catch (err) {
214
+ return { err };
289
215
  }
290
216
  };
217
+ this.pushSubData = pushSubData_1.pushSubData.bind(this);
218
+ this.addSync = addSync_1.addSync.bind(this);
219
+ this.addSub = addSub_1.addSub.bind(this);
291
220
  this.getActiveListeners = () => {
292
221
  const result = [];
293
222
  const upsert = (t, c) => {
@@ -298,11 +227,9 @@ class PubSubManager {
298
227
  (this.syncs || []).map(s => {
299
228
  upsert(s.table_name, s.condition);
300
229
  });
301
- Object.keys(this.subs || {}).map(table_name => {
302
- Object.keys(this.subs[table_name] || {}).map(condition => {
303
- if (this.subs[table_name][condition].subs.length) {
304
- upsert(table_name, condition);
305
- }
230
+ this.subs.forEach(s => {
231
+ s.triggers.forEach(trg => {
232
+ upsert(trg.table_name, trg.condition);
306
233
  });
307
234
  });
308
235
  return result;
@@ -343,9 +270,6 @@ class PubSubManager {
343
270
  }
344
271
  this.onSchemaChange = onSchemaChange;
345
272
  this.dboBuilder = dboBuilder;
346
- this.sockets = {};
347
- this.subs = {};
348
- this.syncs = [];
349
273
  this.socketChannelPreffix = wsChannelNamePrefix || "_psqlWS_";
350
274
  (0, exports.log)("Created PubSubManager");
351
275
  }
@@ -354,348 +278,43 @@ class PubSubManager {
354
278
  throw "this.postgresNotifListenManager missing";
355
279
  return this.postgresNotifListenManager.isListening();
356
280
  }
357
- getSubs(table_name, condition) {
358
- const subs = this.subs?.[table_name]?.[condition]?.subs ?? [];
359
- // if(!subs){
360
- // log("Subs not found:", { table_name, condition }, this.subs)
361
- // }
362
- return subs.flatMap(s => {
363
- /* Return parentSubs instead to ensure throttling works */
364
- if (s.parentSubParams) {
365
- const parentSubs = [];
366
- const parentChannel = s.parentSubParams.channel_name;
367
- for (const tableName in this.subs) {
368
- for (const condition in this.subs[tableName]) {
369
- this.subs[tableName][condition].subs.forEach(parentSub => {
370
- if (!parentSub.parentSubParams && parentSub.channel_name === parentChannel) {
371
- parentSubs.push(parentSub);
372
- }
373
- });
374
- }
375
- }
376
- return parentSubs ?? s;
377
- }
378
- return s;
379
- });
281
+ getSubs(table_name, condition, client) {
282
+ const subs = this.subs.filter(s => (0, util_1.find)(s.triggers, { table_name, condition }));
283
+ if (client) {
284
+ return subs.filter(s => client.func && s.func === client.func || client.socket_id && s.socket_id === client.socket_id);
285
+ }
286
+ return subs;
287
+ }
288
+ removeLocalSub(tableName, conditionRaw, func) {
289
+ const condition = (0, exports.parseCondition)(conditionRaw);
290
+ if (this.getSubs(tableName, condition, { func }).length) {
291
+ this.subs = this.subs.filter(s => s.func !== func && !(0, util_1.find)(s.triggers, { tableName, condition }));
292
+ }
293
+ else {
294
+ console.error("Could not unsubscribe. Subscription might not have initialised yet", { tableName, condition });
295
+ }
380
296
  }
381
297
  getSyncs(table_name, condition) {
382
298
  return (this.syncs || [])
383
299
  .filter((s) => s.table_name === table_name && s.condition === condition);
384
300
  }
385
- pushSubData(sub, err) {
386
- if (!sub)
387
- throw "pushSubData: invalid sub";
388
- const { table_name, filter, params, table_rules, socket_id, channel_name, func } = sub; //, subOne = false
389
- sub.last_throttled = Date.now();
390
- if (err) {
391
- if (socket_id) {
392
- this.sockets[socket_id].emit(channel_name, { err });
393
- }
394
- return true;
395
- }
396
- return new Promise(async (resolve, reject) => {
397
- /* TODO: Retire subOne -> it's redundant */
398
- // this.dbo[table_name][subOne? "findOne" : "find"](filter, params, null, table_rules)
399
- if (!this.dbo?.[table_name]?.find) {
400
- throw new Error(`1107 this.dbo.${table_name}.find`);
401
- }
402
- this.dbo?.[table_name]?.find?.(filter, params, undefined, table_rules)
403
- .then(data => {
404
- if (socket_id && this.sockets[socket_id]) {
405
- (0, exports.log)("Pushed " + data.length + " records to sub");
406
- this.sockets[socket_id].emit(channel_name, { data }, () => {
407
- resolve(data);
408
- });
409
- /* TO DO: confirm receiving data or server will unsubscribe
410
- { data }, (cb)=> { console.log(cb) });
411
- */
412
- }
413
- else if (func) {
414
- func(data);
415
- resolve(data);
416
- }
417
- sub.last_throttled = Date.now();
418
- }).catch(err => {
419
- const errObj = { _err_msg: err.toString(), err };
420
- if (socket_id && this.sockets[socket_id]) {
421
- this.sockets[socket_id].emit(channel_name, { err: errObj });
422
- }
423
- else if (func) {
424
- func({ err: errObj });
425
- }
426
- reject(errObj);
427
- });
428
- });
429
- }
430
301
  upsertSocket(socket) {
431
302
  if (socket && !this.sockets[socket.id]) {
432
303
  this.sockets[socket.id] = socket;
433
- socket.on("disconnect", () => this.onSocketDisconnected(socket));
434
- }
435
- }
436
- async syncData(sync, clientData, source) {
437
- return await (0, SyncReplication_1.syncData)(this, sync, clientData, source);
438
- }
439
- /**
440
- * Returns a sync channel
441
- * A sync channel is unique per socket for each filter
442
- */
443
- async addSync(syncParams) {
444
- const { socket = null, table_info = null, table_rules, synced_field = null, allow_delete = false, id_fields = [], filter = {}, params, condition = "", throttle = 0 } = syncParams || {};
445
- const conditionParsed = parseCondition(condition);
446
- if (!socket || !table_info)
447
- throw "socket or table_info missing";
448
- const { name: table_name } = table_info, channel_name = `${this.socketChannelPreffix}.${table_name}.${JSON.stringify(filter)}.sync`;
449
- if (!synced_field)
450
- throw "synced_field missing from table_rules";
451
- this.upsertSocket(socket);
452
- const upsertSync = () => {
453
- const newSync = {
454
- channel_name,
455
- table_name,
456
- filter,
457
- condition: conditionParsed,
458
- synced_field,
459
- id_fields,
460
- allow_delete,
461
- table_rules,
462
- throttle: Math.max(throttle || 0, table_rules?.sync?.throttle || 0),
463
- batch_size: (0, utils_1.get)(table_rules, "sync.batch_size") || exports.DEFAULT_SYNC_BATCH_SIZE,
464
- last_throttled: 0,
465
- socket_id: socket.id,
466
- is_sync: true,
467
- last_synced: 0,
468
- lr: undefined,
469
- table_info,
470
- is_syncing: false,
471
- wal: undefined,
472
- socket,
473
- params
474
- };
475
- /* Only a sync per socket per table per condition allowed */
476
- this.syncs = this.syncs || [];
477
- const existing = (0, util_1.find)(this.syncs, { socket_id: socket.id, channel_name });
478
- if (!existing) {
479
- this.syncs.push(newSync);
480
- // console.log("Added SYNC");
481
- socket.removeAllListeners(channel_name + "unsync");
482
- socket.once(channel_name + "unsync", (_data, cb) => {
483
- this.onSocketDisconnected(socket, channel_name);
484
- cb(null, { res: "ok" });
304
+ socket.on("disconnect", () => {
305
+ this.subs = this.subs.filter(s => {
306
+ return !(s.socket && s.socket.id === socket.id);
485
307
  });
486
- socket.removeAllListeners(channel_name);
487
- socket.on(channel_name, (data, cb) => {
488
- if (!data) {
489
- cb({ err: "Unexpected request. Need data or onSyncRequest" });
490
- return;
491
- }
492
- /*
493
- */
494
- /* Server will:
495
- 1. Ask for last_synced emit(onSyncRequest)
496
- 2. Ask for data >= server_synced emit(onPullRequest)
497
- -> Upsert that data
498
- 2. Push data >= last_synced emit(data.data)
499
-
500
- Client will:
501
- 1. Send last_synced on(onSyncRequest)
502
- 2. Send data >= server_synced on(onPullRequest)
503
- 3. Send data on CRUD emit(data.data | data.deleted)
504
- 4. Upsert data.data | deleted on(data.data | data.deleted)
505
- */
506
- // if(data.data){
507
- // console.error("THIS SHOUKD NEVER FIRE !! NEW DATA FROM SYNC");
508
- // this.upsertClientData(newSync, data.data);
509
- // } else
510
- if (data.onSyncRequest) {
511
- // console.log("syncData from socket")
512
- this.syncData(newSync, data.onSyncRequest, "client");
513
- // console.log("onSyncRequest ", socket._user)
514
- }
515
- else {
516
- console.error("Unexpected sync request data from client: ", data);
517
- }
308
+ this.syncs = this.syncs.filter(s => {
309
+ return !(s.socket_id && s.socket_id === socket.id);
518
310
  });
519
- // socket.emit(channel_name, { onSyncRequest: true }, (response) => {
520
- // console.log(response)
521
- // });
522
- }
523
- else {
524
- console.warn("UNCLOSED DUPLICATE SYNC FOUND", existing.channel_name);
525
- }
526
- return newSync;
527
- };
528
- // const { min_id, max_id, count, max_synced } = params;
529
- const _sync = upsertSync();
530
- await this.addTrigger({ table_name, condition: conditionParsed });
531
- return channel_name;
532
- }
533
- /* Must return a channel for socket */
534
- /* The distinct list of channel names must have a corresponding trigger in the database */
535
- async addSub(subscriptionParams) {
536
- const { socket, func = null, table_info = null, table_rules, filter = {}, params = {}, condition = "", throttle = 0, //subOne = false,
537
- viewOptions } = subscriptionParams || {};
538
- let validated_throttle = subscriptionParams.throttle || 10;
539
- if ((!socket && !func) || !table_info)
540
- throw "socket/func or table_info missing";
541
- const pubThrottle = (0, utils_1.get)(table_rules, ["subscribe", "throttle"]) || 0;
542
- if (pubThrottle && Number.isInteger(pubThrottle) && pubThrottle > 0) {
543
- validated_throttle = pubThrottle;
544
- }
545
- if (throttle && Number.isInteger(throttle) && throttle >= pubThrottle) {
546
- validated_throttle = throttle;
547
- }
548
- const channel_name = `${this.socketChannelPreffix}.${table_info.name}.${JSON.stringify(filter)}.${JSON.stringify(params)}.${"m"}.sub`;
549
- this.upsertSocket(socket);
550
- const upsertSub = (newSubData, isReadyOverride) => {
551
- const { table_name, condition: _cond, is_ready = false, parentSubParams } = newSubData, condition = parseCondition(_cond), newSub = {
552
- socket,
553
- table_name: table_info.name,
554
- table_info,
555
- filter,
556
- params,
557
- table_rules,
558
- channel_name,
559
- parentSubParams,
560
- func: func ?? undefined,
561
- socket_id: socket?.id,
562
- throttle: validated_throttle,
563
- is_throttling: null,
564
- last_throttled: 0,
565
- is_ready,
566
- };
567
- this.subs[table_name] = this.subs[table_name] ?? {};
568
- this.subs[table_name][condition] = this.subs[table_name][condition] ?? { subs: [] };
569
- this.subs[table_name][condition].subs = this.subs[table_name][condition].subs ?? [];
570
- // console.log("1034 upsertSub", this.subs)
571
- const sub_idx = this.subs[table_name][condition].subs.findIndex(s => s.channel_name === channel_name &&
572
- (socket && s.socket_id === socket.id ||
573
- func && s.func === func));
574
- if (sub_idx < 0) {
575
- this.subs[table_name][condition].subs.push(newSub);
576
- if (socket) {
577
- const chnUnsub = channel_name + "unsubscribe";
578
- socket.removeAllListeners(chnUnsub);
579
- socket.once(chnUnsub, (_data, cb) => {
580
- const res = this.onSocketDisconnected(socket, channel_name);
581
- cb(null, { res });
582
- });
583
- }
584
- }
585
- else {
586
- this.subs[table_name][condition].subs[sub_idx] = newSub;
587
- }
588
- if (isReadyOverride ?? is_ready) {
589
- this.pushSubData(newSub);
590
- }
591
- };
592
- viewOptions?.relatedTables.map(async (relatedTable, relatedTableIdx) => {
593
- const params = {
594
- table_name: relatedTable.tableName,
595
- condition: relatedTable.condition,
596
- parentSubParams: {
597
- ...subscriptionParams,
598
- channel_name
599
- },
600
- };
601
- upsertSub({
602
- ...params,
603
- is_ready: false,
604
- }, false);
605
- await this.addTrigger(params, viewOptions);
606
- /** Trigger pushSubData only on last related table (if it's a view) to prevent duplicate firings */
607
- const isLast = relatedTableIdx === viewOptions.relatedTables.length - 1;
608
- upsertSub({
609
- ...params,
610
- is_ready: true
611
- }, isLast && !table_info.is_view);
612
- });
613
- if (table_info.is_view) {
614
- if (!viewOptions?.relatedTables.length) {
615
- throw "PubSubManager: view parent_tables missing";
616
- }
617
- return channel_name;
618
- }
619
- /* Just a table, add table + condition trigger */
620
- // console.log(table_info, 202);
621
- upsertSub({
622
- table_name: table_info.name,
623
- condition: parseCondition(condition),
624
- parentSubParams: undefined,
625
- is_ready: false
626
- }, undefined);
627
- await this.addTrigger({
628
- table_name: table_info.name,
629
- condition: parseCondition(condition),
630
- });
631
- upsertSub({
632
- table_name: table_info.name,
633
- condition: parseCondition(condition),
634
- parentSubParams: undefined,
635
- is_ready: true
636
- }, undefined);
637
- return channel_name;
638
- }
639
- removeLocalSub(table_name, condition, func) {
640
- const cond = parseCondition(condition);
641
- if ((0, utils_1.get)(this.subs, [table_name, cond, "subs"])) {
642
- this.subs[table_name][cond].subs.map((sub, i) => {
643
- if (sub.func && sub.func === func) {
644
- this.subs[table_name][cond].subs.splice(i, 1);
645
- }
311
+ delete this.sockets[socket.id];
312
+ return "ok";
646
313
  });
647
314
  }
648
- else {
649
- console.error("Could not unsubscribe. Subscription might not have initialised yet");
650
- }
651
315
  }
652
- onSocketDisconnected(socket, channel_name) {
653
- // process.on('warning', e => {
654
- // console.warn(e.stack)
655
- // });
656
- // console.log("onSocketDisconnected", channel_name, this.syncs)
657
- if (this.subs) {
658
- Object.keys(this.subs).map(table_name => {
659
- Object.keys(this.subs[table_name]).map(condition => {
660
- this.subs[table_name][condition].subs.map((sub, i) => {
661
- /**
662
- * If a channel name is specified then delete triggers
663
- */
664
- if ((socket && sub.socket_id === socket.id) &&
665
- (!channel_name || sub.channel_name === channel_name)) {
666
- this.subs[table_name][condition].subs.splice(i, 1);
667
- if (!this.subs[table_name][condition].subs.length) {
668
- delete this.subs[table_name][condition];
669
- if ((0, prostgles_types_1.isEmpty)(this.subs[table_name])) {
670
- delete this.subs[table_name];
671
- }
672
- }
673
- }
674
- });
675
- });
676
- });
677
- }
678
- if (this.syncs) {
679
- this.syncs = this.syncs.filter(s => {
680
- const matchesSocket = Boolean(socket && s.socket_id !== socket.id);
681
- if (channel_name) {
682
- return matchesSocket || s.channel_name !== channel_name;
683
- }
684
- return matchesSocket;
685
- });
686
- }
687
- if (!socket) {
688
- // Do nothing
689
- }
690
- else if (!channel_name) {
691
- delete this.sockets[socket.id];
692
- }
693
- else {
694
- socket.removeAllListeners(channel_name);
695
- socket.removeAllListeners(channel_name + "unsync");
696
- socket.removeAllListeners(channel_name + "unsubscribe");
697
- }
698
- return "ok";
316
+ async syncData(sync, clientData, source) {
317
+ return await (0, SyncReplication_1.syncData)(this, sync, clientData, source);
699
318
  }
700
319
  async addTrigger(params, viewOptions) {
701
320
  try {
@@ -774,6 +393,7 @@ PubSubManager.create = async (options) => {
774
393
  PubSubManager.SCHEMA_ALTERING_QUERIES = ['CREATE TABLE', 'ALTER TABLE', 'DROP TABLE', 'CREATE VIEW', 'DROP VIEW', 'ALTER VIEW', 'CREATE TABLE AS', 'SELECT INTO'];
775
394
  PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch ";
776
395
  const parseCondition = (condition) => condition && condition.trim().length ? condition : "TRUE";
396
+ exports.parseCondition = parseCondition;
777
397
  var prostgles_types_2 = require("prostgles-types");
778
398
  Object.defineProperty(exports, "pickKeys", { enumerable: true, get: function () { return prostgles_types_2.pickKeys; } });
779
399
  Object.defineProperty(exports, "omitKeys", { enumerable: true, get: function () { return prostgles_types_2.omitKeys; } });
@@ -1 +1 @@
1
- {"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;AAGhG,oCAA+B;AAC/B,8CAAkH;AAClH,4CAA+C;AAC/C,2DAAwD;AAExD,qCAAqC;AACrC,wCAAwC;AAGxC,qDAA6F;AAE7F,wDAAiE;AAEjE,oDAA0D;AAC1D,iDAA8C;AAI9C,MAAM,GAAG,GAAQ,SAAS,CAAC;IACzB,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAC;AACI,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAA/C,QAAA,OAAO,WAAwC;AAC/C,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;KACrB;AACH,CAAC,CAAA;AAJY,QAAA,GAAG,OAIf;AA0FD,MAAa,aAAa;IAIxB,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAC7B,CAAC;IAWD,YAAoB,OAA6B;QAJjD,mBAAc,GAA2D,SAAS,CAAC;QAqBnF,eAAU,GAAG;YACX,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,oBAAoB;SAC7B,CAAA;QACD,kBAAa,GAAG;YACd,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE;gBAC1B,MAAM,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;gBACvC,IAAI,CAAC,UAAU;oBAAE,MAAM,UAAU,CAAC;gBAClC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;YACjD,CAAC;SACF,CAAA;QAOD,wBAAmB,GAAG,EAAE,GAAG,IAAI,CAAC;QAgChC,cAAS,GAAG,KAAK,CAAC;QAClB,YAAO,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B;YACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACpC,MAAM,yCAAyC,CAAA;aAChD;YACD,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC,CAAA;QAED,gBAAW,GAAG,GAAG,EAAE;YACjB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACpD,OAAO,KAAK,CAAA;aACb;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,gBAAW,GAAG,KAAK,CAAC;QACpB,SAAI,GAAG,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAMpC,oBAAe,GAAG,KAAK,IAAI,EAAE;YAC3B,0DAA0D;YAC1D,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,4CAA4C,CAAC;YACpE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,IAAA,uBAAW,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC/E,OAAO,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAA;aACtG;YAED,IAAI;gBAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;;sDAG8B,aAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2B9E,IAAA,eAAO,EAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;0CA0Bf,IAAA,eAAO,EAAC,2BAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;gCAYpD,IAAA,eAAO,EAAC,2BAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;;;;;;uDAiBnB,2BAAY,CAAC,oBAAoB;+CACzC,2BAAY,CAAC,oBAAoB;;;4CAGpC,2BAAY,CAAC,iBAAiB;;;;;;;;;;;aAW7D,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACjB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;oBAC7C,MAAM,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;aAEb;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,CAAC;aACT;QACH,CAAC,CAAA;QAwCD,mDAAmD;QACnD,kBAAa,GAAG,KAAK,EAAE,IAAyB,EAAE,EAAE;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YAEzB,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBAC7B,OAAO;aACR;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAChD,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEzB,IAAA,WAAG,EAAC,GAAG,CAAC,CAAC;YAET,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACxC,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,EACzB,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,EACvB,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAErB,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;qBACxC;iBACF;gBAED,OAAO;aACR;YAED,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;gBACpD,OAAO;aACR;YACD,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;gBACpB,MAAM,oBAAoB,CAAA;aAC3B;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAE,EAC5B,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,EACrB,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAElC,4KAA4K;YAC5K,+DAA+D;YAE/D;;eAEG;YACH,IAAA,WAAG,EAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACxC,IACE,iBAAiB,IAAI,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC1D,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,EAClC;gBACA,MAAM,IAAI,GAAG,gBAAgB,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,wBAAwB,iBAAiB,EAAE,CAAC,CAAA;gBACjE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;oBACzC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACX,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,gDAAgD,CAAC,CAAC;oBAC/E,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAC;gBAEL;;mBAEG;aACF;iBAAM,IACL,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;gBACpC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EACpC;gBAGA,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEjF,IAAA,WAAG,EAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE1G,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAGnD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACd,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,IAAI,EAAE;wBAET,8EAA8E;wBAC9E,yBAAyB;wBACzB,OAAO;qBACR;oBAED,gCAAgC;oBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;wBACrB,IACE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;4BACxB,GAAG,CAAC,QAAQ;4BACZ,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAC1D;4BACA,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;4BACnC,IAAI,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE;gCAE/C,4DAA4D;gCAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gCACtB,mCAAmC;6BACpC;iCAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gCAG7B,IAAA,WAAG,EAAC,gBAAgB,CAAC,CAAA;gCACrB,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oCAClC,IAAA,WAAG,EAAC,qCAAqC,CAAC,CAAA;oCAC1C,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;oCACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gCACxB,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA,iBAAiB;6BAC/B;yBACF;qBACF;gBACH,CAAC,CAAC,CAAC;aAEJ;iBAAM;gBAEL,4FAA4F;gBAC5F,mHAAmH;gBACnH,oCAAoC;gBACpC,WAAW;gBACX,IAAI;gBACJ,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACzF;QACH,CAAC,CAAA;QA6UD,uBAAkB,GAAG,GAAgD,EAAE;YACrE,MAAM,MAAM,GAAgD,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;gBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE;oBAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC9C;YACH,CAAC,CAAA;YACD,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACzB,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACvD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,MAAM,EAAE;wBAClD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;qBAC/B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAA;QA0DD,wBAAmB,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,sBAAsB,EACnC,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;;;;;;WAMzB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAA,wBAAM,EAAC,MAAM,CAAC,GAAG,+CAA+C,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpJ,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,EAAE;oBACvC,MAAM,mHAAmH,CAAA;iBAC1H;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAA;QAED;;;;UAIE;QAEF,sBAAiB,GAAG,KAAK,IAAI,EAAE;YAC7B,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;;;;;KAKpB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CACd,CAAA;QACH,CAAC,CAAA;QAID,mBAAc,GAA8B,SAAS,CAAC;QA5zBpD,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YACrC,MAAM,oBAAoB,CAAC;SAC5B;QAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,IAAI,UAAU,CAAC;QAE9D,IAAA,WAAG,EAAC,uBAAuB,CAAC,CAAC;IAC/B,CAAC;IA0MD,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,0BAA0B;YAAE,MAAM,yCAAyC,CAAC;QACtF,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,UAAkB,EAAE,SAAiB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAE9D,aAAa;QACb,iEAAiE;QACjE,IAAI;QAEJ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,0DAA0D;YAC1D,IAAG,CAAC,CAAC,eAAe,EAAC;gBACnB,MAAM,UAAU,GAAyB,EAAE,CAAC;gBAC5C,MAAM,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC;gBACrD,KAAI,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAC;oBAC/B,KAAI,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC;wBAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;4BACvD,IAAG,CAAC,SAAS,CAAC,eAAe,IAAI,SAAS,CAAC,YAAY,KAAK,aAAa,EAAC;gCACxE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;6BAC3B;wBACH,CAAC,CAAC,CAAC;qBACJ;iBACF;gBACD,OAAO,UAAU,IAAI,CAAC,CAAC;aACxB;YAED,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,UAAkB,EAAE,SAAiB;QAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;aACtB,MAAM,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IACzF,CAAC;IAqID,WAAW,CAAC,GAAuB,EAAE,GAAS;QAC5C,IAAI,CAAC,GAAG;YAAE,MAAM,0BAA0B,CAAC;QAC3C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,CAAE,mBAAmB;QAE5G,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEhC,IAAI,GAAG,EAAE;YACP,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;aACrD;YACD,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,2CAA2C;YAC3C,sFAAsF;YACtF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,OAAO,CAAC,CAAC;aACrD;YAED,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;iBACnE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAEX,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACxC,IAAA,WAAG,EAAC,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAA;oBAChD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;wBACxD,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC,CAAC;oBACH;;sBAEE;iBACH;qBAAM,IAAI,IAAI,EAAE;oBACf,IAAI,CAAC,IAAI,CAAC,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;gBACD,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACb,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC;gBACjD,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACxC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;iBAC7D;qBAAM,IAAI,IAAI,EAAE;oBACf,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;iBACvB;gBACD,MAAM,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,MAAW;QACtB,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;SAClE;IACH,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAC,IAAgB,EAAE,UAAyC,EAAE,MAA4B;QACtG,OAAO,MAAM,IAAA,0BAAQ,EAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,UAAyB;QACrC,MAAM,EACJ,MAAM,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,WAAW,EAAE,YAAY,GAAG,IAAI,EAClE,YAAY,GAAG,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EACjD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,GAAG,CAAC,EACrC,GAAG,UAAU,IAAI,EAAE,CAAC;QAErB,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU;YAAE,MAAM,8BAA8B,CAAC;QAGjE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,EACrC,YAAY,GAAG,GAAG,IAAI,CAAC,oBAAoB,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QAE7F,IAAI,CAAC,YAAY;YAAE,MAAM,uCAAuC,CAAC;QAEjE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,OAAO,GAAG;gBACd,YAAY;gBACZ,UAAU;gBACV,MAAM;gBACN,SAAS,EAAE,eAAe;gBAC1B,YAAY;gBACZ,SAAS;gBACT,YAAY;gBACZ,WAAW;gBACX,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC;gBACnE,UAAU,EAAE,IAAA,WAAG,EAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,+BAAuB;gBAC1E,cAAc,EAAE,CAAC;gBACjB,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,CAAC;gBACd,EAAE,EAAE,SAAS;gBACb,UAAU;gBACV,UAAU,EAAE,KAAK;gBACjB,GAAG,EAAE,SAAS;gBACd,MAAM;gBACN,MAAM;aACP,CAAC;YAEF,4DAA4D;YAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,6BAA6B;gBAE7B,MAAM,CAAC,kBAAkB,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAiB,EAAE,EAAE;oBACrE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBAChD,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACxC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAS,EAAE,EAAiB,EAAE,EAAE;oBAEvD,IAAI,CAAC,IAAI,EAAE;wBACT,EAAE,CAAC,EAAE,GAAG,EAAE,gDAAgD,EAAE,CAAC,CAAC;wBAC9D,OAAO;qBACR;oBAED;sBACE;oBAEF;;;;;;;;;;;sBAWE;oBAEF,iBAAiB;oBACjB,qEAAqE;oBACrE,iDAAiD;oBACjD,UAAU;oBACV,IAAI,IAAI,CAAC,aAAa,EAAE;wBACtB,sCAAsC;wBACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;wBAErD,8CAA8C;qBAC/C;yBAAM;wBACL,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,IAAI,CAAC,CAAA;qBAClE;gBACH,CAAC,CAAC,CAAC;gBAEH,qEAAqE;gBACrE,4BAA4B;gBAC5B,MAAM;aACP;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;aACtE;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAGF,wDAAwD;QAExD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAE3B,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAElE,OAAO,YAAY,CAAC;IACtB,CAAC;IAGD,sCAAsC;IACtC,0FAA0F;IAC1F,KAAK,CAAC,MAAM,CAAC,kBAAmF;QAC9F,MAAM,EACJ,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,EAChE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,GAAG,CAAC,EAAG,kBAAkB;QAC9D,WAAW,EACZ,GAAG,kBAAkB,IAAI,EAAE,CAAC;QAE7B,IAAI,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,mCAAmC,CAAC;QAEjF,MAAM,WAAW,GAAG,IAAA,WAAG,EAAC,WAAW,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE;YACnE,kBAAkB,GAAG,WAAW,CAAC;SAClC;QACD,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,WAAW,EAAE;YACrE,kBAAkB,GAAG,QAAQ,CAAC;SAC/B;QAED,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,oBAAoB,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QAEtI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,SAAS,GAAG,CAAC,UAAgI,EAAE,eAAoC,EAAE,EAAE;YAC3L,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,UAAU,EACpF,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,EACjC,MAAM,GAAuB;gBAC3B,MAAM;gBACN,UAAU,EAAE,UAAU,CAAC,IAAI;gBAC3B,UAAU;gBACV,MAAM;gBACN,MAAM;gBACN,WAAW;gBACX,YAAY;gBACZ,eAAe;gBACf,IAAI,EAAE,IAAI,IAAI,SAAS;gBACvB,SAAS,EAAE,MAAM,EAAE,EAAE;gBACrB,QAAQ,EAAE,kBAAkB;gBAC5B,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,CAAC;gBACjB,QAAQ;aACT,CAAC;YAEJ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACtF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YAExF,2CAA2C;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACpE,CAAC,CAAC,YAAY,KAAK,YAAY;gBAC/B,CACE,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE;oBACnC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CACxB,CACF,CAAC;YACF,IAAI,OAAO,GAAG,CAAC,EAAE;gBACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,MAAM,EAAE;oBACV,MAAM,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;oBAC9C,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAiB,EAAE,EAAE;wBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;wBAC5D,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;aAC3D;YAED,IAAI,eAAe,IAAI,QAAQ,EAAE;gBAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC;QAIF,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE;YAErE,MAAM,MAAM,GAAsD;gBAChE,UAAU,EAAE,YAAY,CAAC,SAAS;gBAClC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,eAAe,EAAE;oBACf,GAAG,kBAAkB;oBACrB,YAAY;iBACb;aACF,CAAA;YAED,SAAS,CAAC;gBACR,GAAG,MAAM;gBACT,QAAQ,EAAE,KAAK;aAEhB,EAAE,KAAK,CAAC,CAAC;YAEV,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE3C,mGAAmG;YACnG,MAAM,MAAM,GAAG,eAAe,KAAK,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACxE,SAAS,CAAC;gBACR,GAAG,MAAM;gBACT,QAAQ,EAAE,IAAI;aACf,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpC,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,IAAG,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,EAAC;gBACpC,MAAM,2CAA2C,CAAC;aACnD;YACD,OAAO,YAAY,CAAC;SACrB;QAED,iDAAiD;QACjD,gCAAgC;QAEhC,SAAS,CAAC;YACR,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC;YACpC,eAAe,EAAE,SAAS;YAC1B,QAAQ,EAAE,KAAK;SAChB,EAAE,SAAS,CAAC,CAAC;QAEd,MAAM,IAAI,CAAC,UAAU,CAAC;YACpB,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC;SACrC,CAAC,CAAC;QAEH,SAAS,CAAC;YACR,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC;YACpC,eAAe,EAAE,SAAS;YAC1B,QAAQ,EAAE,IAAI;SACf,EAAE,SAAS,CAAC,CAAC;QAEd,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,cAAc,CAAC,UAAkB,EAAE,SAAiB,EAAE,IAA8B;QAClF,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,IAAA,WAAG,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAChD,IACE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAC7B;oBACA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;SACpF;IACH,CAAC;IAuBD,oBAAoB,CAAC,MAAqB,EAAE,YAAqB;QAC/D,+BAA+B;QAC/B,4BAA4B;QAC5B,MAAM;QACN,gEAAgE;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAClD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBAErD;;2BAEG;wBACH,IACE,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC;4BACvC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAAK,YAAY,CAAC,EACpD;4BACA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,MAAM,EAAE;gCACnD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,SAAS,CAAC,CAAC;gCAEzC,IAAI,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;oCAClC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iCAC9B;6BACF;yBACF;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACjC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;gBAClE,IAAI,YAAY,EAAE;oBAChB,OAAO,aAAa,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CAAA;iBACxD;gBAED,OAAO,aAAa,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,MAAM,EAAE;YACX,aAAa;SACd;aAAM,IAAI,CAAC,YAAY,EAAE;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAChC;aAAM;YACL,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC;YACnD,MAAM,CAAC,kBAAkB,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC;SACzD;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAwCD,KAAK,CAAC,UAAU,CAAC,MAAkD,EAAE,WAAqC;QACxG,IAAI;YAEF,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;YACpC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;YACjC,IAAI,CAAC,UAAU;gBAAE,MAAM,oBAAoB,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,eAAe,CAAC;YAEvC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;gBAC1C,SAAS,GAAG,MAAM,CAAC;aACpB;YAED,wEAAwE;YAExE,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,OAAO,GAAG;gBACd,GAAG,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC;gBACxB,IAAI,EAAE,IAAA,eAAO,EAAC,SAAS,CAAC;aACzB,CAAC;YAEF,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;aAEV,aAAa,CAAC,kCAAkC;;;;oBAI1C,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,KAAK,IAAA,eAAO,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAA,eAAO,EAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAA,eAAO,EAAC,WAAW,EAAE,UAAU,IAAI,IAAI,CAAC;;;;OAIzJ,CAAC,CAAC;YAEH,IAAA,WAAG,EAAC,eAAe,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAGR,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAGxD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;oBACxD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;iBAChD;YACH,CAAC,CAAC,CAAC;YACH,IAAA,WAAG,EAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAEnD,OAAO,IAAI,CAAC;YACZ,yDAAyD;YACzD,8DAA8D;SAG/D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAC1C,UAAU;SACX;IAEH,CAAC;;AA/4BH,sCAg5BC;;AA/4BQ,uBAAS,GAAG,aAAa,CAAC;AA2DjC,eAAe;AACf,eAAe;AACf,uBAAuB;AACvB,mBAAmB;AACnB,qBAAqB;AACrB,mBAAmB;AACnB,aAAa;AACb,aAAa;AAEb,kCAAkC;AAClC,8CAA8C;AAC9C,gCAAgC;AAChC,6FAA6F;AAC7F,UAAU;AAEI,uBAAS,GAAG,KAAK,EAAE,EAAM,EAAE,EAAE;IAEzC,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAU,EAAC,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAW,EAAC,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC;AACjE,CAAC,CAAA;AAEa,oBAAM,GAAG,KAAK,EAAE,OAA6B,EAAE,EAAE;IAC7D,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC,CAAA;AA2BM,qCAAuB,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAEpJ,gDAAkC,GAAG,qEAAqE,CAAA;AAiyBnH,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;AAE/G,mDAAoD;AAA3C,2GAAA,QAAQ,OAAA;AAAE,2GAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { SubscriptionChannels } from "prostgles-types";
2
+ import { PubSubManager, SubscriptionParams } from "./PubSubManager";
3
+ type AddSubscriptionParams = SubscriptionParams & {
4
+ condition: string;
5
+ };
6
+ export declare function addSub(this: PubSubManager, subscriptionParams: Omit<AddSubscriptionParams, "channel_name" | "parentSubParams">): Promise<SubscriptionChannels>;
7
+ export {};
8
+ //# sourceMappingURL=addSub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAiC,aAAa,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEjH,KAAK,qBAAqB,GAAG,kBAAkB,GAAG;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAA;AAID,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiHpK"}