@based/server 10.1.0 → 10.2.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 (119) hide show
  1. package/dist/authorize.d.ts +6 -8
  2. package/dist/authorize.js +56 -41
  3. package/dist/authorize.js.map +1 -1
  4. package/dist/functionApi/callFunction.js +1 -1
  5. package/dist/functionApi/callFunction.js.map +1 -1
  6. package/dist/functionApi/channelSubscribe.js +2 -2
  7. package/dist/functionApi/channelSubscribe.js.map +1 -1
  8. package/dist/functionApi/client/channel.js +2 -2
  9. package/dist/functionApi/client/channel.js.map +1 -1
  10. package/dist/functionApi/client/index.d.ts +3 -2
  11. package/dist/functionApi/client/index.js +5 -5
  12. package/dist/functionApi/client/index.js.map +1 -1
  13. package/dist/functionApi/client/query.d.ts +9 -4
  14. package/dist/functionApi/client/query.js +23 -5
  15. package/dist/functionApi/client/query.js.map +1 -1
  16. package/dist/functionApi/get.d.ts +2 -3
  17. package/dist/functionApi/get.js +20 -20
  18. package/dist/functionApi/get.js.map +1 -1
  19. package/dist/functionApi/observe.d.ts +2 -3
  20. package/dist/functionApi/observe.js +10 -10
  21. package/dist/functionApi/observe.js.map +1 -1
  22. package/dist/functionApi/publish.js +1 -1
  23. package/dist/functionApi/publish.js.map +1 -1
  24. package/dist/functionApi/stream.js +1 -1
  25. package/dist/functionApi/stream.js.map +1 -1
  26. package/dist/incoming/http/basicFunction.d.ts +3 -3
  27. package/dist/incoming/http/basicFunction.js +1 -1
  28. package/dist/incoming/http/basicFunction.js.map +1 -1
  29. package/dist/incoming/http/fakeWs/handleBinary.js +22 -30
  30. package/dist/incoming/http/fakeWs/handleBinary.js.map +1 -1
  31. package/dist/incoming/http/fakeWs/index.js +1 -1
  32. package/dist/incoming/http/fakeWs/index.js.map +1 -1
  33. package/dist/incoming/http/httpFunction.d.ts +3 -3
  34. package/dist/incoming/http/httpFunction.js +1 -1
  35. package/dist/incoming/http/httpFunction.js.map +1 -1
  36. package/dist/incoming/http/index.js +8 -3
  37. package/dist/incoming/http/index.js.map +1 -1
  38. package/dist/incoming/http/publish.d.ts +3 -3
  39. package/dist/incoming/http/publish.js +5 -5
  40. package/dist/incoming/http/publish.js.map +1 -1
  41. package/dist/incoming/http/query.js +41 -8
  42. package/dist/incoming/http/query.js.map +1 -1
  43. package/dist/incoming/http/streamFunction/multiPart/index.js +2 -2
  44. package/dist/incoming/http/streamFunction/multiPart/index.js.map +1 -1
  45. package/dist/incoming/http/streamFunction/stream/index.js +28 -25
  46. package/dist/incoming/http/streamFunction/stream/index.js.map +1 -1
  47. package/dist/incoming/upgrade.js +0 -1
  48. package/dist/incoming/upgrade.js.map +1 -1
  49. package/dist/incoming/ws/auth.js +56 -26
  50. package/dist/incoming/ws/auth.js.map +1 -1
  51. package/dist/incoming/ws/channelPublish.js +10 -10
  52. package/dist/incoming/ws/channelPublish.js.map +1 -1
  53. package/dist/incoming/ws/channelSubscribe.d.ts +2 -2
  54. package/dist/incoming/ws/channelSubscribe.js +23 -16
  55. package/dist/incoming/ws/channelSubscribe.js.map +1 -1
  56. package/dist/incoming/ws/function.js +27 -19
  57. package/dist/incoming/ws/function.js.map +1 -1
  58. package/dist/incoming/ws/get.js +49 -27
  59. package/dist/incoming/ws/get.js.map +1 -1
  60. package/dist/incoming/ws/index.js +17 -23
  61. package/dist/incoming/ws/index.js.map +1 -1
  62. package/dist/incoming/ws/query.d.ts +4 -2
  63. package/dist/incoming/ws/query.js +60 -26
  64. package/dist/incoming/ws/query.js.map +1 -1
  65. package/dist/incoming/ws/stream.js +22 -14
  66. package/dist/incoming/ws/stream.js.map +1 -1
  67. package/dist/installFn.d.ts +3 -3
  68. package/dist/installFn.js +14 -13
  69. package/dist/installFn.js.map +1 -1
  70. package/dist/protocol.d.ts +4 -2
  71. package/dist/protocol.js +28 -41
  72. package/dist/protocol.js.map +1 -1
  73. package/dist/query/attachCtx.d.ts +8 -0
  74. package/dist/query/attachCtx.js +113 -0
  75. package/dist/query/attachCtx.js.map +1 -0
  76. package/dist/query/cleanup.js +4 -4
  77. package/dist/query/cleanup.js.map +1 -1
  78. package/dist/query/create.d.ts +4 -3
  79. package/dist/query/create.js +12 -9
  80. package/dist/query/create.js.map +1 -1
  81. package/dist/query/destroy.d.ts +1 -1
  82. package/dist/query/destroy.js +7 -7
  83. package/dist/query/destroy.js.map +1 -1
  84. package/dist/query/index.d.ts +0 -1
  85. package/dist/query/index.js +0 -1
  86. package/dist/query/index.js.map +1 -1
  87. package/dist/query/send.js +4 -2
  88. package/dist/query/send.js.map +1 -1
  89. package/dist/query/start/error.js +13 -7
  90. package/dist/query/start/error.js.map +1 -1
  91. package/dist/query/start/genChecksum.js +11 -0
  92. package/dist/query/start/genChecksum.js.map +1 -1
  93. package/dist/query/start/index.js +5 -3
  94. package/dist/query/start/index.js.map +1 -1
  95. package/dist/query/start/relay.js +1 -1
  96. package/dist/query/start/relay.js.map +1 -1
  97. package/dist/query/start/update.js +12 -11
  98. package/dist/query/start/update.js.map +1 -1
  99. package/dist/query/subscribe.js +12 -6
  100. package/dist/query/subscribe.js.map +1 -1
  101. package/dist/query/types.d.ts +11 -1
  102. package/dist/query/unsub.js +35 -3
  103. package/dist/query/unsub.js.map +1 -1
  104. package/dist/server.d.ts +2 -2
  105. package/dist/server.js +2 -2
  106. package/dist/server.js.map +1 -1
  107. package/dist/types.d.ts +18 -0
  108. package/dist/types.js +2 -0
  109. package/dist/types.js.map +1 -0
  110. package/package.json +5 -5
  111. package/dist/incoming/http/fakeWs/function.d.ts +0 -2
  112. package/dist/incoming/http/fakeWs/function.js +0 -50
  113. package/dist/incoming/http/fakeWs/function.js.map +0 -1
  114. package/dist/incoming/http/fakeWs/query.d.ts +0 -2
  115. package/dist/incoming/http/fakeWs/query.js +0 -78
  116. package/dist/incoming/http/fakeWs/query.js.map +0 -1
  117. package/dist/query/genObservableId.d.ts +0 -1
  118. package/dist/query/genObservableId.js +0 -8
  119. package/dist/query/genObservableId.js.map +0 -1
