@based/server 5.0.2 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/authorize.d.ts +3 -4
  2. package/dist/authorize.js +3 -3
  3. package/dist/authorize.js.map +1 -1
  4. package/dist/channel/destroy.js +2 -2
  5. package/dist/channel/destroy.js.map +1 -1
  6. package/dist/channel/start.js +5 -4
  7. package/dist/channel/start.js.map +1 -1
  8. package/dist/error/index.d.ts +1 -0
  9. package/dist/error/index.js +3 -2
  10. package/dist/error/index.js.map +1 -1
  11. package/dist/error/types.d.ts +2 -5
  12. package/dist/error/types.js +1 -0
  13. package/dist/error/types.js.map +1 -1
  14. package/dist/functionApi/callFunction.js +2 -2
  15. package/dist/functionApi/callFunction.js.map +1 -1
  16. package/dist/functionApi/client/channel.js +2 -2
  17. package/dist/functionApi/client/channel.js.map +1 -1
  18. package/dist/functionApi/client/query.d.ts +1 -1
  19. package/dist/functionApi/client/query.js.map +1 -1
  20. package/dist/functionApi/get.js +9 -9
  21. package/dist/functionApi/get.js.map +1 -1
  22. package/dist/functionApi/observe.d.ts +1 -1
  23. package/dist/functionApi/observe.js +8 -8
  24. package/dist/functionApi/observe.js.map +1 -1
  25. package/dist/functionApi/publish.js +1 -1
  26. package/dist/functionApi/publish.js.map +1 -1
  27. package/dist/functionApi/stream.js +1 -1
  28. package/dist/functionApi/stream.js.map +1 -1
  29. package/dist/functions/genVersion.d.ts +2 -0
  30. package/dist/functions/genVersion.js +20 -0
  31. package/dist/functions/genVersion.js.map +1 -0
  32. package/dist/functions/index.d.ts +14 -33
  33. package/dist/functions/index.js +36 -42
  34. package/dist/functions/index.js.map +1 -1
  35. package/dist/functions/timeout.d.ts +3 -3
  36. package/dist/functions/timeout.js.map +1 -1
  37. package/dist/functions/types.d.ts +6 -134
  38. package/dist/functions/types.js +0 -51
  39. package/dist/functions/types.js.map +1 -1
  40. package/dist/incoming/http/function.js +1 -1
  41. package/dist/incoming/http/function.js.map +1 -1
  42. package/dist/incoming/http/index.js +8 -8
  43. package/dist/incoming/http/index.js.map +1 -1
  44. package/dist/incoming/http/publish.js +3 -3
  45. package/dist/incoming/http/publish.js.map +1 -1
  46. package/dist/incoming/http/query.d.ts +2 -3
  47. package/dist/incoming/http/query.js +14 -14
  48. package/dist/incoming/http/query.js.map +1 -1
  49. package/dist/incoming/http/readBody.d.ts +3 -4
  50. package/dist/incoming/http/readBody.js.map +1 -1
  51. package/dist/incoming/http/streamFunction/index.d.ts +2 -3
  52. package/dist/incoming/http/streamFunction/index.js.map +1 -1
  53. package/dist/incoming/http/streamFunction/multiPart/index.d.ts +2 -3
  54. package/dist/incoming/http/streamFunction/multiPart/index.js +1 -1
  55. package/dist/incoming/http/streamFunction/multiPart/index.js.map +1 -1
  56. package/dist/incoming/http/streamFunction/multiPart/readFormData.d.ts +2 -3
  57. package/dist/incoming/http/streamFunction/multiPart/readFormData.js.map +1 -1
  58. package/dist/incoming/http/streamFunction/stream/createStream.d.ts +2 -3
  59. package/dist/incoming/http/streamFunction/stream/createStream.js.map +1 -1
  60. package/dist/incoming/http/streamFunction/stream/index.d.ts +2 -3
  61. package/dist/incoming/http/streamFunction/stream/index.js +1 -1
  62. package/dist/incoming/http/streamFunction/stream/index.js.map +1 -1
  63. package/dist/incoming/index.js +2 -2
  64. package/dist/incoming/index.js.map +1 -1
  65. package/dist/incoming/ws/auth.js +4 -4
  66. package/dist/incoming/ws/auth.js.map +1 -1
  67. package/dist/incoming/ws/channelPublish.js +3 -3
  68. package/dist/incoming/ws/channelPublish.js.map +1 -1
  69. package/dist/incoming/ws/channelSubscribe.d.ts +2 -3
  70. package/dist/incoming/ws/channelSubscribe.js +1 -1
  71. package/dist/incoming/ws/channelSubscribe.js.map +1 -1
  72. package/dist/incoming/ws/function.js +3 -3
  73. package/dist/incoming/ws/function.js.map +1 -1
  74. package/dist/incoming/ws/get.js +16 -16
  75. package/dist/incoming/ws/get.js.map +1 -1
  76. package/dist/incoming/ws/index.js +3 -3
  77. package/dist/incoming/ws/index.js.map +1 -1
  78. package/dist/incoming/ws/observable.js.map +1 -1
  79. package/dist/incoming/ws/query.d.ts +6 -0
  80. package/dist/incoming/ws/query.js +91 -0
  81. package/dist/incoming/ws/query.js.map +1 -0
  82. package/dist/index.d.ts +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/installFn.d.ts +2 -3
  86. package/dist/installFn.js +14 -63
  87. package/dist/installFn.js.map +1 -1
  88. package/dist/observable/destroy.js +2 -2
  89. package/dist/observable/destroy.js.map +1 -1
  90. package/dist/observable/start/error.js +1 -0
  91. package/dist/observable/start/error.js.map +1 -1
  92. package/dist/observable/start/index.js +4 -4
  93. package/dist/observable/start/index.js.map +1 -1
  94. package/dist/query/cleanup.d.ts +2 -0
  95. package/dist/query/cleanup.js +66 -0
  96. package/dist/query/cleanup.js.map +1 -0
  97. package/dist/query/create.d.ts +3 -0
  98. package/dist/query/create.js +35 -0
  99. package/dist/query/create.js.map +1 -0
  100. package/dist/query/destroy.d.ts +4 -0
  101. package/dist/query/destroy.js +47 -0
  102. package/dist/query/destroy.js.map +1 -0
  103. package/dist/query/extendCache.d.ts +2 -0
  104. package/dist/query/extendCache.js +10 -0
  105. package/dist/query/extendCache.js.map +1 -0
  106. package/dist/query/genObservableId.d.ts +1 -0
  107. package/dist/query/genObservableId.js +12 -0
  108. package/dist/query/genObservableId.js.map +1 -0
  109. package/dist/query/get.d.ts +4 -0
  110. package/dist/query/get.js +15 -0
  111. package/dist/query/get.js.map +1 -0
  112. package/dist/query/index.d.ts +10 -0
  113. package/dist/query/index.js +27 -0
  114. package/dist/query/index.js.map +1 -0
  115. package/dist/query/send.d.ts +5 -0
  116. package/dist/query/send.js +26 -0
  117. package/dist/query/send.js.map +1 -0
  118. package/dist/query/start/error.d.ts +3 -0
  119. package/dist/query/start/error.js +44 -0
  120. package/dist/query/start/error.js.map +1 -0
  121. package/dist/query/start/index.d.ts +2 -0
  122. package/dist/query/start/index.js +67 -0
  123. package/dist/query/start/index.js.map +1 -0
  124. package/dist/query/start/relay.d.ts +4 -0
  125. package/dist/query/start/relay.js +14 -0
  126. package/dist/query/start/relay.js.map +1 -0
  127. package/dist/query/start/update.d.ts +3 -0
  128. package/dist/query/start/update.js +116 -0
  129. package/dist/query/start/update.js.map +1 -0
  130. package/dist/query/subscribe.d.ts +7 -0
  131. package/dist/query/subscribe.js +47 -0
  132. package/dist/query/subscribe.js.map +1 -0
  133. package/dist/query/types.d.ts +25 -0
  134. package/dist/query/types.js +3 -0
  135. package/dist/query/types.js.map +1 -0
  136. package/dist/query/unsub.d.ts +6 -0
  137. package/dist/query/unsub.js +46 -0
  138. package/dist/query/unsub.js.map +1 -0
  139. package/dist/sendError.d.ts +2 -1
  140. package/dist/sendError.js +33 -1
  141. package/dist/sendError.js.map +1 -1
  142. package/dist/server.d.ts +8 -7
  143. package/dist/server.js +7 -6
  144. package/dist/server.js.map +1 -1
  145. package/dist/verifyRoute.d.ts +2 -14
  146. package/dist/verifyRoute.js +6 -75
  147. package/dist/verifyRoute.js.map +1 -1
  148. package/package.json +3 -2
