@cudenix/cudenix 0.0.27 → 0.0.29
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/addon.d.ts +5 -0
- package/dist/addon.d.ts.map +1 -0
- package/dist/addon.js +2 -0
- package/dist/addon.js.map +1 -0
- package/dist/app.d.ts +9 -8
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +49 -180
- package/dist/app.js.map +1 -1
- package/dist/compile.d.ts +4 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +154 -0
- package/dist/compile.js.map +1 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +15 -10
- package/dist/context.js.map +1 -1
- package/dist/ecosystem/client/client.d.ts +6 -2
- package/dist/ecosystem/client/client.d.ts.map +1 -1
- package/dist/ecosystem/client/client.js +32 -17
- 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 +3 -1
- 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 +3 -1
- package/dist/ecosystem/client/ws.js.map +1 -1
- package/dist/ecosystem/compress/compress.d.ts +13 -0
- package/dist/ecosystem/compress/compress.d.ts.map +1 -0
- package/dist/ecosystem/compress/compress.js +87 -0
- package/dist/ecosystem/compress/compress.js.map +1 -0
- package/dist/ecosystem/compress/compression-stream.d.ts +14 -0
- package/dist/ecosystem/compress/compression-stream.d.ts.map +1 -0
- package/dist/ecosystem/compress/compression-stream.js +20 -0
- package/dist/ecosystem/compress/compression-stream.js.map +1 -0
- package/dist/ecosystem/compress/index.d.ts +2 -0
- package/dist/ecosystem/compress/index.d.ts.map +1 -0
- package/dist/ecosystem/compress/index.js +2 -0
- package/dist/ecosystem/compress/index.js.map +1 -0
- package/dist/ecosystem/cors/cors.d.ts +1 -1
- package/dist/ecosystem/cors/cors.d.ts.map +1 -1
- package/dist/ecosystem/cors/cors.js +18 -17
- package/dist/ecosystem/cors/cors.js.map +1 -1
- package/dist/ecosystem/events/events.d.ts.map +1 -1
- package/dist/ecosystem/events/events.js +3 -1
- package/dist/ecosystem/events/events.js.map +1 -1
- package/dist/ecosystem/i18n/i18n.d.ts +1 -1
- package/dist/ecosystem/i18n/i18n.d.ts.map +1 -1
- package/dist/ecosystem/i18n/i18n.js +100 -84
- package/dist/ecosystem/i18n/i18n.js.map +1 -1
- package/dist/ecosystem/openapi/openapi.d.ts.map +1 -1
- package/dist/ecosystem/openapi/openapi.js +133 -109
- package/dist/ecosystem/openapi/openapi.js.map +1 -1
- package/dist/ecosystem/openapi/scalar.d.ts.map +1 -1
- package/dist/ecosystem/openapi/scalar.js +19 -17
- package/dist/ecosystem/openapi/scalar.js.map +1 -1
- package/dist/ecosystem/trycatch/trycatch.d.ts.map +1 -1
- package/dist/ecosystem/trycatch/trycatch.js +11 -12
- package/dist/ecosystem/trycatch/trycatch.js.map +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +3 -1
- package/dist/error.js.map +1 -1
- package/dist/group.d.ts.map +1 -1
- package/dist/group.js +3 -1
- package/dist/group.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +3 -1
- package/dist/middleware.js.map +1 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +3 -1
- package/dist/module.js.map +1 -1
- package/dist/response.d.ts +3 -0
- package/dist/response.d.ts.map +1 -0
- package/dist/response.js +35 -0
- package/dist/response.js.map +1 -0
- package/dist/route.d.ts +1 -1
- package/dist/route.d.ts.map +1 -1
- package/dist/route.js +4 -7
- package/dist/route.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +3 -1
- package/dist/store.js.map +1 -1
- package/dist/success.d.ts.map +1 -1
- package/dist/success.js +3 -1
- package/dist/success.js.map +1 -1
- package/dist/types/extract-url-params.d.ts.map +1 -1
- package/dist/types/maybe-function.d.ts +3 -0
- package/dist/types/maybe-function.d.ts.map +1 -0
- package/dist/types/maybe-function.js +2 -0
- package/dist/types/maybe-function.js.map +1 -0
- package/dist/utils/empty.d.ts.map +1 -1
- package/dist/utils/empty.js +0 -1
- package/dist/utils/empty.js.map +1 -1
- package/dist/utils/get-cookies.d.ts.map +1 -1
- package/dist/utils/get-cookies.js +5 -2
- package/dist/utils/get-cookies.js.map +1 -1
- package/dist/utils/merge.d.ts.map +1 -1
- package/dist/utils/merge.js +5 -1
- package/dist/utils/merge.js.map +1 -1
- package/dist/utils/regexp.d.ts +0 -1
- package/dist/utils/regexp.d.ts.map +1 -1
- package/dist/utils/regexp.js +0 -1
- package/dist/utils/regexp.js.map +1 -1
- package/dist/validator.d.ts +1 -0
- package/dist/validator.d.ts.map +1 -1
- package/dist/validator.js +4 -1
- package/dist/validator.js.map +1 -1
- package/package.json +28 -22
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { module } from "../../module.js";
|
|
2
2
|
import { success } from "../../success.js";
|
|
3
|
+
import { Empty } from "../../utils/empty.js";
|
|
3
4
|
const requestHeadersSplitRegexp = /\s*,\s*/;
|
|
4
5
|
export const cors = {
|
|
5
|
-
module({ allowHeaders, allowMethods = [
|
|
6
|
+
module: ({ allowHeaders, allowMethods = [
|
|
6
7
|
"DELETE",
|
|
7
8
|
"GET",
|
|
8
9
|
"HEAD",
|
|
@@ -10,11 +11,11 @@ export const cors = {
|
|
|
10
11
|
"PATCH",
|
|
11
12
|
"POST",
|
|
12
13
|
"PUT",
|
|
13
|
-
], credentials, exposeHeaders, maxAge, origin = "*", } =
|
|
14
|
+
], credentials, exposeHeaders, maxAge, origin = "*", } = new Empty()) => {
|
|
14
15
|
return module()
|
|
15
16
|
.middleware(async (context, next) => {
|
|
16
|
-
const { request, response } = context;
|
|
17
|
-
const requestOrigin =
|
|
17
|
+
const { request: { raw }, response: { headers }, } = context;
|
|
18
|
+
const requestOrigin = raw.headers.get("Origin") ?? "";
|
|
18
19
|
let resolvedOrigin;
|
|
19
20
|
if (typeof origin === "string") {
|
|
20
21
|
resolvedOrigin =
|
|
@@ -23,37 +24,37 @@ export const cors = {
|
|
|
23
24
|
else {
|
|
24
25
|
resolvedOrigin = origin(requestOrigin, context) ?? "*";
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
+
headers.set("Access-Control-Allow-Origin", resolvedOrigin);
|
|
27
28
|
if (resolvedOrigin !== "*") {
|
|
28
|
-
const vary =
|
|
29
|
-
|
|
29
|
+
const vary = headers.get("Vary");
|
|
30
|
+
headers.set("Vary", vary ? `${vary}, Origin` : "Origin");
|
|
30
31
|
}
|
|
31
32
|
if (credentials) {
|
|
32
|
-
|
|
33
|
+
headers.set("Access-Control-Allow-Credentials", "true");
|
|
33
34
|
}
|
|
34
35
|
if (exposeHeaders) {
|
|
35
|
-
|
|
36
|
+
headers.set("Access-Control-Expose-Headers", exposeHeaders.join(","));
|
|
36
37
|
}
|
|
37
|
-
if (
|
|
38
|
-
|
|
38
|
+
if (raw.method === "OPTIONS") {
|
|
39
|
+
headers.set("Access-Control-Allow-Methods", allowMethods.join(","));
|
|
39
40
|
if (maxAge !== undefined) {
|
|
40
|
-
|
|
41
|
+
headers.set("Access-Control-Max-Age", maxAge.toString());
|
|
41
42
|
}
|
|
42
43
|
let resolvedAllowHeaders = allowHeaders;
|
|
43
44
|
if (!resolvedAllowHeaders) {
|
|
44
|
-
const requestHeaders =
|
|
45
|
+
const requestHeaders = raw.headers.get("Access-Control-Request-Headers");
|
|
45
46
|
if (requestHeaders) {
|
|
46
47
|
resolvedAllowHeaders = requestHeaders.split(requestHeadersSplitRegexp);
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
if (resolvedAllowHeaders) {
|
|
50
|
-
|
|
51
|
-
const vary =
|
|
52
|
-
|
|
51
|
+
headers.set("Access-Control-Allow-Headers", resolvedAllowHeaders.join(","));
|
|
52
|
+
const vary = headers.get("Vary");
|
|
53
|
+
headers.set("Vary", vary
|
|
53
54
|
? `${vary}, Access-Control-Request-Headers`
|
|
54
55
|
: "Access-Control-Request-Headers");
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
+
headers.set("Content-Length", "0");
|
|
57
58
|
}
|
|
58
59
|
return await next();
|
|
59
60
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../src/ecosystem/cors/cors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../src/ecosystem/cors/cors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/events/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC,IAC/D,YAAY,CAAC,MAAM,CAAC,CAAC;AAEtB,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAElC,KAAK,WAAW,GAAG,UAAU,QAAQ,CAAC;AAEtC,eAAO,MAAM,KAAK,EAEF,WAAW,CAAC;AAK5B,eAAO,MAAM,KAAK,GACjB,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/events/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC,IAC/D,YAAY,CAAC,MAAM,CAAC,CAAC;AAEtB,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAElC,KAAK,WAAW,GAAG,UAAU,QAAQ,CAAC;AAEtC,eAAO,MAAM,KAAK,EAEF,WAAW,CAAC;AAK5B,eAAO,MAAM,KAAK,GACjB,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,OAEpD,KAAK,CAAC,MAAM,CAClC,CAAC;AAEF,eAAO,MAAM,MAAM,4BAAU,CAAC"}
|
|
@@ -4,6 +4,8 @@ export const Event = function () {
|
|
|
4
4
|
};
|
|
5
5
|
Event.prototype = Object.create(EventEmitter.prototype);
|
|
6
6
|
Event.prototype.constructor = Event;
|
|
7
|
-
export const event = () =>
|
|
7
|
+
export const event = () => {
|
|
8
|
+
return new Event();
|
|
9
|
+
};
|
|
8
10
|
export const events = event();
|
|
9
11
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/ecosystem/events/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,OAAO,IAAI,YAAY,EAAE,CAAC;AAC3B,CAA2B,CAAC;AAE5B,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACxD,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;AAEpC,MAAM,CAAC,MAAM,KAAK,GAAG,GAEjB,EAAE,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/ecosystem/events/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,OAAO,IAAI,YAAY,EAAE,CAAC;AAC3B,CAA2B,CAAC;AAE5B,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACxD,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;AAEpC,MAAM,CAAC,MAAM,KAAK,GAAG,GAEjB,EAAE;IACL,OAAO,IAAI,KAAK,EAAmB,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC"}
|
|
@@ -30,7 +30,7 @@ export declare const i18n: {
|
|
|
30
30
|
outputs: NonNullable<unknown>;
|
|
31
31
|
}>;
|
|
32
32
|
replace: <Translation extends string>(translation: Translation, replace: { [Key in ExtractPlaceholders<Translation>]?: string; }) => Translation;
|
|
33
|
-
translate: <const Path extends DeepPaths<Cudenix.i18n.Translations>>(path: Path,
|
|
33
|
+
translate: <const Path extends DeepPaths<Cudenix.i18n.Translations>>(path: Path, { language, replace, }?: TranslateOptions<DeepValue<Cudenix.i18n.Translations, Path>>) => DeepValue<Cudenix.i18n.Translations, Path>;
|
|
34
34
|
};
|
|
35
35
|
export {};
|
|
36
36
|
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/i18n/i18n.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/i18n/i18n.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAMjC,KAAK,SAAS,CAAC,IAAI,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI;KAC1D,GAAG,IAAI,MAAM,IAAI,GAAG,GAAG,SAAS,MAAM,GACpC,IAAI,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAC7C,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAC3C,GAAG,GAAG,EAAE,GACT,KAAK;CACR,CAAC,MAAM,IAAI,CAAC,CAAC;AAEd,KAAK,SAAS,CACb,IAAI,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EACzC,IAAI,SAAS,MAAM,IAChB,IAAI,SAAS,GAAG,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,GAC1C,GAAG,SAAS,MAAM,IAAI,GACrB,IAAI,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAC7C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAC1B,KAAK,GACN,KAAK,GACN,IAAI,SAAS,MAAM,IAAI,GACtB,IAAI,CAAC,IAAI,CAAC,GACV,KAAK,CAAC;AAEV,KAAK,mBAAmB,CAAC,MAAM,SAAS,MAAM,IAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GAC5D,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,GACjC,KAAK,CAAC;AAEV,UAAU,WAAW;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;CAC/D;AAED,UAAU,gBAAgB,CAAC,WAAW;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,SAAS,MAAM,GACjC;SACC,GAAG,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM;KAClD,GACA,SAAS,CAAC;CACb;AAED,UAAU,IAAI;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,WAAW,CAAC;CAC1B;AAED,KAAK,gBAAgB,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAwCxD,eAAO,MAAM,IAAI;kBACF,MAAM,YAAY,MAAM,YAAY,gBAAgB,MAC1C,MAAM,GAAG;;;;;;cAgFvB,WAAW,SAAS,MAAM,eACtB,WAAW,WACf,GACP,GAAG,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAClD,KAmBkB,WAAW;sBAGb,IAAI,SAAS,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAC5D,IAAI,2BAIP,gBAAgB,CAClB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAC1C,KACC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;CA+C7C,CAAC"}
|
|
@@ -1,112 +1,128 @@
|
|
|
1
1
|
import { readdir } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
|
-
import { module
|
|
3
|
+
import { module } from "../../module.js";
|
|
4
4
|
import { getRequestContext } from "../../storage.js";
|
|
5
5
|
import { Empty } from "../../utils/empty.js";
|
|
6
6
|
import { getCookies } from "../../utils/get-cookies.js";
|
|
7
7
|
const loadTranslations = async (directory) => {
|
|
8
|
-
const result =
|
|
8
|
+
const result = new Empty();
|
|
9
9
|
const entries = await readdir(directory, {
|
|
10
10
|
withFileTypes: true,
|
|
11
11
|
});
|
|
12
|
-
for (
|
|
12
|
+
for (let i = 0; i < entries.length; i++) {
|
|
13
|
+
const entry = entries[i];
|
|
14
|
+
if (!entry) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
13
17
|
const fullPath = join(directory, entry.name);
|
|
14
18
|
if (entry.isDirectory()) {
|
|
15
19
|
result[entry.name] = await loadTranslations(fullPath);
|
|
20
|
+
continue;
|
|
16
21
|
}
|
|
17
|
-
|
|
22
|
+
if (entry.isFile() && entry.name.endsWith(".json")) {
|
|
18
23
|
const data = await Bun.file(fullPath).json();
|
|
19
24
|
if (entry.name === "index.json") {
|
|
20
25
|
Object.assign(result, data);
|
|
26
|
+
continue;
|
|
21
27
|
}
|
|
22
|
-
|
|
23
|
-
const key = entry.name.slice(0, -5);
|
|
24
|
-
result[key] = data;
|
|
25
|
-
}
|
|
28
|
+
result[entry.name.slice(0, -5)] = data;
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
return result;
|
|
29
32
|
};
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const language = getCookies(headers)[i18n.cookie ?? "Accept-Language"] ??
|
|
61
|
-
headers.get(i18n.header ?? "Accept-Language");
|
|
62
|
-
store.i18n = {
|
|
63
|
-
language: i18n.languages.includes(language)
|
|
64
|
-
? language
|
|
65
|
-
: i18n.language,
|
|
33
|
+
export const i18n = {
|
|
34
|
+
addon: (path, language, options) => {
|
|
35
|
+
return async function () {
|
|
36
|
+
const directories = await readdir(path, {
|
|
37
|
+
withFileTypes: true,
|
|
38
|
+
});
|
|
39
|
+
const languages = directories
|
|
40
|
+
.filter((directory) => {
|
|
41
|
+
return directory.isDirectory();
|
|
42
|
+
})
|
|
43
|
+
.map((directory) => {
|
|
44
|
+
return directory.name;
|
|
45
|
+
});
|
|
46
|
+
this.memory.set("i18n", {
|
|
47
|
+
...options,
|
|
48
|
+
language,
|
|
49
|
+
languages,
|
|
50
|
+
path,
|
|
51
|
+
translations: new Empty(),
|
|
52
|
+
});
|
|
53
|
+
const i18n = this.memory.get("i18n");
|
|
54
|
+
for (let i = 0; i < languages.length; i++) {
|
|
55
|
+
const language = languages[i];
|
|
56
|
+
if (!language) {
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
i18n.translations[language] = await loadTranslations(join(path, language));
|
|
60
|
+
}
|
|
61
|
+
await Bun.write(join(path, "types.d.ts"), `namespace Cudenix.i18n { interface Translations ${JSON.stringify(i18n.translations[language])}; };`);
|
|
62
|
+
return "i18n";
|
|
66
63
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
for (let i = 0; i < split.length; i++) {
|
|
92
|
-
translation = translation[split[i]];
|
|
93
|
-
}
|
|
94
|
-
if (options?.replace) {
|
|
95
|
-
const keys = Object.keys(options.replace);
|
|
64
|
+
},
|
|
65
|
+
get language() {
|
|
66
|
+
return getRequestContext()?.store.i18n?.language;
|
|
67
|
+
},
|
|
68
|
+
module: () => {
|
|
69
|
+
return module().middleware(({ memory, request: { raw }, store }, next) => {
|
|
70
|
+
const i18n = memory.get("i18n");
|
|
71
|
+
if (!i18n) {
|
|
72
|
+
return next();
|
|
73
|
+
}
|
|
74
|
+
const language = getCookies(raw.headers)[i18n.cookie ?? "Accept-Language"] ??
|
|
75
|
+
raw.headers.get(i18n.header ?? "Accept-Language") ??
|
|
76
|
+
i18n.language;
|
|
77
|
+
store.i18n = {
|
|
78
|
+
language: i18n.languages.indexOf(language) !== -1
|
|
79
|
+
? language
|
|
80
|
+
: i18n.language,
|
|
81
|
+
};
|
|
82
|
+
return next();
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
replace: (translation, replace) => {
|
|
86
|
+
const keys = Object.keys(replace);
|
|
87
|
+
let replaced = translation;
|
|
96
88
|
for (let i = 0; i < keys.length; i++) {
|
|
97
89
|
const key = keys[i];
|
|
98
|
-
|
|
90
|
+
if (!key) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
replaced = replaced.replaceAll(`\${${key}}`, replace[key] ?? "");
|
|
99
94
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
95
|
+
return replaced;
|
|
96
|
+
},
|
|
97
|
+
translate: (path, { language, replace, } = new Empty()) => {
|
|
98
|
+
const context = getRequestContext();
|
|
99
|
+
const translations = context?.memory.get("i18n")
|
|
100
|
+
?.translations[language ??
|
|
101
|
+
(context?.store).i18n
|
|
102
|
+
.language];
|
|
103
|
+
if (!translations) {
|
|
104
|
+
return path;
|
|
105
|
+
}
|
|
106
|
+
const split = path.split(".");
|
|
107
|
+
let translation = translations;
|
|
108
|
+
for (let i = 0; i < split.length; i++) {
|
|
109
|
+
const key = split[i];
|
|
110
|
+
if (!key) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
translation = translation[key] ?? "";
|
|
114
|
+
}
|
|
115
|
+
if (replace) {
|
|
116
|
+
const keys = Object.keys(replace);
|
|
117
|
+
for (let i = 0; i < keys.length; i++) {
|
|
118
|
+
const key = keys[i];
|
|
119
|
+
if (!key) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
translation = translation.replaceAll(`\${${key}}`, replace[key] ?? "");
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return translation;
|
|
107
126
|
},
|
|
108
|
-
module,
|
|
109
|
-
replace,
|
|
110
|
-
translate,
|
|
111
127
|
};
|
|
112
128
|
//# sourceMappingURL=i18n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/ecosystem/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/ecosystem/i18n/i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/openapi/openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAW,MAAM,SAAS,CAAC;AAI5C,KAAK,iBAAiB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElE,UAAU,YAAY;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACtB,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/openapi/openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAW,MAAM,SAAS,CAAC;AAI5C,KAAK,iBAAiB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElE,UAAU,YAAY;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACtB,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;CACpB;AAaD,eAAO,MAAM,OAAO;0BAEJ,iBAAiB,qCAK5B,YAAY,MAEE,MAAM,GAAG;uBAgOR,aAAa;;;;;;;;;;;;;;;;;;;;;;;;CAuBhC,CAAC"}
|