spiceflow 1.1.18 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/openapi.js CHANGED
@@ -12,8 +12,20 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { isZodSchema, Spiceflow } from './spiceflow.js';
13
13
  let excludeMethods = ['OPTIONS'];
14
14
  import deepClone from 'lodash.clonedeep';
15
+ import { z } from 'zod';
15
16
  import zodToJsonSchema from 'zod-to-json-schema';
16
- export const toOpenAPIPath = (path) => path
17
+ const extractParamNames = (path) => {
18
+ return path.split('/').reduce((params, segment) => {
19
+ if (segment.startsWith(':')) {
20
+ let param = segment.slice(1);
21
+ if (param.endsWith('?'))
22
+ param = param.slice(0, -1);
23
+ params.push(param);
24
+ }
25
+ return params;
26
+ }, []);
27
+ };
28
+ const toOpenAPIPath = (path) => path
17
29
  .split('/')
18
30
  .map((x) => {
19
31
  if (x.startsWith(':')) {
@@ -25,7 +37,7 @@ export const toOpenAPIPath = (path) => path
25
37
  return x;
26
38
  })
27
39
  .join('/');
28
- export const mapProperties = (name, schema, models) => {
40
+ const mapProperties = (name, schema, models) => {
29
41
  var _a;
30
42
  if (schema === undefined)
31
43
  return [];
@@ -64,8 +76,8 @@ const mapTypesResponse = (types, schema) => {
64
76
  };
65
77
  return responses;
66
78
  };
67
- export const capitalize = (word) => word.charAt(0).toUpperCase() + word.slice(1);
68
- export const generateOperationId = (method, paths) => {
79
+ const capitalize = (word) => word.charAt(0).toUpperCase() + word.slice(1);
80
+ const generateOperationId = (method, paths) => {
69
81
  let operationId = method.toLowerCase();
70
82
  if (paths === '/')
71
83
  return operationId + 'Index';
@@ -79,33 +91,68 @@ export const generateOperationId = (method, paths) => {
79
91
  }
80
92
  return operationId;
81
93
  };
82
- export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
83
- var _a, _b, _c;
84
- if (hook)
85
- hook = deepClone(hook);
86
- // TODO if a route uses an async generator, add text/event-stream. if a roue does not add an explicit schema, use all possible content types
87
- const contentType = (_a = hook === null || hook === void 0 ? void 0 : hook.type) !== null && _a !== void 0 ? _a : [
88
- 'application/json',
89
- // 'multipart/form-data',
90
- // 'text/plain',
91
- ];
92
- path = toOpenAPIPath(path);
93
- const contentTypes = typeof contentType === 'string'
94
- ? [contentType]
95
- : contentType !== null && contentType !== void 0 ? contentType : ['application/json'];
94
+ const registerSchemaPath = ({ schema, route, models, }) => {
95
+ var _a, _b;
96
+ const hook = route.hooks ? deepClone(route.hooks) : undefined;
97
+ let contentTypes = ['application/json'];
98
+ if (isAsyncGenerator(route.handler) && !((_a = route.hooks) === null || _a === void 0 ? void 0 : _a.response)) {
99
+ contentTypes = ['text/event-stream'];
100
+ }
101
+ else if (hook === null || hook === void 0 ? void 0 : hook.type) {
102
+ contentTypes = Array.isArray(hook.type) ? hook.type : [hook.type];
103
+ }
104
+ const path = toOpenAPIPath(route.path);
96
105
  const bodySchema = getJsonSchema(hook === null || hook === void 0 ? void 0 : hook.body);
97
- const paramsSchema = hook === null || hook === void 0 ? void 0 : hook.params;
106
+ let paramsSchema = hook === null || hook === void 0 ? void 0 : hook.params;
107
+ if (route.path.includes(':') && !paramsSchema) {
108
+ const paramNames = extractParamNames(route.path);
109
+ if (paramNames.length) {
110
+ // Create a schema object with string parameters for each URL param
111
+ const paramSchemaObject = {};
112
+ for (const param of paramNames) {
113
+ paramSchemaObject[param] = z.string();
114
+ }
115
+ paramsSchema = z.object(paramSchemaObject);
116
+ }
117
+ }
98
118
  // const headerSchema = hook?.headers
99
119
  const querySchema = hook === null || hook === void 0 ? void 0 : hook.query;
100
120
  let responseSchema = hook === null || hook === void 0 ? void 0 : hook.response;
101
- let openapiResponse = {};
121
+ const defaultResponseSchema = {
122
+ // '500': {
123
+ // description: 'Internal Server Error',
124
+ // content: {
125
+ // 'text/plain': {
126
+ // schema: {
127
+ // type: 'string',
128
+ // },
129
+ // },
130
+ // },
131
+ // },
132
+ '200': {
133
+ description: '',
134
+ content: {
135
+ '*/*': {
136
+ schema: {},
137
+ },
138
+ },
139
+ },
140
+ default: {
141
+ description: '',
142
+ content: {
143
+ '*/*': {
144
+ schema: {},
145
+ },
146
+ },
147
+ },
148
+ };
149
+ let openapiResponse = defaultResponseSchema;
102
150
  if (typeof responseSchema === 'object') {
103
151
  const isStatusMap = Object.keys(responseSchema).every((key) => typeof key === 'number' || Number.isInteger(Number(key)));
104
152
  if (!isStatusMap) {
105
153
  let jsonSchema = getJsonSchema(responseSchema);
106
154
  const { type, properties, required, additionalProperties, patternProperties } = jsonSchema, rest = __rest(jsonSchema, ["type", "properties", "required", "additionalProperties", "patternProperties"]);
107
- openapiResponse = {
108
- '200': Object.assign(Object.assign({}, rest), { description: rest.description || '', content: mapTypesResponse(contentTypes, type === 'object' || type === 'array'
155
+ openapiResponse = Object.assign(Object.assign({}, defaultResponseSchema), { '200': Object.assign(Object.assign({}, rest), { description: rest.description || '', content: mapTypesResponse(contentTypes, type === 'object' || type === 'array'
109
156
  ? {
110
157
  type,
111
158
  properties,
@@ -113,8 +160,7 @@ export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
113
160
  items: jsonSchema.items,
114
161
  required,
115
162
  }
116
- : jsonSchema) }),
117
- };
163
+ : jsonSchema) }) });
118
164
  }
119
165
  else {
120
166
  Object.entries(responseSchema).forEach(([key, value]) => {
@@ -145,28 +191,31 @@ export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
145
191
  if (!(responseSchema in models))
146
192
  return;
147
193
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
148
- const _d = getJsonSchema(models[responseSchema]), { type, properties, required, additionalProperties: _1, patternProperties: _2 } = _d, rest = __rest(_d, ["type", "properties", "required", "additionalProperties", "patternProperties"]);
149
- openapiResponse = {
194
+ const _c = getJsonSchema(models[responseSchema]), { type, properties, required, additionalProperties: _1, patternProperties: _2 } = _c, rest = __rest(_c, ["type", "properties", "required", "additionalProperties", "patternProperties"]);
195
+ openapiResponse = Object.assign(Object.assign({}, defaultResponseSchema), {
150
196
  // @ts-ignore
151
- '200': Object.assign(Object.assign({ description: '' }, rest), { content: mapTypesResponse(contentTypes, responseSchema) }),
152
- };
197
+ '200': Object.assign(Object.assign({ description: '' }, rest), { content: mapTypesResponse(contentTypes, responseSchema) }) });
153
198
  }
154
199
  const parameters = [
155
200
  // ...mapProperties('header', headerSchema, models),
156
201
  ...mapProperties('path', paramsSchema, models),
157
202
  ...mapProperties('query', querySchema, models),
158
203
  ];
159
- schema[path] = Object.assign(Object.assign({}, (schema[path] ? schema[path] : {})), { [method.toLowerCase()]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (paramsSchema || querySchema || bodySchema
160
- ? { parameters }
161
- : {})), (!isObjEmpty(openapiResponse)
204
+ schema[path] = Object.assign(Object.assign({}, ((_b = schema[path]) !== null && _b !== void 0 ? _b : {})), { [route.method.toLowerCase()]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (isAsyncGenerator(route.handler) && {
205
+ 'x-fern-streaming': {
206
+ format: 'sse',
207
+ },
208
+ })), (paramsSchema || querySchema || bodySchema
162
209
  ? {
163
- responses: openapiResponse,
210
+ parameters,
164
211
  }
165
- : {})), { operationId: (_c = (_b = hook === null || hook === void 0 ? void 0 : hook.detail) === null || _b === void 0 ? void 0 : _b.operationId) !== null && _c !== void 0 ? _c : generateOperationId(method, path) }), hook === null || hook === void 0 ? void 0 : hook.detail), (bodySchema
212
+ : {})), (!isObjEmpty(openapiResponse) && {
213
+ responses: openapiResponse,
214
+ })), hook === null || hook === void 0 ? void 0 : hook.detail), (bodySchema
166
215
  ? {
167
216
  requestBody: {
168
217
  required: true,
169
- content: mapTypesResponse(contentTypes, typeof bodySchema === 'string'
218
+ content: mapTypesResponse(hook.bodyType ? [hook.bodyType] : ['application/json'], typeof bodySchema === 'string'
170
219
  ? {
171
220
  $ref: `#/components/schemas/${bodySchema}`,
172
221
  }
@@ -180,7 +229,8 @@ export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
180
229
  *
181
230
  * @see https://github.com/elysiajs/elysia-swagger
182
231
  */
183
- export const openapi = ({ path = '/openapi', documentation = {}, } = {}) => {
232
+ export const openapi = (_a = {}) => {
233
+ var { path = '/openapi' } = _a, additional = __rest(_a, ["path"]);
184
234
  const schema = {};
185
235
  let totalRoutes = 0;
186
236
  const relativePath = path.startsWith('/') ? path.slice(1) : path;
@@ -200,7 +250,7 @@ export const openapi = ({ path = '/openapi', documentation = {}, } = {}) => {
200
250
  ];
201
251
  totalRoutes = routes.length;
202
252
  routes.forEach((route) => {
203
- var _a, _b, _c, _d;
253
+ var _a, _b, _c;
204
254
  if (((_b = (_a = route.hooks) === null || _a === void 0 ? void 0 : _a.detail) === null || _b === void 0 ? void 0 : _b.hide) === true)
205
255
  return;
206
256
  // TODO: route.hooks?.detail?.hide !== false add ability to hide: false to prevent excluding
@@ -211,35 +261,29 @@ export const openapi = ({ path = '/openapi', documentation = {}, } = {}) => {
211
261
  return;
212
262
  if (route.method === 'ALL') {
213
263
  ALLOWED_METHODS.forEach((method) => {
214
- var _a, _b;
264
+ var _a;
215
265
  registerSchemaPath({
216
266
  schema,
217
- hook: route.hooks,
218
- method,
219
- path: route.path,
267
+ route: Object.assign(Object.assign({}, route), { method }),
220
268
  // @ts-ignore
221
269
  models: (_a = app.definitions) === null || _a === void 0 ? void 0 : _a.type,
222
- contentType: (_b = route.hooks) === null || _b === void 0 ? void 0 : _b.type,
223
270
  });
224
271
  });
225
272
  return;
226
273
  }
227
274
  registerSchemaPath({
228
275
  schema,
229
- hook: route.hooks,
230
- method: route.method,
231
- path: route.path,
276
+ route,
232
277
  // @ts-ignore
233
278
  models: (_c = app.definitions) === null || _c === void 0 ? void 0 : _c.type,
234
- contentType: (_d = route.hooks) === null || _d === void 0 ? void 0 : _d.type,
235
279
  });
236
280
  });
237
281
  }
238
- return Object.assign(Object.assign({ openapi: '3.1.3' }, Object.assign(Object.assign({}, documentation), {
282
+ return Object.assign(Object.assign({ openapi: '3.1.3' }, Object.assign(Object.assign({}, additional), {
239
283
  // tags: documentation.tags?.filter(
240
284
  // (tag) => !excludeTags?.includes(tag?.name),
241
285
  // ),
242
- info: Object.assign({ title: 'Spiceflow Documentation', description: 'Development documentation', version: '0.0.0' }, documentation.info) })), { paths: Object.assign(Object.assign({}, schema), documentation.paths), components: Object.assign(Object.assign({}, documentation.components), { schemas: Object.assign(Object.assign({}, (_a = app.definitions) === null || _a === void 0 ? void 0 : _a.type), (_b = documentation.components) === null || _b === void 0 ? void 0 : _b.schemas) }) });
286
+ info: Object.assign({ title: 'Spiceflow Documentation', description: 'Development documentation', version: '0.0.0' }, additional.info) })), { paths: Object.assign(Object.assign({}, schema), additional.paths), components: Object.assign(Object.assign({}, additional.components), { schemas: Object.assign(Object.assign({}, (_a = app.definitions) === null || _a === void 0 ? void 0 : _a.type), (_b = additional.components) === null || _b === void 0 ? void 0 : _b.schemas) }) });
243
287
  });
244
288
  return app;
245
289
  };
@@ -250,11 +294,19 @@ function getJsonSchema(schema) {
250
294
  if (isZodSchema(schema)) {
251
295
  let fn = (_a = zodToJsonSchema.default) !== null && _a !== void 0 ? _a : zodToJsonSchema;
252
296
  let jsonSchema = fn(schema, {});
253
- return jsonSchema;
297
+ const { $schema } = jsonSchema, rest = __rest(jsonSchema, ["$schema"]);
298
+ return rest;
254
299
  }
255
- return schema;
300
+ const _b = schema, { $schema } = _b, rest = __rest(_b, ["$schema"]);
301
+ return rest;
256
302
  }
257
303
  function isObjEmpty(obj) {
258
304
  return obj === undefined || Object.keys(obj).length === 0;
259
305
  }
306
+ function isAsyncGenerator(fn) {
307
+ var _a;
308
+ return (fn &&
309
+ typeof fn === 'function' &&
310
+ ((_a = fn.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'AsyncGeneratorFunction');
311
+ }
260
312
  //# sourceMappingURL=openapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}