spiceflow 1.4.0 → 1.5.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 +1 -0
- package/dist/client/errors.js +4 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +73 -51
- package/dist/client/index.js.map +1 -1
- package/dist/client.test.js +32 -73
- package/dist/client.test.js.map +1 -1
- package/dist/context.d.ts +0 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/cors.d.ts.map +1 -1
- package/dist/cors.js +9 -6
- package/dist/cors.js.map +1 -1
- package/dist/error.js +8 -18
- package/dist/error.js.map +1 -1
- package/dist/mcp-transport.js +12 -8
- package/dist/mcp-transport.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +10 -12
- package/dist/mcp.js.map +1 -1
- package/dist/mcp.test.js +5 -12
- package/dist/mcp.test.js.map +1 -1
- package/dist/middleware.test.js +2 -2
- package/dist/middleware.test.js.map +1 -1
- package/dist/openapi.js +117 -77
- package/dist/openapi.js.map +1 -1
- package/dist/openapi.test.js +98 -27
- package/dist/openapi.test.js.map +1 -1
- package/dist/spiceflow.d.ts +1 -2
- package/dist/spiceflow.d.ts.map +1 -1
- package/dist/spiceflow.js +99 -104
- package/dist/spiceflow.js.map +1 -1
- package/dist/spiceflow.test.js +127 -62
- package/dist/spiceflow.test.js.map +1 -1
- package/dist/static-node.js +6 -3
- package/dist/static-node.js.map +1 -1
- package/dist/static.js +3 -5
- package/dist/static.js.map +1 -1
- package/dist/stream.test.js +45 -66
- package/dist/stream.test.js.map +1 -1
- package/dist/types.test.js +10 -45
- package/dist/types.test.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/zod.test.js +2 -2
- package/dist/zod.test.js.map +1 -1
- package/package.json +10 -2
- package/src/client/index.ts +29 -7
- package/src/client.test.ts +20 -14
- package/src/context.ts +1 -1
- package/src/cors.ts +1 -0
- package/src/mcp.test.ts +5 -12
- package/src/mcp.ts +1 -0
- package/src/middleware.test.ts +1 -1
- package/src/openapi.test.ts +88 -0
- package/src/spiceflow.test.ts +120 -2
- package/src/spiceflow.ts +33 -11
- package/src/stream.test.ts +10 -2
- package/src/zod.test.ts +2 -3
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@ Spiceflow is a lightweight, type-safe API framework for building web services us
|
|
|
18
18
|
- Type safe schema based validation via Zod
|
|
19
19
|
- Can easily generate OpenAPI document based on your routes
|
|
20
20
|
- Native support for [Fern](https://github.com/fern-api/fern) to generate docs and SDKs (see example docs [here](https://remorses.docs.buildwithfern.com))
|
|
21
|
+
- Returns extended JSON via [`superjson`](https://github.com/flightcontrolhq/superjson) to encode types like `Map`, `BigInt` and `Set` (Spiceflow will add a field `__superjsonMeta` property to the JSON in case you use one of these types)
|
|
21
22
|
- Support for [Model Context Protocol](https://modelcontextprotocol.io/) to easily wire your app with LLMs
|
|
22
23
|
- Type safe RPC client generation
|
|
23
24
|
- Simple and intuitive API
|
package/dist/client/errors.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export class SpiceflowFetchError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
passedValue;
|
|
4
|
+
value;
|
|
2
5
|
constructor(status, passedValue) {
|
|
3
|
-
let message = String(
|
|
6
|
+
let message = String(passedValue?.message || '');
|
|
4
7
|
if (!message) {
|
|
5
8
|
if (typeof passedValue === 'object') {
|
|
6
9
|
message = JSON.stringify(passedValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAGX,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAGX,SAAQ,KAAK;IAGJ;IACA;IAHT,KAAK,CAAO;IACZ,YACS,MAAc,EACd,WAAkB;QAEzB,IAAI,OAAO,GAAG,MAAM,CAAE,WAAmB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAA;QAXP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAO;QAWzB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAA;IAC1B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAE,CAAA;AA4G1B,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;IACT,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,qBAAa,iBAAkB,SAAQ,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC;;CAwBzE;AAED,wBAAuB,iBAAiB,CACtC,QAAQ,EAAE,QAAQ,GACjB,cAAc,CAAC,QAAQ,CAAC,CAmB1B;AAoSD,eAAO,MAAM,qBAAqB,SAC1B,GAAG,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,UAEjD,MAAM,GAAG,GAAG,WACZ,eAAe,CAAC,MAAM,KAC7B,eAAe,CAAC,MAAM,CAAC,GAAG,CAa5B,CAAA"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
|
|
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
|
-
};
|
|
1
|
+
import superjson from 'superjson';
|
|
14
2
|
import { EventSourceParserStream } from 'eventsource-parser/stream';
|
|
15
3
|
import { SpiceflowFetchError } from './errors.js';
|
|
16
4
|
import { parseStringifiedValue } from './utils.js';
|
|
@@ -117,31 +105,29 @@ export class TextDecoderStream extends TransformStream {
|
|
|
117
105
|
});
|
|
118
106
|
}
|
|
119
107
|
}
|
|
120
|
-
export function streamSSEResponse(response) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
throw new SpiceflowFetchError(500, event.data);
|
|
135
|
-
}
|
|
136
|
-
if (event) {
|
|
137
|
-
yield yield __await(tryParsingJson(event.data));
|
|
138
|
-
}
|
|
108
|
+
export async function* streamSSEResponse(response) {
|
|
109
|
+
const body = response.body;
|
|
110
|
+
if (!body)
|
|
111
|
+
return;
|
|
112
|
+
const eventStream = response.body
|
|
113
|
+
.pipeThrough(new TextDecoderStream())
|
|
114
|
+
.pipeThrough(new EventSourceParserStream());
|
|
115
|
+
let reader = eventStream.getReader();
|
|
116
|
+
while (true) {
|
|
117
|
+
const { done, value: event } = await reader.read();
|
|
118
|
+
if (done)
|
|
119
|
+
break;
|
|
120
|
+
if (event?.event === 'error') {
|
|
121
|
+
throw new SpiceflowFetchError(500, superjsonDeserialize(event.data));
|
|
139
122
|
}
|
|
140
|
-
|
|
123
|
+
if (event) {
|
|
124
|
+
yield tryParsingSSEJson(event.data);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
141
127
|
}
|
|
142
|
-
function
|
|
128
|
+
function tryParsingSSEJson(data) {
|
|
143
129
|
try {
|
|
144
|
-
return JSON.parse(data);
|
|
130
|
+
return superjsonDeserialize(JSON.parse(data));
|
|
145
131
|
}
|
|
146
132
|
catch (error) {
|
|
147
133
|
return null;
|
|
@@ -149,6 +135,10 @@ function tryParsingJson(data) {
|
|
|
149
135
|
}
|
|
150
136
|
const createProxy = (domain, config, paths = [], instance) => new Proxy(() => { }, {
|
|
151
137
|
get(_, param) {
|
|
138
|
+
// handle case where createClient returns a promise and await calls .then on it
|
|
139
|
+
if ((!paths.length && param === 'then') || param === 'catch') {
|
|
140
|
+
return _[param];
|
|
141
|
+
}
|
|
152
142
|
return createProxy(domain, config, param === 'index' ? paths : [...paths, param], instance);
|
|
153
143
|
},
|
|
154
144
|
apply(_, __, [body, options]) {
|
|
@@ -163,8 +153,8 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
163
153
|
const isGetOrHead = method === 'get' || method === 'head' || method === 'subscribe';
|
|
164
154
|
headers = processHeaders(headers, path, options);
|
|
165
155
|
const query = isGetOrHead
|
|
166
|
-
? body
|
|
167
|
-
: options
|
|
156
|
+
? body?.query
|
|
157
|
+
: options?.query;
|
|
168
158
|
let q = '';
|
|
169
159
|
if (query) {
|
|
170
160
|
const append = (key, value) => {
|
|
@@ -185,21 +175,26 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
185
175
|
append(key, `${value}`);
|
|
186
176
|
}
|
|
187
177
|
}
|
|
188
|
-
return (async () => {
|
|
189
|
-
var _a, _b;
|
|
178
|
+
return Promise.resolve().then(async () => {
|
|
190
179
|
let fetchInit = {
|
|
191
|
-
method: method
|
|
180
|
+
method: method?.toUpperCase(),
|
|
192
181
|
body,
|
|
193
182
|
// ...conf,
|
|
194
183
|
headers,
|
|
195
184
|
};
|
|
196
|
-
fetchInit.headers =
|
|
197
|
-
|
|
198
|
-
|
|
185
|
+
fetchInit.headers = {
|
|
186
|
+
...headers,
|
|
187
|
+
...processHeaders(
|
|
188
|
+
// For GET and HEAD, options is moved to body (1st param)
|
|
189
|
+
isGetOrHead ? body?.headers : options?.headers, path, fetchInit),
|
|
190
|
+
};
|
|
199
191
|
const fetchOpts = isGetOrHead && typeof body === 'object'
|
|
200
192
|
? body.fetch
|
|
201
|
-
: options
|
|
202
|
-
fetchInit =
|
|
193
|
+
: options?.fetch;
|
|
194
|
+
fetchInit = {
|
|
195
|
+
...fetchInit,
|
|
196
|
+
...fetchOpts,
|
|
197
|
+
};
|
|
203
198
|
if (isGetOrHead)
|
|
204
199
|
delete fetchInit.body;
|
|
205
200
|
if (onRequest) {
|
|
@@ -208,7 +203,14 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
208
203
|
for (const value of onRequest) {
|
|
209
204
|
const temp = await value(path, fetchInit);
|
|
210
205
|
if (typeof temp === 'object')
|
|
211
|
-
fetchInit =
|
|
206
|
+
fetchInit = {
|
|
207
|
+
...fetchInit,
|
|
208
|
+
...temp,
|
|
209
|
+
headers: {
|
|
210
|
+
...fetchInit.headers,
|
|
211
|
+
...processHeaders(temp.headers, path, fetchInit),
|
|
212
|
+
},
|
|
213
|
+
};
|
|
212
214
|
}
|
|
213
215
|
}
|
|
214
216
|
// ? Duplicate because end-user might add a body in onRequest
|
|
@@ -263,11 +265,19 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
263
265
|
for (const value of onRequest) {
|
|
264
266
|
const temp = await value(path, fetchInit);
|
|
265
267
|
if (typeof temp === 'object')
|
|
266
|
-
fetchInit =
|
|
268
|
+
fetchInit = {
|
|
269
|
+
...fetchInit,
|
|
270
|
+
...temp,
|
|
271
|
+
headers: {
|
|
272
|
+
...fetchInit.headers,
|
|
273
|
+
...processHeaders(temp.headers, path, fetchInit),
|
|
274
|
+
},
|
|
275
|
+
};
|
|
267
276
|
}
|
|
268
277
|
}
|
|
269
278
|
const url = domain + path + q;
|
|
270
|
-
|
|
279
|
+
// console.log({ url, fetchInit })
|
|
280
|
+
const response = await (instance?.handle(new Request(url, fetchInit)) ?? fetcher(url, fetchInit));
|
|
271
281
|
let data = null;
|
|
272
282
|
let error = null;
|
|
273
283
|
if (onResponse) {
|
|
@@ -290,12 +300,13 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
290
300
|
headers: response.headers,
|
|
291
301
|
};
|
|
292
302
|
}
|
|
293
|
-
switch (
|
|
303
|
+
switch (response.headers.get('Content-Type')?.split(';')[0]) {
|
|
294
304
|
case 'text/event-stream':
|
|
295
305
|
data = streamSSEResponse(response);
|
|
296
306
|
break;
|
|
297
307
|
case 'application/json':
|
|
298
308
|
data = await response.json();
|
|
309
|
+
data = superjsonDeserialize(data);
|
|
299
310
|
break;
|
|
300
311
|
case 'application/octet-stream':
|
|
301
312
|
data = await response.arrayBuffer();
|
|
@@ -312,7 +323,8 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
312
323
|
data = await response.text().then(parseStringifiedValue);
|
|
313
324
|
}
|
|
314
325
|
if (response.status >= 300 || response.status < 200) {
|
|
315
|
-
error = new SpiceflowFetchError(response.status, data);
|
|
326
|
+
error = new SpiceflowFetchError(response.status, data || 'Unknown error');
|
|
327
|
+
// console.trace({ error, data })
|
|
316
328
|
data = null;
|
|
317
329
|
}
|
|
318
330
|
return {
|
|
@@ -322,7 +334,7 @@ const createProxy = (domain, config, paths = [], instance) => new Proxy(() => {
|
|
|
322
334
|
status: response.status,
|
|
323
335
|
headers: response.headers,
|
|
324
336
|
};
|
|
325
|
-
})
|
|
337
|
+
});
|
|
326
338
|
}
|
|
327
339
|
if (typeof body === 'object')
|
|
328
340
|
return createProxy(domain, config, [...paths, Object.values(body)[0]], instance);
|
|
@@ -339,4 +351,14 @@ export const createSpiceflowClient = (domain, config = {}) => {
|
|
|
339
351
|
console.warn('Spiceflow instance server found on client side, this is not recommended for security reason. Use generic type instead.');
|
|
340
352
|
return createProxy('http://e.ly', config, [], domain);
|
|
341
353
|
};
|
|
354
|
+
function superjsonDeserialize(data) {
|
|
355
|
+
if (data?.__superjsonMeta) {
|
|
356
|
+
const { __superjsonMeta, ...rest } = data;
|
|
357
|
+
return superjson.deserialize({
|
|
358
|
+
json: rest,
|
|
359
|
+
meta: __superjsonMeta,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
return data;
|
|
363
|
+
}
|
|
342
364
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client.test.js
CHANGED
|
@@ -1,26 +1,6 @@
|
|
|
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
|
-
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
15
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
16
|
-
var m = o[Symbol.asyncIterator], i;
|
|
17
|
-
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);
|
|
18
|
-
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); }); }; }
|
|
19
|
-
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
20
|
-
};
|
|
21
1
|
import { z } from 'zod';
|
|
22
2
|
import { createSpiceflowClient } from './client/index.js';
|
|
23
|
-
import { Spiceflow
|
|
3
|
+
import { Spiceflow } from './spiceflow.js';
|
|
24
4
|
import { describe, expect, it } from 'vitest';
|
|
25
5
|
const app = new Spiceflow()
|
|
26
6
|
.get('/', () => 'a')
|
|
@@ -29,11 +9,11 @@ const app = new Spiceflow()
|
|
|
29
9
|
.get('/true', () => true)
|
|
30
10
|
.get('/false', () => false)
|
|
31
11
|
.post('/array', async ({ request }) => await request.json(), {
|
|
32
|
-
body:
|
|
12
|
+
body: z.array(z.string()),
|
|
33
13
|
})
|
|
34
14
|
.post('/mirror', async ({ request }) => await request.json())
|
|
35
15
|
.post('/body', async ({ request }) => await request.text(), {
|
|
36
|
-
body:
|
|
16
|
+
body: z.string(),
|
|
37
17
|
})
|
|
38
18
|
.post('/zodAny', async ({ request }) => await request.json(), {
|
|
39
19
|
body: z.object({ body: z.array(z.any()) }),
|
|
@@ -43,9 +23,9 @@ const app = new Spiceflow()
|
|
|
43
23
|
return { body: body || null };
|
|
44
24
|
})
|
|
45
25
|
.post('/deep/nested/mirror', async ({ request }) => await request.json(), {
|
|
46
|
-
body:
|
|
47
|
-
username:
|
|
48
|
-
password:
|
|
26
|
+
body: z.object({
|
|
27
|
+
username: z.string(),
|
|
28
|
+
password: z.string(),
|
|
49
29
|
}),
|
|
50
30
|
})
|
|
51
31
|
.get('/throws', () => {
|
|
@@ -76,8 +56,8 @@ const app = new Spiceflow()
|
|
|
76
56
|
return 'this errors because validation is wrong';
|
|
77
57
|
}, {
|
|
78
58
|
response: {
|
|
79
|
-
200:
|
|
80
|
-
x:
|
|
59
|
+
200: z.object({
|
|
60
|
+
x: z.string(),
|
|
81
61
|
}),
|
|
82
62
|
},
|
|
83
63
|
})
|
|
@@ -90,8 +70,8 @@ const app = new Spiceflow()
|
|
|
90
70
|
.get('/dateObject', () => ({ date: new Date() }))
|
|
91
71
|
.get('/redirect', ({ redirect }) => redirect('http://localhost:8083/true'))
|
|
92
72
|
.post('/redirect', ({ redirect }) => redirect('http://localhost:8083/true'), {
|
|
93
|
-
body:
|
|
94
|
-
username:
|
|
73
|
+
body: z.object({
|
|
74
|
+
username: z.string(),
|
|
95
75
|
}),
|
|
96
76
|
})
|
|
97
77
|
// .get('/formdata', () => ({
|
|
@@ -102,12 +82,10 @@ const app = new Spiceflow()
|
|
|
102
82
|
yield 'b';
|
|
103
83
|
yield 'c';
|
|
104
84
|
})
|
|
105
|
-
.get('/stream-async', function stream() {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
yield yield __await('c');
|
|
110
|
-
});
|
|
85
|
+
.get('/stream-async', async function* stream() {
|
|
86
|
+
yield 'a';
|
|
87
|
+
yield 'b';
|
|
88
|
+
yield 'c';
|
|
111
89
|
})
|
|
112
90
|
.get('/stream-return', function* stream() {
|
|
113
91
|
return 'a';
|
|
@@ -142,7 +120,7 @@ describe('client', () => {
|
|
|
142
120
|
});
|
|
143
121
|
it.todo('parse object with date', async () => {
|
|
144
122
|
const { data } = await client.dateObject.get();
|
|
145
|
-
expect(data
|
|
123
|
+
expect(data?.date).toBeInstanceOf(Date);
|
|
146
124
|
});
|
|
147
125
|
it('post array', async () => {
|
|
148
126
|
const { data } = await client.array.post(['a', 'b']);
|
|
@@ -174,15 +152,15 @@ describe('client', () => {
|
|
|
174
152
|
const { data, error } = await client.throws.get();
|
|
175
153
|
expect(data).toBeNull();
|
|
176
154
|
expect(error).toBeDefined();
|
|
177
|
-
expect(error
|
|
178
|
-
expect(error
|
|
155
|
+
expect(error?.status).toBe(400);
|
|
156
|
+
expect(error?.message).toBe('Custom error');
|
|
179
157
|
});
|
|
180
158
|
it('handles thrown response with 307', async () => {
|
|
181
159
|
const { data, error } = await client['throws-307'].get();
|
|
182
160
|
expect(data).toBeNull();
|
|
183
161
|
expect(error).toBeDefined();
|
|
184
|
-
expect(error
|
|
185
|
-
expect(error
|
|
162
|
+
expect(error?.status).toBe(307);
|
|
163
|
+
expect(error?.message).toBe('Redirect');
|
|
186
164
|
});
|
|
187
165
|
it('handles thrown response with 200', async () => {
|
|
188
166
|
const { data, error } = await client['throws-200'].get();
|
|
@@ -192,46 +170,20 @@ describe('client', () => {
|
|
|
192
170
|
expect(error).toMatchInlineSnapshot(`null`);
|
|
193
171
|
});
|
|
194
172
|
it('stream ', async () => {
|
|
195
|
-
var _a, e_1, _b, _c;
|
|
196
173
|
const { data } = await client.stream.get();
|
|
197
174
|
let all = '';
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
_d = false;
|
|
202
|
-
const chunk = _c;
|
|
203
|
-
// console.log(chunk)
|
|
204
|
-
all += chunk + '-';
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
208
|
-
finally {
|
|
209
|
-
try {
|
|
210
|
-
if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
|
|
211
|
-
}
|
|
212
|
-
finally { if (e_1) throw e_1.error; }
|
|
175
|
+
for await (const chunk of data) {
|
|
176
|
+
// console.log(chunk)
|
|
177
|
+
all += chunk + '-';
|
|
213
178
|
}
|
|
214
179
|
expect(all).toEqual('a-b-c-');
|
|
215
180
|
});
|
|
216
181
|
it('stream async', async () => {
|
|
217
|
-
var _a, e_2, _b, _c;
|
|
218
182
|
const { data } = await client['stream-async'].get();
|
|
219
183
|
let all = '';
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
_d = false;
|
|
224
|
-
const chunk = _c;
|
|
225
|
-
// console.log(chunk)
|
|
226
|
-
all += chunk + '-';
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
230
|
-
finally {
|
|
231
|
-
try {
|
|
232
|
-
if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
|
|
233
|
-
}
|
|
234
|
-
finally { if (e_2) throw e_2.error; }
|
|
184
|
+
for await (const chunk of data) {
|
|
185
|
+
// console.log(chunk)
|
|
186
|
+
all += chunk + '-';
|
|
235
187
|
}
|
|
236
188
|
expect(all).toEqual('a-b-c-');
|
|
237
189
|
});
|
|
@@ -265,4 +217,11 @@ describe('client', () => {
|
|
|
265
217
|
// expect(value).toEqual('Kirifuji Nagisa')
|
|
266
218
|
// })
|
|
267
219
|
});
|
|
220
|
+
describe('client as promise', () => {
|
|
221
|
+
it('should work with async client', async () => {
|
|
222
|
+
const asyncClient = Promise.resolve(client);
|
|
223
|
+
const { data } = await (await asyncClient).mirror.post({ test: 'value' });
|
|
224
|
+
expect(data).toEqual({ test: 'value' });
|
|
225
|
+
}, 200);
|
|
226
|
+
});
|
|
268
227
|
//# sourceMappingURL=client.test.js.map
|
package/dist/client.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -40,7 +40,6 @@ export type Context<in out Route extends RouteSchema = {}, in out Singleton exte
|
|
|
40
40
|
path: string;
|
|
41
41
|
request: SpiceflowRequest<Route['body']>;
|
|
42
42
|
state: Singleton['state'];
|
|
43
|
-
response?: Route['response'];
|
|
44
43
|
}>;
|
|
45
44
|
export type MiddlewareContext<in out Singleton extends SingletonBase = {
|
|
46
45
|
state: {};
|
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,EAEd,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,MAAM,YAAY,CACtB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACvC,KAAK,EAAE,EAAE,CAAA;IACT,MAAM,EAAE,EAAE,CAAA;IACV,OAAO,EAAE,EAAE,CAAA;CACZ,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB,QAAQ,CAAC;IAEX,KAAK,EAAE,SAAS,SAAS,KAAK,CAAC,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,EAAE,SAAS,SAAS,KAAK,CAAC,QAAQ,CAAC,GACrC,IAAI,SAAS,GAAG,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,GAC5C,WAAW,CAAC,IAAI,CAAC,GACjB;SAAG,GAAG,IAAI,MAAM,GAAG,MAAM;KAAE,GAC7B,KAAK,CAAC,QAAQ,CAAC,CAAA;IAGnB,QAAQ,EAAE,QAAQ,CAAA;IAElB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IAEH,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACxC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAE1B,CAAC,CAAA;AAEF,MAAM,MAAM,OAAO,CACjB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACvC,KAAK,EAAE,EAAE,CAAA;IACT,MAAM,EAAE,EAAE,CAAA;IACV,OAAO,EAAE,EAAE,CAAA;CACZ,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB,QAAQ,CAAC;IACX,KAAK,EAAE,SAAS,SAAS,KAAK,CAAC,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,EAAE,SAAS,SAAS,KAAK,CAAC,QAAQ,CAAC,GACrC,IAAI,SAAS,GAAG,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,GAC5C,WAAW,CAAC,IAAI,CAAC,GACjB,KAAK,GACP,KAAK,CAAC,QAAQ,CAAC,CAAA;IAGnB,QAAQ,EAAE,QAAQ,CAAA;IAElB,IAAI,EAAE,MAAM,CAAA;IAEZ,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACxC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;
|
|
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,EAEd,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,MAAM,YAAY,CACtB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACvC,KAAK,EAAE,EAAE,CAAA;IACT,MAAM,EAAE,EAAE,CAAA;IACV,OAAO,EAAE,EAAE,CAAA;CACZ,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB,QAAQ,CAAC;IAEX,KAAK,EAAE,SAAS,SAAS,KAAK,CAAC,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,EAAE,SAAS,SAAS,KAAK,CAAC,QAAQ,CAAC,GACrC,IAAI,SAAS,GAAG,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,GAC5C,WAAW,CAAC,IAAI,CAAC,GACjB;SAAG,GAAG,IAAI,MAAM,GAAG,MAAM;KAAE,GAC7B,KAAK,CAAC,QAAQ,CAAC,CAAA;IAGnB,QAAQ,EAAE,QAAQ,CAAA;IAElB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;OAMG;IAEH,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACxC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAE1B,CAAC,CAAA;AAEF,MAAM,MAAM,OAAO,CACjB,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,GAAG,EAAE,EACrC,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACvC,KAAK,EAAE,EAAE,CAAA;IACT,MAAM,EAAE,EAAE,CAAA;IACV,OAAO,EAAE,EAAE,CAAA;CACZ,EACD,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB,QAAQ,CAAC;IACX,KAAK,EAAE,SAAS,SAAS,KAAK,CAAC,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,EAAE,SAAS,SAAS,KAAK,CAAC,QAAQ,CAAC,GACrC,IAAI,SAAS,GAAG,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,GAC5C,WAAW,CAAC,IAAI,CAAC,GACjB,KAAK,GACP,KAAK,CAAC,QAAQ,CAAC,CAAA;IAGnB,QAAQ,EAAE,QAAQ,CAAA;IAElB,IAAI,EAAE,MAAM,CAAA;IAEZ,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACxC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAE1B,CAAC,CAAA;AAGF,MAAM,MAAM,iBAAiB,CAC3B,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,GAAG;IACvC,KAAK,EAAE,EAAE,CAAA;CACV,IACC,QAAQ,CAAC;IACX,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAE3C,QAAQ,EAAE,QAAQ,CAAA;CAUnB,CAAC,CAAA"}
|
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,CAAA;IACxB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,aAAc,WAAW,KAAG,
|
|
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,CAAA;IACxB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,aAAc,WAAW,KAAG,iBAoG5C,CAAA"}
|
package/dist/cors.js
CHANGED
|
@@ -4,9 +4,13 @@ export const cors = (options) => {
|
|
|
4
4
|
allowMethods: ['GET', 'HEAD', 'PUT', 'POST', 'DELETE', 'PATCH'],
|
|
5
5
|
allowHeaders: [],
|
|
6
6
|
exposeHeaders: [],
|
|
7
|
+
credentials: true,
|
|
7
8
|
cacheAge: 21600 // 6 hours default
|
|
8
9
|
};
|
|
9
|
-
const opts =
|
|
10
|
+
const opts = {
|
|
11
|
+
...defaults,
|
|
12
|
+
...options,
|
|
13
|
+
};
|
|
10
14
|
const findAllowOrigin = ((optsOrigin) => {
|
|
11
15
|
if (typeof optsOrigin === 'string') {
|
|
12
16
|
return () => optsOrigin;
|
|
@@ -19,7 +23,6 @@ export const cors = (options) => {
|
|
|
19
23
|
}
|
|
20
24
|
})(opts.origin);
|
|
21
25
|
return async function cors(c, next) {
|
|
22
|
-
var _a, _b;
|
|
23
26
|
let response = await next();
|
|
24
27
|
function set(key, value) {
|
|
25
28
|
response.headers.set(key, value);
|
|
@@ -42,7 +45,7 @@ export const cors = (options) => {
|
|
|
42
45
|
if (opts.credentials) {
|
|
43
46
|
set('Access-Control-Allow-Credentials', 'true');
|
|
44
47
|
}
|
|
45
|
-
if (
|
|
48
|
+
if (opts.exposeHeaders?.length) {
|
|
46
49
|
set('Access-Control-Expose-Headers', opts.exposeHeaders.join(','));
|
|
47
50
|
}
|
|
48
51
|
if (c.request.method === 'OPTIONS') {
|
|
@@ -56,17 +59,17 @@ export const cors = (options) => {
|
|
|
56
59
|
set('CDN-Cache-Control', `public, s-maxage=${opts.cacheAge}`);
|
|
57
60
|
set('Cloudflare-CDN-Cache-Control', `public, s-maxage=${opts.cacheAge}`);
|
|
58
61
|
}
|
|
59
|
-
if (
|
|
62
|
+
if (opts.allowMethods?.length) {
|
|
60
63
|
set('Access-Control-Allow-Methods', opts.allowMethods.join(','));
|
|
61
64
|
}
|
|
62
65
|
let headers = opts.allowHeaders;
|
|
63
|
-
if (!
|
|
66
|
+
if (!headers?.length) {
|
|
64
67
|
const requestHeaders = c.request.headers.get('Access-Control-Request-Headers');
|
|
65
68
|
if (requestHeaders) {
|
|
66
69
|
headers = requestHeaders.split(/\s*,\s*/);
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
|
-
if (headers
|
|
72
|
+
if (headers?.length) {
|
|
70
73
|
set('Access-Control-Allow-Headers', headers.join(','));
|
|
71
74
|
c.request.headers.append('Vary', 'Access-Control-Request-Headers');
|
|
72
75
|
}
|