spiceflow 1.10.0 → 1.11.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/README.md +244 -118
- package/dist/_node-server.d.ts +3 -3
- package/dist/_node-server.d.ts.map +1 -1
- package/dist/client/index.d.ts +4 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +201 -195
- package/dist/client/types.d.ts +8 -6
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client.test.js +9 -0
- package/dist/context.d.ts +3 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/cors.d.ts.map +1 -1
- package/dist/cors.js +1 -1
- package/dist/error.d.ts +0 -8
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +0 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp.d.ts +5 -5
- package/dist/mcp.d.ts.map +1 -1
- package/dist/openapi.d.ts +2 -2
- package/dist/openapi.d.ts.map +1 -1
- package/dist/spiceflow.d.ts +60 -43
- package/dist/spiceflow.d.ts.map +1 -1
- package/dist/spiceflow.js +52 -16
- package/dist/spiceflow.test.js +85 -0
- package/dist/types.d.ts +24 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +7 -7
- package/src/_node-server.ts +3 -3
- package/src/client/index.ts +20 -14
- package/src/client/types.ts +11 -11
- package/src/client.test.ts +10 -0
- package/src/context.ts +3 -2
- package/src/cors.ts +1 -2
- package/src/error.ts +0 -10
- package/src/index.ts +1 -1
- package/src/spiceflow.test.ts +113 -0
- package/src/spiceflow.ts +181 -68
- package/src/types.ts +38 -28
package/dist/client/index.js
CHANGED
|
@@ -133,166 +133,205 @@ function tryParsingSSEJson(data) {
|
|
|
133
133
|
return null;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
const createProxy = (domain, config, paths = [], instance) =>
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (!body ||
|
|
146
|
-
options ||
|
|
147
|
-
(typeof body === 'object' && Object.keys(body).length !== 1) ||
|
|
148
|
-
method.includes(paths.at(-1))) {
|
|
149
|
-
const methodPaths = [...paths];
|
|
150
|
-
const method = methodPaths.pop();
|
|
151
|
-
const path = '/' + methodPaths.join('/');
|
|
152
|
-
let { fetch: fetcher = fetch, headers, onRequest, onResponse } = config;
|
|
153
|
-
const isGetOrHead = method === 'get' || method === 'head' || method === 'subscribe';
|
|
154
|
-
headers = processHeaders(headers, path, options);
|
|
155
|
-
const query = isGetOrHead
|
|
156
|
-
? body?.query
|
|
157
|
-
: options?.query;
|
|
158
|
-
let q = '';
|
|
159
|
-
if (query) {
|
|
160
|
-
const append = (key, value) => {
|
|
161
|
-
q +=
|
|
162
|
-
(q ? '&' : '?') +
|
|
163
|
-
`${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
164
|
-
};
|
|
165
|
-
for (const [key, value] of Object.entries(query)) {
|
|
166
|
-
if (Array.isArray(value)) {
|
|
167
|
-
for (const v of value)
|
|
168
|
-
append(key, v);
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
if (typeof value === 'object') {
|
|
172
|
-
append(key, JSON.stringify(value));
|
|
173
|
-
continue;
|
|
174
|
-
}
|
|
175
|
-
append(key, `${value}`);
|
|
176
|
-
}
|
|
136
|
+
const createProxy = (domain, config, paths = [], instance) => {
|
|
137
|
+
if (config.state && !instance) {
|
|
138
|
+
throw new Error(`State is only available when using a Spiceflow instance`);
|
|
139
|
+
}
|
|
140
|
+
return new Proxy(() => { }, {
|
|
141
|
+
get(_, param) {
|
|
142
|
+
// handle case where createClient returns a promise and await calls .then on it
|
|
143
|
+
if ((!paths.length && param === 'then') || param === 'catch') {
|
|
144
|
+
return _[param];
|
|
177
145
|
}
|
|
178
|
-
return
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
const temp = await value(path, fetchInit);
|
|
206
|
-
if (typeof temp === 'object')
|
|
207
|
-
fetchInit = {
|
|
208
|
-
...fetchInit,
|
|
209
|
-
...temp,
|
|
210
|
-
headers: {
|
|
211
|
-
...fetchInit.headers,
|
|
212
|
-
...processHeaders(temp.headers, path, fetchInit),
|
|
213
|
-
},
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
// ? Duplicate because end-user might add a body in onRequest
|
|
218
|
-
if (isGetOrHead)
|
|
219
|
-
delete fetchInit.body;
|
|
220
|
-
if (hasFile(body)) {
|
|
221
|
-
const formData = new FormData();
|
|
222
|
-
// FormData is 1 level deep
|
|
223
|
-
for (const [key, field] of Object.entries(fetchInit.body)) {
|
|
224
|
-
if (isServer) {
|
|
225
|
-
formData.append(key, field);
|
|
146
|
+
return createProxy(domain, config, param === 'index' ? paths : [...paths, param], instance);
|
|
147
|
+
},
|
|
148
|
+
apply(_, __, [body, options]) {
|
|
149
|
+
if (!body ||
|
|
150
|
+
options ||
|
|
151
|
+
(typeof body === 'object' && Object.keys(body).length !== 1) ||
|
|
152
|
+
method.includes(paths.at(-1))) {
|
|
153
|
+
const methodPaths = [...paths];
|
|
154
|
+
const method = methodPaths.pop();
|
|
155
|
+
const path = '/' + methodPaths.join('/');
|
|
156
|
+
let { fetch: fetcher = fetch, headers, onRequest, onResponse } = config;
|
|
157
|
+
const isGetOrHead = method === 'get' || method === 'head' || method === 'subscribe';
|
|
158
|
+
headers = processHeaders(headers, path, options);
|
|
159
|
+
const query = isGetOrHead
|
|
160
|
+
? body?.query
|
|
161
|
+
: options?.query;
|
|
162
|
+
let q = '';
|
|
163
|
+
if (query) {
|
|
164
|
+
const append = (key, value) => {
|
|
165
|
+
q +=
|
|
166
|
+
(q ? '&' : '?') +
|
|
167
|
+
`${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
|
|
168
|
+
};
|
|
169
|
+
for (const [key, value] of Object.entries(query)) {
|
|
170
|
+
if (Array.isArray(value)) {
|
|
171
|
+
for (const v of value)
|
|
172
|
+
append(key, v);
|
|
226
173
|
continue;
|
|
227
174
|
}
|
|
228
|
-
if (
|
|
229
|
-
|
|
175
|
+
if (typeof value === 'object') {
|
|
176
|
+
append(key, JSON.stringify(value));
|
|
230
177
|
continue;
|
|
231
178
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
179
|
+
append(key, `${value}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return Promise.resolve().then(async () => {
|
|
183
|
+
let fetchInit = {
|
|
184
|
+
method: method?.toUpperCase(),
|
|
185
|
+
body,
|
|
186
|
+
// ...conf,
|
|
187
|
+
headers,
|
|
188
|
+
// credentials: 'include',
|
|
189
|
+
};
|
|
190
|
+
fetchInit.headers = {
|
|
191
|
+
...headers,
|
|
192
|
+
...processHeaders(
|
|
193
|
+
// For GET and HEAD, options is moved to body (1st param)
|
|
194
|
+
isGetOrHead ? body?.headers : options?.headers, path, fetchInit),
|
|
195
|
+
};
|
|
196
|
+
const fetchOpts = isGetOrHead && typeof body === 'object'
|
|
197
|
+
? body.fetch
|
|
198
|
+
: options?.fetch;
|
|
199
|
+
fetchInit = {
|
|
200
|
+
...fetchInit,
|
|
201
|
+
...fetchOpts,
|
|
202
|
+
};
|
|
203
|
+
if (isGetOrHead)
|
|
204
|
+
delete fetchInit.body;
|
|
205
|
+
if (onRequest) {
|
|
206
|
+
if (!Array.isArray(onRequest))
|
|
207
|
+
onRequest = [onRequest];
|
|
208
|
+
for (const value of onRequest) {
|
|
209
|
+
const temp = await value(path, fetchInit);
|
|
210
|
+
if (typeof temp === 'object')
|
|
211
|
+
fetchInit = {
|
|
212
|
+
...fetchInit,
|
|
213
|
+
...temp,
|
|
214
|
+
headers: {
|
|
215
|
+
...fetchInit.headers,
|
|
216
|
+
...processHeaders(temp.headers, path, fetchInit),
|
|
217
|
+
},
|
|
218
|
+
};
|
|
236
219
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
220
|
+
}
|
|
221
|
+
// ? Duplicate because end-user might add a body in onRequest
|
|
222
|
+
if (isGetOrHead)
|
|
223
|
+
delete fetchInit.body;
|
|
224
|
+
if (hasFile(body)) {
|
|
225
|
+
const formData = new FormData();
|
|
226
|
+
// FormData is 1 level deep
|
|
227
|
+
for (const [key, field] of Object.entries(fetchInit.body)) {
|
|
228
|
+
if (isServer) {
|
|
229
|
+
formData.append(key, field);
|
|
230
|
+
continue;
|
|
241
231
|
}
|
|
242
|
-
|
|
232
|
+
if (field instanceof File) {
|
|
233
|
+
formData.append(key, await createNewFile(field));
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
if (field instanceof FileList) {
|
|
237
|
+
for (let i = 0; i < field.length; i++)
|
|
238
|
+
formData.append(key, await createNewFile(field[i]));
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
if (Array.isArray(field)) {
|
|
242
|
+
for (let i = 0; i < field.length; i++) {
|
|
243
|
+
const value = field[i];
|
|
244
|
+
formData.append(key, value instanceof File ? await createNewFile(value) : value);
|
|
245
|
+
}
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
formData.append(key, field);
|
|
243
249
|
}
|
|
244
|
-
|
|
250
|
+
// We don't do this because we need to let the browser set the content type with the correct boundary
|
|
251
|
+
// fetchInit.headers['content-type'] = 'multipart/form-data'
|
|
252
|
+
fetchInit.body = formData;
|
|
245
253
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
;
|
|
252
|
-
fetchInit.headers['content-type'] =
|
|
253
|
-
'application/json';
|
|
254
|
-
fetchInit.body = JSON.stringify(body);
|
|
255
|
-
}
|
|
256
|
-
else if (body !== undefined && body !== null) {
|
|
257
|
-
;
|
|
258
|
-
fetchInit.headers['content-type'] =
|
|
259
|
-
'text/plain';
|
|
260
|
-
}
|
|
261
|
-
if (isGetOrHead)
|
|
262
|
-
delete fetchInit.body;
|
|
263
|
-
if (onRequest) {
|
|
264
|
-
if (!Array.isArray(onRequest))
|
|
265
|
-
onRequest = [onRequest];
|
|
266
|
-
for (const value of onRequest) {
|
|
267
|
-
const temp = await value(path, fetchInit);
|
|
268
|
-
if (typeof temp === 'object')
|
|
269
|
-
fetchInit = {
|
|
270
|
-
...fetchInit,
|
|
271
|
-
...temp,
|
|
272
|
-
headers: {
|
|
273
|
-
...fetchInit.headers,
|
|
274
|
-
...processHeaders(temp.headers, path, fetchInit),
|
|
275
|
-
},
|
|
276
|
-
};
|
|
254
|
+
else if (typeof body === 'object') {
|
|
255
|
+
;
|
|
256
|
+
fetchInit.headers['content-type'] =
|
|
257
|
+
'application/json';
|
|
258
|
+
fetchInit.body = JSON.stringify(body);
|
|
277
259
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
if (
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
const
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
260
|
+
else if (body !== undefined && body !== null) {
|
|
261
|
+
;
|
|
262
|
+
fetchInit.headers['content-type'] =
|
|
263
|
+
'text/plain';
|
|
264
|
+
}
|
|
265
|
+
if (isGetOrHead)
|
|
266
|
+
delete fetchInit.body;
|
|
267
|
+
if (onRequest) {
|
|
268
|
+
if (!Array.isArray(onRequest))
|
|
269
|
+
onRequest = [onRequest];
|
|
270
|
+
for (const value of onRequest) {
|
|
271
|
+
const temp = await value(path, fetchInit);
|
|
272
|
+
if (typeof temp === 'object')
|
|
273
|
+
fetchInit = {
|
|
274
|
+
...fetchInit,
|
|
275
|
+
...temp,
|
|
276
|
+
headers: {
|
|
277
|
+
...fetchInit.headers,
|
|
278
|
+
...processHeaders(temp.headers, path, fetchInit),
|
|
279
|
+
},
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
const url = domain + path + q;
|
|
284
|
+
// console.log({ url, fetchInit })
|
|
285
|
+
const response = await (instance?.handle(new Request(url, fetchInit), { state: config.state }) ?? fetcher(url, fetchInit));
|
|
286
|
+
let data = null;
|
|
287
|
+
let error = null;
|
|
288
|
+
if (onResponse) {
|
|
289
|
+
if (!Array.isArray(onResponse))
|
|
290
|
+
onResponse = [onResponse];
|
|
291
|
+
for (const value of onResponse) {
|
|
292
|
+
const temp = await value(response.clone());
|
|
293
|
+
// if (temp !== undefined && temp !== null) {
|
|
294
|
+
// data = temp
|
|
295
|
+
// break
|
|
296
|
+
// }
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (data !== null) {
|
|
300
|
+
return {
|
|
301
|
+
data,
|
|
302
|
+
error,
|
|
303
|
+
response,
|
|
304
|
+
status: response.status,
|
|
305
|
+
headers: response.headers,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
switch (response.headers.get('Content-Type')?.split(';')[0]) {
|
|
309
|
+
case 'text/event-stream':
|
|
310
|
+
data = streamSSEResponse(response);
|
|
311
|
+
break;
|
|
312
|
+
case 'application/json':
|
|
313
|
+
data = await response.json();
|
|
314
|
+
data = superjsonDeserialize(data);
|
|
315
|
+
break;
|
|
316
|
+
case 'application/octet-stream':
|
|
317
|
+
data = await response.arrayBuffer();
|
|
318
|
+
break;
|
|
319
|
+
case 'multipart/form-data':
|
|
320
|
+
const temp = await response.formData();
|
|
321
|
+
data = {};
|
|
322
|
+
temp.forEach((value, key) => {
|
|
323
|
+
// @ts-ignore
|
|
324
|
+
data[key] = value;
|
|
325
|
+
});
|
|
326
|
+
break;
|
|
327
|
+
default:
|
|
328
|
+
data = await response.text().then(parseStringifiedValue);
|
|
329
|
+
}
|
|
330
|
+
if (response.status >= 300 || response.status < 200) {
|
|
331
|
+
error = new SpiceflowFetchError(response.status, data || 'Unknown error');
|
|
332
|
+
// console.trace({ error, data })
|
|
333
|
+
data = null;
|
|
293
334
|
}
|
|
294
|
-
}
|
|
295
|
-
if (data !== null) {
|
|
296
335
|
return {
|
|
297
336
|
data,
|
|
298
337
|
error,
|
|
@@ -300,57 +339,24 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
300
339
|
status: response.status,
|
|
301
340
|
headers: response.headers,
|
|
302
341
|
};
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
case 'application/octet-stream':
|
|
313
|
-
data = await response.arrayBuffer();
|
|
314
|
-
break;
|
|
315
|
-
case 'multipart/form-data':
|
|
316
|
-
const temp = await response.formData();
|
|
317
|
-
data = {};
|
|
318
|
-
temp.forEach((value, key) => {
|
|
319
|
-
// @ts-ignore
|
|
320
|
-
data[key] = value;
|
|
321
|
-
});
|
|
322
|
-
break;
|
|
323
|
-
default:
|
|
324
|
-
data = await response.text().then(parseStringifiedValue);
|
|
325
|
-
}
|
|
326
|
-
if (response.status >= 300 || response.status < 200) {
|
|
327
|
-
error = new SpiceflowFetchError(response.status, data || 'Unknown error');
|
|
328
|
-
// console.trace({ error, data })
|
|
329
|
-
data = null;
|
|
330
|
-
}
|
|
331
|
-
return {
|
|
332
|
-
data,
|
|
333
|
-
error,
|
|
334
|
-
response,
|
|
335
|
-
status: response.status,
|
|
336
|
-
headers: response.headers,
|
|
337
|
-
};
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
if (typeof body === 'object')
|
|
341
|
-
return createProxy(domain, config, [...paths, Object.values(body)[0]], instance);
|
|
342
|
-
return createProxy(domain, config, paths);
|
|
343
|
-
},
|
|
344
|
-
});
|
|
345
|
-
export const createSpiceflowClient = (domain, config = {}) => {
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
if (typeof body === 'object')
|
|
345
|
+
return createProxy(domain, config, [...paths, Object.values(body)[0]], instance);
|
|
346
|
+
return createProxy(domain, config, paths);
|
|
347
|
+
},
|
|
348
|
+
});
|
|
349
|
+
};
|
|
350
|
+
export const createSpiceflowClient = (domain, config) => {
|
|
346
351
|
if (typeof domain === 'string') {
|
|
352
|
+
let domainStr = String(domain);
|
|
347
353
|
if (domain.endsWith('/'))
|
|
348
|
-
|
|
349
|
-
return createProxy(
|
|
354
|
+
domainStr = domain.slice(0, -1);
|
|
355
|
+
return createProxy(domainStr, config || {});
|
|
350
356
|
}
|
|
351
357
|
if (typeof window !== 'undefined')
|
|
352
358
|
console.warn('Spiceflow instance server found on client side, this is not recommended for security reason. Use generic type instead.');
|
|
353
|
-
return createProxy('http://e.ly', config, [], domain);
|
|
359
|
+
return createProxy('http://e.ly', config || {}, [], domain);
|
|
354
360
|
};
|
|
355
361
|
function superjsonDeserialize(data) {
|
|
356
362
|
if (data?.__superjsonMeta) {
|
package/dist/client/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnySpiceflow } from '../spiceflow.ts';
|
|
2
2
|
import { SpiceflowFetchError } from './errors.ts';
|
|
3
3
|
export type Prettify<T> = {
|
|
4
4
|
[K in keyof T]: T[K];
|
|
@@ -20,12 +20,14 @@ export declare namespace SpiceflowClient {
|
|
|
20
20
|
interface ClientParam {
|
|
21
21
|
fetch?: RequestInit;
|
|
22
22
|
}
|
|
23
|
-
export type Create<App extends
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
export type Create<App extends AnySpiceflow> = App extends {
|
|
24
|
+
_types: {
|
|
25
|
+
ClientRoutes: infer Schema extends Record<string, any>;
|
|
26
|
+
};
|
|
27
|
+
} ? Prettify<Sign<Schema>> : 'Please install latest Spiceflow before using the client, also make sure both client and server use the same version';
|
|
26
28
|
export type Sign<in out Route extends Record<string, any>> = {
|
|
27
29
|
[K in keyof Route as K extends `:${string}` ? never : K]: Route[K] extends {
|
|
28
|
-
|
|
30
|
+
request: infer Body;
|
|
29
31
|
params: any;
|
|
30
32
|
query: infer Query;
|
|
31
33
|
response: infer Response extends Record<number, unknown>;
|
|
@@ -35,7 +37,7 @@ export declare namespace SpiceflowClient {
|
|
|
35
37
|
query?: Record<string, unknown>;
|
|
36
38
|
} : {
|
|
37
39
|
query: Query;
|
|
38
|
-
}) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & ClientParam>) => Promise<ClientResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (
|
|
40
|
+
}) extends infer Param ? {} extends Param ? undefined extends Body ? K extends 'get' | 'head' ? (options?: Prettify<Param & ClientParam>) => Promise<ClientResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (request?: Body, options?: Prettify<Param & ClientParam>) => Promise<ClientResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (request: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options?: Prettify<Param & ClientParam>) => Promise<ClientResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : K extends 'get' | 'head' ? (options: Prettify<Param & ClientParam>) => Promise<ClientResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : (request: Body extends Record<string, unknown> ? ReplaceBlobWithFiles<Body> : Body, options: Prettify<Param & ClientParam>) => Promise<ClientResponse<ReplaceGeneratorWithAsyncGenerator<Response>>> : never : CreateParams<Route[K]>;
|
|
39
41
|
};
|
|
40
42
|
type CreateParams<Route extends Record<string, any>> = Extract<keyof Route, `:${string}`> extends infer Path extends string ? IsNever<Path> extends true ? Prettify<Sign<Route>> : // ! DO NOT USE PRETTIFY ON THIS LINE, OTHERWISE FUNCTION CALLING WILL BE OMITTED
|
|
41
43
|
(((params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|
package/dist/client.test.js
CHANGED
|
@@ -3,9 +3,11 @@ import { createSpiceflowClient } from "./client/index.js";
|
|
|
3
3
|
import { Spiceflow } from "./spiceflow.js";
|
|
4
4
|
import { describe, expect, it } from 'vitest';
|
|
5
5
|
const app = new Spiceflow()
|
|
6
|
+
.state('someState', 1)
|
|
6
7
|
.get('/', () => 'a')
|
|
7
8
|
.post('/', () => 'a')
|
|
8
9
|
.get('/number', () => 1)
|
|
10
|
+
.get('/someState', ({ state }) => state.someState)
|
|
9
11
|
.get('/true', () => true)
|
|
10
12
|
.get('/false', () => false)
|
|
11
13
|
.post('/array', async ({ request }) => await request.json(), {
|
|
@@ -95,6 +97,13 @@ const app = new Spiceflow()
|
|
|
95
97
|
})
|
|
96
98
|
.get('/id/:id?', ({ params: { id = 'unknown' } }) => id);
|
|
97
99
|
const client = createSpiceflowClient(app);
|
|
100
|
+
describe('client can pass state to app', () => {
|
|
101
|
+
const client = createSpiceflowClient(app, { state: { someState: 3 } });
|
|
102
|
+
it('should return state value 3', async () => {
|
|
103
|
+
const { data } = await client.someState.get({});
|
|
104
|
+
expect(data).toBe(3);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
98
107
|
describe('client', () => {
|
|
99
108
|
it('get index', async () => {
|
|
100
109
|
const { data, error } = await client.index.get({});
|
package/dist/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { redirect as Redirect } from './utils.ts';
|
|
2
|
-
import type { RouteSchema, Prettify, ResolvePath, SingletonBase } from './types.ts';
|
|
2
|
+
import type { RouteSchema, Prettify, ResolvePath, SingletonBase, GetRequestSchema } from './types.ts';
|
|
3
3
|
import { SpiceflowRequest } from './spiceflow.ts';
|
|
4
4
|
export type ErrorContext<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
5
5
|
state: {};
|
|
@@ -26,7 +26,7 @@ export type ErrorContext<in out Route extends RouteSchema = {}, in out Singleton
|
|
|
26
26
|
*
|
|
27
27
|
* @example '/id/:id'
|
|
28
28
|
*/
|
|
29
|
-
request: SpiceflowRequest<Route
|
|
29
|
+
request: SpiceflowRequest<GetRequestSchema<Route>>;
|
|
30
30
|
state: Singleton['state'];
|
|
31
31
|
}>;
|
|
32
32
|
export type Context<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
|
|
@@ -38,7 +38,7 @@ export type Context<in out Route extends RouteSchema = {}, in out Singleton exte
|
|
|
38
38
|
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : never : Route['params'];
|
|
39
39
|
redirect: Redirect;
|
|
40
40
|
path: string;
|
|
41
|
-
request: SpiceflowRequest<Route
|
|
41
|
+
request: SpiceflowRequest<GetRequestSchema<Route>>;
|
|
42
42
|
state: Singleton['state'];
|
|
43
43
|
}>;
|
|
44
44
|
export type MiddlewareContext<in out Singleton extends SingletonBase = {
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,QAAQ,IAAI,QAAQ,EACrB,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,aAAa,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/cors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C;;;GAGG;AACH,KAAK,WAAW,GAAG;IACjB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAClC,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C;;;GAGG;AACH,KAAK,WAAW,GAAG;IACjB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAClC,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,KAAG,iBAiH5C,CAAA"}
|
package/dist/cors.js
CHANGED
package/dist/error.d.ts
CHANGED
|
@@ -6,12 +6,4 @@ export declare class ValidationError extends Error {
|
|
|
6
6
|
code: string;
|
|
7
7
|
status: number;
|
|
8
8
|
}
|
|
9
|
-
export declare class ParseError extends Error {
|
|
10
|
-
code: string;
|
|
11
|
-
status: number;
|
|
12
|
-
}
|
|
13
|
-
export declare class InternalServerError extends Error {
|
|
14
|
-
code: string;
|
|
15
|
-
status: number;
|
|
16
|
-
}
|
|
17
9
|
//# sourceMappingURL=error.d.ts.map
|
package/dist/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAA+B,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;AAE1C,eAAO,MAAM,kBAAkB,eAA8B,CAAA;AAC7D,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,qBAAa,eAAgB,SAAQ,KAAK;IACxC,IAAI,SAAe;IACnB,MAAM,SAAM;CACb
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAA+B,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;AAE1C,eAAO,MAAM,kBAAkB,eAA8B,CAAA;AAC7D,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,qBAAa,eAAgB,SAAQ,KAAK;IACxC,IAAI,SAAe;IACnB,MAAM,SAAM;CACb"}
|
package/dist/error.js
CHANGED
|
@@ -4,11 +4,3 @@ export class ValidationError extends Error {
|
|
|
4
4
|
code = 'VALIDATION';
|
|
5
5
|
status = 422;
|
|
6
6
|
}
|
|
7
|
-
export class ParseError extends Error {
|
|
8
|
-
code = 'PARSE';
|
|
9
|
-
status = 400;
|
|
10
|
-
}
|
|
11
|
-
export class InternalServerError extends Error {
|
|
12
|
-
code = 'INTERNAL_SERVER_ERROR';
|
|
13
|
-
status = 500;
|
|
14
|
-
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Spiceflow } from "./spiceflow.js";
|
|
2
|
-
export {
|
|
2
|
+
export { ValidationError } from "./error.js";
|