spiceflow 1.4.0 → 1.4.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.
@@ -1,16 +1,3 @@
1
- var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
2
- var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
3
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
5
- return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
6
- function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
7
- function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
8
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
9
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
10
- function fulfill(value) { resume("next", value); }
11
- function reject(value) { resume("throw", value); }
12
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
13
- };
14
1
  import { expect, test } from 'vitest';
15
2
  import { Spiceflow } from './spiceflow.js';
16
3
  import { openapi } from './openapi.js';
@@ -76,13 +63,11 @@ test('openapi response', async () => {
76
63
  name: z.string().optional(),
77
64
  }),
78
65
  })
79
- .get('/stream', function () {
80
- return __asyncGenerator(this, arguments, function* () {
81
- for (let i = 0; i < 3; i++) {
82
- yield yield __await({ count: i });
83
- yield __await(new Promise((resolve) => setTimeout(resolve, 10)));
84
- }
85
- });
66
+ .get('/stream', async function* () {
67
+ for (let i = 0; i < 3; i++) {
68
+ yield { count: i };
69
+ await new Promise((resolve) => setTimeout(resolve, 10));
70
+ }
86
71
  }, {
87
72
  detail: {
88
73
  description: 'This is a stream',
@@ -91,13 +76,11 @@ test('openapi response', async () => {
91
76
  // count: z.number(),
92
77
  // }),
93
78
  })
94
- .get('/streamWithSchema', function () {
95
- return __asyncGenerator(this, arguments, function* () {
96
- for (let i = 0; i < 3; i++) {
97
- yield yield __await({ count: i });
98
- yield __await(new Promise((resolve) => setTimeout(resolve, 10)));
99
- }
100
- });
79
+ .get('/streamWithSchema', async function* () {
80
+ for (let i = 0; i < 3; i++) {
81
+ yield { count: i };
82
+ await new Promise((resolve) => setTimeout(resolve, 10));
83
+ }
101
84
  }, {
102
85
  detail: {
103
86
  description: 'This is a stream with schema',
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.test.js","sourceRoot":"","sources":["../src/openapi.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC9B,GAAG,CACF,OAAO,CAAC;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,OAAO;SACjB;KACF,CAAC,CACH;SACA,GAAG,CACF,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CACrC,UAAU,EACV,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACb,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;YACxB,+BAA+B;YAE/B,OAAO;gBACL,OAAO,EAAE,KAAK;aACf,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAA;IAClB,CAAC,EACD;QACE,QAAQ,EAAE;YACR,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;YACf,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;gBACZ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;aACpB,CAAC;SACH;KACF,CACF,CACF;SACA,KAAK,CACJ,UAAU,EACV,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACjC,OAAO,IAAI,CAAA;IACb,CAAC,EACD;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;KACH,CACF;SAEA,GAAG,CACF,cAAc,EACd,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;QACrB,OAAO,KAAK,CAAA;IACd,CAAC,EACD;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;KACH,CACF;SACA,IAAI,CACH,cAAc,EACd,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;QACrB,OAAO,KAAK,CAAA;IACd,CAAC,EACD;QACE,MAAM,EAAE;YACN,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,oBAAoB;SAClC;QACD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;QACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;KACH,CACF;SACA,GAAG,CACF,SAAS,EACT;;YACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA,CAAA;gBAClB,cAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA,CAAA;YACzD,CAAC;QACH,CAAC;KAAA,EACD;QACE,MAAM,EAAE;YACN,WAAW,EAAE,kBAAkB;SAChC;QACD,uBAAuB;QACvB,uBAAuB;QACvB,MAAM;KACP,CACF;SACA,GAAG,CACF,mBAAmB,EACnB;;YACE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,oBAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA,CAAA;gBAClB,cAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA,CAAA;YACzD,CAAC;QACH,CAAC;KAAA,EACD;QACE,MAAM,EAAE;YACN,WAAW,EAAE,8BAA8B;SAC5C;QACD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC;KACH,CACF;SACA,IAAI,CACH,qBAAqB,EACrB,GAAG,EAAE;QACH,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE;YAC5B,OAAO,EAAE;gBACP,cAAc,EAAE,qBAAqB;aACtC;SACF,CAAC,CAAA;IACJ,CAAC,EACD;QACE,MAAM,EAAE;YACN,WAAW,EAAE,oCAAoC;SAClD;QACD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,CAAC;QACF,IAAI,EAAE,qBAAqB;KAC5B,CACF;SACA,GAAG,CACF,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CACrC,UAAU,EACV,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EACzB;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,CAAC;KACH,CACF,CACF,CAAA;IACH,MAAM,aAAa,GAAG,MAAM,GAAG;SAC5B,MAAM,CAAC,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAAC;SAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACxB,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoW3C,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"openapi.test.js","sourceRoot":"","sources":["../src/openapi.test.ts"],"names":[],"mappings":"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"}
package/dist/spiceflow.js CHANGED
@@ -1,21 +1,3 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- var __asyncValues = (this && this.__asyncValues) || function (o) {
13
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
14
- var m = o[Symbol.asyncIterator], i;
15
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
16
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
17
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
18
- };
19
1
  import { Type } from '@sinclair/typebox';
20
2
  export { Type as t };
21
3
  import addFormats from 'ajv-formats';
@@ -46,6 +28,17 @@ const notFoundHandler = (c) => {
46
28
  return new Response('Not Found', { status: 404 });
47
29
  };
48
30
  export class Spiceflow {
31
+ id = globalIndex++;
32
+ router = new OriginalRouter();
33
+ middlewares = [];
34
+ onErrorHandlers = [];
35
+ routes = [];
36
+ defaultState = {};
37
+ topLevelApp;
38
+ /** @internal */
39
+ prefix;
40
+ /** @internal */
41
+ childrenApps = [];
49
42
  /** @internal */
50
43
  getAllRoutes() {
51
44
  let root = this.topLevelApp || this;
@@ -54,16 +47,15 @@ export class Spiceflow {
54
47
  const prefix = this.getAppAndParents(x)
55
48
  .map((x) => x.prefix)
56
49
  .join('');
57
- return x.routes.map((x) => (Object.assign(Object.assign({}, x), { path: prefix + x.path })));
50
+ return x.routes.map((x) => ({ ...x, path: prefix + x.path }));
58
51
  });
59
52
  return allRoutes;
60
53
  }
61
- add(_a) {
62
- var { method, path, hooks, handler } = _a, rest = __rest(_a, ["method", "path", "hooks", "handler"]);
63
- let bodySchema = hooks === null || hooks === void 0 ? void 0 : hooks.body;
54
+ add({ method, path, hooks, handler, ...rest }) {
55
+ let bodySchema = hooks?.body;
64
56
  let validateBody = getValidateFunction(bodySchema);
65
- let validateQuery = getValidateFunction(hooks === null || hooks === void 0 ? void 0 : hooks.query);
66
- let validateParams = getValidateFunction(hooks === null || hooks === void 0 ? void 0 : hooks.params);
57
+ let validateQuery = getValidateFunction(hooks?.query);
58
+ let validateParams = getValidateFunction(hooks?.params);
67
59
  if (typeof handler === 'function' && !handler.name) {
68
60
  Object.defineProperty(handler, 'name', {
69
61
  value: path,
@@ -71,12 +63,19 @@ export class Spiceflow {
71
63
  });
72
64
  }
73
65
  // remove trailing slash which can cause problems
74
- path = (path === null || path === void 0 ? void 0 : path.replace(/\/$/, '')) || '/';
66
+ path = path?.replace(/\/$/, '') || '/';
75
67
  const store = this.router.register(path);
76
- let route = Object.assign(Object.assign({}, rest), { type: (hooks === null || hooks === void 0 ? void 0 : hooks.type) || '', method: (method || ''), path: path || '', handler: handler, hooks,
68
+ let route = {
69
+ ...rest,
70
+ type: hooks?.type || '',
71
+ method: (method || ''),
72
+ path: path || '',
73
+ handler: handler,
74
+ hooks,
77
75
  validateBody,
78
76
  validateParams,
79
- validateQuery });
77
+ validateQuery,
78
+ };
80
79
  this.routes.push(route);
81
80
  store[method] = route;
82
81
  }
@@ -115,7 +114,7 @@ export class Spiceflow {
115
114
  }
116
115
  if (method === 'HEAD') {
117
116
  let internalRouteGet = medleyRoute.store['GET'];
118
- if (!(internalRouteGet === null || internalRouteGet === void 0 ? void 0 : internalRouteGet.handler)) {
117
+ if (!internalRouteGet?.handler) {
119
118
  return;
120
119
  }
121
120
  return {
@@ -160,26 +159,17 @@ export class Spiceflow {
160
159
  * @param options {@link RouterOptions} {@link Platform}
161
160
  */
162
161
  constructor(options = {}) {
163
- this.id = globalIndex++;
164
- this.router = new OriginalRouter();
165
- this.middlewares = [];
166
- this.onErrorHandlers = [];
167
- this.routes = [];
168
- this.defaultState = {};
169
- /** @internal */
170
- this.childrenApps = [];
171
- this._routes = {};
172
- this._types = {
173
- Prefix: '',
174
- Scoped: false,
175
- Singleton: {},
176
- Definitions: {},
177
- Metadata: {},
178
- };
179
- this.scoped = true;
180
162
  this.scoped = options.scoped;
181
163
  this.prefix = options.basePath;
182
164
  }
165
+ _routes = {};
166
+ _types = {
167
+ Prefix: '',
168
+ Scoped: false,
169
+ Singleton: {},
170
+ Definitions: {},
171
+ Metadata: {},
172
+ };
183
173
  post(path, handler, hook) {
184
174
  this.add({ method: 'POST', path, handler: handler, hooks: hook });
185
175
  return this;
@@ -214,25 +204,23 @@ export class Spiceflow {
214
204
  this.add({ method: 'HEAD', path, handler: handler, hooks: hook });
215
205
  return this;
216
206
  }
207
+ scoped = true;
217
208
  use(appOrHandler) {
218
- var _a;
219
209
  if (appOrHandler instanceof Spiceflow) {
220
210
  this.childrenApps.push(appOrHandler);
221
211
  }
222
212
  else if (typeof appOrHandler === 'function') {
223
- (_a = this.middlewares) !== null && _a !== void 0 ? _a : (this.middlewares = []);
213
+ this.middlewares ??= [];
224
214
  this.middlewares.push(appOrHandler);
225
215
  }
226
216
  return this;
227
217
  }
228
218
  onError(handler) {
229
- var _a;
230
- (_a = this.onErrorHandlers) !== null && _a !== void 0 ? _a : (this.onErrorHandlers = []);
219
+ this.onErrorHandlers ??= [];
231
220
  this.onErrorHandlers.push(handler);
232
221
  return this;
233
222
  }
234
223
  async handle(request) {
235
- var _a, _b, _c, _d;
236
224
  let u = new URL(request.url, 'http://localhost');
237
225
  const self = this;
238
226
  let path = u.pathname + u.search;
@@ -249,22 +237,27 @@ export class Spiceflow {
249
237
  let { params: _params, app: { defaultState }, } = route;
250
238
  const middlewares = appsInScope.flatMap((x) => x.middlewares);
251
239
  let state = structuredClone(defaultState);
252
- let content = (_b = (_a = route === null || route === void 0 ? void 0 : route.internalRoute) === null || _a === void 0 ? void 0 : _a.hooks) === null || _b === void 0 ? void 0 : _b.content;
253
- if ((_c = route.internalRoute) === null || _c === void 0 ? void 0 : _c.validateBody) {
240
+ let content = route?.internalRoute?.hooks?.content;
241
+ if (route.internalRoute?.validateBody) {
254
242
  // TODO don't clone the request
255
243
  let typedRequest = request instanceof SpiceflowRequest
256
244
  ? request
257
245
  : new SpiceflowRequest(u, request);
258
- typedRequest.validateBody = (_d = route.internalRoute) === null || _d === void 0 ? void 0 : _d.validateBody;
246
+ typedRequest.validateBody = route.internalRoute?.validateBody;
259
247
  request = typedRequest;
260
248
  }
261
249
  let index = 0;
262
- let context = Object.assign(Object.assign({}, defaultContext), { request,
250
+ let context = {
251
+ ...defaultContext,
252
+ request,
263
253
  state,
264
- path, query: parseQuery((u.search || '').slice(1)), params: _params, redirect });
254
+ path,
255
+ query: parseQuery((u.search || '').slice(1)),
256
+ params: _params,
257
+ redirect,
258
+ };
265
259
  let handlerResponse;
266
260
  async function getResForError(err) {
267
- var _a;
268
261
  if (isResponse(err))
269
262
  return err;
270
263
  let res = await self.runErrorHandlers({
@@ -274,17 +267,16 @@ export class Spiceflow {
274
267
  });
275
268
  if (isResponse(res))
276
269
  return res;
277
- let status = (_a = err === null || err === void 0 ? void 0 : err.status) !== null && _a !== void 0 ? _a : 500;
278
- res || (res = new Response(JSON.stringify({ message: (err === null || err === void 0 ? void 0 : err.message) || 'Internal Server Error' }), {
270
+ let status = err?.status ?? 500;
271
+ res ||= new Response(JSON.stringify({ message: err?.message || 'Internal Server Error' }), {
279
272
  status,
280
273
  headers: {
281
274
  'content-type': 'application/json',
282
275
  },
283
- }));
276
+ });
284
277
  return res;
285
278
  }
286
279
  const next = async () => {
287
- var _a, _b, _c;
288
280
  try {
289
281
  if (index < middlewares.length) {
290
282
  const middleware = middlewares[index];
@@ -303,9 +295,9 @@ export class Spiceflow {
303
295
  if (handlerResponse) {
304
296
  return handlerResponse;
305
297
  }
306
- context.query = runValidation(context.query, (_a = route.internalRoute) === null || _a === void 0 ? void 0 : _a.validateQuery);
307
- context.params = runValidation(context.params, (_b = route.internalRoute) === null || _b === void 0 ? void 0 : _b.validateParams);
308
- const res = await ((_c = route.internalRoute) === null || _c === void 0 ? void 0 : _c.handler(context));
298
+ context.query = runValidation(context.query, route.internalRoute?.validateQuery);
299
+ context.params = runValidation(context.params, route.internalRoute?.validateParams);
300
+ const res = await route.internalRoute?.handler(context);
309
301
  if (isAsyncIterable(res)) {
310
302
  handlerResponse = await this.handleStream({
311
303
  generator: res,
@@ -474,13 +466,12 @@ export class Spiceflow {
474
466
  let init = generator.next();
475
467
  if (init instanceof Promise)
476
468
  init = await init;
477
- if (init === null || init === void 0 ? void 0 : init.done) {
469
+ if (init?.done) {
478
470
  return await turnHandlerResultIntoResponse(init.value, route);
479
471
  }
480
472
  let self = this;
481
473
  return new Response(new ReadableStream({
482
474
  async start(controller) {
483
- var _a, e_1, _b, _c;
484
475
  let end = false;
485
476
  // Set up ping interval
486
477
  const pingInterval = setInterval(() => {
@@ -488,7 +479,7 @@ export class Spiceflow {
488
479
  controller.enqueue(Buffer.from('\n'));
489
480
  }
490
481
  }, 10 * 1000);
491
- request === null || request === void 0 ? void 0 : request.signal.addEventListener('abort', async () => {
482
+ request?.signal.addEventListener('abort', async () => {
492
483
  end = true;
493
484
  clearInterval(pingInterval);
494
485
  // Using return() instead of throw() because:
@@ -499,38 +490,26 @@ export class Spiceflow {
499
490
  try {
500
491
  await generator.return(undefined);
501
492
  }
502
- catch (_a) {
493
+ catch {
503
494
  // Ignore errors from stopping generator
504
495
  }
505
496
  }
506
497
  try {
507
498
  controller.close();
508
499
  }
509
- catch (_b) {
500
+ catch {
510
501
  // nothing
511
502
  }
512
503
  });
513
- if ((init === null || init === void 0 ? void 0 : init.value) !== undefined && (init === null || init === void 0 ? void 0 : init.value) !== null)
504
+ if (init?.value !== undefined && init?.value !== null)
514
505
  controller.enqueue(Buffer.from('event: message\ndata: ' + JSON.stringify(init.value) + '\n\n'));
515
506
  try {
516
- try {
517
- for (var _d = true, generator_1 = __asyncValues(generator), generator_1_1; generator_1_1 = await generator_1.next(), _a = generator_1_1.done, !_a; _d = true) {
518
- _c = generator_1_1.value;
519
- _d = false;
520
- const chunk = _c;
521
- if (end)
522
- break;
523
- if (chunk === undefined || chunk === null)
524
- continue;
525
- controller.enqueue(Buffer.from('event: message\ndata: ' + JSON.stringify(chunk) + '\n\n'));
526
- }
527
- }
528
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
529
- finally {
530
- try {
531
- if (!_d && !_a && (_b = generator_1.return)) await _b.call(generator_1);
532
- }
533
- finally { if (e_1) throw e_1.error; }
507
+ for await (const chunk of generator) {
508
+ if (end)
509
+ break;
510
+ if (chunk === undefined || chunk === null)
511
+ continue;
512
+ controller.enqueue(Buffer.from('event: message\ndata: ' + JSON.stringify(chunk) + '\n\n'));
534
513
  }
535
514
  }
536
515
  catch (error) {
@@ -547,7 +526,7 @@ export class Spiceflow {
547
526
  try {
548
527
  controller.close();
549
528
  }
550
- catch (_e) {
529
+ catch {
551
530
  // nothing
552
531
  }
553
532
  },
@@ -626,13 +605,13 @@ function bfsFind(tree, onNode) {
626
605
  return;
627
606
  }
628
607
  export class SpiceflowRequest extends Request {
608
+ validateBody;
629
609
  async json() {
630
610
  const body = (await super.json());
631
611
  return runValidation(body, this.validateBody);
632
612
  }
633
613
  }
634
614
  export function bfs(tree) {
635
- var _a;
636
615
  const queue = [tree];
637
616
  let nodes = [];
638
617
  while (queue.length > 0) {
@@ -641,14 +620,13 @@ export function bfs(tree) {
641
620
  nodes.push(node);
642
621
  }
643
622
  // const result = onNode(node)
644
- if ((_a = node === null || node === void 0 ? void 0 : node.childrenApps) === null || _a === void 0 ? void 0 : _a.length) {
623
+ if (node?.childrenApps?.length) {
645
624
  queue.push(...node.childrenApps);
646
625
  }
647
626
  }
648
627
  return nodes;
649
628
  }
650
629
  export async function turnHandlerResultIntoResponse(result, route) {
651
- var _a, _b, _c, _d, _e, _f;
652
630
  // if user returns a promise, await it
653
631
  if (result instanceof Promise) {
654
632
  result = await result;
@@ -657,14 +635,14 @@ export async function turnHandlerResultIntoResponse(result, route) {
657
635
  return result;
658
636
  }
659
637
  if (route.type) {
660
- if ((_a = route.type) === null || _a === void 0 ? void 0 : _a.includes('multipart/form-data')) {
638
+ if (route.type?.includes('multipart/form-data')) {
661
639
  if (!(result instanceof Response)) {
662
- throw new Error(`Invalid form data returned from route handler ${route.path} - expected Response but got ${((_b = result === null || result === void 0 ? void 0 : result.constructor) === null || _b === void 0 ? void 0 : _b.name) || typeof result}. FormData cannot be returned directly - it must be wrapped in a Response object with the appropriate content-type header.`);
640
+ throw new Error(`Invalid form data returned from route handler ${route.path} - expected Response but got ${result?.constructor?.name || typeof result}. FormData cannot be returned directly - it must be wrapped in a Response object with the appropriate content-type header.`);
663
641
  }
664
642
  }
665
- if ((_c = route.type) === null || _c === void 0 ? void 0 : _c.includes('application/x-www-form-urlencoded')) {
643
+ if (route.type?.includes('application/x-www-form-urlencoded')) {
666
644
  if (!(result instanceof URLSearchParams)) {
667
- throw new Error(`Invalid URL encoded data returned from route handler ${route.path} - expected URLSearchParams but got ${((_d = result === null || result === void 0 ? void 0 : result.constructor) === null || _d === void 0 ? void 0 : _d.name) || typeof result}`);
645
+ throw new Error(`Invalid URL encoded data returned from route handler ${route.path} - expected URLSearchParams but got ${result?.constructor?.name || typeof result}`);
668
646
  }
669
647
  return new Response(result, {
670
648
  headers: {
@@ -672,9 +650,9 @@ export async function turnHandlerResultIntoResponse(result, route) {
672
650
  },
673
651
  });
674
652
  }
675
- if ((_e = route.type) === null || _e === void 0 ? void 0 : _e.includes('text/plain')) {
653
+ if (route.type?.includes('text/plain')) {
676
654
  if (typeof result !== 'string') {
677
- throw new Error(`Invalid text returned from route handler ${route.path} - expected string but got ${((_f = result === null || result === void 0 ? void 0 : result.constructor) === null || _f === void 0 ? void 0 : _f.name) || typeof result}`);
655
+ throw new Error(`Invalid text returned from route handler ${route.path} - expected string but got ${result?.constructor?.name || typeof result}`);
678
656
  }
679
657
  return new Response(result, {
680
658
  headers: {
@@ -683,7 +661,7 @@ export async function turnHandlerResultIntoResponse(result, route) {
683
661
  });
684
662
  }
685
663
  }
686
- return new Response(JSON.stringify(result !== null && result !== void 0 ? result : null, null, 2), {
664
+ return new Response(JSON.stringify(result ?? null, null, 2), {
687
665
  headers: {
688
666
  'content-type': 'application/json',
689
667
  },
@@ -1 +1 @@
1
- {"version":3,"file":"spiceflow.js","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiceflow.js","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}