@based/server 10.1.1 → 10.2.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 (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
@@ -8,26 +8,32 @@ export const errorListener = (server, obs, err) => {
8
8
  delete obs.previousChecksum;
9
9
  obs.isDeflate = false;
10
10
  obs.reusedCache = false;
11
+ const id = obs.attachedCtx ? obs.attachedCtx.fromId : obs.id;
11
12
  obs.error =
12
13
  err instanceof Error
13
14
  ? createError(server, {
14
- session: { type: 'query', id: obs.id, name: obs.name, headers: {} },
15
+ session: {
16
+ type: 'query',
17
+ id,
18
+ name: obs.route.name,
19
+ headers: {},
20
+ },
15
21
  }, BasedErrorCode.FunctionError, {
16
22
  err,
17
- observableId: obs.id,
23
+ observableId: id,
18
24
  route: {
19
- name: obs.name,
25
+ name: obs.route.name,
20
26
  type: 'query',
21
27
  },
22
28
  })
23
- : err.observableId !== obs.id
24
- ? { ...err, observableId: obs.id }
29
+ : err.observableId !== id
30
+ ? { ...err, observableId: id }
25
31
  : err;
26
32
  if (obs.clients.size) {
27
- server.uwsApp.publish(String(obs.id), encodeErrorResponse(valueToBuffer(obs.error, true)), true, false);
33
+ server.uwsApp.publish(String(id), encodeErrorResponse(valueToBuffer(obs.error, true)), true, false);
28
34
  }
29
35
  if (obs.oldClients?.size) {
30
- server.uwsApp.publish(String(obs.id) + '-v1', encodeErrorResponse(valueToBufferV1(obs.error, true)), true, false);
36
+ server.uwsApp.publish(String(id) + '-v1', encodeErrorResponse(valueToBufferV1(obs.error, true)), true, false);
31
37
  }
32
38
  // TODO: Change this make it one error handler
33
39
  if (obs.functionObserveClients.size) {
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/query/start/error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAmB,EACnB,GAAqB,EACrB,GAA4B,EAC5B,EAAE;IACF,OAAO,GAAG,CAAC,KAAK,CAAA;IAChB,OAAO,GAAG,CAAC,SAAS,CAAA;IACpB,OAAO,GAAG,CAAC,QAAQ,CAAA;IACnB,OAAO,GAAG,CAAC,gBAAgB,CAAA;IAE3B,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;IACrB,GAAG,CAAC,WAAW,GAAG,KAAK,CAAA;IAEvB,GAAG,CAAC,KAAK;QACP,GAAG,YAAY,KAAK;YAClB,CAAC,CAAC,WAAW,CACT,MAAM,EACN;gBACE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;aACpE,EACD,cAAc,CAAC,aAAa,EAC5B;gBACE,GAAG;gBACH,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,OAAO;iBACd;aACF,CACF;YACH,CAAC,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,EAAE;gBAC3B,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE;gBAClC,CAAC,CAAC,GAAG,CAAA;IAEX,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EACd,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EACnD,IAAI,EACJ,KAAK,CACN,CAAA;IACH,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EACtB,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EACrD,IAAI,EACJ,KAAK,CACN,CAAA;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACpC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9C,QAAQ,CACN,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,SAAS,CACd,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;QACjC,OAAO,GAAG,CAAC,UAAU,CAAA;QACrB,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/query/start/error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAmB,EACnB,GAAqB,EACrB,GAA4B,EAC5B,EAAE;IACF,OAAO,GAAG,CAAC,KAAK,CAAA;IAChB,OAAO,GAAG,CAAC,SAAS,CAAA;IACpB,OAAO,GAAG,CAAC,QAAQ,CAAA;IACnB,OAAO,GAAG,CAAC,gBAAgB,CAAA;IAE3B,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;IACrB,GAAG,CAAC,WAAW,GAAG,KAAK,CAAA;IAEvB,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;IAE5D,GAAG,CAAC,KAAK;QACP,GAAG,YAAY,KAAK;YAClB,CAAC,CAAC,WAAW,CACT,MAAM,EACN;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,EAAE;oBACF,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;oBACpB,OAAO,EAAE,EAAE;iBACZ;aACF,EACD,cAAc,CAAC,aAAa,EAC5B;gBACE,GAAG;gBACH,YAAY,EAAE,EAAE;gBAChB,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;oBACpB,IAAI,EAAE,OAAO;iBACd;aACF,CACF;YACH,CAAC,CAAC,GAAG,CAAC,YAAY,KAAK,EAAE;gBACvB,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;gBAC9B,CAAC,CAAC,GAAG,CAAA;IAEX,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,EAAE,CAAC,EACV,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EACnD,IAAI,EACJ,KAAK,CACN,CAAA;IACH,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,EAClB,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EACrD,IAAI,EACJ,KAAK,CACN,CAAA;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;QACpC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9C,QAAQ,CACN,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,SAAS,CACd,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;QACjC,OAAO,GAAG,CAAC,UAAU,CAAA;QACrB,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAA"}
@@ -1,6 +1,17 @@
1
+ import { BasedQueryResponse } from '@based/db';
1
2
  import { hashObjectIgnoreKeyOrder, hash } from '@based/hash';
2
3
  import { hashUint8Array } from '@based/hash';
4
+ const MAX_SAFE_INT = 9007199254740990;
3
5
  export const genChecksum = (data) => {
6
+ if (data instanceof BasedQueryResponse) {
7
+ return data.version;
8
+ }
9
+ if (typeof data === 'number') {
10
+ if (data === 0) {
11
+ data = MAX_SAFE_INT;
12
+ }
13
+ return data;
14
+ }
4
15
  if (data instanceof Uint8Array) {
5
16
  return hashUint8Array(data);
6
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"genChecksum.js","sourceRoot":"","sources":["../../../src/query/start/genChecksum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAU,EAAE;IAC/C,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"genChecksum.js","sourceRoot":"","sources":["../../../src/query/start/genChecksum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,YAAY,GAAG,gBAAgB,CAAA;AAErC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAU,EAAE;IAC/C,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,IAAI,GAAG,YAAY,CAAA;QACrB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC,CAAA"}
@@ -3,14 +3,16 @@ import { errorListener } from './error.js';
3
3
  import { relay } from './relay.js';
4
4
  import { isBasedFunctionConfig } from '@based/functions';
5
5
  export const start = (server, id) => {
6
+ // really hate this look up here
6
7
  const obs = server.activeObservablesById.get(id);
7
8
  if (obs.closeFunction) {
8
9
  obs.closeFunction();
9
10
  delete obs.closeFunction;
10
11
  }
11
- const spec = server.functions.specs[obs.name];
12
+ // just call start as a function handler - props with optional ctx potentialy
13
+ const spec = server.functions.specs[obs.route.name];
12
14
  if (!spec || !isBasedFunctionConfig('query', spec)) {
13
- console.warn('Cannot find observable function spec!', obs.name);
15
+ console.warn('Cannot find observable function spec!', obs.route.name);
14
16
  return;
15
17
  }
16
18
  const payload = obs.payload;
@@ -60,7 +62,7 @@ export const start = (server, id) => {
60
62
  try {
61
63
  const r = spec.fn(server.client, payload, update, (err) => {
62
64
  errorListener(server, obs, err);
63
- });
65
+ }, obs.attachedCtx?.ctx);
64
66
  if (r instanceof Promise) {
65
67
  r.then((close) => {
66
68
  if (obs.isDestroyed || startId !== obs.startId) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/query/start/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/query/start/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { errorListener } from './error.js';
2
2
  // this has to be super optmized!
3
3
  export const relay = (server, relay, obs, client, update) => {
4
4
  obs.closeFunction = client
5
- .query(relay.target ?? obs.name, obs.payload)
5
+ .query(relay.target ?? obs.route.name, obs.payload)
6
6
  .subscribe(update, (err) => {
7
7
  errorListener(server, obs, err);
8
8
  });
@@ -1 +1 @@
1
- {"version":3,"file":"relay.js","sourceRoot":"","sources":["../../../src/query/start/relay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,iCAAiC;AACjC,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAAmB,EACnB,KAA0C,EAC1C,GAAqB,EACrB,MAAW,EACX,MAAgC,EAChC,EAAE;IACF,GAAG,CAAC,aAAa,GAAG,MAAM;SACvB,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;SAC5C,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"relay.js","sourceRoot":"","sources":["../../../src/query/start/relay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,iCAAiC;AACjC,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAAmB,EACnB,KAA0C,EAC1C,GAAqB,EACrB,MAAW,EACX,MAAgC,EAChC,EAAE;IACF,GAAG,CAAC,aAAa,GAAG,MAAM;SACvB,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;SAClD,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -7,11 +7,13 @@ export const updateListener = (server, obs, data, checksum, reusedData, diff, pr
7
7
  if (!server.uwsApp) {
8
8
  return;
9
9
  }
10
+ const id = obs.attachedCtx ? obs.attachedCtx.fromId : obs.id;
10
11
  if (checksum === undefined) {
11
12
  if (data === undefined) {
12
13
  checksum = 0;
13
14
  }
14
15
  else {
16
+ // For db response use from the buffer!
15
17
  checksum = genChecksum(data);
16
18
  }
17
19
  }
@@ -73,10 +75,10 @@ export const updateListener = (server, obs, data, checksum, reusedData, diff, pr
73
75
  }
74
76
  // TODO: Keep track globally of total mem usage
75
77
  ;
76
- [encodedData, isDeflate] = encodeObservableResponse(obs.id, checksum, buff);
78
+ [encodedData, isDeflate] = encodeObservableResponse(id, checksum, buff);
77
79
  if (diff) {
78
80
  const diffBuff = valueToBuffer(diff, true);
79
- const encodedDiffData = encodeObservableDiffResponse(obs.id, checksum, obs.previousChecksum, diffBuff);
81
+ const encodedDiffData = encodeObservableDiffResponse(id, checksum, obs.previousChecksum, diffBuff);
80
82
  obs.diffCache = encodedDiffData;
81
83
  }
82
84
  }
@@ -88,30 +90,29 @@ export const updateListener = (server, obs, data, checksum, reusedData, diff, pr
88
90
  if (obs.clients.size) {
89
91
  if (obs.diffCache) {
90
92
  if (obs.reusedCache) {
91
- prevDiffId = updateId(obs.diffCache, obs.id);
93
+ prevDiffId = updateId(obs.diffCache, id);
92
94
  }
93
- // hello
94
- server.uwsApp.publish(String(obs.id), obs.diffCache, true, false);
95
+ server.uwsApp.publish(String(id), obs.diffCache, true, false);
95
96
  }
96
97
  else {
97
98
  if (obs.reusedCache) {
98
- prevId = updateId(encodedData, obs.id);
99
+ prevId = updateId(encodedData, id);
99
100
  }
100
- server.uwsApp.publish(String(obs.id), encodedData, true, false);
101
+ server.uwsApp.publish(String(id), encodedData, true, false);
101
102
  }
102
103
  }
103
104
  if (obs.oldClients?.size) {
104
105
  if (obs.diffCache) {
105
106
  if (obs.reusedCache) {
106
- prevDiffId = updateId(obs.diffCache, obs.id);
107
+ prevDiffId = updateId(obs.diffCache, id);
107
108
  }
108
- server.uwsApp.publish(String(obs.id) + '-v1', diffV2toV1(obs.diffCache), true, false);
109
+ server.uwsApp.publish(String(id) + '-v1', diffV2toV1(obs.diffCache), true, false);
109
110
  }
110
111
  else {
111
112
  if (obs.reusedCache) {
112
- prevId = updateId(encodedData, obs.id);
113
+ prevId = updateId(encodedData, id);
113
114
  }
114
- server.uwsApp.publish(String(obs.id) + '-v1', cacheV2toV1(encodedData), true, false);
115
+ server.uwsApp.publish(String(id) + '-v1', cacheV2toV1(encodedData), true, false);
115
116
  }
116
117
  }
117
118
  if (obs.functionObserveClients.size) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/query/start/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/query/start/update.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,22 @@ import { extendCache } from './extendCache.js';
2
2
  import { sendObsWs } from './send.js';
3
3
  import { getObsAndStopRemove } from './get.js';
4
4
  import { sendErrorData } from '../sendError.js';
5
+ // make this a FunctionHandler
5
6
  export const subscribeWs = (server, id, checksum, ctx) => {
6
7
  const session = ctx.session;
7
8
  if (!session) {
8
9
  return;
9
10
  }
10
11
  const obs = getObsAndStopRemove(server, id);
12
+ session.obs.add(id);
13
+ if (obs.attachedCtx) {
14
+ if (!session.attachedCtxObs) {
15
+ session.attachedCtxObs = new Set();
16
+ }
17
+ session.attachedCtxObs.add(id);
18
+ id = obs.attachedCtx.fromId;
19
+ }
11
20
  if (ctx.session.v < 2) {
12
- session.obs.add(id);
13
21
  if (!obs.oldClients) {
14
22
  obs.oldClients = new Set();
15
23
  }
@@ -17,17 +25,15 @@ export const subscribeWs = (server, id, checksum, ctx) => {
17
25
  ctx.session.ws.subscribe(String(id) + '-v1');
18
26
  }
19
27
  else {
20
- session.obs.add(id);
21
28
  obs.clients.add(session.id);
22
29
  ctx.session.ws.subscribe(String(id));
23
30
  }
24
- if (obs.error) {
25
- sendErrorData(ctx, obs.error);
26
- return;
27
- }
28
31
  if (server.queryEvents) {
29
32
  server.queryEvents.subscribe(obs, ctx);
30
33
  }
34
+ if (obs.error) {
35
+ sendErrorData(ctx, obs.error);
36
+ }
31
37
  if (obs.cache && obs.checksum !== checksum) {
32
38
  if (obs.diffCache && obs.previousChecksum === checksum) {
33
39
  sendObsWs(ctx, obs.diffCache, obs, true);
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../src/query/subscribe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAmB,EACnB,EAAU,EACV,QAAgB,EAChB,GAA8B,EAC9B,EAAE;IACF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAE3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAM;IACR,CAAC;IAED,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAE3C,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC5B,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC9B,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC3B,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACvD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,MAAmB,EACnB,EAAU,EACV,MAAgC,EAChC,EAAE;IACF,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAE3C,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,CACJ,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,QAAQ,EACZ,IAAI,EACJ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,SAAS,CACd,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAqB,EACrB,MAAoE,EACpE,EAAE;IACF,WAAW,CAAC,GAAG,CAAC,CAAA;IAChB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;IAC5B,CAAC;IACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../src/query/subscribe.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { BasedErrorCode, BasedErrorData } from '@based/errors';
2
+ import { BasedRoute } from '@based/functions';
2
3
  export type ObservableError = BasedErrorData<BasedErrorCode.FunctionError> | BasedErrorData<BasedErrorCode.FunctionIsWrongType> | BasedErrorData<BasedErrorCode.FunctionNotFound>;
3
4
  export type ObservableUpdateFunction = (data: any, checksum?: number, err?: null | ObservableError, cache?: Uint8Array, diff?: any, fromChecksum?: number, isDeflate?: boolean) => void;
4
5
  export type ObserveErrorListener = (err: ObservableError) => void;
5
6
  export type ActiveObservable = {
6
7
  startId: number;
7
- name: string;
8
+ route: BasedRoute<'query'>;
8
9
  id: number;
9
10
  reusedCache: boolean;
10
11
  functionObserveClients: Set<ObservableUpdateFunction>;
@@ -23,4 +24,13 @@ export type ActiveObservable = {
23
24
  closeAfterIdleTime?: number;
24
25
  timeTillDestroy: number | null;
25
26
  isDestroyed: boolean;
27
+ attachedCtx?: AttachedCtx;
28
+ };
29
+ export type AttachedCtx = {
30
+ ctx: {
31
+ [key: string]: any;
32
+ };
33
+ id: number;
34
+ authState: boolean;
35
+ fromId: number;
26
36
  };
@@ -12,20 +12,50 @@ export const unsubscribeFunction = (server, id, update) => {
12
12
  return true;
13
13
  }
14
14
  };
15
+ // true means obs does not exist
15
16
  export const unsubscribeWs = (server, id, ctx) => {
16
17
  const session = ctx.session;
17
- if (!session || !session.obs.has(id)) {
18
+ if (!session) {
18
19
  return;
19
20
  }
21
+ if (!session.obs.has(id)) {
22
+ if (session.attachedCtxObs) {
23
+ let match = false;
24
+ for (const attachedId of session.attachedCtxObs) {
25
+ const attachedObs = server.activeObservablesById.get(attachedId);
26
+ if (attachedObs.attachedCtx.fromId === id) {
27
+ session.attachedCtxObs.delete(attachedId);
28
+ if (session.attachedCtxObs.size === 0) {
29
+ delete session.attachedCtxObs;
30
+ }
31
+ id = attachedId;
32
+ match = true;
33
+ break;
34
+ }
35
+ }
36
+ if (!match) {
37
+ return;
38
+ }
39
+ }
40
+ else {
41
+ return;
42
+ }
43
+ }
44
+ else if (session.attachedCtxObs?.has(id)) {
45
+ session.attachedCtxObs.delete(id);
46
+ if (session.attachedCtxObs.size === 0) {
47
+ delete session.attachedCtxObs;
48
+ }
49
+ }
20
50
  const isV1 = ctx.session.v < 2;
51
+ const obs = server.activeObservablesById.get(id);
52
+ session.obs.delete(id);
21
53
  if (isV1) {
22
54
  ctx.session.ws.unsubscribe(String(id) + '-v1');
23
55
  }
24
56
  else {
25
57
  ctx.session.ws.unsubscribe(String(id));
26
58
  }
27
- const obs = server.activeObservablesById.get(id);
28
- session.obs.delete(id);
29
59
  if (!obs) {
30
60
  return;
31
61
  }
@@ -48,6 +78,7 @@ export const unsubscribeWs = (server, id, ctx) => {
48
78
  }
49
79
  }
50
80
  };
81
+ // true is it does not exist
51
82
  export const unsubscribeWsIgnoreClient = (server, id, ctx) => {
52
83
  const session = ctx.session;
53
84
  if (!session) {
@@ -55,6 +86,7 @@ export const unsubscribeWsIgnoreClient = (server, id, ctx) => {
55
86
  }
56
87
  const obs = server.activeObservablesById.get(id);
57
88
  if (!obs) {
89
+ // is not an obs might be a channel
58
90
  return true;
59
91
  }
60
92
  if (session.v < 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"unsub.js","sourceRoot":"","sources":["../../src/query/unsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unsub.js","sourceRoot":"","sources":["../../src/query/unsub.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -35,7 +35,7 @@ export type ServerOptions = {
35
35
  };
36
36
  port?: number;
37
37
  key?: string;
38
- geo?: (ctx: Context) => Promise<Geo>;
38
+ geo?: (ctx: Context) => Geo;
39
39
  disableRest?: boolean;
40
40
  disableWs?: boolean;
41
41
  silent?: boolean;
@@ -109,7 +109,7 @@ export declare class BasedServer {
109
109
  sendInitialForceReload: boolean;
110
110
  forceReloadTimer: ReturnType<typeof setTimeout>;
111
111
  forceReload(type?: number, validTime?: number): void;
112
- geo: (ctx: Context) => Promise<Geo>;
112
+ geo: (ctx: Context) => Geo;
113
113
  getIp: GetIp;
114
114
  blockedIps: Set<string>;
115
115
  allowedIps: Set<string>;
package/dist/server.js CHANGED
@@ -82,13 +82,13 @@ export class BasedServer {
82
82
  }, validTime);
83
83
  }
84
84
  }
85
- geo = async (ctx) => {
85
+ geo = (ctx) => {
86
86
  if (!ctx.session) {
87
87
  throw new Error('Session expired while parsing geo location');
88
88
  }
89
89
  if (isClientContext(ctx)) {
90
90
  return {
91
- country: 'NL',
91
+ country: 'unknown',
92
92
  ip: ctx.session.ip,
93
93
  accuracy: 0,
94
94
  long: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { BasedServer } from './server.js';
2
+ import { HttpSession, Context, Session, WebSocketSession, BasedRoute, BasedFunctionConfig } from '@based/functions';
3
+ import { AttachedCtx } from './query/types.js';
4
+ export type ClientSession = HttpSession | WebSocketSession;
5
+ export type FunctionHandler<S extends Session = Session, R extends BasedRoute = BasedRoute, P = any> = (props: FunctionProps<S, R, P> & {
6
+ spec: BasedFunctionConfig<R['type']>;
7
+ }) => any;
8
+ export type FunctionErrorHandler<S extends Session = Session, R extends BasedRoute = BasedRoute, P = any> = (props: FunctionProps<S, R, P>, err?: Error) => true | void;
9
+ export type FunctionProps<S extends Session = Session, R extends BasedRoute = BasedRoute, P = any> = {
10
+ route: R;
11
+ server: BasedServer;
12
+ ctx: Context<S>;
13
+ payload?: P;
14
+ error?: FunctionErrorHandler<S, R, P>;
15
+ id?: number;
16
+ checksum?: number;
17
+ attachedCtx?: AttachedCtx;
18
+ };
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/server",
3
- "version": "10.1.1",
3
+ "version": "10.2.1",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -15,12 +15,12 @@
15
15
  "clean": "rm -rf ./dist ./node_modules"
16
16
  },
17
17
  "dependencies": {
18
- "@based/db": "^0.1.0",
18
+ "@based/db": "^0.1.2",
19
19
  "@based/errors": "^1.3.0",
20
- "@based/functions": "^3.2.4",
20
+ "@based/functions": "^3.3.1",
21
21
  "@based/hash": "1.0.0",
22
- "@based/protocol": "^0.0.3",
23
- "@based/utils": "^1.0.0",
22
+ "@based/protocol": "^0.0.4",
23
+ "@based/utils": "^1.1.0",
24
24
  "@based/uws": "^6.0.0",
25
25
  "@saulx/diff": "^2.0.3",
26
26
  "mime-types": "^2.1.31",
@@ -1,2 +0,0 @@
1
- import { FakeBinaryMessageHandler } from './types.js';
2
- export declare const handleFunction: FakeBinaryMessageHandler;
@@ -1,50 +0,0 @@
1
- import { decodeName, decodePayload, encodeFunctionResponse, valueToBuffer, encodeErrorResponse, } from '../../../protocol.js';
2
- import { verifyRoute } from '../../../verifyRoute.js';
3
- import { installFn } from '../../../installFn.js';
4
- import { createError } from '../../../error/index.js';
5
- import { BasedErrorCode } from '@based/errors';
6
- import { readUint24 } from '@based/utils';
7
- export const handleFunction = (arr, startByte, len, isDeflate, ctx, server) => {
8
- // | 4 header | 3 id | 1 name length | * name | * payload |
9
- const requestId = readUint24(arr, startByte + 4);
10
- const nameLen = arr[startByte + 7];
11
- const name = decodeName(arr, startByte + 8, startByte + 8 + nameLen);
12
- if (!name || !requestId) {
13
- return;
14
- }
15
- const route = verifyRoute(server, ctx, 'function', server.functions.route(name), name, requestId);
16
- if (route === null) {
17
- return;
18
- }
19
- const isOldClient = ctx.session.authState.v < 2;
20
- const payload = len === nameLen + 8
21
- ? undefined
22
- : decodePayload(new Uint8Array(arr.slice(startByte + 8 + nameLen, startByte + len)), isDeflate, isOldClient);
23
- return installFn(server, ctx, route).then(async (spec) => {
24
- const isAuth = route.public ||
25
- (await server.auth
26
- .authorize(server.client, ctx, route.name, payload)
27
- .catch(() => false));
28
- if (!isAuth) {
29
- const errorData = createError(server, ctx, BasedErrorCode.AuthorizeRejectedError, {
30
- route,
31
- requestId,
32
- });
33
- return encodeErrorResponse(valueToBuffer(errorData, true));
34
- }
35
- return spec
36
- .fn(server.client, payload, ctx)
37
- .then((v) => {
38
- return encodeFunctionResponse(requestId, valueToBuffer(v, true));
39
- })
40
- .catch((err) => {
41
- const errorData = createError(server, ctx, BasedErrorCode.FunctionError, {
42
- route,
43
- requestId,
44
- err,
45
- });
46
- return encodeErrorResponse(valueToBuffer(errorData, true));
47
- });
48
- });
49
- };
50
- //# sourceMappingURL=function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/incoming/http/fakeWs/function.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { FakeBinaryMessageHandler } from './types.js';
2
- export declare const handleQuery: FakeBinaryMessageHandler;