@bgord/bun 1.12.4 → 1.12.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.
Files changed (107) hide show
  1. package/dist/command-bus-with-logger.adapter.d.ts.map +1 -1
  2. package/dist/command-bus-with-logger.adapter.js +2 -0
  3. package/dist/command-bus-with-logger.adapter.js.map +1 -1
  4. package/dist/event-bus-with-logger.adapter.d.ts.map +1 -1
  5. package/dist/event-bus-with-logger.adapter.js +2 -0
  6. package/dist/event-bus-with-logger.adapter.js.map +1 -1
  7. package/dist/i18n.service.d.ts +0 -6
  8. package/dist/i18n.service.d.ts.map +1 -1
  9. package/dist/i18n.service.js.map +1 -1
  10. package/dist/index.d.ts +7 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +7 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/language-detector-cookie.strategy.d.ts +10 -0
  15. package/dist/language-detector-cookie.strategy.d.ts.map +1 -0
  16. package/dist/language-detector-cookie.strategy.js +11 -0
  17. package/dist/language-detector-cookie.strategy.js.map +1 -0
  18. package/dist/language-detector-header.strategy.d.ts +8 -0
  19. package/dist/language-detector-header.strategy.d.ts.map +1 -0
  20. package/dist/language-detector-header.strategy.js +15 -0
  21. package/dist/language-detector-header.strategy.js.map +1 -0
  22. package/dist/language-detector-hono.middleware.d.ts +13 -0
  23. package/dist/language-detector-hono.middleware.d.ts.map +1 -0
  24. package/dist/language-detector-hono.middleware.js +17 -0
  25. package/dist/language-detector-hono.middleware.js.map +1 -0
  26. package/dist/language-detector-query.strategy.d.ts +10 -0
  27. package/dist/language-detector-query.strategy.d.ts.map +1 -0
  28. package/dist/language-detector-query.strategy.js +11 -0
  29. package/dist/language-detector-query.strategy.js.map +1 -0
  30. package/dist/language-detector.middleware.d.ts +17 -0
  31. package/dist/language-detector.middleware.d.ts.map +1 -0
  32. package/dist/language-detector.middleware.js +20 -0
  33. package/dist/language-detector.middleware.js.map +1 -0
  34. package/dist/language-detector.strategy.d.ts +7 -0
  35. package/dist/language-detector.strategy.d.ts.map +1 -0
  36. package/dist/language-detector.strategy.js +2 -0
  37. package/dist/language-detector.strategy.js.map +1 -0
  38. package/dist/languages.vo.d.ts +13 -0
  39. package/dist/languages.vo.d.ts.map +1 -0
  40. package/dist/languages.vo.js +23 -0
  41. package/dist/languages.vo.js.map +1 -0
  42. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts +5 -2
  43. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts.map +1 -1
  44. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js +8 -3
  45. package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js.map +1 -1
  46. package/dist/modules/preferences/index.d.ts +0 -1
  47. package/dist/modules/preferences/index.d.ts.map +1 -1
  48. package/dist/modules/preferences/index.js +0 -1
  49. package/dist/modules/preferences/index.js.map +1 -1
  50. package/dist/modules/preferences/open-host-queries/user-language.d.ts +10 -7
  51. package/dist/modules/preferences/open-host-queries/user-language.d.ts.map +1 -1
  52. package/dist/modules/preferences/open-host-queries/user-language.js +7 -4
  53. package/dist/modules/preferences/open-host-queries/user-language.js.map +1 -1
  54. package/dist/modules/preferences/ports/user-language-query.d.ts +1 -1
  55. package/dist/modules/preferences/ports/user-language-query.d.ts.map +1 -1
  56. package/dist/modules/preferences/ports/user-language-resolver.d.ts +4 -3
  57. package/dist/modules/preferences/ports/user-language-resolver.d.ts.map +1 -1
  58. package/dist/modules/preferences/ports/user-language-resolver.js +4 -4
  59. package/dist/modules/preferences/ports/user-language-resolver.js.map +1 -1
  60. package/dist/prerequisite-verifier-translations.adapter.d.ts +4 -6
  61. package/dist/prerequisite-verifier-translations.adapter.d.ts.map +1 -1
  62. package/dist/prerequisite-verifier-translations.adapter.js +3 -3
  63. package/dist/prerequisite-verifier-translations.adapter.js.map +1 -1
  64. package/dist/setup-hono.service.d.ts +6 -4
  65. package/dist/setup-hono.service.d.ts.map +1 -1
  66. package/dist/setup-hono.service.js +2 -8
  67. package/dist/setup-hono.service.js.map +1 -1
  68. package/dist/translations-hono.handler.d.ts +8 -12
  69. package/dist/translations-hono.handler.d.ts.map +1 -1
  70. package/dist/translations-hono.handler.js.map +1 -1
  71. package/dist/translations.handler.d.ts +7 -7
  72. package/dist/translations.handler.d.ts.map +1 -1
  73. package/dist/translations.handler.js +1 -1
  74. package/dist/translations.handler.js.map +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +4 -4
  77. package/readme.md +10 -5
  78. package/src/command-bus-with-logger.adapter.ts +2 -0
  79. package/src/event-bus-with-logger.adapter.ts +2 -0
  80. package/src/i18n.service.ts +0 -8
  81. package/src/index.ts +7 -0
  82. package/src/language-detector-cookie.strategy.ts +16 -0
  83. package/src/language-detector-header.strategy.ts +23 -0
  84. package/src/language-detector-hono.middleware.ts +29 -0
  85. package/src/language-detector-query.strategy.ts +16 -0
  86. package/src/language-detector.middleware.ts +28 -0
  87. package/src/language-detector.strategy.ts +7 -0
  88. package/src/languages.vo.ts +27 -0
  89. package/src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts +11 -4
  90. package/src/modules/preferences/index.ts +0 -1
  91. package/src/modules/preferences/open-host-queries/user-language.ts +10 -7
  92. package/src/modules/preferences/ports/user-language-query.ts +1 -1
  93. package/src/modules/preferences/ports/user-language-resolver.ts +6 -3
  94. package/src/prerequisite-verifier-translations.adapter.ts +9 -7
  95. package/src/setup-hono.service.ts +10 -12
  96. package/src/translations-hono.handler.ts +8 -5
  97. package/src/translations.handler.ts +8 -9
  98. package/dist/modules/preferences/value-objects/index.d.ts +0 -2
  99. package/dist/modules/preferences/value-objects/index.d.ts.map +0 -1
  100. package/dist/modules/preferences/value-objects/index.js +0 -2
  101. package/dist/modules/preferences/value-objects/index.js.map +0 -1
  102. package/dist/modules/preferences/value-objects/supported-languages-set.d.ts +0 -10
  103. package/dist/modules/preferences/value-objects/supported-languages-set.d.ts.map +0 -1
  104. package/dist/modules/preferences/value-objects/supported-languages-set.js +0 -14
  105. package/dist/modules/preferences/value-objects/supported-languages-set.js.map +0 -1
  106. package/src/modules/preferences/value-objects/index.ts +0 -1
  107. package/src/modules/preferences/value-objects/supported-languages-set.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"user-language.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/open-host-queries/user-language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,KAAK,KAAK,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;IAC3E,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CAC3C;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC;IAExG,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,KAAK,EAAE,KAAK,CAAC,qBAAqB,EAClC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,KAAK,CAAC,wBAAwB;IAGrD,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAMhD"}