package/dist/protocol.js CHANGED
@@ -3,6 +3,7 @@ import { DECODER, ENCODER, writeUint32, writeUint24, writeUint64, readUint32, }
3
3
  import { BasedQueryResponse } from '@based/db';
4
4
  import { serialize } from '@based/protocol/db-read/serialize-schema';
5
5
  import { deSerializeSchema, resultToObject } from '@based/protocol/db-read';
6
+ import { FunctionClientSubType, FunctionClientType, } from '@based/protocol/client-server';
6
7
  export const COMPRESS_FROM_BYTES = 150;
7
8
  export const decodeHeader = (nr) => {
8
9
  // 4 bytes
@@ -53,6 +54,12 @@ export const CONTENT_TYPE_NULL_U8 = new Uint8Array([251]);
53
54
  export const CONTENT_TYPE_VERSION_1_U8 = new Uint8Array([250]);
54
55
  export const CONTENT_TYPE_DB_QUERY = new Uint8Array([249]);
55
56
  const EMPTY_BUFFER = new Uint8Array([]);
57
+ export const parseIncomingQueryPayload = (arr, start, headerLen, len, session, isDeflate) => {
58
+ // headerLen:nameLen + 21
59
+ return len === headerLen
60
+ ? undefined
61
+ : decodePayload(new Uint8Array(arr.slice(start + headerLen, start + len)), isDeflate, session.v < 2);
62
+ };
56
63
  export const cacheV2toV1 = (buf) => {
57
64
  // 12 + 8
58
65
  const isString = buf[20] === CONTENT_TYPE_STRING_U8[0];
@@ -272,7 +279,6 @@ export const decodeName = (arr, start, end) => {
272
279
  return DECODER.decode(arr.subarray(start, end));
273
280
  };
274
281
  export const encodeFunctionResponse = (id, val) => {
275
- // Type 0
276
282
  // | 4 header | 3 id | * payload |
277
283
  const headerSize = 4;
278
284
  const idSize = 3;
@@ -280,7 +286,7 @@ export const encodeFunctionResponse = (id, val) => {
280
286
  if (isOld) {
281
287
  const msgSize = idSize + val.buf.byteLength;
282
288
  const array = new Uint8Array(headerSize + msgSize);
283
- encodeHeader(0, val.deflate, msgSize, array, 0);
289
+ encodeHeader(FunctionClientType.function, val.deflate, msgSize, array, 0);
284
290
  writeUint24(array, id, 4);
285
291
  if (val.buf.byteLength) {
286
292
  array.set(val.buf, 7);
@@ -290,7 +296,7 @@ export const encodeFunctionResponse = (id, val) => {
290
296
  else {
291
297
  const msgSize = idSize + val.buf.byteLength + 1;
292
298
  const array = new Uint8Array(headerSize + msgSize);
293
- encodeHeader(0, val.deflate, msgSize, array, 0);
299
+ encodeHeader(FunctionClientType.function, val.deflate, msgSize, array, 0);
294
300
  writeUint24(array, id, 4);
295
301
  array[7] = val.contentByte[0];
296
302
  if (val.buf.byteLength) {
@@ -311,8 +317,8 @@ export const encodeStreamFunctionResponse = (id, val) => {
311
317
  if (isOld) {
312
318
  const msgSize = idSize + subTypeSize + val.buf.byteLength;
313
319
  const array = new Uint8Array(headerSize + msgSize);
314
- encodeHeader(7, val.deflate, msgSize, array, 0);
315
- array[4] = 1;
320
+ encodeHeader(FunctionClientType.subType, val.deflate, msgSize, array, 0);
321
+ array[4] = FunctionClientSubType.streamFullResponse;
316
322
  writeUint24(array, id, 5);
317
323
  if (val.buf.byteLength) {
318
324
  array.set(val.buf, 8);
@@ -322,8 +328,8 @@ export const encodeStreamFunctionResponse = (id, val) => {
322
328
  else {
323
329
  const msgSize = idSize + subTypeSize + val.buf.byteLength + 1;
324
330
  const array = new Uint8Array(headerSize + msgSize);
325
- encodeHeader(7, val.deflate, msgSize, array, 0);
326
- array[4] = 1;
331
+ encodeHeader(FunctionClientType.subType, val.deflate, msgSize, array, 0);
332
+ array[4] = FunctionClientSubType.streamFullResponse;
327
333
  writeUint24(array, id, 5);
328
334
  array[8] = val.contentByte[0];
329
335
  if (val.buf.byteLength) {
@@ -338,15 +344,14 @@ export const encodeStreamFunctionResponse = (id, val) => {
338
344
  }
339
345
  };
340
346
  export const encodeStreamFunctionChunkResponse = (id, seqId, code = 0, maxChunkSize = 0) => {
341
- // Type 7.2
342
347
  // | 4 header | 1 subType | 3 id | 1 seqId | 1 code | maxChunkSize?
343
348
  let msgSize = 6;
344
349
  if (maxChunkSize) {
345
350
  msgSize += 3;
346
351
  }
347
352
  const array = new Uint8Array(4 + msgSize);
348
- encodeHeader(7, false, msgSize, array, 0);
349
- array[4] = 2;
353
+ encodeHeader(FunctionClientType.subType, false, msgSize, array, 0);
354
+ array[4] = FunctionClientSubType.streamChunkResponse;
350
355
  writeUint24(array, id, 5);
351
356
  array[8] = seqId;
352
357
  array[9] = code;
@@ -359,7 +364,7 @@ export const encodeGetResponse = (id) => {
359
364
  // Type 4
360
365
  // | 4 header | 8 id |
361
366
  const array = new Uint8Array(12);
362
- encodeHeader(3, false, 8, array, 0);
367
+ encodeHeader(FunctionClientType.get, false, 8, array, 0);
363
368
  writeUint64(array, id, 4);
364
369
  return array;
365
370
  };
@@ -375,7 +380,7 @@ export const encodeObservableResponse = (id, checksum, val) => {
375
380
  if (isOld) {
376
381
  const msgSize = 16 + val.buf.byteLength;
377
382
  const array = new Uint8Array(4 + msgSize);
378
- encodeHeader(1, val.deflate, msgSize, array, 0);
383
+ encodeHeader(FunctionClientType.subscriptionData, val.deflate, msgSize, array, 0);
379
384
  writeUint64(array, id, 4);
380
385
  writeUint64(array, checksum, 12);
381
386
  if (val.buf.byteLength) {
@@ -386,7 +391,7 @@ export const encodeObservableResponse = (id, checksum, val) => {
386
391
  else {
387
392
  const msgSize = 16 + val.buf.byteLength + 1;
388
393
  const array = new Uint8Array(4 + msgSize);
389
- encodeHeader(1, val.deflate, msgSize, array, 0);
394
+ encodeHeader(FunctionClientType.subscriptionData, val.deflate, msgSize, array, 0);
390
395
  writeUint64(array, id, 4);
391
396
  writeUint64(array, checksum, 12);
392
397
  array[20] = val.contentByte[0];
@@ -403,7 +408,7 @@ export const encodeObservableDiffResponse = (id, checksum, previousChecksum, val
403
408
  if (isOld) {
404
409
  const msgSize = 24 + val.buf.byteLength;
405
410
  const array = new Uint8Array(4 + msgSize);
406
- encodeHeader(2, val.deflate, msgSize, array, 0);
411
+ encodeHeader(FunctionClientType.subscriptionDiff, val.deflate, msgSize, array, 0);
407
412
  writeUint64(array, id, 4);
408
413
  writeUint64(array, checksum, 12);
409
414
  writeUint64(array, previousChecksum, 20);
@@ -414,7 +419,7 @@ export const encodeObservableDiffResponse = (id, checksum, previousChecksum, val
414
419
  else {
415
420
  const msgSize = 24 + val.buf.byteLength + 1;
416
421
  const array = new Uint8Array(4 + msgSize);
417
- encodeHeader(2, val.deflate, msgSize, array, 0);
422
+ encodeHeader(FunctionClientType.subscriptionDiff, val.deflate, msgSize, array, 0);
418
423
  writeUint64(array, id, 4);
419
424
  writeUint64(array, checksum, 12);
420
425
  writeUint64(array, previousChecksum, 20);
@@ -451,12 +456,10 @@ const encodeSimpleResponse = (type, val) => {
451
456
  }
452
457
  };
453
458
  export const encodeAuthResponse = (val) => {
454
- // Type 4
455
- return encodeSimpleResponse(4, val);
459
+ return encodeSimpleResponse(FunctionClientType.auth, val);
456
460
  };
457
461
  export const encodeErrorResponse = (val) => {
458
- // Type 5
459
- return encodeSimpleResponse(5, val);
462
+ return encodeSimpleResponse(FunctionClientType.error, val);
460
463
  };
461
464
  export const encodeChannelMessage = (id, val) => {
462
465
  // Type 7.0 (fill data)
@@ -466,8 +469,8 @@ export const encodeChannelMessage = (id, val) => {
466
469
  const msgSize = 8 + val.buf.byteLength + 1;
467
470
  const array = new Uint8Array(4 + msgSize);
468
471
  // sub protocol 7.0
469
- array[4] = 0;
470
- encodeHeader(7, val.deflate, msgSize, array, 0);
472
+ array[4] = FunctionClientSubType.channel;
473
+ encodeHeader(FunctionClientType.subType, val.deflate, msgSize, array, 0);
471
474
  writeUint64(array, id, 5);
472
475
  if (val.buf.byteLength) {
473
476
  array.set(val.buf, 13);
@@ -477,9 +480,8 @@ export const encodeChannelMessage = (id, val) => {
477
480
  else {
478
481
  const msgSize = 8 + val.buf.byteLength + 2;
479
482
  const array = new Uint8Array(4 + msgSize);
480
- encodeHeader(7, val.deflate, msgSize, array, 0);
481
- // sub protocol 7.0
482
- array[4] = 0;
483
+ encodeHeader(FunctionClientType.subType, val.deflate, msgSize, array, 0);
484
+ array[4] = FunctionClientSubType.channel;
483
485
  writeUint64(array, id, 5);
484
486
  array[13] = val.contentByte[0];
485
487
  if (val.buf.byteLength) {
@@ -496,25 +498,10 @@ export const encodeReload = (type, seqId) => {
496
498
  // | 4 header | 1 subType | 1 type \ 1 seqId
497
499
  const msgSize = 3;
498
500
  const array = new Uint8Array(4 + msgSize);
499
- encodeHeader(7, false, msgSize, array, 0);
500
- array[4] = 3;
501
+ encodeHeader(FunctionClientType.subType, false, msgSize, array, 0);
502
+ array[4] = FunctionClientSubType.forceReload;
501
503
  array[5] = type;
502
504
  array[6] = seqId;
503
505
  return array;
504
506
  };
505
- // FIXME
506
- export const decode = (buffer, isOldClient) => {
507
- const header = readUint32(buffer, 0);
508
- const { isDeflate, len, type } = decodeHeader(header);
509
- if (type === 1) {
510
- // | 4 header | 8 id | 8 checksum | * payload |
511
- if (len === 16) {
512
- return;
513
- }
514
- const start = 20;
515
- const end = len + 4;
516
- // very wrong
517
- return decodePayload(buffer.slice(start, end), isDeflate, false);
518
- }
519
- };
520
507
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,EAAU,EACyC,EAAE;IACrD,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,4BAA4B;IAC5B,aAAa;IACb,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,oBAAoB;IACpB,gBAAgB;IAChB,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAA;IACnB,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,CAAA;IACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAA;IACtB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAA;IAC1B,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,SAAS,KAAK,CAAC;QAC1B,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAED,aAAa;AACb,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,SAAkB,EAClB,GAAW,EACX,MAAkB,EAClB,MAAc,EACd,EAAE;IACF,UAAU;IACV,gBAAgB;IAChB,qBAAqB;IACrB,yBAAyB;IACzB,6BAA6B;IAC7B,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,uBAAuB;IACvB,wCAAwC;IACxC,oBAAoB;IACpB,gBAAgB;IAChB,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,WAAW,CAAA;IACnC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAE1D,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAe,EAAc,EAAE;IACzD,SAAS;IACT,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,sBAAsB,CAAC,CAAC,CAAC,CAAA;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAChD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7B,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACjE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA,CAAC,IAAI;YACf,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,IAAI;YAC7B,OAAO,CAAC,CAAA;QACV,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAC9D,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACnD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAA;YACrC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;YAClC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7B,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3D,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACzB,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;SAAM,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAClE,CAAA;QACD,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;QACjD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7B,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAClB,OAAO,CAAC,CAAA;IACV,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/C,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7B,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAe,EAAc,EAAE;IACxD,mBAAmB;IACnB,UAAU;IACV,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAE3B,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAY,EACZ,OAAgB,EACH,EAAE;IACf,IAAI,GAAe,CAAA;IACnB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;SAAM,IAAI,OAAO,YAAY,kBAAkB,EAAE,CAAC;QACjD,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpB,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,GAAG,CAAC,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACpD,OAAO;YACL,WAAW,EAAE,yBAAyB;YACtC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IACD,OAAO;QACL,WAAW,EAAE,yBAAyB;QACtC,GAAG;QACH,OAAO,EAAE,KAAK;KACf,CAAA;AACH,CAAC,CAAA;AAED,yBAAyB;AACzB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAY,EAAE,OAAgB,EAAe,EAAE;IAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,WAAW,EAAE,yBAAyB;YACtC,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,YAAY;SAClB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,YAAY;SAClB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,OAAO,IAAI,GAAG,CAAC,UAAU,GAAG,mBAAmB,EAAE,CAAC;YACpD,OAAO;gBACL,WAAW,EAAE,sBAAsB;gBACnC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC;gBACjC,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;QACD,OAAO;YACL,WAAW,EAAE,sBAAsB;YACnC,GAAG;YACH,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;QAClC,OAAO;YACL,WAAW,EAAE,2BAA2B;YACxC,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,IAAI,OAAO,YAAY,kBAAkB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,mBAAmB;QAC9D,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,gBAAgB,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5E,WAAW,CAAC,GAAG,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QAChD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;QAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAE7C,OAAO;YACL,WAAW,EAAE,qBAAqB;YAClC,GAAG;YACH,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAEnD,IAAI,GAAG,CAAC,UAAU,GAAG,mBAAmB,EAAE,CAAC;QACzC,OAAO;YACL,WAAW,EAAE,oBAAoB;YACjC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,oBAAoB;QACjC,GAAG;QACH,OAAO,EAAE,KAAK;KACf,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAmB,EACnB,SAAkB,EACb,EAAE;IACP,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAM,CAAA;IACV,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAmB,EACnB,SAAkB,EAClB,WAAoB,EACf,EAAE;IACP,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAE9B,IAAI,WAAW,KAAK,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,WAAW,KAAK,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,WAAW,KAAK,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC5D,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,WAAW,KAAK,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,GAAW,CAAA;QACf,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC3D,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,WAAW,KAAK,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,GAAe,EACf,KAAa,EACb,GAAW,EACH,EAAE;IACV,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,EAAU,EACV,GAAgB,EACJ,EAAE;IACd,SAAS;IACT,kCAAkC;IAClC,MAAM,UAAU,GAAG,CAAC,CAAA;IACpB,MAAM,MAAM,GAAG,CAAC,CAAA;IAChB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAA;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,CAAA;QAClD,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,CAAA;QAClD,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,EAAU,EACV,GAAgB,EACJ,EAAE;IACd,SAAS;IACT,8CAA8C;IAC9C,MAAM,MAAM,GAAG,CAAC,CAAA;IAChB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,CAAC,CAAA;QACpB,MAAM,MAAM,GAAG,CAAC,CAAA;QAChB,MAAM,WAAW,GAAG,CAAC,CAAA;QACrB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAA;YACzD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,CAAA;YAClD,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC/C,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACZ,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YACzB,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;YAC7D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,CAAA;YAClD,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC/C,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACZ,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YACzB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAC7D,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,EAAU,EACV,KAAa,EACb,OAAe,CAAC,EAChB,eAAuB,CAAC,EACZ,EAAE;IACd,WAAW;IACX,mEAAmE;IACnE,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,CAAA;IACd,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;IACzC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACzC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACZ,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IAChB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAEf,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAc,EAAE;IAC1D,SAAS;IACT,sBAAsB;IACtB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAChC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACnC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAmB,EAAE,EAAU,EAAc,EAAE;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,iCAAiC;IACrE,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3B,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,EAAU,EACV,QAAgB,EAChB,GAAgB,EACO,EAAE;IACzB,qBAAqB;IACrB,+CAA+C;IAE/C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAA;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAA;QACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QACzC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QACzC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;QAChC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,EAAU,EACV,QAAgB,EAChB,gBAAwB,EACxB,GAAgB,EACJ,EAAE;IACd,qBAAqB;IACrB,iEAAiE;IACjE,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAA;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAA;QACvC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QACzC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;QAChC,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;QACxC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QACzC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;QAChC,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;QACxC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,GAAgB,EAAc,EAAE;IAC1E,2BAA2B;IAE3B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAA;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,CAAC,CAAA;QACpB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAA;QAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,CAAA;QAClD,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAClD,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,CAAC,CAAA;QACpB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,CAAA;QAClD,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAClD,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAgB,EAAc,EAAE;IACjE,SAAS;IACT,OAAO,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAgB,EAAc,EAAE;IAClE,SAAS;IACT,OAAO,oBAAoB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,EAAU,EACV,GAAgB,EACJ,EAAE;IACd,uBAAuB;IACvB,8CAA8C;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAA;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QACzC,mBAAmB;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACZ,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;QACzC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/C,mBAAmB;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACZ,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QACzB,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAc,EAAE;IACtE,uBAAuB;IACvB,UAAU;IACV,cAAc;IACd,kBAAkB;IAClB,4CAA4C;IAC5C,MAAM,OAAO,GAAG,CAAC,CAAA;IACjB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAA;IACzC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACzC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACZ,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACf,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,QAAQ;AACR,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAE,WAAoB,EAAO,EAAE;IACtE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACpC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACrD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,+CAA+C;QAC/C,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QAEnB,cAAc;QACd,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAClE,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { BasedRoute, Context } from '@based/functions';
2
+ import { AttachedCtx } from './types.js';
3
+ import { BasedServer } from '../server.js';
4
+ export declare const optimizeConfig: (route: BasedRoute<"query">) => void;
5
+ export declare const attachCtxInternal: (route: BasedRoute<"query">, ctx: {
6
+ [key: string]: any;
7
+ }, id: number) => AttachedCtx;
8
+ export declare const attachCtx: (server: BasedServer, route: BasedRoute<"query">, ctx: Context, id: number) => AttachedCtx;
@@ -0,0 +1,113 @@
1
+ import { hashObjectNest } from '@based/hash';
2
+ export const optimizeConfig = (route) => {
3
+ const optimizedCtx = [];
4
+ for (const key of route.ctx) {
5
+ optimizedCtx.push(key.split('.'));
6
+ }
7
+ // @ts-ignore
8
+ route._optmizedCtx = optimizedCtx;
9
+ };
10
+ export const attachCtxInternal = (route, ctx, id) => {
11
+ // @ts-ignore
12
+ if (!route._optmizedCtx) {
13
+ optimizeConfig(route);
14
+ }
15
+ // @ts-ignore
16
+ const config = route._optmizedCtx;
17
+ // Super slow but can be optmized later
18
+ const attachCtx = {
19
+ ctx: {},
20
+ id,
21
+ authState: false,
22
+ fromId: id,
23
+ };
24
+ let hasValues = false;
25
+ for (const p of config) {
26
+ let s = attachCtx.ctx;
27
+ let c = ctx;
28
+ for (let i = 0; i < p.length - 1; i++) {
29
+ const path = p[i];
30
+ if (c !== undefined) {
31
+ c = c[path];
32
+ }
33
+ else {
34
+ c = undefined;
35
+ }
36
+ if (!s[path]) {
37
+ s = s[path] = {};
38
+ }
39
+ else {
40
+ s = s[path];
41
+ }
42
+ }
43
+ const end = p[p.length - 1];
44
+ if (c !== undefined) {
45
+ c = c[end];
46
+ hasValues = c !== undefined;
47
+ }
48
+ s[end] = c;
49
+ }
50
+ if (hasValues) {
51
+ const x = hashObjectNest(attachCtx.ctx, id);
52
+ attachCtx.id = (x[0] >>> 0) * 4096 + x[1];
53
+ }
54
+ return attachCtx;
55
+ };
56
+ export const attachCtx = (
57
+ // serverClient
58
+ server, route, ctx, id) => {
59
+ // @ts-ignore
60
+ if (!route._optmizedCtx) {
61
+ optimizeConfig(route);
62
+ }
63
+ // @ts-ignore
64
+ const config = route._optmizedCtx;
65
+ // Super slow but can be optmized later
66
+ const attachCtx = {
67
+ ctx: {},
68
+ id,
69
+ authState: false,
70
+ fromId: id,
71
+ };
72
+ let hasValues = false;
73
+ if ('session' in ctx) {
74
+ for (const p of config) {
75
+ let c = ctx.session;
76
+ let i = 0;
77
+ if (p[0] === 'authState') {
78
+ attachCtx.authState = true;
79
+ }
80
+ else if (p[0] === 'geo') {
81
+ c = { geo: server.geo(ctx) };
82
+ }
83
+ let s = attachCtx.ctx;
84
+ for (; i < p.length - 1; i++) {
85
+ const path = p[i];
86
+ if (c !== undefined) {
87
+ c = c[path];
88
+ }
89
+ else {
90
+ c = undefined;
91
+ }
92
+ if (!s[path]) {
93
+ s = s[path] = {};
94
+ }
95
+ else {
96
+ s = s[path];
97
+ }
98
+ }
99
+ const end = p[p.length - 1];
100
+ if (c !== undefined) {
101
+ c = c[end];
102
+ hasValues = c !== undefined;
103
+ }
104
+ s[end] = c;
105
+ }
106
+ }
107
+ if (hasValues) {
108
+ const x = hashObjectNest(attachCtx.ctx, id);
109
+ attachCtx.id = (x[0] >>> 0) * 4096 + x[1];
110
+ }
111
+ return attachCtx;
112
+ };
113
+ //# sourceMappingURL=attachCtx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachCtx.js","sourceRoot":"","sources":["../../src/query/attachCtx.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  const destroyObs = (server, obs) => {
2
2
  const id = obs.id;
3
3
  obs.timeTillDestroy = null;
4
- if (!server.activeObservables[obs.name]) {
4
+ if (!server.activeObservables[obs.route.name]) {
5
5
  console.info('Trying to destroy a removed query function');
6
6
  server.activeObservablesById.delete(id);
7
7
  return;
8
8
  }
9
- server.activeObservables[obs.name].delete(id);
10
- if (server.activeObservables[obs.name].size === 0) {
11
- delete server.activeObservables[obs.name];
9
+ server.activeObservables[obs.route.name].delete(id);
10
+ if (server.activeObservables[obs.route.name].size === 0) {
11
+ delete server.activeObservables[obs.route.name];
12
12
  }
13
13
  server.activeObservablesById.delete(id);
14
14
  obs.isDestroyed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/query/cleanup.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,GAAqB,EAAE,EAAE;IAChE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;IACjB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC1D,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvC,OAAM;IACR,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7C,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IACD,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACvC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,GAAG,CAAC,aAAa,EAAE,CAAA;IACrB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,EAAE;IAChD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;QACvD,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACvC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAA;YAC7B,IAAI,WAAW,GAAG,KAAK,CAAA;YACvB,IAAI,iBAAyB,CAAA;YAC7B,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;oBACjC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAA;oBAChC,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;wBAC5B,QAAQ;wBACR,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;oBACzB,CAAC;yBAAM,CAAC;wBACN,IACE,iBAAiB,KAAK,SAAS;4BAC/B,GAAG,CAAC,eAAe,GAAG,iBAAiB,EACvC,CAAC;4BACD,iBAAiB,GAAG,GAAG,CAAC,eAAe,CAAA;wBACzC,CAAC;wBACD,WAAW,GAAG,IAAI,CAAA;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,eAAe,GAAG,iBAAiB,CAAA;gBAC1C,UAAU,CAAC,MAAM,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/query/cleanup.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,GAAqB,EAAE,EAAE;IAChE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;IACjB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC1D,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvC,OAAM;IACR,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnD,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACvC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QACtB,GAAG,CAAC,aAAa,EAAE,CAAA;IACrB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,EAAE;IAChD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;QACvD,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACvC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAA;YAC7B,IAAI,WAAW,GAAG,KAAK,CAAA;YACvB,IAAI,iBAAyB,CAAA;YAC7B,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;oBACjC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAA;oBAChC,IAAI,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;wBAC5B,QAAQ;wBACR,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;oBACzB,CAAC;yBAAM,CAAC;wBACN,IACE,iBAAiB,KAAK,SAAS;4BAC/B,GAAG,CAAC,eAAe,GAAG,iBAAiB,EACvC,CAAC;4BACD,iBAAiB,GAAG,GAAG,CAAC,eAAe,CAAA;wBACzC,CAAC;wBACD,WAAW,GAAG,IAAI,CAAA;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,eAAe,GAAG,iBAAiB,CAAA;gBAC1C,UAAU,CAAC,MAAM,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC;AACH,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
- import { BasedServer } from '../server.js';
2
- import { ActiveObservable } from './types.js';
3
- export declare const createObs: (server: BasedServer, name: string, id: number, payload: any, noStart?: boolean) => ActiveObservable;
1
+ import { FunctionHandler } from '../types.js';
2
+ import { BasedRoute, Session } from '@based/functions';
3
+ export declare const createObs: FunctionHandler<Session, BasedRoute<'query'>>;
4
+ export declare const createObsNoStart: FunctionHandler<Session, BasedRoute<'query'>>;
@@ -1,6 +1,12 @@
1
1
  import { start } from './start/index.js';
2
2
  import { hasObs } from './get.js';
3
- export const createObs = (server, name, id, payload, noStart) => {
3
+ export const createObs = (props) => {
4
+ const obs = createObsNoStart(props);
5
+ // pass spec
6
+ start(props.server, props.id);
7
+ return obs;
8
+ };
9
+ export const createObsNoStart = ({ server, id, payload, route, attachedCtx }) => {
4
10
  if (hasObs(server, id)) {
5
11
  const msg = `Already has observable ${name} ${id}`;
6
12
  console.error(msg);
@@ -12,20 +18,17 @@ export const createObs = (server, name, id, payload, noStart) => {
12
18
  clients: new Set(),
13
19
  functionObserveClients: new Set(),
14
20
  id,
15
- name,
21
+ route,
16
22
  isDestroyed: false,
17
23
  startId: 0,
18
24
  timeTillDestroy: null,
25
+ attachedCtx,
19
26
  };
20
- if (!server.activeObservables[name]) {
21
- server.activeObservables[name] = new Map();
27
+ if (!server.activeObservables[route.name]) {
28
+ server.activeObservables[route.name] = new Map();
22
29
  }
23
- server.activeObservables[name].set(id, obs);
30
+ server.activeObservables[route.name].set(id, obs);
24
31
  server.activeObservablesById.set(id, obs);
25
- if (noStart) {
26
- return obs;
27
- }
28
- start(server, id);
29
32
  return obs;
30
33
  };
31
34
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/query/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAmB,EACnB,IAAY,EACZ,EAAU,EACV,OAAY,EACZ,OAAiB,EACC,EAAE;IACpB,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,0BAA0B,IAAI,IAAI,EAAE,EAAE,CAAA;QAClD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,GAAG,GAAqB;QAC5B,OAAO;QACP,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,sBAAsB,EAAE,IAAI,GAAG,EAAE;QACjC,EAAE;QACF,IAAI;QACJ,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,CAAC;QACV,eAAe,EAAE,IAAI;KACtB,CAAA;IAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAA;IAC5C,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAEzC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACjB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/query/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,MAAM,CAAC,MAAM,SAAS,GAAkD,CACtE,KAAK,EACa,EAAE;IACpB,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACnC,YAAY;IACZ,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAC7B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAGzB,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAoB,EAAE;IACpE,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,0BAA0B,IAAI,IAAI,EAAE,EAAE,CAAA;QAClD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IACD,MAAM,GAAG,GAAqB;QAC5B,OAAO;QACP,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,sBAAsB,EAAE,IAAI,GAAG,EAAE;QACjC,EAAE;QACF,KAAK;QACL,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,CAAC;QACV,eAAe,EAAE,IAAI;QACrB,WAAW;KACZ,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAA;IAClD,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACjD,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACzC,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { BasedServer } from '../server.js';
2
2
  import { ActiveObservable } from './types.js';
3
- export declare const updateDestroyTimer: (server: BasedServer, channel: ActiveObservable) => void;
3
+ export declare const updateDestroyTimer: (server: BasedServer, obs: ActiveObservable) => void;
4
4
  export declare const destroyObs: (server: BasedServer, id: number) => void;
@@ -1,14 +1,14 @@
1
1
  import { cleanUpObs } from './cleanup.js';
2
2
  import { isBasedFunctionConfig } from '@based/functions';
3
- export const updateDestroyTimer = (server, channel) => {
4
- const spec = server.functions.specs[channel.name];
3
+ export const updateDestroyTimer = (server, obs) => {
4
+ const spec = server.functions.specs[obs.route.name];
5
5
  if (!spec || !isBasedFunctionConfig('query', spec)) {
6
- console.warn('destroyObs - Cannot find obs function spec -', channel.name);
6
+ console.warn('destroyObs - Cannot find obs function spec -', obs.route.name);
7
7
  return;
8
8
  }
9
9
  const closeAfterIdleTime = spec.closeAfterIdleTime ?? server.functions.config.closeAfterIdleTime.query;
10
- channel.timeTillDestroy = closeAfterIdleTime;
11
- channel.closeAfterIdleTime = closeAfterIdleTime;
10
+ obs.timeTillDestroy = closeAfterIdleTime;
11
+ obs.closeAfterIdleTime = closeAfterIdleTime;
12
12
  const closeTime = Math.round(closeAfterIdleTime / 2);
13
13
  if (closeTime < server.obsCleanupCycle) {
14
14
  server.obsCleanupCycle = closeTime;
@@ -22,7 +22,7 @@ export const destroyObs = (server, id) => {
22
22
  return;
23
23
  }
24
24
  if (obs.isDestroyed) {
25
- console.error('obs allready destroyed', obs.name);
25
+ console.error('obs allready destroyed', obs.route.name);
26
26
  return;
27
27
  }
28
28
  if (obs.clients.size ||
@@ -31,7 +31,7 @@ export const destroyObs = (server, id) => {
31
31
  obs.oldClients?.size) {
32
32
  if (obs.timeTillDestroy) {
33
33
  obs.timeTillDestroy = null;
34
- console.warn(`Obs being destroyed while listeners are present ${obs.name} ${obs.id}`, obs.payload);
34
+ console.warn(`Obs being destroyed while listeners are present ${obs.route.name} ${obs.id}`, obs.payload);
35
35
  }
36
36
  return;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../src/query/destroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAmB,EACnB,OAAyB,EACzB,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1E,OAAM;IACR,CAAC;IACD,MAAM,kBAAkB,GACtB,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAA;IAC7E,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAA;IAC5C,OAAO,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAA;IAEpD,IAAI,SAAS,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,CAAC,eAAe,GAAG,SAAS,CAAA;IACpC,CAAC;AACH,CAAC,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,EAAU,EAAE,EAAE;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEhD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAClD,OAAM;IACR,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,IACE,GAAG,CAAC,OAAO,CAAC,IAAI;QAChB,GAAG,CAAC,sBAAsB,CAAC,IAAI;QAC/B,GAAG,CAAC,UAAU,EAAE,IAAI;QACpB,GAAG,CAAC,UAAU,EAAE,IAAI,EACpB,CAAC;QACD,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;YAC1B,OAAO,CAAC,IAAI,CACV,mDAAmD,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EACvE,GAAG,CAAC,OAAO,CACZ,CAAA;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QACjC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC/B,UAAU,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../src/query/destroy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAmB,EACnB,GAAqB,EACrB,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,OAAM;IACR,CAAC;IACD,MAAM,kBAAkB,GACtB,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAA;IAC7E,GAAG,CAAC,eAAe,GAAG,kBAAkB,CAAA;IACxC,GAAG,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAA;IACpD,IAAI,SAAS,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,CAAC,eAAe,GAAG,SAAS,CAAA;IACpC,CAAC;AACH,CAAC,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,EAAU,EAAE,EAAE;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEhD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAClD,OAAM;IACR,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvD,OAAM;IACR,CAAC;IAED,IACE,GAAG,CAAC,OAAO,CAAC,IAAI;QAChB,GAAG,CAAC,sBAAsB,CAAC,IAAI;QAC/B,GAAG,CAAC,UAAU,EAAE,IAAI;QACpB,GAAG,CAAC,UAAU,EAAE,IAAI,EACpB,CAAC;QACD,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;YAC1B,OAAO,CAAC,IAAI,CACV,mDAAmD,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,EAC7E,GAAG,CAAC,OAAO,CACZ,CAAA;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QACjC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC/B,UAAU,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
@@ -7,4 +7,3 @@ export * from './start/index.js';
7
7
  export * from './send.js';
8
8
  export * from './get.js';
9
9
  export * from './types.js';
10
- export * from './genObservableId.js';
@@ -7,5 +7,4 @@ export * from './start/index.js';
7
7
  export * from './send.js';
8
8
  export * from './get.js';
9
9
  export * from './types.js';
10
- export * from './genObservableId.js';
11
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
@@ -7,7 +7,8 @@ export const sendObsWs = (ctx, buffer, obs, isDiff) => {
7
7
  }
8
8
  if (ctx.session.v < 2) {
9
9
  if (obs.reusedCache) {
10
- const prevId = updateId(buffer, obs.id);
10
+ const id = obs.attachedCtx ? obs.attachedCtx.fromId : obs.id;
11
+ const prevId = updateId(buffer, id);
11
12
  if (isDiff) {
12
13
  ctx.session.ws.send(diffV2toV1(buffer), true, false);
13
14
  }
@@ -27,7 +28,8 @@ export const sendObsWs = (ctx, buffer, obs, isDiff) => {
27
28
  }
28
29
  else {
29
30
  if (obs.reusedCache) {
30
- const prevId = updateId(buffer, obs.id);
31
+ const id = obs.attachedCtx ? obs.attachedCtx.fromId : obs.id;
32
+ const prevId = updateId(buffer, id);
31
33
  ctx.session.ws.send(buffer, true, false);
32
34
  buffer.set(prevId, 4);
33
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/query/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAA8B,EAC9B,MAAkB,EAClB,GAAqB,EACrB,MAAe,EACf,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAM;IACR,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YACvC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACxC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAmB,EACnB,GAA4C,EAC5C,EAAU,EACV,GAAoB,EACpB,EAAE;IACF,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACvB,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACxB,CAAC,CAAA"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/query/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAA8B,EAC9B,MAAkB,EAClB,GAAqB,EACrB,MAAe,EACf,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAM;IACR,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;YAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;YAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACnC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YACxC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAmB,EACnB,GAA4C,EAC5C,EAAU,EACV,GAAoB,EACpB,EAAE;IACF,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACvB,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACxB,CAAC,CAAA"}