fets 0.0.5 → 0.0.6
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/Response.d.ts +1 -0
- package/index.js +4 -9
- package/index.mjs +5 -10
- package/package.json +2 -2
package/Response.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export interface LazySerializedResponse {
|
|
|
8
8
|
init?: ResponseInit;
|
|
9
9
|
serializerSet: boolean;
|
|
10
10
|
responsePromise: Promise<Response>;
|
|
11
|
+
jsonObj: any;
|
|
11
12
|
}
|
|
12
13
|
export declare function isLazySerializedResponse(response: any): response is LazySerializedResponse;
|
|
13
14
|
export declare function createLazySerializedResponse(jsonObj: any, init?: ResponseInit): LazySerializedResponse;
|
package/index.js
CHANGED
|
@@ -22,6 +22,7 @@ function createLazySerializedResponse(jsonObj, init) {
|
|
|
22
22
|
});
|
|
23
23
|
let _serializerSet = false;
|
|
24
24
|
return {
|
|
25
|
+
jsonObj,
|
|
25
26
|
responsePromise: promise,
|
|
26
27
|
[LAZY_SERIALIZED_RESPONSE]: true,
|
|
27
28
|
init,
|
|
@@ -63,10 +64,7 @@ function useAjv() {
|
|
|
63
64
|
if ((_a = schemas === null || schemas === void 0 ? void 0 : schemas.request) === null || _a === void 0 ? void 0 : _a.headers) {
|
|
64
65
|
const validateFn = ajv.compile(schemas.request.headers);
|
|
65
66
|
validationMiddlewares.set('headers', request => {
|
|
66
|
-
const headersObj =
|
|
67
|
-
request.headers.forEach((value, key) => {
|
|
68
|
-
headersObj[key] = value;
|
|
69
|
-
});
|
|
67
|
+
const headersObj = server.getHeadersObj(request.headers);
|
|
70
68
|
const isValid = validateFn(headersObj);
|
|
71
69
|
if (!isValid) {
|
|
72
70
|
return validateFn.errors;
|
|
@@ -441,12 +439,9 @@ function createRouterBase({ fetchAPI: givenFetchAPI, base: basePath = '/', plugi
|
|
|
441
439
|
});
|
|
442
440
|
}
|
|
443
441
|
if (!handlerResult.serializerSet) {
|
|
444
|
-
handlerResult.
|
|
445
|
-
}
|
|
446
|
-
const realResponse = await handlerResult.responsePromise;
|
|
447
|
-
if (realResponse) {
|
|
448
|
-
return realResponse;
|
|
442
|
+
return fetchAPI.Response.json(handlerResult.jsonObj, handlerResult.init);
|
|
449
443
|
}
|
|
444
|
+
return handlerResult.responsePromise;
|
|
450
445
|
}
|
|
451
446
|
else if (handlerResult) {
|
|
452
447
|
return handlerResult;
|
package/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as DefaultFetchAPI from '@whatwg-node/fetch';
|
|
2
2
|
import { Response as Response$1, fetch } from '@whatwg-node/fetch';
|
|
3
3
|
export { URLPattern } from '@whatwg-node/fetch';
|
|
4
|
-
import { createServerAdapter } from '@whatwg-node/server';
|
|
4
|
+
import { getHeadersObj, createServerAdapter } from '@whatwg-node/server';
|
|
5
5
|
export { HTTPError, useCORS, useErrorHandling } from '@whatwg-node/server';
|
|
6
6
|
import Ajv from 'ajv';
|
|
7
7
|
import addFormats from 'ajv-formats';
|
|
@@ -19,6 +19,7 @@ function createLazySerializedResponse(jsonObj, init) {
|
|
|
19
19
|
});
|
|
20
20
|
let _serializerSet = false;
|
|
21
21
|
return {
|
|
22
|
+
jsonObj,
|
|
22
23
|
responsePromise: promise,
|
|
23
24
|
[LAZY_SERIALIZED_RESPONSE]: true,
|
|
24
25
|
init,
|
|
@@ -60,10 +61,7 @@ function useAjv() {
|
|
|
60
61
|
if ((_a = schemas === null || schemas === void 0 ? void 0 : schemas.request) === null || _a === void 0 ? void 0 : _a.headers) {
|
|
61
62
|
const validateFn = ajv.compile(schemas.request.headers);
|
|
62
63
|
validationMiddlewares.set('headers', request => {
|
|
63
|
-
const headersObj =
|
|
64
|
-
request.headers.forEach((value, key) => {
|
|
65
|
-
headersObj[key] = value;
|
|
66
|
-
});
|
|
64
|
+
const headersObj = getHeadersObj(request.headers);
|
|
67
65
|
const isValid = validateFn(headersObj);
|
|
68
66
|
if (!isValid) {
|
|
69
67
|
return validateFn.errors;
|
|
@@ -438,12 +436,9 @@ function createRouterBase({ fetchAPI: givenFetchAPI, base: basePath = '/', plugi
|
|
|
438
436
|
});
|
|
439
437
|
}
|
|
440
438
|
if (!handlerResult.serializerSet) {
|
|
441
|
-
handlerResult.
|
|
442
|
-
}
|
|
443
|
-
const realResponse = await handlerResult.responsePromise;
|
|
444
|
-
if (realResponse) {
|
|
445
|
-
return realResponse;
|
|
439
|
+
return fetchAPI.Response.json(handlerResult.jsonObj, handlerResult.init);
|
|
446
440
|
}
|
|
441
|
+
return handlerResult.responsePromise;
|
|
447
442
|
}
|
|
448
443
|
else if (handlerResult) {
|
|
449
444
|
return handlerResult;
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fets",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "TypeScript HTTP Framework focusing on e2e type-safety, easy setup, performance & great developer experience",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@ardatan/fast-json-stringify": "^0.0.3",
|
|
8
8
|
"@whatwg-node/fetch": "^0.8.2",
|
|
9
|
-
"@whatwg-node/server": "^0.7.
|
|
9
|
+
"@whatwg-node/server": "^0.7.4",
|
|
10
10
|
"ajv": "^8.12.0",
|
|
11
11
|
"ajv-formats": "^2.1.1",
|
|
12
12
|
"json-schema-to-ts": "2.7.2",
|