@@ -15,11 +15,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.BasedFunctions = void 0;
18
- const types_1 = require("./types");
18
+ const functions_1 = require("@based/functions");
19
19
  const utils_1 = require("@saulx/utils");
20
20
  const timeout_1 = require("./timeout");
21
- const observable_1 = require("../observable");
21
+ const query_1 = require("../query");
22
22
  const channel_1 = require("../channel");
23
+ const genVersion_1 = require("./genVersion");
23
24
  __exportStar(require("./types"), exports);
24
25
  class BasedFunctions {
25
26
  constructor(server, config) {
@@ -41,7 +42,7 @@ class BasedFunctions {
41
42
  }
42
43
  }
43
44
  updateConfig(fullConfig) {
44
- const { routes, specs, ...config } = fullConfig;
45
+ const { routes, configs, ...config } = fullConfig;
45
46
  if (this.config) {
46
47
  (0, utils_1.deepMerge)(this.config, config);
47
48
  }
@@ -87,8 +88,8 @@ class BasedFunctions {
87
88
  if (routes) {
88
89
  this.addRoutes(routes);
89
90
  }
90
- if (specs) {
91
- this.addSpecs(specs);
91
+ if (configs) {
92
+ this.add(configs);
92
93
  }
93
94
  if (this.unregisterTimeout) {
94
95
  clearTimeout(this.unregisterTimeout);
@@ -110,7 +111,7 @@ class BasedFunctions {
110
111
  }
111
112
  return null;
112
113
  }
113
- addSpecs(specs) {
114
+ add(specs) {
114
115
  for (const key in specs) {
115
116
  const s = this.completeSpec(specs[key], key);
116
117
  if (s === null) {
@@ -135,36 +136,28 @@ class BasedFunctions {
135
136
  console.error('cannot completeSpec', name, spec);
136
137
  return null;
137
138
  }
138
- // if (!spec.function) {
139
- // if channel
140
- // channel publish
141
- // }
142
- // spec.function
139
+ if (!spec.version) {
140
+ // @ts-ignore added name allready
141
+ spec.version = (0, genVersion_1.genVersion)(spec);
142
+ }
143
143
  const nSpec = spec;
144
144
  return nSpec;
145
145
  }
146
146
  completeRoute(route, name) {
147
147
  const nRoute = route;
148
+ if (!nRoute.type) {
149
+ console.error('Type is required for based-routes', name);
150
+ return null;
151
+ }
148
152
  if (!nRoute.name) {
149
153
  if (!name) {
150
- console.error('No route name!', route);
154
+ console.error('No based-route name', route);
151
155
  return null;
152
156
  }
153
157
  nRoute.name = name;
154
158
  }
155
159
  if (!route.maxPayloadSize) {
156
- if ((0, types_1.isChannelFunctionRoute)(nRoute)) {
157
- route.maxPayloadSize = this.maxPayLoadSizeDefaults.channel;
158
- }
159
- else if ((0, types_1.isQueryFunctionRoute)(nRoute)) {
160
- route.maxPayloadSize = this.maxPayLoadSizeDefaults.query;
161
- }
162
- else if ((0, types_1.isStreamFunctionRoute)(nRoute)) {
163
- route.maxPayloadSize = this.maxPayLoadSizeDefaults.stream;
164
- }
165
- else {
166
- route.maxPayloadSize = this.maxPayLoadSizeDefaults.function;
167
- }
160
+ route.maxPayloadSize = this.maxPayLoadSizeDefaults[route.type];
168
161
  }
169
162
  if (nRoute.rateLimitTokens === undefined) {
170
163
  nRoute.rateLimitTokens = 1;
@@ -192,29 +185,29 @@ class BasedFunctions {
192
185
  if (this.updateRoute(spec) === null) {
193
186
  return false;
194
187
  }
195
- if (!spec.uninstallAfterIdleTime) {
188
+ if (spec.uninstallAfterIdleTime === undefined) {
196
189
  spec.uninstallAfterIdleTime = this.config.uninstallAfterIdleTime;
197
190
  }
198
191
  if (spec.timeoutCounter === undefined) {
199
192
  spec.timeoutCounter =
200
- spec.uninstallAfterIdleTime === 0
193
+ spec.uninstallAfterIdleTime === 0 || spec.uninstallAfterIdleTime === -1
201
194
  ? -1
202
195
  : Math.ceil(spec.uninstallAfterIdleTime / 1e3);
203
196
  }
204
197
  if (spec.path) {
205
198
  this.paths[spec.path] = spec.name;
206
199
  }
207
- const previousChecksum = this.specs[spec.name]?.checksum ?? -1;
200
+ const previousChecksum = this.specs[spec.name]?.version ?? -1;
208
201
  // @ts-ignore maxpayload and rlimit tokens added....
209
202
  this.specs[spec.name] = spec;
210
203
  if (this.specs[spec.name] && this.server.activeChannels[spec.name]) {
211
- if (!(0, types_1.isChannelFunctionSpec)(spec)) {
204
+ if (!(0, functions_1.isBasedFunctionConfig)('channel', spec)) {
212
205
  for (const [id] of this.server.activeChannels[spec.name]) {
213
206
  (0, channel_1.destroyChannel)(this.server, id);
214
207
  }
215
208
  }
216
209
  else {
217
- if (previousChecksum !== spec.checksum) {
210
+ if (previousChecksum !== spec.version) {
218
211
  for (const [id] of this.server.activeChannels[spec.name]) {
219
212
  (0, channel_1.startChannel)(this.server, id, true);
220
213
  }
@@ -223,15 +216,15 @@ class BasedFunctions {
223
216
  }
224
217
  else if (this.specs[spec.name] &&
225
218
  this.server.activeObservables[spec.name]) {
226
- if (!(0, types_1.isQueryFunctionSpec)(spec)) {
219
+ if (!(0, functions_1.isBasedFunctionConfig)('query', spec)) {
227
220
  for (const [id] of this.server.activeObservables[spec.name]) {
228
- (0, observable_1.destroyObs)(this.server, id);
221
+ (0, query_1.destroyObs)(this.server, id);
229
222
  }
230
223
  }
231
224
  else {
232
- if (previousChecksum !== spec.checksum) {
225
+ if (previousChecksum !== spec.version) {
233
226
  for (const [id] of this.server.activeObservables[spec.name]) {
234
- (0, observable_1.start)(this.server, id);
227
+ (0, query_1.start)(this.server, id);
235
228
  }
236
229
  }
237
230
  }
@@ -243,10 +236,11 @@ class BasedFunctions {
243
236
  const q = [];
244
237
  for (const name in this.specs) {
245
238
  const spec = this.specs[name];
246
- if ((0, types_1.isQueryFunctionSpec)(spec) && this.server.activeObservables[name]) {
239
+ if ((0, functions_1.isBasedFunctionConfig)('query', spec) &&
240
+ this.server.activeObservables[name]) {
247
241
  (0, timeout_1.updateTimeoutCounter)(spec);
248
242
  }
249
- else if ((0, types_1.isChannelFunctionSpec)(spec) &&
243
+ else if ((0, functions_1.isBasedFunctionConfig)('channel', spec) &&
250
244
  this.server.activeChannels[name]) {
251
245
  (0, timeout_1.updateTimeoutCounter)(spec);
252
246
  }
@@ -260,14 +254,14 @@ class BasedFunctions {
260
254
  }
261
255
  async update(name, checksum) {
262
256
  const prevSpec = this.specs[name];
263
- if (prevSpec && prevSpec.checksum !== checksum) {
257
+ if (prevSpec && prevSpec.version !== checksum) {
264
258
  if (this.beingUninstalled[name]) {
265
259
  delete this.beingUninstalled[name];
266
260
  }
267
261
  const spec = await this.installGaurdedFromConfig(name);
268
262
  await this.config.uninstall({
269
263
  server: this.server,
270
- function: prevSpec,
264
+ config: prevSpec,
271
265
  name,
272
266
  });
273
267
  if (spec) {
@@ -279,7 +273,7 @@ class BasedFunctions {
279
273
  if (this.beingUninstalled[name]) {
280
274
  console.error('Allready being unregistered...', name);
281
275
  }
282
- if (!spec && spec !== false) {
276
+ if (!spec && spec !== null) {
283
277
  spec = this.specs[name];
284
278
  }
285
279
  if (!spec) {
@@ -291,7 +285,7 @@ class BasedFunctions {
291
285
  }
292
286
  if (await this.config.uninstall({
293
287
  server: this.server,
294
- function: spec,
288
+ config: spec,
295
289
  name,
296
290
  })) {
297
291
  if (this.beingUninstalled[name]) {
@@ -335,16 +329,16 @@ class BasedFunctions {
335
329
  if (!spec) {
336
330
  return false;
337
331
  }
338
- if ((0, types_1.isQueryFunctionRoute)(spec)) {
332
+ if ((0, functions_1.isBasedFunctionConfig)('query', spec)) {
339
333
  const activeObs = this.server.activeObservables[name];
340
334
  if (activeObs) {
341
335
  for (const [id] of activeObs) {
342
- (0, observable_1.destroyObs)(this.server, id);
336
+ (0, query_1.destroyObs)(this.server, id);
343
337
  }
344
338
  delete this.server.activeObservables[name];
345
339
  }
346
340
  }
347
- if ((0, types_1.isChannelFunctionSpec)(spec)) {
341
+ if ((0, functions_1.isBasedFunctionConfig)('channel', spec)) {
348
342
  const activeChannel = this.server.activeChannels[name];
349
343
  if (activeChannel) {
350
344
  for (const [id] of activeChannel) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,mCAWgB;AAChB,wCAAmD;AACnD,uCAA8D;AAC9D,8CAAiD;AACjD,wCAAyD;AACzD,0CAAuB;AAEvB,MAAa,cAAc;IA6CzB,YAAY,MAAmB,EAAE,MAAuB;QA1CxD,UAAK,GAAW,CAAC,CAAA;QAMjB,uBAAkB,GAAqC,EAAE,CAAA;QAEzD,2BAAsB,GAKlB;YACF,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG;SACb,CAAA;QAED,UAAK,GAED,EAAE,CAAA;QAEN,UAAK,GAKD,EAAE,CAAA;QAEN,WAAM,GAKF,EAAE,CAAA;QAEN,qBAAgB,GAEZ,EAAE,CAAA;QAGJ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;SAC1B;IACH,CAAC;IAED,YAAY,CAAC,UAA0B;QACrC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;QAE/C,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAA,iBAAS,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAC/B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,KAAK,SAAS,EAAE;YACpD,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAA,CAAC,QAAQ;SACnD;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG;gBAC/B,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,IAAI,EAAE,UAAU;aAC1B,CAAA;SACF;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;gBACrC,IAAI,IAAI,EAAE;oBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;oBAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;oBACpD,IAAI,CAAC,EAAE;wBACL,OAAO,CAAC,CAAA;qBACT;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,QAAQ,EAAE;wBACZ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;qBAC7B;oBACD,OAAO,IAAI,CAAA;iBACZ;gBACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC,CAAA;SACF;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBACvC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC,CAAA;SACF;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,IAAI,EAAE;gBACjC,OAAO,IAAI,CAAA;YACb,CAAC,CAAA;SACF;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;SACvB;QAED,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;SACrC;QAED,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,IAAa,EAAE,IAAa;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;SAC/B;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,KAAiB;QACxB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACvB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YAC5C,IAAI,CAAC,KAAK,IAAI,EAAE;gBACd,SAAQ;aACT;YACD,IAAI,CAAC,CAAC,sBAAsB,KAAK,SAAS,EAAE;gBAC1C,CAAC,CAAC,sBAAsB,GAAG,CAAC,CAAA;aAC7B;YACD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;SACvB;IACH,CAAC;IAED,SAAS,CAAC,MAAmB;QAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACxD,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;aAC9B;SACF;IACH,CAAC;IAED,YAAY,CACV,IAKC,EACD,IAAa;QAOb,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAChD,OAAO,IAAI,CAAA;SACZ;QACD,wBAAwB;QACxB,aAAa;QACb,kBAAkB;QAClB,IAAI;QACJ,gBAAgB;QAChB,MAAM,KAAK,GAAG,IAGb,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,aAAa,CACX,KAKC,EACD,IAAa;QAOb,MAAM,MAAM,GAAG,KAGd,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;gBACtC,OAAO,IAAI,CAAA;aACZ;YACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;SACnB;QACD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACzB,IAAI,IAAA,8BAAsB,EAAC,MAAM,CAAC,EAAE;gBAClC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAA;aAC3D;iBAAM,IAAI,IAAA,4BAAoB,EAAC,MAAM,CAAC,EAAE;gBACvC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAA;aACzD;iBAAM,IAAI,IAAA,6BAAqB,EAAC,MAAM,CAAC,EAAE;gBACxC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAA;aAC1D;iBAAM;gBACL,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAA;aAC5D;SACF;QACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE;YACxC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAA;SAC3B;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,WAAW,CACT,KAGC,EACD,IAAa;QAOb,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACjD,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,SAAS,CAAC,IAAI,EAAE;YAClB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAA;SAC5C;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;QACnC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,cAAc,CAAC,IAAe;QAC5B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC1C,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAA;SACb;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAA;SACjE;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,cAAc;gBACjB,IAAI,CAAC,sBAAsB,KAAK,CAAC;oBAC/B,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;SACnD;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAA;SAClC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAA;QAC9D,oDAAoD;QACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClE,IAAI,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE;gBAChC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxD,IAAA,wBAAc,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;iBAChC;aACF;iBAAM;gBACL,IAAI,gBAAgB,KAAK,IAAI,CAAC,QAAQ,EAAE;oBACtC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACxD,IAAA,sBAAY,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;qBACpC;iBACF;aACF;SACF;aAAM,IACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EACxC;YACA,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;gBAC9B,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC3D,IAAA,uBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;iBAC5B;aACF;iBAAM;gBACL,IAAI,gBAAgB,KAAK,IAAI,CAAC,QAAQ,EAAE;oBACtC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC3D,IAAA,kBAAK,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;qBACvB;iBACF;aACF;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa;QACX,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,CAAC,GAAG,EAAE,CAAA;YACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC7B,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;oBACpE,IAAA,8BAAoB,EAAC,IAAI,CAAC,CAAA;iBAC3B;qBAAM,IACL,IAAA,6BAAqB,EAAC,IAAI,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAChC;oBACA,IAAA,8BAAoB,EAAC,IAAI,CAAC,CAAA;iBAC3B;qBAAM,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,EAAE;oBAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;iBACnC;aACF;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC,EAAE,GAAG,CAAC,CAAA;IACT,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,QAAgB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAC9C,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;aACnC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAA;YACtD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,QAAQ;gBAClB,IAAI;aACL,CAAC,CAAA;YACF,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;aAC1B;SACF;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAwB;QACpD,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAA;SACtD;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;YAC3B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;SACxB;QACD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QAClC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;SACvB;QACD,IACE,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI;YACd,IAAI;SACL,CAAC,EACF;YACA,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;aACzB;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAA;aAC7D;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,IAAY;QAEZ,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;SACrC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI;SACL,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACpC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;aACnC;YACD,IAAA,8BAAoB,EAAC,IAAI,CAAC,CAAA;YAC1B,OAAO,IAAI,CAAA;SACZ;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAA;SACb;QACD,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACrD,IAAI,SAAS,EAAE;gBACb,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE;oBAC5B,IAAA,uBAAU,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;iBAC5B;gBACD,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;aAC3C;SACF;QACD,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACtD,IAAI,aAAa,EAAE;gBACjB,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,aAAa,EAAE;oBAChC,IAAA,wBAAc,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;iBAChC;gBACD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;aACxC;SACF;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAnbD,wCAmbC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { BasedSpec } from './types';
2
- export declare const fnIsTimedOut: (spec: BasedSpec) => boolean;
3
- export declare const updateTimeoutCounter: (spec: BasedSpec) => void;
1
+ import type { BasedFunctionConfigComplete } from '@based/functions';
2
+ export declare const fnIsTimedOut: (spec: BasedFunctionConfigComplete) => boolean;
3
+ export declare const updateTimeoutCounter: (spec: BasedFunctionConfigComplete) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/functions/timeout.ts"],"names":[],"mappings":";;;AAEO,MAAM,YAAY,GAAG,CAAC,IAAe,EAAW,EAAE;IACvD,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE;QAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;YAC9D,IAAI,CAAC,cAAc,EAAE,CAAA;SACtB;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB;AAEM,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAE,EAAE;IACtD,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE;QAC9B,IAAI,CAAC,cAAc;YACjB,IAAI,CAAC,sBAAsB,KAAK,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAA;KACvD;AACH,CAAC,CAAA;AAPY,QAAA,oBAAoB,wBAOhC"}
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/functions/timeout.ts"],"names":[],"mappings":";;;AAEO,MAAM,YAAY,GAAG,CAAC,IAAiC,EAAW,EAAE;IACzE,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE;QAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;YAC9D,IAAI,CAAC,cAAc,EAAE,CAAA;SACtB;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB;AAEM,MAAM,oBAAoB,GAAG,CAAC,IAAiC,EAAE,EAAE;IACxE,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE;QAC9B,IAAI,CAAC,cAAc;YACjB,IAAI,CAAC,sBAAsB,KAAK,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAA;KACvD;AACH,CAAC,CAAA;AAPY,QAAA,oBAAoB,wBAOhC"}
@@ -1,4 +1,4 @@
1
- import { BasedQueryFunction, BasedFunction, BasedChannelFunction, HttpResponse, UninstallFunction, BasedStreamFunction, BasedChannelPublishFunction, Authorize } from '@based/functions';
1
+ import { BasedFunctionConfig, BasedRoutes, BasedRouteComplete, BasedFunctionConfigs, BasedFunctionConfigComplete } from '@based/functions';
2
2
  import { BasedServer } from '../server';
3
3
  export type FunctionConfig = {
4
4
  /** Default number to close channels & queries when no subscribers are active in ms */
@@ -19,145 +19,17 @@ export type FunctionConfig = {
19
19
  server: BasedServer;
20
20
  name?: string;
21
21
  path?: string;
22
- }) => null | (BasedFunctionRoute & {
23
- maxPayloadSize: number;
24
- rateLimitTokens: number;
25
- });
22
+ }) => null | BasedRouteComplete;
26
23
  install?: (opts: {
27
24
  server: BasedServer;
28
25
  name: string;
29
- function?: BasedSpec;
30
- }) => Promise<null | BasedSpec>;
26
+ config?: BasedFunctionConfig | BasedFunctionConfigComplete;
27
+ }) => Promise<null | BasedFunctionConfigComplete>;
31
28
  uninstall?: (opts: {
32
29
  server: BasedServer;
33
30
  name: string;
34
- function: BasedSpec;
31
+ config: BasedFunctionConfig | BasedFunctionConfigComplete;
35
32
  }) => Promise<boolean>;
36
- specs?: BasedSpecs;
33
+ configs?: BasedFunctionConfigs;
37
34
  routes?: BasedRoutes;
38
35
  };
39
- type Route = {
40
- /** Function name */
41
- name: string;
42
- /** In addition to the name, a function can have a custom path for HTTP requests.
43
- * For example: `path: 'my/custom/path'` will result in the function being
44
- * available with a request to `edgeurl.based.io/my/custom/path`
45
- */
46
- path?: string;
47
- /** In bytes. `-1` indicates no size limit */
48
- maxPayloadSize?: number;
49
- /** Cost in tokens for this function call. */
50
- rateLimitTokens?: number;
51
- /** A function marked as `public` will skip the call to authorize. */
52
- public?: boolean;
53
- /** Array of headers that this function expects to receive. */
54
- headers?: string[];
55
- /** A function marked as `internalOnly` will only be accessible from other server side functions,
56
- * and not through the public internet.
57
- */
58
- internalOnly?: boolean;
59
- /** Can hold extra information about a spec */
60
- data?: any;
61
- };
62
- export type BasedFunctionRoute = Route;
63
- export type BasedQueryFunctionRoute = Route & {
64
- query: true;
65
- };
66
- export type BasedStreamFunctionRoute = Route & {
67
- stream: true;
68
- };
69
- export type BasedChannelFunctionRoute = Route & {
70
- channel: true;
71
- publisher?: {
72
- public?: true;
73
- };
74
- };
75
- export type BasedInstallableFunctionSpec = {
76
- /** Version hash of the BasedFunction */
77
- checksum: number;
78
- /** Uinstall function after it has been idle, in ms */
79
- uninstallAfterIdleTime?: number;
80
- /** In ms */
81
- timeoutCounter?: number;
82
- /** Hook that fires on uninstall of the function e.g. to clean up database connections */
83
- uninstall?: UninstallFunction;
84
- /** Specific authorize for this function */
85
- authorize?: Authorize;
86
- };
87
- export type BasedQueryFunctionSpec = ({
88
- relay?: false;
89
- function: BasedQueryFunction;
90
- /** How long should the query function remain active after all subscribers are gone, in ms */
91
- closeAfterIdleTime?: number;
92
- /** When in an HTTP context, this function is called to wrap the return value of the BasedFunction, and inject headers and a status code */
93
- httpResponse?: HttpResponse;
94
- } | {
95
- relay: string;
96
- function?: BasedQueryFunction;
97
- closeAfterIdleTime?: number;
98
- httpResponse?: HttpResponse;
99
- }) & BasedQueryFunctionRoute & BasedInstallableFunctionSpec;
100
- export type BasedStreamFunctionSpec = {
101
- function: BasedStreamFunction;
102
- /** Maximum allowed execution time, in ms */
103
- maxExecTime?: number;
104
- } & BasedStreamFunctionRoute & BasedInstallableFunctionSpec;
105
- export type BasedFunctionSpec = ({
106
- relay: string;
107
- function?: BasedFunction;
108
- /** When in an HTTP context, this function is called to wrap the return value of the BasedFunction, and inject headers and a status code */
109
- httpResponse?: HttpResponse;
110
- /** Maximum allowed execution time, in ms */
111
- maxExecTime?: number;
112
- } | {
113
- relay?: false;
114
- function: BasedFunction;
115
- /** When in an HTTP context, this function is called to wrap the return value of the BasedFunction, and inject headers and a status code */
116
- httpResponse?: HttpResponse;
117
- /** Maximum allowed execution time, in ms */
118
- maxExecTime?: number;
119
- }) & BasedFunctionRoute & BasedInstallableFunctionSpec;
120
- export type BasedChannelFunctionSpec = ({
121
- relay?: false;
122
- function: BasedChannelFunction;
123
- /** Publish allows publishing to channels */
124
- publish: BasedChannelPublishFunction;
125
- /** How long should the channel remain active after all subscribers ae gone, in ms */
126
- closeAfterIdleTime?: number;
127
- /** When in an HTTP context, this function is called to wrap the return value of the publish endpoint, and inject headers and a status code */
128
- httpResponse?: HttpResponse;
129
- } | {
130
- relay: string;
131
- function?: BasedChannelFunction;
132
- /** Publish allows publishing to channels */
133
- publish?: BasedChannelPublishFunction;
134
- /** How long should the channel remain active after all subscribers ae gone, in ms */
135
- closeAfterIdleTime?: number;
136
- /** When in an HTTP context, this function is called to wrap the return value of the publish endpoint, and inject headers and a status code */
137
- httpResponse?: HttpResponse;
138
- }) & BasedChannelFunctionRoute & BasedInstallableFunctionSpec;
139
- export type BasedRoute = BasedFunctionRoute | BasedQueryFunctionRoute | BasedStreamFunctionRoute | BasedChannelFunctionRoute;
140
- export type BasedSpec<R extends BasedRoute = BasedRoute> = R extends BasedChannelFunctionRoute ? BasedChannelFunctionSpec : R extends BasedQueryFunctionRoute ? BasedQueryFunctionSpec : R extends BasedStreamFunctionRoute ? BasedStreamFunctionSpec : BasedFunctionSpec;
141
- export declare function isChannelFunctionSpec(fn: BasedSpec): fn is BasedChannelFunctionSpec;
142
- export declare function isQueryFunctionSpec(fn: BasedSpec): fn is BasedQueryFunctionSpec;
143
- export declare function isStreamFunctionSpec(fn: BasedSpec): fn is BasedQueryFunctionSpec;
144
- export declare function isFunctionSpec(fn: BasedSpec): fn is BasedSpec;
145
- export declare function isSpec(fn: any): fn is BasedSpec;
146
- export declare function isQueryFunctionRoute(fn: BasedRoute): fn is BasedQueryFunctionRoute;
147
- export declare function isStreamFunctionRoute(fn: BasedRoute): fn is BasedStreamFunctionRoute;
148
- export declare function isChannelFunctionRoute(fn: BasedRoute): fn is BasedChannelFunctionRoute;
149
- export declare function isFunctionRoute(fn: BasedRoute): fn is BasedFunctionRoute;
150
- export declare function isRoute(route: any): route is BasedRoute;
151
- export type BasedRoutes = {
152
- [name: string]: Partial<BasedRoute & {
153
- maxPayloadSize?: number;
154
- rateLimitTokens?: number;
155
- }>;
156
- };
157
- export type BasedSpecs = {
158
- [name: string]: Partial<BasedSpec & {
159
- maxPayloadSize?: number;
160
- rateLimitTokens?: number;
161
- }>;
162
- };
163
- export {};
@@ -1,54 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRoute = exports.isFunctionRoute = exports.isChannelFunctionRoute = exports.isStreamFunctionRoute = exports.isQueryFunctionRoute = exports.isSpec = exports.isFunctionSpec = exports.isStreamFunctionSpec = exports.isQueryFunctionSpec = exports.isChannelFunctionSpec = void 0;
4
- // ---------- specs -------------
5
- function isChannelFunctionSpec(fn) {
6
- return fn.channel === true;
7
- }
8
- exports.isChannelFunctionSpec = isChannelFunctionSpec;
9
- function isQueryFunctionSpec(fn) {
10
- return fn.query === true;
11
- }
12
- exports.isQueryFunctionSpec = isQueryFunctionSpec;
13
- function isStreamFunctionSpec(fn) {
14
- return fn.stream === true;
15
- }
16
- exports.isStreamFunctionSpec = isStreamFunctionSpec;
17
- function isFunctionSpec(fn) {
18
- return !('stream' in fn) && !('query' in fn);
19
- }
20
- exports.isFunctionSpec = isFunctionSpec;
21
- function isSpec(fn) {
22
- return (fn &&
23
- typeof fn === 'object' &&
24
- (isFunctionSpec(fn) ||
25
- isStreamFunctionSpec(fn) ||
26
- isQueryFunctionSpec(fn) ||
27
- isChannelFunctionSpec(fn)));
28
- }
29
- exports.isSpec = isSpec;
30
- // ---------- routes -------------
31
- function isQueryFunctionRoute(fn) {
32
- return fn.query === true;
33
- }
34
- exports.isQueryFunctionRoute = isQueryFunctionRoute;
35
- function isStreamFunctionRoute(fn) {
36
- return fn.stream === true;
37
- }
38
- exports.isStreamFunctionRoute = isStreamFunctionRoute;
39
- function isChannelFunctionRoute(fn) {
40
- return fn.channel === true;
41
- }
42
- exports.isChannelFunctionRoute = isChannelFunctionRoute;
43
- function isFunctionRoute(fn) {
44
- return !('stream' in fn) && !('query' in fn) && !('channel' in fn);
45
- }
46
- exports.isFunctionRoute = isFunctionRoute;
47
- function isRoute(route) {
48
- if (route && typeof route === 'object' && 'name' in route) {
49
- return true;
50
- }
51
- return false;
52
- }
53
- exports.isRoute = isRoute;
54
3
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/functions/types.ts"],"names":[],"mappings":";;;AA8LA,iCAAiC;AACjC,SAAgB,qBAAqB,CACnC,EAAa;IAEb,OAAQ,EAA+B,CAAC,OAAO,KAAK,IAAI,CAAA;AAC1D,CAAC;AAJD,sDAIC;AAED,SAAgB,mBAAmB,CACjC,EAAa;IAEb,OAAQ,EAA6B,CAAC,KAAK,KAAK,IAAI,CAAA;AACtD,CAAC;AAJD,kDAIC;AAED,SAAgB,oBAAoB,CAClC,EAAa;IAEb,OAAQ,EAA8B,CAAC,MAAM,KAAK,IAAI,CAAA;AACxD,CAAC;AAJD,oDAIC;AAED,SAAgB,cAAc,CAAC,EAAa;IAC1C,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC;AAFD,wCAEC;AAED,SAAgB,MAAM,CAAC,EAAO;IAC5B,OAAO,CACL,EAAE;QACF,OAAO,EAAE,KAAK,QAAQ;QACtB,CAAC,cAAc,CAAC,EAAE,CAAC;YACjB,oBAAoB,CAAC,EAAE,CAAC;YACxB,mBAAmB,CAAC,EAAE,CAAC;YACvB,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAC7B,CAAA;AACH,CAAC;AATD,wBASC;AAED,kCAAkC;AAClC,SAAgB,oBAAoB,CAClC,EAAc;IAEd,OAAQ,EAA8B,CAAC,KAAK,KAAK,IAAI,CAAA;AACvD,CAAC;AAJD,oDAIC;AAED,SAAgB,qBAAqB,CACnC,EAAc;IAEd,OAAQ,EAA+B,CAAC,MAAM,KAAK,IAAI,CAAA;AACzD,CAAC;AAJD,sDAIC;AAED,SAAgB,sBAAsB,CACpC,EAAc;IAEd,OAAQ,EAAgC,CAAC,OAAO,KAAK,IAAI,CAAA;AAC3D,CAAC;AAJD,wDAIC;AAED,SAAgB,eAAe,CAAC,EAAc;IAC5C,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;AACpE,CAAC;AAFD,0CAEC;AAED,SAAgB,OAAO,CAAC,KAAU;IAChC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE;QACzD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AALD,0BAKC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/functions/types.ts"],"names":[],"mappings":""}
@@ -6,7 +6,7 @@ const error_1 = require("../../error");
6
6
  const sendError_1 = require("../../sendError");
7
7
  const httpFunction = async (route, spec, server, ctx, payload) => {
8
8
  spec
9
- .function(server.client, payload, ctx)
9
+ .fn(server.client, payload, ctx)
10
10
  .then(async (result) => {
11
11
  if (!ctx.session) {
12
12
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/incoming/http/function.ts"],"names":[],"mappings":";;;AAEA,6DAAyD;AACzD,uCAA4C;AAC5C,+CAA2C;AAGpC,MAAM,YAAY,GAAqC,KAAK,EACjE,KAAyB,EACzB,IAAuB,EACvB,MAAM,EACN,GAAG,EACH,OAAO,EACP,EAAE;IACF,IAAI;SACD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;SACrC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,OAAM;SACP;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,IAAI,GAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC/D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;oBAChB,OAAM;iBACP;gBACD,IAAI,CAAC,MAAM,EAAE;oBACX,IAAA,mCAAgB,EAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;iBAC7C;qBAAM;oBACL,IAAA,mCAAgB,EACd,GAAG,EACH,YAAY,EACZ,OAAO,EACP,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CACrD,CAAA;iBACF;YACH,CAAC,CAAA;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YAClE,OAAM;SACP;QAED,IAAA,mCAAgB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC/B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,IAAA,qBAAS,EAAC,MAAM,EAAE,GAAG,EAAE,sBAAc,CAAC,aAAa,EAAE;YACnD,GAAG;YACH,KAAK;SACN,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAzCY,QAAA,YAAY,gBAyCxB"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/incoming/http/function.ts"],"names":[],"mappings":";;;AAMA,6DAAyD;AACzD,uCAA4C;AAC5C,+CAA2C;AAGpC,MAAM,YAAY,GAAqC,KAAK,EACjE,KAA6B,EAC7B,IAAqC,EACrC,MAAM,EACN,GAAG,EACH,OAAO,EACP,EAAE;IACF,IAAI;SACD,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;SAC/B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,OAAM;SACP;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,IAAI,GAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC/D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;oBAChB,OAAM;iBACP;gBACD,IAAI,CAAC,MAAM,EAAE;oBACX,IAAA,mCAAgB,EAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;iBAC7C;qBAAM;oBACL,IAAA,mCAAgB,EACd,GAAG,EACH,YAAY,EACZ,OAAO,EACP,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CACrD,CAAA;iBACF;YACH,CAAC,CAAA;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YAClE,OAAM;SACP;QAED,IAAA,mCAAgB,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC/B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,IAAA,qBAAS,EAAC,MAAM,EAAE,GAAG,EAAE,sBAAc,CAAC,aAAa,EAAE;YACnD,GAAG;YACH,KAAK;SACN,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAzCY,QAAA,YAAY,gBAyCxB"}
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.httpHandler = void 0;
7
+ const functions_1 = require("@based/functions");
7
8
  const function_1 = require("./function");
8
9
  const streamFunction_1 = require("./streamFunction");
9
- const functions_1 = require("../../functions");
10
10
  const query_1 = require("./query");
11
11
  const readBody_1 = require("./readBody");
12
12
  const error_1 = require("../../error");
@@ -54,8 +54,8 @@ const httpHandler = (server, req, res) => {
54
54
  req,
55
55
  },
56
56
  }, error_1.BasedErrorCode.FunctionNotFound, path[1]
57
- ? { route: { name: path[1] } }
58
- : { route: { name: '', path: url } });
57
+ ? { route: { name: path[1], type: 'function' } }
58
+ : { route: { name: '', path: url, type: 'function' } });
59
59
  return;
60
60
  }
61
61
  let authState = {};
@@ -124,7 +124,7 @@ const httpHandler = (server, req, res) => {
124
124
  }
125
125
  }
126
126
  }
127
- if ((0, functions_1.isQueryFunctionRoute)(route)) {
127
+ if ((0, functions_1.isBasedRoute)('query', route)) {
128
128
  // Handle HEAD
129
129
  if (method !== 'post' && method !== 'get') {
130
130
  (0, sendError_1.sendError)(server, ctx, error_1.BasedErrorCode.MethodNotAllowed, route);
@@ -138,7 +138,7 @@ const httpHandler = (server, req, res) => {
138
138
  });
139
139
  return;
140
140
  }
141
- if ((0, functions_1.isStreamFunctionRoute)(route)) {
141
+ if ((0, functions_1.isBasedRoute)('stream', route)) {
142
142
  if (method === 'options') {
143
143
  (0, sendHttpResponse_1.end)(ctx);
144
144
  return;
@@ -155,17 +155,17 @@ const httpHandler = (server, req, res) => {
155
155
  (0, streamFunction_1.httpStreamFunction)(server, ctx, route);
156
156
  return;
157
157
  }
158
- if ((0, functions_1.isChannelFunctionRoute)(route)) {
158
+ if ((0, functions_1.isBasedRoute)('channel', route)) {
159
159
  if (method !== 'post' && method !== 'get') {
160
160
  (0, sendError_1.sendError)(server, ctx, error_1.BasedErrorCode.MethodNotAllowed, route);
161
161
  return;
162
162
  }
163
163
  handleRequest(server, method, ctx, route, (payload) => {
164
- (0, authorize_1.authorize)(route, server, ctx, payload, publish_1.httpPublish, undefined, undefined, route.publisher?.public || route.public);
164
+ (0, authorize_1.authorize)(route, server, ctx, payload, publish_1.httpPublish, undefined, undefined, route.publicPublisher || route.public);
165
165
  });
166
166
  return;
167
167
  }
168
- if ((0, functions_1.isFunctionRoute)(route)) {
168
+ if ((0, functions_1.isBasedRoute)('function', route)) {
169
169
  if (method !== 'post' && method !== 'get') {
170
170
  (0, sendError_1.sendError)(server, ctx, error_1.BasedErrorCode.MethodNotAllowed, route);
171
171
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/http/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/http/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const sendHttpResponse_1 = require("../../sendHttpResponse");
5
5
  const error_1 = require("../../error");
6
6
  const sendError_1 = require("../../sendError");
7
7
  const installFn_1 = require("../../installFn");
8
- const observable_1 = require("../../observable");
8
+ const query_1 = require("../../query");
9
9
  const channel_1 = require("../../channel");
10
10
  const httpPublish = async (route, spec, server, ctx, payload) => {
11
11
  // parse channel payload / msg
@@ -43,7 +43,7 @@ const httpPublish = async (route, spec, server, ctx, payload) => {
43
43
  }
44
44
  }
45
45
  const name = route.name;
46
- const id = (0, observable_1.genObservableId)(name, channelPayload);
46
+ const id = (0, query_1.genObservableId)(name, channelPayload);
47
47
  (0, installFn_1.installFn)(server, ctx, route).then(async (spec) => {
48
48
  if (spec === null) {
49
49
  return;
@@ -56,7 +56,7 @@ const httpPublish = async (route, spec, server, ctx, payload) => {
56
56
  (0, channel_1.extendChannel)(server, server.activeChannelsById.get(id));
57
57
  }
58
58
  try {
59
- spec.publish(server.client, channelPayload, msg, id, ctx);
59
+ spec.publisher(server.client, channelPayload, msg, id, ctx);
60
60
  if (spec.httpResponse) {
61
61
  const send = (responseData, headers, status) => {
62
62
  (0, sendHttpResponse_1.sendHttpResponse)(ctx, responseData, headers, status !== undefined