1
+ {"version":3,"file":"user-language.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/open-host-queries/user-language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,KAAK,KAAK,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,wBAAwB;;CAAiD,CAAC;AAEvF,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY;IAC5D,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnC;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC;IAEzF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,KAAK,CAAC,qBAAqB,EAClC,QAAQ,EAAE,KAAK,CAAC,wBAAwB;IAGrD,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAOxC"}
@@ -1,16 +1,19 @@
1
+ export const UserLanguageAdapterError = { Missing: "user.language.ohq.error.missing" };
1
2
  export class UserLanguageAdapter {
3
+ languages;
2
4
  query;
3
- validator;
4
5
  resolver;
5
- constructor(query, validator, resolver) {
6
+ constructor(languages, query, resolver) {
7
+ this.languages = languages;
6
8
  this.query = query;
7
- this.validator = validator;
8
9
  this.resolver = resolver;
9
10
  }
10
11
  async get(userId) {
11
12
  const stored = await this.query.get(userId);
12
13
  const candidate = await this.resolver.resolve(stored);
13
- return this.validator.ensure(candidate);
14
+ if (!this.languages.isSupported(candidate))
15
+ throw new Error(UserLanguageAdapterError.Missing);
16
+ return candidate;
14
17
  }
15
18
  }
16
19
  //# sourceMappingURL=user-language.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-language.js","sourceRoot":"","sources":["../../../../src/modules/preferences/open-host-queries/user-language.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,mBAAmB;IAEX;IACA;IACA;IAHnB,YACmB,KAAkC,EAClC,SAAsC,EACtC,QAAwC;QAFxC,UAAK,GAAL,KAAK,CAA6B;QAClC,cAAS,GAAT,SAAS,CAA6B;QACtC,aAAQ,GAAR,QAAQ,CAAgC;IACxD,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,MAAgB;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"user-language.js","sourceRoot":"","sources":["../../../../src/modules/preferences/open-host-queries/user-language.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;AAMvF,MAAM,OAAO,mBAAmB;IAEX;IACA;IACA;IAHnB,YACmB,SAAuB,EACvB,KAAkC,EAClC,QAAwC;QAFxC,cAAS,GAAT,SAAS,CAAc;QACvB,UAAK,GAAL,KAAK,CAA6B;QAClC,aAAQ,GAAR,QAAQ,CAAgC;IACxD,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,MAAgB;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC9F,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import type * as tools from "@bgord/tools";
2
2
  export interface UserLanguageQueryPort {
3
- get(userId: tools.LanguageType): Promise<tools.LanguageType | null>;
3
+ get(userId: string): Promise<tools.LanguageType | null>;
4
4
  }
5
5
  //# sourceMappingURL=user-language-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-language-query.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/ports/user-language-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACrE"}
1
+ {"version":3,"file":"user-language-query.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/ports/user-language-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACzD"}
@@ -1,4 +1,5 @@
1
1
  import type * as tools from "@bgord/tools";
2
+ import type { Languages } from "../../../languages.vo";
2
3
  export interface UserLanguageResolverPort {
3
4
  resolve(input: tools.LanguageType | null): tools.LanguageType | Promise<tools.LanguageType>;
4
5
  }
@@ -8,9 +9,9 @@ export declare const UserLanguagePreferenceError: {
8
9
  export declare class UserLanguageResolverThrowIfMissing implements UserLanguageResolverPort {
9
10
  resolve(stored: tools.LanguageType | null): string;
10
11
  }
11
- export declare class UserLanguageResolverSystemDefaultFallback implements UserLanguageResolverPort {
12
- private readonly systemDefaultLanguage;
13
- constructor(systemDefaultLanguage: tools.LanguageType);
12
+ export declare class UserLanguageResolverSystemDefaultFallback<T extends tools.LanguageType> implements UserLanguageResolverPort {
13
+ private readonly languages;
14
+ constructor(languages: Languages<T>);
14
15
  resolve(stored: tools.LanguageType | null): string;
15
16
  }
16
17
  //# sourceMappingURL=user-language-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-language-resolver.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/ports/user-language-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7F;AAED,eAAO,MAAM,2BAA2B;;CAAkD,CAAC;AAE3F,qBAAa,kCAAmC,YAAW,wBAAwB;IACjF,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI;CAI1C;AAED,qBAAa,yCAA0C,YAAW,wBAAwB;IAC5E,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,KAAK,CAAC,YAAY;IAEtE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI;CAG1C"}
1
+ {"version":3,"file":"user-language-resolver.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/ports/user-language-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7F;AAED,eAAO,MAAM,2BAA2B;;CAAkD,CAAC;AAE3F,qBAAa,kCAAmC,YAAW,wBAAwB;IACjF,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI;CAI1C;AAED,qBAAa,yCAAyC,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,CACjF,YAAW,wBAAwB;IAEvB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI;CAG1C"}
@@ -7,12 +7,12 @@ export class UserLanguageResolverThrowIfMissing {
7
7
  }
8
8
  }
9
9
  export class UserLanguageResolverSystemDefaultFallback {
10
- systemDefaultLanguage;
11
- constructor(systemDefaultLanguage) {
12
- this.systemDefaultLanguage = systemDefaultLanguage;
10
+ languages;
11
+ constructor(languages) {
12
+ this.languages = languages;
13
13
  }
14
14
  resolve(stored) {
15
- return stored ?? this.systemDefaultLanguage;
15
+ return stored ?? this.languages.fallback;
16
16
  }
17
17
  }
18
18
  //# sourceMappingURL=user-language-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-language-resolver.js","sourceRoot":"","sources":["../../../../src/modules/preferences/ports/user-language-resolver.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;AAE3F,MAAM,OAAO,kCAAkC;IAC7C,OAAO,CAAC,MAAiC;QACvC,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,MAAM,OAAO,yCAAyC;IACvB;IAA7B,YAA6B,qBAAyC;QAAzC,0BAAqB,GAArB,qBAAqB,CAAoB;IAAG,CAAC;IAE1E,OAAO,CAAC,MAAiC;QACvC,OAAO,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"user-language-resolver.js","sourceRoot":"","sources":["../../../../src/modules/preferences/ports/user-language-resolver.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;AAE3F,MAAM,OAAO,kCAAkC;IAC7C,OAAO,CAAC,MAAiC;QACvC,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,MAAM,OAAO,yCAAyC;IAGvB;IAA7B,YAA6B,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAExD,OAAO,CAAC,MAAiC;QACvC,OAAO,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC3C,CAAC;CACF"}
@@ -1,18 +1,16 @@
1
+ import type * as tools from "@bgord/tools";
1
2
  import type { FileReaderJsonPort } from "./file-reader-json.port";
2
- import type * as types from "./i18n.service";
3
+ import type { Languages } from "./languages.vo";
3
4
  import type { LoggerPort } from "./logger.port";
4
5
  import { type PrerequisiteVerificationResult, type PrerequisiteVerifierPort } from "./prerequisite-verifier.port";
5
6
  type Dependencies = {
6
7
  Logger: LoggerPort;
7
8
  FileReaderJson: FileReaderJsonPort;
8
9
  };
9
- type Config = {
10
- supportedLanguages: types.I18nConfig["supportedLanguages"];
11
- };
12
- export declare class PrerequisiteVerifierTranslationsAdapter implements PrerequisiteVerifierPort {
10
+ export declare class PrerequisiteVerifierTranslationsAdapter<T extends tools.LanguageType> implements PrerequisiteVerifierPort {
13
11
  private readonly config;
14
12
  private readonly deps;
15
- constructor(config: Config, deps: Dependencies);
13
+ constructor(config: Languages<T>, deps: Dependencies);
16
14
  verify(): Promise<PrerequisiteVerificationResult>;
17
15
  get kind(): string;
18
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prerequisite-verifier-translations.adapter.d.ts","sourceRoot":"","sources":["../src/prerequisite-verifier-translations.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAC;AAQtC,KAAK,YAAY,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAC/E,KAAK,MAAM,GAAG;IAAE,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;CAAE,CAAC;AAE7E,qBAAa,uCAAwC,YAAW,wBAAwB;IAEpF,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY;IAG/B,MAAM,IAAI,OAAO,CAAC,8BAA8B,CAAC;IAwCvD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
1
+ {"version":3,"file":"prerequisite-verifier-translations.adapter.d.ts","sourceRoot":"","sources":["../src/prerequisite-verifier-translations.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAC;AAQtC,KAAK,YAAY,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE/E,qBAAa,uCAAuC,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,CAC/E,YAAW,wBAAwB;IAGjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,YAAY;IAG/B,MAAM,IAAI,OAAO,CAAC,8BAA8B,CAAC;IAwCvD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -8,10 +8,10 @@ export class PrerequisiteVerifierTranslationsAdapter {
8
8
  this.deps = deps;
9
9
  }
10
10
  async verify() {
11
- const supportedLanguages = Object.keys(this.config.supportedLanguages);
12
11
  const i18n = new I18n(this.deps);
12
+ const languages = this.config.values;
13
13
  const dictionary = {};
14
- for (const language of supportedLanguages) {
14
+ for (const language of languages) {
15
15
  try {
16
16
  const translations = await i18n.getTranslations(language);
17
17
  dictionary[language] = Object.keys(translations);
@@ -26,7 +26,7 @@ export class PrerequisiteVerifierTranslationsAdapter {
26
26
  const phrases = dictionary[language] ?? [];
27
27
  // Stryker restore all
28
28
  for (const phrase of phrases) {
29
- for (const supportedLanguage of supportedLanguages) {
29
+ for (const supportedLanguage of languages) {
30
30
  const phraseExists = new Set(dictionary[supportedLanguage]).has(phrase);
31
31
  if (!phraseExists)
32
32
  problems.push({ key: phrase, existsIn: language, missingIn: supportedLanguage });
@@ -1 +1 @@
1
- {"version":3,"file":"prerequisite-verifier-translations.adapter.js","sourceRoot":"","sources":["../src/prerequisite-verifier-translations.adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EACL,wBAAwB,GAGzB,MAAM,8BAA8B,CAAC;AAWtC,MAAM,OAAO,uCAAuC;IAE/B;IACA;IAFnB,YACmB,MAAc,EACd,IAAkB;QADlB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAkF,EAAE,CAAC;QAErG,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1D,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,wBAAwB,CAAC,OAAO,CAAC,GAAG,QAAQ,6BAA6B,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAA+C,EAAE,CAAC;QAEhE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,sBAAsB;YACtB,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,sBAAsB;YAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;oBACnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAExE,IAAI,CAAC,YAAY;wBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,wBAAwB,CAAC,OAAO,CAAC;QAEnE,MAAM,OAAO,GAAG,QAAQ;aACrB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,OAAO,CAAC,GAAG,eAAe,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,SAAS,EAAE,CAAC;aACvG,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,cAAc,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"prerequisite-verifier-translations.adapter.js","sourceRoot":"","sources":["../src/prerequisite-verifier-translations.adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EACL,wBAAwB,GAGzB,MAAM,8BAA8B,CAAC;AAUtC,MAAM,OAAO,uCAAuC;IAI/B;IACA;IAFnB,YACmB,MAAoB,EACpB,IAAkB;QADlB,WAAM,GAAN,MAAM,CAAc;QACpB,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAErC,MAAM,UAAU,GAAiE,EAAE,CAAC;QAEpF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1D,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,wBAAwB,CAAC,OAAO,CAAC,GAAG,QAAQ,6BAA6B,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAA+C,EAAE,CAAC;QAEhE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,sBAAsB;YACtB,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,sBAAsB;YAEtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,KAAK,MAAM,iBAAiB,IAAI,SAAS,EAAE,CAAC;oBAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAExE,IAAI,CAAC,YAAY;wBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,wBAAwB,CAAC,OAAO,CAAC;QAEnE,MAAM,OAAO,GAAG,QAAQ;aACrB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,OAAO,CAAC,GAAG,eAAe,OAAO,CAAC,QAAQ,gBAAgB,OAAO,CAAC,SAAS,EAAE,CAAC;aACvG,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,cAAc,CAAC;IACxB,CAAC;CACF"}
@@ -1,31 +1,33 @@
1
+ import * as tools from "@bgord/tools";
2
+ import type { MiddlewareHandler } from "hono";
1
3
  import { cors } from "hono/cors";
2
4
  import type { BuildInfoRepositoryStrategy } from "./build-info-repository.strategy";
3
5
  import type { CacheResolverStrategy } from "./cache-resolver.strategy";
4
6
  import type { ClockPort } from "./clock.port";
5
7
  import type { HashContentStrategy } from "./hash-content.strategy";
6
8
  import type { HttpLoggerConfig } from "./http-logger.middleware";
7
- import type { I18nConfig } from "./i18n.service";
8
9
  import type { IdProviderPort } from "./id-provider.port";
10
+ import type { LanguageDetectorMiddlewareConfig } from "./language-detector.middleware";
9
11
  import type { LoggerPort } from "./logger.port";
10
12
  import type { ShieldCsrfConfig } from "./shield-csrf.strategy";
11
13
  import type { ShieldMaintenanceConfig } from "./shield-maintenance.strategy";
12
14
  type Dependencies = {
13
15
  Logger: LoggerPort;
14
16
  IdProvider: IdProviderPort;
15
- I18n: I18nConfig;
16
17
  Clock: ClockPort;
17
18
  CacheResolver: CacheResolverStrategy;
18
19
  HashContent: HashContentStrategy;
19
20
  BuildInfoRepository: BuildInfoRepositoryStrategy;
20
21
  };
21
- type Config = {
22
+ type Config<T extends tools.LanguageType> = {
22
23
  csrf: ShieldCsrfConfig;
24
+ I18n: LanguageDetectorMiddlewareConfig<T>;
23
25
  cors?: Parameters<typeof cors>[0];
24
26
  httpLogger?: HttpLoggerConfig;
25
27
  maintenanceMode?: ShieldMaintenanceConfig;
26
28
  };
27
29
  export declare class SetupHono {
28
- static essentials(config: Config, deps: Dependencies): import("hono").MiddlewareHandler[];
30
+ static essentials<T extends tools.LanguageType>(config: Config<T>, deps: Dependencies): Array<MiddlewareHandler>;
29
31
  }
30
32
  export {};
31
33
  //# sourceMappingURL=setup-hono.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-hono.service.d.ts","sourceRoot":"","sources":["../src/setup-hono.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAO7E,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,qBAAqB,CAAC;IACrC,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,2BAA2B,CAAC;CAClD,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC3C,CAAC;AAEF,qBAAa,SAAS;IAIpB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;CAkDrD"}
1
+ {"version":3,"file":"setup-hono.service.d.ts","sourceRoot":"","sources":["../src/setup-hono.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAO7E,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,qBAAqB,CAAC;IACrC,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,2BAA2B,CAAC;CAClD,CAAC;AAEF,KAAK,MAAM,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,IAAI;IAC1C,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,gCAAgC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC3C,CAAC;AAEF,qBAAa,SAAS;IAIpB,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,EAC5C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,IAAI,EAAE,YAAY,GACjB,KAAK,CAAC,iBAAiB,CAAC;CA4C5B"}
@@ -1,11 +1,11 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import { cors } from "hono/cors";
3
- import { languageDetector } from "hono/language";
4
3
  import { secureHeaders } from "hono/secure-headers";
5
4
  import { ApiVersionHonoMiddleware } from "./api-version-hono.middleware";
6
5
  import { CorrelationHonoMiddleware } from "./correlation-hono.middleware";
7
6
  import { ETagExtractorHonoMiddleware } from "./etag-extractor-hono.middleware";
8
7
  import { HttpLoggerHonoMiddleware } from "./http-logger-hono.middleware";
8
+ import { LanguageDetectorHonoMiddleware } from "./language-detector-hono.middleware";
9
9
  import { ShieldCsrfHonoStrategy } from "./shield-csrf-hono.strategy";
10
10
  import { ShieldMaintenanceHonoStrategy } from "./shield-maintenance-hono.strategy";
11
11
  import { TimeZoneOffsetHonoMiddleware } from "./time-zone-offset-hono.middleware";
@@ -52,13 +52,7 @@ export class SetupHono {
52
52
  maxAge: tools.Duration.Minutes(10).seconds,
53
53
  ...config.cors,
54
54
  }),
55
- languageDetector({
56
- supportedLanguages: Object.keys(deps.I18n.supportedLanguages),
57
- fallbackLanguage: deps.I18n.defaultLanguage,
58
- // Stryker disable all
59
- caches: false,
60
- // Stryker restore all
61
- }),
55
+ new LanguageDetectorHonoMiddleware(config.I18n).handle(),
62
56
  new TimeZoneOffsetHonoMiddleware().handle(),
63
57
  new WeakETagExtractorHonoMiddleware().handle(),
64
58
  new ETagExtractorHonoMiddleware().handle(),
@@ -1 +1 @@
1
- {"version":3,"file":"setup-hono.service.js","sourceRoot":"","sources":["../src/setup-hono.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-hono.service.js","sourceRoot":"","sources":["../src/setup-hono.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AAmBxF,MAAM,OAAO,SAAS;IACpB,mDAAmD;IACnD,2CAA2C;IAC3C,qCAAqC;IACrC,MAAM,CAAC,UAAU,CACf,MAAiB,EACjB,IAAkB;QAElB,OAAO;YACL,IAAI,6BAA6B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;YAClE,IAAI,2BAA2B,EAAE,CAAC,MAAM,EAAE;YAC1C,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAC5C,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAC3C,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAChD,aAAa,CAAC;gBACZ,cAAc,EAAE,aAAa;gBAC7B,mBAAmB,EAAE,SAAS;gBAC9B,mBAAmB,EAAE,KAAK;gBAC1B,gBAAgB,EAAE,IAAI;gBACtB,6BAA6B,EAAE,KAAK;gBACpC,yBAAyB,EAAE,KAAK;gBAChC,uBAAuB,EAAE,KAAK;gBAC9B,yBAAyB,EAAE,KAAK;gBAChC,kBAAkB,EAAE,KAAK;gBACzB,aAAa,EAAE,KAAK;aACrB,CAAC;YACF,IAAI,CAAC;gBACH,sBAAsB;gBACtB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpB,iDAAiD;oBACjD,IAAI,CAAC,MAAM;wBAAE,OAAO,SAAS,CAAC;oBAE9B,oBAAoB;oBACpB,IAAI,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM;wBAAE,OAAO,MAAM,CAAC;oBAExD,oBAAoB;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,sBAAsB;gBACtB,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO;gBAC1C,GAAG,MAAM,CAAC,IAAI;aACf,CAAC;YACF,IAAI,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACxD,IAAI,4BAA4B,EAAE,CAAC,MAAM,EAAE;YAC3C,IAAI,+BAA+B,EAAE,CAAC,MAAM,EAAE;YAC9C,IAAI,2BAA2B,EAAE,CAAC,MAAM,EAAE;YAC1C,IAAI,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;YAC9D,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;SACxC,CAAC;IACJ,CAAC;CACF"}
@@ -1,23 +1,19 @@
1
+ import type * as tools from "@bgord/tools";
1
2
  import type { FileReaderJsonPort } from "./file-reader-json.port";
2
3
  import type { HandlerHonoPort } from "./handler-hono.port";
4
+ import type { LanguageDetectorVariables } from "./language-detector-hono.middleware";
5
+ import type { Languages } from "./languages.vo";
3
6
  import type { LoggerPort } from "./logger.port";
4
- import { type TranslationsConfig } from "./translations.handler";
5
7
  type Dependencies = {
6
8
  FileReaderJson: FileReaderJsonPort;
7
9
  Logger: LoggerPort;
8
10
  };
9
- export declare class TranslationsHonoHandler implements HandlerHonoPort {
11
+ export declare class TranslationsHonoHandler<T extends tools.LanguageType> implements HandlerHonoPort {
10
12
  private readonly handler;
11
- constructor(config: TranslationsConfig, deps: Dependencies);
12
- handle(): [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
13
- translations: {
14
- [x: string]: string;
15
- };
16
- language: import("@bgord/tools").LanguageType;
17
- supportedLanguages: {
18
- [x: string]: string;
19
- };
20
- }, import("hono/utils/http-status").ContentfulStatusCode, "json">>>];
13
+ constructor(config: Languages<T>, deps: Dependencies);
14
+ handle(): [import("hono/types").H<{
15
+ Variables: LanguageDetectorVariables;
16
+ }, string, {}, any>];
21
17
  }
22
18
  export {};
23
19
  //# sourceMappingURL=translations-hono.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations-hono.handler.d.ts","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAuB,MAAM,wBAAwB,CAAC;AAEtF,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAI/E,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAElC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY;IAI1D,MAAM;;;;;;;;;CAQP"}
1
+ {"version":3,"file":"translations-hono.handler.d.ts","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAI/E,qBAAa,uBAAuB,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,CAAE,YAAW,eAAe;IAC3F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY;IAIpD,MAAM;mBACgD,yBAAyB;;CAOhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"translations-hono.handler.js","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAA2B,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAItF,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAsB;IAE9C,YAAY,MAA0B,EAAE,IAAkB;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"translations-hono.handler.js","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAM7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAyB;IAEjD,YAAY,MAAoB,EAAE,IAAkB;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAoD,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3F,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,22 +1,22 @@
1
1
  import type * as tools from "@bgord/tools";
2
2
  import type { FileReaderJsonPort } from "./file-reader-json.port";
3
- import { type TranslationsSupportedLanguagesType, type TranslationsType } from "./i18n.service";
3
+ import { type TranslationsType } from "./i18n.service";
4
+ import type { Languages } from "./languages.vo";
4
5
  import type { LoggerPort } from "./logger.port";
5
- export type TranslationsConfig = TranslationsSupportedLanguagesType;
6
6
  type Dependencies = {
7
7
  FileReaderJson: FileReaderJsonPort;
8
8
  Logger: LoggerPort;
9
9
  };
10
- export type TranslationsResult = {
10
+ export type TranslationsResult<T extends tools.LanguageType> = {
11
11
  translations: TranslationsType;
12
12
  language: tools.LanguageType;
13
- supportedLanguages: TranslationsSupportedLanguagesType;
13
+ supportedLanguages: Languages<T>["supported"];
14
14
  };
15
- export declare class TranslationsHandler {
15
+ export declare class TranslationsHandler<T extends tools.LanguageType> {
16
16
  private readonly config;
17
17
  private readonly deps;
18
- constructor(config: TranslationsConfig, deps: Dependencies);
19
- execute(language: string): Promise<TranslationsResult>;
18
+ constructor(config: Languages<T>, deps: Dependencies);
19
+ execute(language: tools.LanguageType): Promise<TranslationsResult<T>>;
20
20
  }
21
21
  export {};
22
22
  //# sourceMappingURL=translations.handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations.handler.d.ts","sourceRoot":"","sources":["../src/translations.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAQ,KAAK,kCAAkC,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AAEpE,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,kBAAkB,EAAE,kCAAkC,CAAC;CACxD,CAAC;AAEF,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,YAAY;IAG/B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAS7D"}
1
+ {"version":3,"file":"translations.handler.d.ts","sourceRoot":"","sources":["../src/translations.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAQ,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/E,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY,IAAI;IAC7D,YAAY,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;CAC/C,CAAC;AAEF,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAC,YAAY;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,YAAY;IAG/B,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAS5E"}
@@ -11,7 +11,7 @@ export class TranslationsHandler {
11
11
  return {
12
12
  translations,
13
13
  language,
14
- supportedLanguages: this.config,
14
+ supportedLanguages: this.config.supported,
15
15
  };
16
16
  }
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"translations.handler.js","sourceRoot":"","sources":["../src/translations.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAkE,MAAM,gBAAgB,CAAC;AAatG,MAAM,OAAO,mBAAmB;IAEX;IACA;IAFnB,YACmB,MAA0B,EAC1B,IAAkB;QADlB,WAAM,GAAN,MAAM,CAAoB;QAC1B,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEzE,OAAO;YACL,YAAY;YACZ,QAAQ;YACR,kBAAkB,EAAE,IAAI,CAAC,MAAM;SAChC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"translations.handler.js","sourceRoot":"","sources":["../src/translations.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAyB,MAAM,gBAAgB,CAAC;AAY7D,MAAM,OAAO,mBAAmB;IAEX;IACA;IAFnB,YACmB,MAAoB,EACpB,IAAkB;QADlB,WAAM,GAAN,MAAM,CAAc;QACpB,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,QAA4B;QACxC,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEzE,OAAO;YACL,YAAY;YACZ,QAAQ;YACR,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;SAC1C,CAAC;IACJ,CAAC;CACF"}