@cudenix/cudenix 0.0.60 → 0.0.62
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/core/app.d.ts +4 -7
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +20 -42
- package/dist/core/app.js.map +1 -1
- package/dist/core/compile.d.ts.map +1 -1
- package/dist/core/compile.js +20 -27
- package/dist/core/compile.js.map +1 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +66 -36
- package/dist/core/context.js.map +1 -1
- package/dist/core/module.d.ts +5 -5
- package/dist/core/module.d.ts.map +1 -1
- package/dist/core/module.js +35 -12
- package/dist/core/module.js.map +1 -1
- package/dist/core/response.d.ts +5 -1
- package/dist/core/response.d.ts.map +1 -1
- package/dist/core/response.js +18 -16
- package/dist/core/response.js.map +1 -1
- package/dist/core/step.d.ts.map +1 -1
- package/dist/core/step.js +32 -10
- package/dist/core/step.js.map +1 -1
- package/dist/ecosystem/client/client.d.ts.map +1 -1
- package/dist/ecosystem/client/client.js +128 -146
- package/dist/ecosystem/client/client.js.map +1 -1
- package/dist/ecosystem/client/sse.d.ts.map +1 -1
- package/dist/ecosystem/client/sse.js +14 -7
- package/dist/ecosystem/client/sse.js.map +1 -1
- package/dist/ecosystem/client/ws.d.ts.map +1 -1
- package/dist/ecosystem/client/ws.js +14 -14
- package/dist/ecosystem/client/ws.js.map +1 -1
- package/dist/ecosystem/plugins/compress/compress.d.ts.map +1 -1
- package/dist/ecosystem/plugins/compress/compress.js +53 -24
- package/dist/ecosystem/plugins/compress/compress.js.map +1 -1
- package/dist/ecosystem/plugins/cors/cors.d.ts +4 -4
- package/dist/ecosystem/plugins/cors/cors.d.ts.map +1 -1
- package/dist/ecosystem/plugins/cors/cors.js +86 -45
- package/dist/ecosystem/plugins/cors/cors.js.map +1 -1
- package/dist/ecosystem/plugins/events/events.d.ts +2 -2
- package/dist/ecosystem/plugins/events/events.d.ts.map +1 -1
- package/dist/ecosystem/plugins/global-request-context/global-request-context.d.ts +0 -2
- package/dist/ecosystem/plugins/global-request-context/global-request-context.d.ts.map +1 -1
- package/dist/ecosystem/plugins/global-request-context/global-request-context.js +3 -3
- package/dist/ecosystem/plugins/global-request-context/global-request-context.js.map +1 -1
- package/dist/ecosystem/plugins/i18n/i18n.d.ts +4 -5
- package/dist/ecosystem/plugins/i18n/i18n.d.ts.map +1 -1
- package/dist/ecosystem/plugins/i18n/i18n.js +55 -50
- package/dist/ecosystem/plugins/i18n/i18n.js.map +1 -1
- package/dist/ecosystem/plugins/openapi/openapi.d.ts +1 -1
- package/dist/ecosystem/plugins/openapi/openapi.d.ts.map +1 -1
- package/dist/ecosystem/plugins/openapi/openapi.js +70 -51
- package/dist/ecosystem/plugins/openapi/openapi.js.map +1 -1
- package/dist/ecosystem/plugins/openapi/scalar.js +3 -3
- package/dist/ecosystem/plugins/openapi/scalar.js.map +1 -1
- package/dist/ecosystem/plugins/standard-schema/index.d.ts +2 -0
- package/dist/ecosystem/plugins/standard-schema/index.d.ts.map +1 -0
- package/dist/ecosystem/plugins/standard-schema/index.js +2 -0
- package/dist/ecosystem/plugins/standard-schema/index.js.map +1 -0
- package/dist/ecosystem/plugins/standard-schema/standard-schema.d.ts +3 -0
- package/dist/ecosystem/plugins/standard-schema/standard-schema.d.ts.map +1 -0
- package/dist/ecosystem/plugins/standard-schema/standard-schema.js +20 -0
- package/dist/ecosystem/plugins/standard-schema/standard-schema.js.map +1 -0
- package/dist/utils/cookies/parse-cookies.d.ts +2 -0
- package/dist/utils/cookies/parse-cookies.d.ts.map +1 -0
- package/dist/utils/cookies/parse-cookies.js +18 -0
- package/dist/utils/cookies/parse-cookies.js.map +1 -0
- package/dist/utils/functions/is-generator.d.ts +1 -1
- package/dist/utils/functions/is-generator.d.ts.map +1 -1
- package/dist/utils/functions/is-generator.js.map +1 -1
- package/dist/utils/headers/select.d.ts +5 -1
- package/dist/utils/headers/select.d.ts.map +1 -1
- package/dist/utils/headers/select.js +69 -22
- package/dist/utils/headers/select.js.map +1 -1
- package/dist/utils/regexps/path-to-regexp.d.ts.map +1 -1
- package/dist/utils/regexps/path-to-regexp.js +2 -1
- package/dist/utils/regexps/path-to-regexp.js.map +1 -1
- package/package.json +6 -3
- package/dist/utils/files/is-file.d.ts +0 -2
- package/dist/utils/files/is-file.d.ts.map +0 -1
- package/dist/utils/files/is-file.js +0 -4
- package/dist/utils/files/is-file.js.map +0 -1
- package/dist/utils/headers/quality.d.ts +0 -2
- package/dist/utils/headers/quality.d.ts.map +0 -1
- package/dist/utils/headers/quality.js +0 -19
- package/dist/utils/headers/quality.js.map +0 -1
- package/dist/utils/standard-schema/validate.d.ts +0 -8
- package/dist/utils/standard-schema/validate.d.ts.map +0 -1
- package/dist/utils/standard-schema/validate.js +0 -16
- package/dist/utils/standard-schema/validate.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"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"}
|
package/dist/core/module.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Middleware, } from "../core/middleware.js";
|
|
3
|
-
import { Route, } from "../core/route.js";
|
|
4
|
-
import { Store, } from "../core/store.js";
|
|
5
|
-
import { Validator, } from "../core/validator.js";
|
|
1
|
+
import { isGenerator } from "../utils/functions/is-generator.js";
|
|
6
2
|
import { FreezeEmpty } from "../utils/objects/empty.js";
|
|
7
3
|
export const Module = function ({ prefix = "" } = FreezeEmpty) {
|
|
8
4
|
this.chain = [];
|
|
@@ -15,24 +11,51 @@ Module.prototype.extends = function (module, { execute } = FreezeEmpty) {
|
|
|
15
11
|
}
|
|
16
12
|
return this;
|
|
17
13
|
};
|
|
18
|
-
Module.prototype.group = function (group,
|
|
19
|
-
this.chain.push(
|
|
14
|
+
Module.prototype.group = function (group, { prefix = "" } = FreezeEmpty) {
|
|
15
|
+
this.chain.push({
|
|
16
|
+
group,
|
|
17
|
+
prefix,
|
|
18
|
+
type: "GROUP",
|
|
19
|
+
});
|
|
20
20
|
return this;
|
|
21
21
|
};
|
|
22
22
|
Module.prototype.middleware = function (middleware) {
|
|
23
|
-
this.chain.push(
|
|
23
|
+
this.chain.push({
|
|
24
|
+
middleware,
|
|
25
|
+
type: "MIDDLEWARE",
|
|
26
|
+
});
|
|
24
27
|
return this;
|
|
25
28
|
};
|
|
26
|
-
Module.prototype.route = function (method, path, route,
|
|
27
|
-
this.chain.push(
|
|
29
|
+
Module.prototype.route = function (method, path, route, { validator } = FreezeEmpty) {
|
|
30
|
+
this.chain.push({
|
|
31
|
+
generator: isGenerator(route),
|
|
32
|
+
method,
|
|
33
|
+
path,
|
|
34
|
+
route,
|
|
35
|
+
type: "ROUTE",
|
|
36
|
+
validator: validator
|
|
37
|
+
? {
|
|
38
|
+
keys: Object.keys(validator.request),
|
|
39
|
+
request: validator.request,
|
|
40
|
+
type: "VALIDATOR",
|
|
41
|
+
}
|
|
42
|
+
: undefined,
|
|
43
|
+
});
|
|
28
44
|
return this;
|
|
29
45
|
};
|
|
30
46
|
Module.prototype.store = function (store) {
|
|
31
|
-
this.chain.push(
|
|
47
|
+
this.chain.push({
|
|
48
|
+
store,
|
|
49
|
+
type: "STORE",
|
|
50
|
+
});
|
|
32
51
|
return this;
|
|
33
52
|
};
|
|
34
53
|
Module.prototype.validator = function (options) {
|
|
35
|
-
this.chain.push(
|
|
54
|
+
this.chain.push({
|
|
55
|
+
keys: Object.keys(options.request),
|
|
56
|
+
request: options.request,
|
|
57
|
+
type: "VALIDATOR",
|
|
58
|
+
});
|
|
36
59
|
return this;
|
|
37
60
|
};
|
|
38
61
|
export const module = (options) => {
|
package/dist/core/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/core/module.ts"],"names":[],"mappings":"AA0DA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAyPpD,MAAM,CAAC,MAAM,MAAM,GAAG,UAErB,EAAE,MAAM,GAAG,EAAE,KAAuB,WAAW;IAE/C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;AACtB,CAA2B,CAAC;AAE5B,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,UAE1B,MAAiB,EACjB,EAAE,OAAO,KAA2B,WAAW;IAE/C,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,UAExB,KAAiB,EACjB,EAAE,MAAM,GAAG,EAAE,KAAsB,WAAW;IAE9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,KAAK;QACL,MAAM;QACN,IAAI,EAAE,OAAgB;KACtB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,UAE7B,UAA2B;IAE3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,UAAU;QACV,IAAI,EAAE,YAAqB;KAC3B,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,UAExB,MAAkB,EAClB,IAAkB,EAClB,KAAiB,EACjB,EAAE,SAAS,KAAsB,WAAW;IAE5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC;QAC7B,MAAM;QACN,IAAI;QACJ,KAAK;QACL,IAAI,EAAE,OAAgB;QACtB,SAAS,EAAE,SAAS;YACnB,CAAC,CAAC;gBACA,IAAI,EAAE,MAAM,CAAC,IAAI,CAChB,SAAS,CAAC,OAAO,CACa;gBAC/B,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,IAAI,EAAE,WAAoB;aAC1B;YACF,CAAC,CAAC,SAAS;KACZ,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,UAA2B,KAAiB;IACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,KAAK;QACL,IAAI,EAAE,OAAgB;KACtB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,UAE5B,OAA4B;IAE5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAA+B;QAChE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,WAAoB;KAC1B,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAcrB,OAA+B,EAC9B,EAAE;IACH,OAAO,IAAI,MAAM,CAAC,OAAO,CAOxB,CAAC;AACH,CAAC,CAAC"}
|
package/dist/core/response.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import type { ContextResponse } from "../core/context.js";
|
|
2
|
-
|
|
2
|
+
interface ProcessResponseOptions {
|
|
3
|
+
serializeCookies?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const processResponse: (response: ContextResponse, { serializeCookies }?: ProcessResponseOptions) => Response;
|
|
6
|
+
export {};
|
|
3
7
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,UAAU,sBAAsB;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,eAAe,GAC3B,UAAU,eAAe,EACzB,uBAAsB,sBAAoC,aAoE1D,CAAC"}
|
package/dist/core/response.js
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { FreezeEmpty } from "../utils/objects/empty.js";
|
|
2
|
+
export const processResponse = (response, { serializeCookies } = FreezeEmpty) => {
|
|
3
|
+
if (serializeCookies && response._c && response.cookies.size > 0) {
|
|
3
4
|
const setCookieHeaders = response.cookies.toSetCookieHeaders();
|
|
4
5
|
for (let i = 0; i < setCookieHeaders.length; i++) {
|
|
5
|
-
|
|
6
|
-
if (!setCookieHeader) {
|
|
7
|
-
continue;
|
|
8
|
-
}
|
|
9
|
-
response.headers.append("set-cookie", setCookieHeader);
|
|
6
|
+
response.headers.append("set-cookie", setCookieHeaders[i]);
|
|
10
7
|
}
|
|
11
8
|
}
|
|
12
9
|
const content = response.content;
|
|
13
10
|
if (content instanceof ReadableStream) {
|
|
14
|
-
response.headers
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
const headers = response.headers;
|
|
12
|
+
headers.set("cache-control", "no-cache");
|
|
13
|
+
headers.set("connection", "keep-alive");
|
|
14
|
+
if (!headers.has("content-type")) {
|
|
15
|
+
headers.set("content-type", "text/event-stream");
|
|
18
16
|
}
|
|
19
17
|
return new Response(content, {
|
|
20
|
-
headers
|
|
18
|
+
headers,
|
|
21
19
|
});
|
|
22
20
|
}
|
|
21
|
+
const headers = response._h;
|
|
23
22
|
if (!content) {
|
|
24
23
|
return new Response(undefined, {
|
|
25
|
-
headers
|
|
24
|
+
headers,
|
|
26
25
|
status: 204,
|
|
27
26
|
});
|
|
28
27
|
}
|
|
29
28
|
if (content.content instanceof Response) {
|
|
29
|
+
if (!headers) {
|
|
30
|
+
return content.content;
|
|
31
|
+
}
|
|
30
32
|
const original = content.content;
|
|
31
|
-
for (const [key, value] of
|
|
33
|
+
for (const [key, value] of headers) {
|
|
32
34
|
original.headers.append(key, value);
|
|
33
35
|
}
|
|
34
36
|
return original;
|
|
@@ -39,12 +41,12 @@ export const processResponse = (response) => {
|
|
|
39
41
|
status: content.status,
|
|
40
42
|
success: content.success,
|
|
41
43
|
}, {
|
|
42
|
-
headers
|
|
44
|
+
headers,
|
|
43
45
|
status: content.status,
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
return new Response(content.content, {
|
|
47
|
-
headers
|
|
49
|
+
headers,
|
|
48
50
|
status: content.status,
|
|
49
51
|
});
|
|
50
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/core/response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,QAAyB,EACzB,EAAE,gBAAgB,KAA6B,WAAW,EACzD,EAAE;IACH,IAAI,gBAAgB,IAAK,QAAgB,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAE,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;YAC5B,OAAO;SACP,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAI,QAAgB,CAAC,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;YAC9B,OAAO;YACP,MAAM,EAAE,GAAG;SACX,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,YAAY,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,IAAI,CACnB;YACC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACxB,EACD;YACC,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CACD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;QACpC,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/core/step.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/core/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAS,QAAQ,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/core/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAS,QAAQ,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAyV9C,eAAO,MAAM,cAAc,GAC1B,KAAK,GAAG,EACR,SAAS,OAAO,EAChB,UAAU,QAAQ,EAClB,SAAS,OAAO,iCA2ChB,CAAC"}
|
package/dist/core/step.js
CHANGED
|
@@ -14,7 +14,10 @@ const applyValidation = (validated, key, context, state) => {
|
|
|
14
14
|
state.errors ??= [];
|
|
15
15
|
state.index ??= new Empty();
|
|
16
16
|
if (state.index[key] !== undefined) {
|
|
17
|
-
state.errors[state.index[key]]
|
|
17
|
+
const details = state.errors[state.index[key]].details;
|
|
18
|
+
for (let i = 0; i < content.length; i++) {
|
|
19
|
+
details.push(content[i]);
|
|
20
|
+
}
|
|
18
21
|
return;
|
|
19
22
|
}
|
|
20
23
|
state.index[key] = state.errors.length;
|
|
@@ -55,7 +58,7 @@ const resolveRoute = (app, context, request, endpoint, returned) => {
|
|
|
55
58
|
return returned?.drain?.(ws);
|
|
56
59
|
},
|
|
57
60
|
message: (ws, message) => {
|
|
58
|
-
return returned?.message(ws, message);
|
|
61
|
+
return returned?.message?.(ws, message);
|
|
59
62
|
},
|
|
60
63
|
open: (ws) => {
|
|
61
64
|
return returned?.open?.(ws);
|
|
@@ -118,12 +121,12 @@ const step = (app, context, endpoint, request, chain, index, validatorPlugin) =>
|
|
|
118
121
|
if (!link.request || !validatorPlugin) {
|
|
119
122
|
continue;
|
|
120
123
|
}
|
|
121
|
-
const
|
|
124
|
+
const validationReturned = processValidators(context, link, validatorPlugin, 0, {
|
|
122
125
|
errors: undefined,
|
|
123
126
|
index: undefined,
|
|
124
127
|
});
|
|
125
|
-
if (
|
|
126
|
-
return
|
|
128
|
+
if (validationReturned instanceof Promise) {
|
|
129
|
+
return validationReturned.then(() => {
|
|
127
130
|
if (context.response.content) {
|
|
128
131
|
return;
|
|
129
132
|
}
|
|
@@ -188,12 +191,31 @@ const step = (app, context, endpoint, request, chain, index, validatorPlugin) =>
|
|
|
188
191
|
resolveRoute(app, context, request, endpoint, returned);
|
|
189
192
|
};
|
|
190
193
|
export const stepAndRespond = (app, context, endpoint, request) => {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
return
|
|
194
|
+
if (endpoint.chain.length === 0 && !endpoint.generator) {
|
|
195
|
+
const returned = endpoint.route.route(context);
|
|
196
|
+
if (returned instanceof Promise) {
|
|
197
|
+
return returned.then((resolved) => {
|
|
198
|
+
context.response.content = resolved;
|
|
199
|
+
return processResponse(context.response, {
|
|
200
|
+
serializeCookies: !!endpoint.paramsRegexp,
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
context.response.content = returned;
|
|
205
|
+
return processResponse(context.response, {
|
|
206
|
+
serializeCookies: !!endpoint.paramsRegexp,
|
|
195
207
|
});
|
|
196
208
|
}
|
|
197
|
-
|
|
209
|
+
const returned = step(app, context, endpoint, request, endpoint.chain, 0, app.memory.get("validator"));
|
|
210
|
+
if (returned instanceof Promise) {
|
|
211
|
+
return returned.then(() => {
|
|
212
|
+
return processResponse(context.response, {
|
|
213
|
+
serializeCookies: !!endpoint.paramsRegexp,
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
return processResponse(context.response, {
|
|
218
|
+
serializeCookies: !!endpoint.paramsRegexp,
|
|
219
|
+
});
|
|
198
220
|
};
|
|
199
221
|
//# sourceMappingURL=step.js.map
|
package/dist/core/step.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/core/step.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/core/step.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,167 +1,149 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { tryParse } from "../../utils/json/try-parse.js";
|
|
3
|
-
import { FreezeEmpty } from "../../utils/objects/empty.js";
|
|
4
|
-
const JSON_FIRST_CHAR = new Uint8Array(128);
|
|
1
|
+
import { Empty, FreezeEmpty } from "../../utils/objects/empty.js";
|
|
5
2
|
const PARAM_REGEX_REPLACE = /\/:(\w+\??)/g;
|
|
6
3
|
const SPREAD_REGEX_REPLACE = /\/\.{3}(\w+\??)/g;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
const date = new Date(value);
|
|
27
|
-
if (!Number.isNaN(date.getTime())) {
|
|
28
|
-
return date;
|
|
29
|
-
}
|
|
30
|
-
const firstChar = value.charCodeAt(0);
|
|
31
|
-
if (firstChar < 128 && JSON_FIRST_CHAR[firstChar]) {
|
|
32
|
-
return tryParse(value);
|
|
33
|
-
}
|
|
34
|
-
return value;
|
|
35
|
-
};
|
|
36
|
-
const createProxy = (options, paths = []) => {
|
|
37
|
-
return new Proxy(() => { }, {
|
|
38
|
-
async apply(target, thisArg, [requestOptions = FreezeEmpty]) {
|
|
39
|
-
const mergedOptions = {
|
|
40
|
-
...(typeof options === "function" ? await options() : options),
|
|
41
|
-
...requestOptions,
|
|
42
|
-
};
|
|
43
|
-
const end = paths.length - 1;
|
|
44
|
-
let pathStr = "";
|
|
45
|
-
for (let i = 0; i < end; i++) {
|
|
46
|
-
if (i > 0) {
|
|
47
|
-
pathStr += "/";
|
|
48
|
-
}
|
|
49
|
-
pathStr += paths[i];
|
|
50
|
-
}
|
|
51
|
-
let url = `${mergedOptions.url}/${pathStr}`;
|
|
52
|
-
delete mergedOptions.url;
|
|
53
|
-
if (mergedOptions.body) {
|
|
54
|
-
const keys = Object.keys(mergedOptions.body);
|
|
55
|
-
let hasFile = false;
|
|
56
|
-
for (let i = 0; i < keys.length; i++) {
|
|
57
|
-
const key = keys[i];
|
|
58
|
-
if (!key) {
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
if (isFile(mergedOptions.body[key]) ||
|
|
62
|
-
(Array.isArray(mergedOptions.body[key]) &&
|
|
63
|
-
mergedOptions.body[key].some(isFile))) {
|
|
64
|
-
hasFile = true;
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (hasFile) {
|
|
69
|
-
const formData = new FormData();
|
|
70
|
-
for (let i = 0; i < keys.length; i++) {
|
|
71
|
-
const key = keys[i];
|
|
72
|
-
if (!key) {
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
if (Array.isArray(mergedOptions.body[key])) {
|
|
76
|
-
for (let j = 0; j <
|
|
77
|
-
mergedOptions.body[key].length; j++) {
|
|
78
|
-
formData.append(key, mergedOptions.body[key][j]);
|
|
79
|
-
}
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
formData.append(key, mergedOptions.body[key]);
|
|
83
|
-
}
|
|
84
|
-
mergedOptions.body = formData;
|
|
4
|
+
const proxyHandler = {
|
|
5
|
+
async apply(target, _thisArg, [requestOptions = FreezeEmpty]) {
|
|
6
|
+
const globalOptions = target._o;
|
|
7
|
+
const path = target._p;
|
|
8
|
+
const method = target._m;
|
|
9
|
+
const resolved = typeof globalOptions === "function"
|
|
10
|
+
? await globalOptions()
|
|
11
|
+
: globalOptions;
|
|
12
|
+
const options = Object.assign({}, resolved, requestOptions);
|
|
13
|
+
let url = `${resolved.url}/${path}`;
|
|
14
|
+
if (options.body) {
|
|
15
|
+
const keys = Object.keys(options.body);
|
|
16
|
+
let hasFile = false;
|
|
17
|
+
for (let i = 0; i < keys.length; i++) {
|
|
18
|
+
const key = keys[i];
|
|
19
|
+
if (!key) {
|
|
20
|
+
continue;
|
|
85
21
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
catch { }
|
|
22
|
+
const value = options.body[key];
|
|
23
|
+
if (value instanceof File ||
|
|
24
|
+
value instanceof Blob ||
|
|
25
|
+
(Array.isArray(value) &&
|
|
26
|
+
value.length > 0 &&
|
|
27
|
+
(value[0] instanceof File || value[0] instanceof Blob))) {
|
|
28
|
+
hasFile = true;
|
|
29
|
+
break;
|
|
95
30
|
}
|
|
96
31
|
}
|
|
97
|
-
if (
|
|
98
|
-
const
|
|
32
|
+
if (hasFile) {
|
|
33
|
+
const formData = new FormData();
|
|
99
34
|
for (let i = 0; i < keys.length; i++) {
|
|
100
35
|
const key = keys[i];
|
|
101
36
|
if (!key) {
|
|
102
37
|
continue;
|
|
103
38
|
}
|
|
104
|
-
const value =
|
|
105
|
-
if (value
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (typeof value === "object" && value) {
|
|
110
|
-
mergedOptions.query[key] = JSON.stringify(value);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
url = `${url}?${new URLSearchParams(mergedOptions.query).toString()}`;
|
|
114
|
-
}
|
|
115
|
-
if (mergedOptions.headers) {
|
|
116
|
-
const keys = Object.keys(mergedOptions.headers);
|
|
117
|
-
for (let i = 0; i < keys.length; i++) {
|
|
118
|
-
const key = keys[i];
|
|
119
|
-
if (!key) {
|
|
39
|
+
const value = options.body[key];
|
|
40
|
+
if (Array.isArray(value)) {
|
|
41
|
+
for (let j = 0; j < value.length; j++) {
|
|
42
|
+
formData.append(key, value[j]);
|
|
43
|
+
}
|
|
120
44
|
continue;
|
|
121
45
|
}
|
|
122
|
-
|
|
123
|
-
delete mergedOptions.headers[key];
|
|
124
|
-
}
|
|
46
|
+
formData.append(key, value);
|
|
125
47
|
}
|
|
48
|
+
options.body = formData;
|
|
126
49
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return param ? `/${param}` : "";
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
if (url.indexOf("/...") !== -1) {
|
|
134
|
-
url = url.replaceAll(SPREAD_REGEX_REPLACE, (_, key) => {
|
|
135
|
-
const params = mergedOptions.params?.[key.endsWith("?") ? key.slice(0, -1) : key];
|
|
136
|
-
return params ? `/${params.join("/")}` : "";
|
|
137
|
-
});
|
|
50
|
+
else {
|
|
51
|
+
options.body = JSON.stringify(options.body);
|
|
52
|
+
options.headers["content-type"] = "application/json";
|
|
138
53
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
54
|
+
}
|
|
55
|
+
if (options.query) {
|
|
56
|
+
const keys = Object.keys(options.query);
|
|
57
|
+
let query = "";
|
|
58
|
+
for (let i = 0; i < keys.length; i++) {
|
|
59
|
+
const key = keys[i];
|
|
60
|
+
if (!key) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const value = options.query[key];
|
|
64
|
+
if (query.length > 0) {
|
|
65
|
+
query += "&";
|
|
66
|
+
}
|
|
67
|
+
if (typeof value === "object" && value) {
|
|
68
|
+
query +=
|
|
69
|
+
encodeURIComponent(key) +
|
|
70
|
+
"=" +
|
|
71
|
+
encodeURIComponent(JSON.stringify(value));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
query +=
|
|
75
|
+
encodeURIComponent(key) +
|
|
76
|
+
"=" +
|
|
77
|
+
encodeURIComponent(String(value));
|
|
78
|
+
}
|
|
145
79
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
.get("Content-Type")
|
|
149
|
-
?.toLowerCase()
|
|
150
|
-
.split(";")[0];
|
|
151
|
-
if (contentType === "application/json") {
|
|
152
|
-
return response.json();
|
|
80
|
+
if (query.length > 0) {
|
|
81
|
+
url = `${url}?${query}`;
|
|
153
82
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
83
|
+
}
|
|
84
|
+
if (url.indexOf("/:") !== -1) {
|
|
85
|
+
url = url.replaceAll(PARAM_REGEX_REPLACE, (_, key) => {
|
|
86
|
+
const param = options.params?.[key.endsWith("?") ? key.slice(0, -1) : key];
|
|
87
|
+
return param ? `/${param}` : "";
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
if (url.indexOf("/...") !== -1) {
|
|
91
|
+
url = url.replaceAll(SPREAD_REGEX_REPLACE, (_, key) => {
|
|
92
|
+
const params = options.params?.[key.endsWith("?") ? key.slice(0, -1) : key];
|
|
93
|
+
return params ? `/${params.join("/")}` : "";
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
options.method = method;
|
|
97
|
+
if (method === "ws") {
|
|
98
|
+
url = url.startsWith("https://")
|
|
99
|
+
? url.replace("https://", "wss://")
|
|
100
|
+
: url.replace("http://", "ws://");
|
|
101
|
+
return (await import("../../ecosystem/client/ws.js")).ws(url);
|
|
102
|
+
}
|
|
103
|
+
const response = await fetch(url, options);
|
|
104
|
+
const contentType = response.headers.get("content-type");
|
|
105
|
+
if (!contentType) {
|
|
106
|
+
return response.text();
|
|
107
|
+
}
|
|
108
|
+
if (contentType.indexOf("application/json") !== -1) {
|
|
109
|
+
return response.json();
|
|
110
|
+
}
|
|
111
|
+
if (contentType.indexOf("application/octet-stream") !== -1) {
|
|
112
|
+
return response.arrayBuffer();
|
|
113
|
+
}
|
|
114
|
+
if (contentType.indexOf("multipart/form-data") !== -1) {
|
|
115
|
+
const formData = await response.formData();
|
|
116
|
+
const result = new Empty();
|
|
117
|
+
for (const [key, value] of formData) {
|
|
118
|
+
result[key] = value;
|
|
158
119
|
}
|
|
159
|
-
return
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
return
|
|
163
|
-
|
|
164
|
-
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
if (contentType.indexOf("text/event-stream") !== -1) {
|
|
123
|
+
return (await import("../../ecosystem/client/sse.js")).sse(response.url, {
|
|
124
|
+
withCredentials: true,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
return response.text();
|
|
128
|
+
},
|
|
129
|
+
get(target, prop) {
|
|
130
|
+
if (prop === "index") {
|
|
131
|
+
return createProxy(target._o, target._p, target._m);
|
|
132
|
+
}
|
|
133
|
+
const method = target._m;
|
|
134
|
+
return createProxy(target._o, method
|
|
135
|
+
? target._p
|
|
136
|
+
? `${target._p}/${method}`
|
|
137
|
+
: method
|
|
138
|
+
: target._p, prop);
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
const createProxy = (globalOptions, path = "", method = "") => {
|
|
142
|
+
const target = (() => { });
|
|
143
|
+
target._o = globalOptions;
|
|
144
|
+
target._p = path;
|
|
145
|
+
target._m = method;
|
|
146
|
+
return new Proxy(target, proxyHandler);
|
|
165
147
|
};
|
|
166
148
|
export const client = (options) => {
|
|
167
149
|
return createProxy(options);
|