@goat-it/schemas 0.0.1

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 (97) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +40 -0
  3. package/dist/question/index.d.mts +15 -0
  4. package/dist/question/index.mjs +11 -0
  5. package/dist/question-theme/index.d.mts +7 -0
  6. package/dist/question-theme/index.mjs +7 -0
  7. package/dist/shared/locale/index.d.mts +3 -0
  8. package/dist/shared/locale/index.mjs +3 -0
  9. package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs +14 -0
  10. package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs.map +1 -0
  11. package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs +13 -0
  12. package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs.map +1 -0
  13. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.mts +20 -0
  14. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs +27 -0
  15. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs.map +1 -0
  16. package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs +13 -0
  17. package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs.map +1 -0
  18. package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs +13 -0
  19. package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs.map +1 -0
  20. package/dist/src/contexts/question/application/dto/question/question.dto.shape.d.mts +20 -0
  21. package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs +27 -0
  22. package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs.map +1 -0
  23. package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs +12 -0
  24. package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs.map +1 -0
  25. package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs +14 -0
  26. package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs.map +1 -0
  27. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.mts +15 -0
  28. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs +21 -0
  29. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs.map +1 -0
  30. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.mts +12 -0
  31. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs +13 -0
  32. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs.map +1 -0
  33. package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs +15 -0
  34. package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs.map +1 -0
  35. package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs +12 -0
  36. package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs.map +1 -0
  37. package/dist/src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.mjs +10 -0
  38. package/dist/src/contexts/question/application/dto/shared/zod/refinements/question-author/question-author.dto.zod.refinement.mjs.map +1 -0
  39. package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs +24 -0
  40. package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs.map +1 -0
  41. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.d.mts +5 -0
  42. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs +16 -0
  43. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.constants.mjs.map +1 -0
  44. package/dist/src/contexts/question/domain/value-objects/question-author/question-author.types.d.mts +8 -0
  45. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.d.mts +5 -0
  46. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs +11 -0
  47. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.constants.mjs.map +1 -0
  48. package/dist/src/contexts/question/domain/value-objects/question-category/question-category.types.d.mts +8 -0
  49. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.d.mts +5 -0
  50. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs +10 -0
  51. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.mjs.map +1 -0
  52. package/dist/src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.d.mts +8 -0
  53. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.d.mts +5 -0
  54. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs +12 -0
  55. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.mjs.map +1 -0
  56. package/dist/src/contexts/question/domain/value-objects/question-rejection/question-rejection.types.d.mts +8 -0
  57. package/dist/src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.mjs +7 -0
  58. package/dist/src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.mjs.map +1 -0
  59. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.d.mts +5 -0
  60. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs +15 -0
  61. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.constants.mjs.map +1 -0
  62. package/dist/src/contexts/question/domain/value-objects/question-status/question-status.types.d.mts +8 -0
  63. package/dist/src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs +7 -0
  64. package/dist/src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.mjs.map +1 -0
  65. package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.mts +19 -0
  66. package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs +21 -0
  67. package/dist/src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs.map +1 -0
  68. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.d.mts +19 -0
  69. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs +24 -0
  70. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs.map +1 -0
  71. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.mts +13 -0
  72. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs +16 -0
  73. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs.map +1 -0
  74. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.mts +13 -0
  75. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs +16 -0
  76. package/dist/src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs.map +1 -0
  77. package/dist/src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.mjs +6 -0
  78. package/dist/src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.mjs.map +1 -0
  79. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.d.mts +5 -0
  80. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs +8 -0
  81. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.mjs.map +1 -0
  82. package/dist/src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.types.d.mts +8 -0
  83. package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs +14 -0
  84. package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs.map +1 -0
  85. package/dist/src/shared/domain/value-objects/locale/locale.constants.d.mts +5 -0
  86. package/dist/src/shared/domain/value-objects/locale/locale.constants.mjs +21 -0
  87. package/dist/src/shared/domain/value-objects/locale/locale.constants.mjs.map +1 -0
  88. package/dist/src/shared/domain/value-objects/locale/locale.types.d.mts +10 -0
  89. package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.mjs +17 -0
  90. package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.mjs.map +1 -0
  91. package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs +38 -0
  92. package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs.map +1 -0
  93. package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.mjs +9 -0
  94. package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.mjs.map +1 -0
  95. package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs +27 -0
  96. package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs.map +1 -0
  97. package/package.json +48 -0
@@ -0,0 +1,8 @@
1
+ import { QUESTION_AUTHOR_ROLES } from "./question-author.constants.mjs";
2
+ import { TupleToUnion } from "type-fest";
3
+
4
+ //#region ../../src/contexts/question/domain/value-objects/question-author/question-author.types.d.ts
5
+ type QuestionAuthorRole = TupleToUnion<typeof QUESTION_AUTHOR_ROLES>;
6
+ //#endregion
7
+ export { type QuestionAuthorRole };
8
+ //# sourceMappingURL=question-author.types.d.mts.map
@@ -0,0 +1,5 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-category/question-category.constants.d.ts
2
+ declare const QUESTION_CATEGORIES: readonly ["trivia", "lexicon", "riddle", "explanation"];
3
+ //#endregion
4
+ export { QUESTION_CATEGORIES };
5
+ //# sourceMappingURL=question-category.constants.d.mts.map
@@ -0,0 +1,11 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-category/question-category.constants.ts
2
+ const QUESTION_CATEGORIES = [
3
+ "trivia",
4
+ "lexicon",
5
+ "riddle",
6
+ "explanation"
7
+ ];
8
+
9
+ //#endregion
10
+ export { QUESTION_CATEGORIES };
11
+ //# sourceMappingURL=question-category.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-category.constants.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/domain/value-objects/question-category/question-category.constants.ts"],"sourcesContent":["const QUESTION_CATEGORIES = [\n \"trivia\",\n \"lexicon\",\n \"riddle\",\n \"explanation\",\n] as const satisfies readonly string[];\n\nexport {\n QUESTION_CATEGORIES,\n};"],"mappings":";AAAA,MAAM,sBAAsB;CAC1B;CACA;CACA;CACA;CACD"}
@@ -0,0 +1,8 @@
1
+ import { QUESTION_CATEGORIES } from "./question-category.constants.mjs";
2
+ import { TupleToUnion } from "type-fest";
3
+
4
+ //#region ../../src/contexts/question/domain/value-objects/question-category/question-category.types.d.ts
5
+ type QuestionCategory = TupleToUnion<typeof QUESTION_CATEGORIES>;
6
+ //#endregion
7
+ export { type QuestionCategory };
8
+ //# sourceMappingURL=question-category.types.d.mts.map
@@ -0,0 +1,5 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.d.ts
2
+ declare const QUESTION_COGNITIVE_DIFFICULTIES: readonly ["easy", "medium", "hard"];
3
+ //#endregion
4
+ export { QUESTION_COGNITIVE_DIFFICULTIES };
5
+ //# sourceMappingURL=question-cognitive-difficulty.constants.d.mts.map
@@ -0,0 +1,10 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.ts
2
+ const QUESTION_COGNITIVE_DIFFICULTIES = [
3
+ "easy",
4
+ "medium",
5
+ "hard"
6
+ ];
7
+
8
+ //#endregion
9
+ export { QUESTION_COGNITIVE_DIFFICULTIES };
10
+ //# sourceMappingURL=question-cognitive-difficulty.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-cognitive-difficulty.constants.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.constants.ts"],"sourcesContent":["const QUESTION_COGNITIVE_DIFFICULTIES = [\n \"easy\",\n \"medium\",\n \"hard\",\n] as const satisfies readonly string[];\n\nexport {\n QUESTION_COGNITIVE_DIFFICULTIES,\n};"],"mappings":";AAAA,MAAM,kCAAkC;CACtC;CACA;CACA;CACD"}
@@ -0,0 +1,8 @@
1
+ import { QUESTION_COGNITIVE_DIFFICULTIES } from "./question-cognitive-difficulty.constants.mjs";
2
+ import { TupleToUnion } from "type-fest";
3
+
4
+ //#region ../../src/contexts/question/domain/value-objects/question-cognitive-difficulty/question-cognitive-difficulty.types.d.ts
5
+ type QuestionCognitiveDifficulty = TupleToUnion<typeof QUESTION_COGNITIVE_DIFFICULTIES>;
6
+ //#endregion
7
+ export { type QuestionCognitiveDifficulty };
8
+ //# sourceMappingURL=question-cognitive-difficulty.types.d.mts.map
@@ -0,0 +1,5 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.d.ts
2
+ declare const QUESTION_REJECTION_TYPES: readonly ["inappropriate-content", "incorrect-information", "poor-quality", "duplicate-question", "other"];
3
+ //#endregion
4
+ export { QUESTION_REJECTION_TYPES };
5
+ //# sourceMappingURL=question-rejection.constants.d.mts.map
@@ -0,0 +1,12 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.ts
2
+ const QUESTION_REJECTION_TYPES = [
3
+ "inappropriate-content",
4
+ "incorrect-information",
5
+ "poor-quality",
6
+ "duplicate-question",
7
+ "other"
8
+ ];
9
+
10
+ //#endregion
11
+ export { QUESTION_REJECTION_TYPES };
12
+ //# sourceMappingURL=question-rejection.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-rejection.constants.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/domain/value-objects/question-rejection/question-rejection.constants.ts"],"sourcesContent":["const QUESTION_REJECTION_TYPES = [\n \"inappropriate-content\",\n \"incorrect-information\",\n \"poor-quality\",\n \"duplicate-question\",\n \"other\",\n] as const satisfies readonly string[];\n\nexport {\n QUESTION_REJECTION_TYPES,\n};"],"mappings":";AAAA,MAAM,2BAA2B;CAC/B;CACA;CACA;CACA;CACA;CACD"}
@@ -0,0 +1,8 @@
1
+ import { QUESTION_REJECTION_TYPES } from "./question-rejection.constants.mjs";
2
+ import { TupleToUnion } from "type-fest";
3
+
4
+ //#region ../../src/contexts/question/domain/value-objects/question-rejection/question-rejection.types.d.ts
5
+ type QuestionRejectionType = TupleToUnion<typeof QUESTION_REJECTION_TYPES>;
6
+ //#endregion
7
+ export { type QuestionRejectionType };
8
+ //# sourceMappingURL=question-rejection.types.d.mts.map
@@ -0,0 +1,7 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.ts
2
+ const QUESTION_SOURCE_URLS_MIN_ITEMS = 1;
3
+ const QUESTION_SOURCE_URLS_MAX_ITEMS = 5;
4
+
5
+ //#endregion
6
+ export { QUESTION_SOURCE_URLS_MAX_ITEMS, QUESTION_SOURCE_URLS_MIN_ITEMS };
7
+ //# sourceMappingURL=question-source-urls.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-source-urls.constants.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/domain/value-objects/question-source-urls/question-source-urls.constants.ts"],"sourcesContent":["const QUESTION_SOURCE_URLS_MIN_ITEMS = 1;\n\nconst QUESTION_SOURCE_URLS_MAX_ITEMS = 5;\n\nexport {\n QUESTION_SOURCE_URLS_MIN_ITEMS,\n QUESTION_SOURCE_URLS_MAX_ITEMS,\n};"],"mappings":";AAAA,MAAM,iCAAiC;AAEvC,MAAM,iCAAiC"}
@@ -0,0 +1,5 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-status/question-status.constants.d.ts
2
+ declare const QUESTION_STATUSES: readonly ["pending", "active", "archived", "rejected"];
3
+ //#endregion
4
+ export { QUESTION_STATUSES };
5
+ //# sourceMappingURL=question-status.constants.d.mts.map
@@ -0,0 +1,15 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-status/question-status.constants.ts
2
+ const QUESTION_STATUS_PENDING = "pending";
3
+ const QUESTION_STATUS_ACTIVE = "active";
4
+ const QUESTION_STATUS_ARCHIVED = "archived";
5
+ const QUESTION_STATUS_REJECTED = "rejected";
6
+ const QUESTION_STATUSES = [
7
+ QUESTION_STATUS_PENDING,
8
+ QUESTION_STATUS_ACTIVE,
9
+ QUESTION_STATUS_ARCHIVED,
10
+ QUESTION_STATUS_REJECTED
11
+ ];
12
+
13
+ //#endregion
14
+ export { QUESTION_STATUSES };
15
+ //# sourceMappingURL=question-status.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-status.constants.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/domain/value-objects/question-status/question-status.constants.ts"],"sourcesContent":["const QUESTION_STATUS_PENDING = \"pending\";\nconst QUESTION_STATUS_ACTIVE = \"active\";\nconst QUESTION_STATUS_ARCHIVED = \"archived\";\nconst QUESTION_STATUS_REJECTED = \"rejected\";\n\nconst QUESTION_STATUSES = [\n QUESTION_STATUS_PENDING,\n QUESTION_STATUS_ACTIVE,\n QUESTION_STATUS_ARCHIVED,\n QUESTION_STATUS_REJECTED,\n] as const satisfies readonly string[];\n\nconst QUESTION_CREATION_STATUSES = [\n QUESTION_STATUS_PENDING,\n QUESTION_STATUS_ACTIVE,\n] as const satisfies readonly string[];\n\nexport {\n QUESTION_STATUS_PENDING,\n QUESTION_STATUS_ACTIVE,\n QUESTION_STATUS_ARCHIVED,\n QUESTION_STATUS_REJECTED,\n QUESTION_STATUSES,\n QUESTION_CREATION_STATUSES,\n};"],"mappings":";AAAA,MAAM,0BAA0B;AAChC,MAAM,yBAAyB;AAC/B,MAAM,2BAA2B;AACjC,MAAM,2BAA2B;AAEjC,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACD"}
@@ -0,0 +1,8 @@
1
+ import { QUESTION_STATUSES } from "./question-status.constants.mjs";
2
+ import { TupleToUnion } from "type-fest";
3
+
4
+ //#region ../../src/contexts/question/domain/value-objects/question-status/question-status.types.d.ts
5
+ type QuestionStatus = TupleToUnion<typeof QUESTION_STATUSES>;
6
+ //#endregion
7
+ export { type QuestionStatus };
8
+ //# sourceMappingURL=question-status.types.d.mts.map
@@ -0,0 +1,7 @@
1
+ //#region ../../src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.ts
2
+ const QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS = 1;
3
+ const QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS = 3;
4
+
5
+ //#endregion
6
+ export { QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS, QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS };
7
+ //# sourceMappingURL=question-theme-assignment.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme-assignment.constants.mjs","names":[],"sources":["../../../../../../../../../src/contexts/question/domain/value-objects/question-theme-assignment/question-theme-assignment.constants.ts"],"sourcesContent":["const QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS = 1;\n\nconst QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS = 3;\n\nexport {\n QUESTION_THEME_ASSIGNMENTS_MIN_ITEMS,\n QUESTION_THEME_ASSIGNMENTS_MAX_ITEMS,\n};"],"mappings":";AAAA,MAAM,uCAAuC;AAE7C,MAAM,uCAAuC"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.ts
4
+ declare const ADMIN_QUESTION_THEME_DTO: z.ZodObject<{
5
+ id: any;
6
+ slug: any;
7
+ label: any;
8
+ aliases: any;
9
+ description: any;
10
+ status: z.ZodEnum<{
11
+ [x: string]: any;
12
+ }>;
13
+ createdAt: any;
14
+ updatedAt: any;
15
+ }, z.core.$strict>;
16
+ type AdminQuestionThemeDto = z.infer<typeof ADMIN_QUESTION_THEME_DTO>;
17
+ //#endregion
18
+ export { ADMIN_QUESTION_THEME_DTO, AdminQuestionThemeDto };
19
+ //# sourceMappingURL=admin-question-theme.dto.shape.d.mts.map
@@ -0,0 +1,21 @@
1
+ import { zLocalizedText, zLocalizedTexts } from "../../../../../../../shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs";
2
+ import { zIsoDateTime, zMongoId, zSlug } from "../../../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
3
+ import { QUESTION_THEME_SLUG_EXAMPLE } from "../zod/validators/constants/question-theme.zod.validators.constants.mjs";
4
+ import { QUESTION_THEME_STATUSES } from "../../../domain/value-objects/question-theme-status/question-theme-status.constants.mjs";
5
+ import { z } from "zod";
6
+
7
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.ts
8
+ const ADMIN_QUESTION_THEME_DTO = z.strictObject({
9
+ id: zMongoId().describe("Question Theme's unique identifier"),
10
+ slug: zSlug().describe("Question Theme's unique slug in kebab-case").meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),
11
+ label: zLocalizedText().describe("Question Theme's label in supported locales"),
12
+ aliases: zLocalizedTexts().describe("Question Theme's aliases in supported locales. Help to find the theme with different keywords"),
13
+ description: zLocalizedText().describe("Question Theme's description in supported locales"),
14
+ status: z.enum(QUESTION_THEME_STATUSES).describe("Question Theme's status").meta({ example: QUESTION_THEME_STATUSES[0] }),
15
+ createdAt: zIsoDateTime().describe("Question Theme's creation date"),
16
+ updatedAt: zIsoDateTime().describe("Question Theme's last update date")
17
+ });
18
+
19
+ //#endregion
20
+ export { ADMIN_QUESTION_THEME_DTO };
21
+ //# sourceMappingURL=admin-question-theme.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-question-theme.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../../src/contexts/question/modules/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zLocalizedText, zLocalizedTexts } from \"@shared/infrastructure/http/zod/validators/localization/localization.zod.validators\";\nimport { zIsoDateTime, zMongoId, zSlug } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_THEME_SLUG_EXAMPLE } from \"@question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants\";\nimport { QUESTION_THEME_STATUSES } from \"@question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants\";\n\nconst ADMIN_QUESTION_THEME_DTO = z.strictObject({\n id: zMongoId()\n .describe(\"Question Theme's unique identifier\"),\n slug: zSlug()\n .describe(\"Question Theme's unique slug in kebab-case\")\n .meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),\n label: zLocalizedText()\n .describe(\"Question Theme's label in supported locales\"),\n aliases: zLocalizedTexts()\n .describe(\"Question Theme's aliases in supported locales. Help to find the theme with different keywords\"),\n description: zLocalizedText()\n .describe(\"Question Theme's description in supported locales\"),\n status: z.enum(QUESTION_THEME_STATUSES)\n .describe(\"Question Theme's status\")\n .meta({ example: QUESTION_THEME_STATUSES[0] }),\n createdAt: zIsoDateTime()\n .describe(\"Question Theme's creation date\"),\n updatedAt: zIsoDateTime()\n .describe(\"Question Theme's last update date\"),\n});\n\nexport type AdminQuestionThemeDto = z.infer<typeof ADMIN_QUESTION_THEME_DTO>;\n\nexport { ADMIN_QUESTION_THEME_DTO };"],"mappings":";;;;;;;AAQA,MAAM,2BAA2B,EAAE,aAAa;CAC9C,IAAI,UAAU,CACX,SAAS,qCAAqC;CACjD,MAAM,OAAO,CACV,SAAS,6CAA6C,CACtD,KAAK,EAAE,SAAS,6BAA6B,CAAC;CACjD,OAAO,gBAAgB,CACpB,SAAS,8CAA8C;CAC1D,SAAS,iBAAiB,CACvB,SAAS,gGAAgG;CAC5G,aAAa,gBAAgB,CAC1B,SAAS,oDAAoD;CAChE,QAAQ,EAAE,KAAK,wBAAwB,CACpC,SAAS,0BAA0B,CACnC,KAAK,EAAE,SAAS,wBAAwB,IAAI,CAAC;CAChD,WAAW,cAAc,CACtB,SAAS,iCAAiC;CAC7C,WAAW,cAAc,CACtB,SAAS,oCAAoC;CACjD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.d.ts
4
+ declare const QUESTION_THEME_DTO: z.ZodObject<{
5
+ id: any;
6
+ slug: any;
7
+ label: z.ZodString;
8
+ aliases: z.ZodArray<z.ZodString>;
9
+ description: z.ZodString;
10
+ status: z.ZodEnum<{
11
+ [x: string]: any;
12
+ }>;
13
+ createdAt: any;
14
+ updatedAt: any;
15
+ }, z.core.$strict>;
16
+ type QuestionThemeDto = z.infer<typeof QUESTION_THEME_DTO>;
17
+ //#endregion
18
+ export { QUESTION_THEME_DTO, QuestionThemeDto };
19
+ //# sourceMappingURL=question-theme.dto.shape.d.mts.map
@@ -0,0 +1,24 @@
1
+ import { zIsoDateTime, zMongoId, zSlug } from "../../../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
2
+ import { QUESTION_THEME_SLUG_EXAMPLE } from "../zod/validators/constants/question-theme.zod.validators.constants.mjs";
3
+ import { QUESTION_THEME_STATUSES } from "../../../domain/value-objects/question-theme-status/question-theme-status.constants.mjs";
4
+ import { z } from "zod";
5
+
6
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.ts
7
+ const QUESTION_THEME_DTO = z.strictObject({
8
+ id: zMongoId().describe("Question Theme's unique identifier"),
9
+ slug: zSlug().describe("Question Theme's unique slug in kebab-case").meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),
10
+ label: z.string().describe("Question Theme's translated label").meta({ example: "History" }),
11
+ aliases: z.array(z.string()).describe("Question Theme's translated aliases. Help to find the theme with different keywords").meta({ example: [
12
+ "Historical Events",
13
+ "Past",
14
+ "Future"
15
+ ] }),
16
+ description: z.string().describe("Question Theme's translated description").meta({ example: "Questions related to historical events and timelines." }),
17
+ status: z.enum(QUESTION_THEME_STATUSES).describe("Question Theme's status").meta({ example: QUESTION_THEME_STATUSES[0] }),
18
+ createdAt: zIsoDateTime().describe("Question Theme's creation date"),
19
+ updatedAt: zIsoDateTime().describe("Question Theme's last update date")
20
+ });
21
+
22
+ //#endregion
23
+ export { QUESTION_THEME_DTO };
24
+ //# sourceMappingURL=question-theme.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../../src/contexts/question/modules/question-theme/application/dto/question-theme/question-theme.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zIsoDateTime, zMongoId, zSlug } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_THEME_SLUG_EXAMPLE } from \"@question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants\";\nimport { QUESTION_THEME_STATUSES } from \"@question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants\";\n\nconst QUESTION_THEME_DTO = z.strictObject({\n id: zMongoId()\n .describe(\"Question Theme's unique identifier\"),\n slug: zSlug()\n .describe(\"Question Theme's unique slug in kebab-case\")\n .meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),\n label: z.string()\n .describe(\"Question Theme's translated label\")\n .meta({ example: \"History\" }),\n aliases: z.array(z.string())\n .describe(\"Question Theme's translated aliases. Help to find the theme with different keywords\")\n .meta({ example: [\"Historical Events\", \"Past\", \"Future\"] }),\n description: z.string()\n .describe(\"Question Theme's translated description\")\n .meta({ example: \"Questions related to historical events and timelines.\" }),\n status: z.enum(QUESTION_THEME_STATUSES)\n .describe(\"Question Theme's status\")\n .meta({ example: QUESTION_THEME_STATUSES[0] }),\n createdAt: zIsoDateTime()\n .describe(\"Question Theme's creation date\"),\n updatedAt: zIsoDateTime()\n .describe(\"Question Theme's last update date\"),\n});\n\nexport type QuestionThemeDto = z.infer<typeof QUESTION_THEME_DTO>;\n\nexport { QUESTION_THEME_DTO };"],"mappings":";;;;;;AAOA,MAAM,qBAAqB,EAAE,aAAa;CACxC,IAAI,UAAU,CACX,SAAS,qCAAqC;CACjD,MAAM,OAAO,CACV,SAAS,6CAA6C,CACtD,KAAK,EAAE,SAAS,6BAA6B,CAAC;CACjD,OAAO,EAAE,QAAQ,CACd,SAAS,oCAAoC,CAC7C,KAAK,EAAE,SAAS,WAAW,CAAC;CAC/B,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CACzB,SAAS,sFAAsF,CAC/F,KAAK,EAAE,SAAS;EAAC;EAAqB;EAAQ;EAAS,EAAE,CAAC;CAC7D,aAAa,EAAE,QAAQ,CACpB,SAAS,0CAA0C,CACnD,KAAK,EAAE,SAAS,yDAAyD,CAAC;CAC7E,QAAQ,EAAE,KAAK,wBAAwB,CACpC,SAAS,0BAA0B,CACnC,KAAK,EAAE,SAAS,wBAAwB,IAAI,CAAC;CAChD,WAAW,cAAc,CACtB,SAAS,iCAAiC;CAC7C,WAAW,cAAc,CACtB,SAAS,oCAAoC;CACjD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.ts
4
+ declare const QUESTION_THEME_CREATION_DTO: z.ZodObject<{
5
+ slug: any;
6
+ label: any;
7
+ aliases: any;
8
+ description: any;
9
+ }, z.core.$strip>;
10
+ type QuestionThemeCreationDto = z.infer<typeof QUESTION_THEME_CREATION_DTO>;
11
+ //#endregion
12
+ export { QUESTION_THEME_CREATION_DTO, QuestionThemeCreationDto };
13
+ //# sourceMappingURL=question-theme-creation.dto.shape.d.mts.map
@@ -0,0 +1,16 @@
1
+ import { zLocalizedText, zLocalizedTexts } from "../../../../../../../shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs";
2
+ import { zSlug } from "../../../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
3
+ import { QUESTION_THEME_SLUG_EXAMPLE } from "../zod/validators/constants/question-theme.zod.validators.constants.mjs";
4
+ import { z } from "zod";
5
+
6
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.ts
7
+ const QUESTION_THEME_CREATION_DTO = z.object({
8
+ slug: zSlug().describe("Question Theme's unique slug in kebab-case").meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),
9
+ label: zLocalizedText().describe("Question Theme's translated label"),
10
+ aliases: zLocalizedTexts().describe("Question Theme's translated aliases. Help to find the theme with different keywords"),
11
+ description: zLocalizedText().describe("Question Theme's translated description")
12
+ });
13
+
14
+ //#endregion
15
+ export { QUESTION_THEME_CREATION_DTO };
16
+ //# sourceMappingURL=question-theme-creation.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme-creation.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../../src/contexts/question/modules/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zLocalizedText, zLocalizedTexts } from \"@shared/infrastructure/http/zod/validators/localization/localization.zod.validators\";\nimport { zSlug } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_THEME_SLUG_EXAMPLE } from \"@question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants\";\n\nconst QUESTION_THEME_CREATION_DTO = z.object({\n slug: zSlug()\n .describe(\"Question Theme's unique slug in kebab-case\")\n .meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),\n label: zLocalizedText()\n .describe(\"Question Theme's translated label\"),\n aliases: zLocalizedTexts()\n .describe(\"Question Theme's translated aliases. Help to find the theme with different keywords\"),\n description: zLocalizedText()\n .describe(\"Question Theme's translated description\"),\n});\n\nexport type QuestionThemeCreationDto = z.infer<typeof QUESTION_THEME_CREATION_DTO>;\n\nexport { QUESTION_THEME_CREATION_DTO };"],"mappings":";;;;;;AAOA,MAAM,8BAA8B,EAAE,OAAO;CAC3C,MAAM,OAAO,CACV,SAAS,6CAA6C,CACtD,KAAK,EAAE,SAAS,6BAA6B,CAAC;CACjD,OAAO,gBAAgB,CACpB,SAAS,oCAAoC;CAChD,SAAS,iBAAiB,CACvB,SAAS,sFAAsF;CAClG,aAAa,gBAAgB,CAC1B,SAAS,0CAA0C;CACvD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+
3
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.ts
4
+ declare const QUESTION_THEME_MODIFICATION_DTO: z.ZodObject<{
5
+ slug: any;
6
+ label: any;
7
+ aliases: any;
8
+ description: any;
9
+ }, z.core.$strip>;
10
+ type QuestionThemeModificationDto = z.infer<typeof QUESTION_THEME_MODIFICATION_DTO>;
11
+ //#endregion
12
+ export { QUESTION_THEME_MODIFICATION_DTO, QuestionThemeModificationDto };
13
+ //# sourceMappingURL=question-theme-modification.dto.shape.d.mts.map
@@ -0,0 +1,16 @@
1
+ import { zLocalizedText, zLocalizedTexts } from "../../../../../../../shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs";
2
+ import { zSlug } from "../../../../../../../shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs";
3
+ import { QUESTION_THEME_SLUG_EXAMPLE } from "../zod/validators/constants/question-theme.zod.validators.constants.mjs";
4
+ import { z } from "zod";
5
+
6
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.ts
7
+ const QUESTION_THEME_MODIFICATION_DTO = z.object({
8
+ slug: zSlug().optional().describe("Question Theme's unique slug in kebab-case").meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),
9
+ label: zLocalizedText().optional().describe("Question Theme's translated label"),
10
+ aliases: zLocalizedTexts().optional().describe("Question Theme's translated aliases. Help to find the theme with different keywords"),
11
+ description: zLocalizedText().optional().describe("Question Theme's translated description")
12
+ });
13
+
14
+ //#endregion
15
+ export { QUESTION_THEME_MODIFICATION_DTO };
16
+ //# sourceMappingURL=question-theme-modification.dto.shape.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme-modification.dto.shape.mjs","names":[],"sources":["../../../../../../../../../../../src/contexts/question/modules/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { zLocalizedText, zLocalizedTexts } from \"@shared/infrastructure/http/zod/validators/localization/localization.zod.validators\";\nimport { zSlug } from \"@shared/infrastructure/http/zod/validators/string/string.zod.validators\";\n\nimport { QUESTION_THEME_SLUG_EXAMPLE } from \"@question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants\";\n\nconst QUESTION_THEME_MODIFICATION_DTO = z.object({\n slug: zSlug()\n .optional()\n .describe(\"Question Theme's unique slug in kebab-case\")\n .meta({ example: QUESTION_THEME_SLUG_EXAMPLE }),\n label: zLocalizedText()\n .optional()\n .describe(\"Question Theme's translated label\"),\n aliases: zLocalizedTexts()\n .optional()\n .describe(\"Question Theme's translated aliases. Help to find the theme with different keywords\"),\n description: zLocalizedText()\n .optional()\n .describe(\"Question Theme's translated description\"),\n});\n\nexport type QuestionThemeModificationDto = z.infer<typeof QUESTION_THEME_MODIFICATION_DTO>;\n\nexport { QUESTION_THEME_MODIFICATION_DTO };"],"mappings":";;;;;;AAOA,MAAM,kCAAkC,EAAE,OAAO;CAC/C,MAAM,OAAO,CACV,UAAU,CACV,SAAS,6CAA6C,CACtD,KAAK,EAAE,SAAS,6BAA6B,CAAC;CACjD,OAAO,gBAAgB,CACpB,UAAU,CACV,SAAS,oCAAoC;CAChD,SAAS,iBAAiB,CACvB,UAAU,CACV,SAAS,sFAAsF;CAClG,aAAa,gBAAgB,CAC1B,UAAU,CACV,SAAS,0CAA0C;CACvD,CAAC"}
@@ -0,0 +1,6 @@
1
+ //#region ../../src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.ts
2
+ const QUESTION_THEME_SLUG_EXAMPLE = "general-knowledge";
3
+
4
+ //#endregion
5
+ export { QUESTION_THEME_SLUG_EXAMPLE };
6
+ //# sourceMappingURL=question-theme.zod.validators.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme.zod.validators.constants.mjs","names":[],"sources":["../../../../../../../../../../../../../src/contexts/question/modules/question-theme/application/dto/zod/validators/constants/question-theme.zod.validators.constants.ts"],"sourcesContent":["const QUESTION_THEME_SLUG_EXAMPLE = \"general-knowledge\";\n\nexport {\n QUESTION_THEME_SLUG_EXAMPLE,\n};"],"mappings":";AAAA,MAAM,8BAA8B"}
@@ -0,0 +1,5 @@
1
+ //#region ../../src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.d.ts
2
+ declare const QUESTION_THEME_STATUSES: readonly ["active", "archived"];
3
+ //#endregion
4
+ export { QUESTION_THEME_STATUSES };
5
+ //# sourceMappingURL=question-theme-status.constants.d.mts.map
@@ -0,0 +1,8 @@
1
+ //#region ../../src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.ts
2
+ const DEFAULT_QUESTION_THEME_STATUS = "active";
3
+ const QUESTION_THEME_STATUS_ARCHIVED = "archived";
4
+ const QUESTION_THEME_STATUSES = [DEFAULT_QUESTION_THEME_STATUS, QUESTION_THEME_STATUS_ARCHIVED];
5
+
6
+ //#endregion
7
+ export { QUESTION_THEME_STATUSES };
8
+ //# sourceMappingURL=question-theme-status.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-theme-status.constants.mjs","names":[],"sources":["../../../../../../../../../../../src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.constants.ts"],"sourcesContent":["const DEFAULT_QUESTION_THEME_STATUS = \"active\";\n\nconst QUESTION_THEME_STATUS_ARCHIVED = \"archived\";\n\nconst QUESTION_THEME_STATUSES = [\n DEFAULT_QUESTION_THEME_STATUS,\n QUESTION_THEME_STATUS_ARCHIVED,\n] as const satisfies readonly string[];\n\nexport {\n QUESTION_THEME_STATUSES,\n DEFAULT_QUESTION_THEME_STATUS,\n QUESTION_THEME_STATUS_ARCHIVED,\n};"],"mappings":";AAAA,MAAM,gCAAgC;AAEtC,MAAM,iCAAiC;AAEvC,MAAM,0BAA0B,CAC9B,+BACA,+BACD"}
@@ -0,0 +1,8 @@
1
+ import { QUESTION_THEME_STATUSES } from "./question-theme-status.constants.mjs";
2
+ import { TupleToUnion } from "type-fest";
3
+
4
+ //#region ../../src/contexts/question/modules/question-theme/domain/value-objects/question-theme-status/question-theme-status.types.d.ts
5
+ type QuestionThemeStatus = TupleToUnion<typeof QUESTION_THEME_STATUSES>;
6
+ //#endregion
7
+ export { type QuestionThemeStatus };
8
+ //# sourceMappingURL=question-theme-status.types.d.mts.map
@@ -0,0 +1,14 @@
1
+ //#region ../../src/shared/application/dto/zod/refinements/array/array.zod.refinements.ts
2
+ function areValuesUniqueFromStrings(array) {
3
+ return new Set(array).size === array.length;
4
+ }
5
+ function areValuesUniqueByKey(array, key) {
6
+ return areValuesUniqueFromStrings(array.map((item) => String(item[key])));
7
+ }
8
+ function hasExactlyOneByKey(array, key, value) {
9
+ return array.filter((item) => item[key] === value).length === 1;
10
+ }
11
+
12
+ //#endregion
13
+ export { areValuesUniqueByKey, areValuesUniqueFromStrings, hasExactlyOneByKey };
14
+ //# sourceMappingURL=array.zod.refinements.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.zod.refinements.mjs","names":[],"sources":["../../../../../../../../../../src/shared/application/dto/zod/refinements/array/array.zod.refinements.ts"],"sourcesContent":["function areValuesUniqueFromStrings(array: string[]): boolean {\n const uniqueValues = new Set(array);\n\n return uniqueValues.size === array.length;\n}\n\nfunction areValuesUniqueByKey<T extends Record<string, unknown>>(array: T[], key: keyof T): boolean {\n const values = array.map(item => String(item[key]));\n\n return areValuesUniqueFromStrings(values);\n}\n\nfunction hasExactlyOneByKey<T extends Record<string, unknown>>(array: T[], key: keyof T, value: unknown): boolean {\n const matchingItems = array.filter(item => item[key] === value);\n\n return matchingItems.length === 1;\n}\n\nexport {\n areValuesUniqueFromStrings,\n areValuesUniqueByKey,\n hasExactlyOneByKey,\n};"],"mappings":";AAAA,SAAS,2BAA2B,OAA0B;AAG5D,QAFqB,IAAI,IAAI,MAAM,CAEf,SAAS,MAAM;;AAGrC,SAAS,qBAAwD,OAAY,KAAuB;AAGlG,QAAO,2BAFQ,MAAM,KAAI,SAAQ,OAAO,KAAK,KAAK,CAAC,CAEV;;AAG3C,SAAS,mBAAsD,OAAY,KAAc,OAAyB;AAGhH,QAFsB,MAAM,QAAO,SAAQ,KAAK,SAAS,MAAM,CAE1C,WAAW"}
@@ -0,0 +1,5 @@
1
+ //#region ../../src/shared/domain/value-objects/locale/locale.constants.d.ts
2
+ declare const LOCALES: readonly ["en", "fr", "es", "de", "it", "pt"];
3
+ //#endregion
4
+ export { LOCALES };
5
+ //# sourceMappingURL=locale.constants.d.mts.map
@@ -0,0 +1,21 @@
1
+ //#region ../../src/shared/domain/value-objects/locale/locale.constants.ts
2
+ const LOCALES = [
3
+ "en",
4
+ "fr",
5
+ "es",
6
+ "de",
7
+ "it",
8
+ "pt"
9
+ ];
10
+ const LOCALE_LABELS = {
11
+ en: "English",
12
+ fr: "French",
13
+ es: "Spanish",
14
+ de: "German",
15
+ it: "Italian",
16
+ pt: "Portuguese"
17
+ };
18
+
19
+ //#endregion
20
+ export { LOCALES, LOCALE_LABELS };
21
+ //# sourceMappingURL=locale.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.constants.mjs","names":[],"sources":["../../../../../../../../src/shared/domain/value-objects/locale/locale.constants.ts"],"sourcesContent":["const LOCALES = [\"en\", \"fr\", \"es\", \"de\", \"it\", \"pt\"] as const;\n\nconst LOCALE_LABELS: Record<typeof LOCALES[number], string> = {\n en: \"English\",\n fr: \"French\",\n es: \"Spanish\",\n de: \"German\",\n it: \"Italian\",\n pt: \"Portuguese\",\n} as const;\n\nexport {\n LOCALES,\n LOCALE_LABELS,\n};"],"mappings":";AAAA,MAAM,UAAU;CAAC;CAAM;CAAM;CAAM;CAAM;CAAM;CAAK;AAEpD,MAAM,gBAAwD;CAC5D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL"}
@@ -0,0 +1,10 @@
1
+ import { LOCALES } from "./locale.constants.mjs";
2
+ import { TupleToUnion } from "type-fest";
3
+
4
+ //#region ../../src/shared/domain/value-objects/locale/locale.types.d.ts
5
+ type Locale = TupleToUnion<typeof LOCALES>;
6
+ type LocalizedText = Record<Locale, string>;
7
+ type LocalizedTexts = Record<Locale, string[]>;
8
+ //#endregion
9
+ export { type Locale, type LocalizedText, type LocalizedTexts };
10
+ //# sourceMappingURL=locale.types.d.mts.map
@@ -0,0 +1,17 @@
1
+ //#region ../../src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.ts
2
+ const LOCALIZED_TEXT_ENTRY_MIN_LENGTH = 1;
3
+ const LOCALIZED_TEXT_ENTRY_MAX_LENGTH = 500;
4
+ const LOCALIZED_TEXTS_MIN_LENGTH = 1;
5
+ const LOCALIZED_TEXTS_MAX_LENGTH = 10;
6
+ const LOCALE_EXAMPLES = {
7
+ en: "Example text in English.",
8
+ fr: "Exemple de texte en français.",
9
+ es: "Texto de ejemplo en español.",
10
+ de: "Beispieltext auf Deutsch.",
11
+ it: "Testo di esempio in italiano.",
12
+ pt: "Texto de exemplo em português."
13
+ };
14
+
15
+ //#endregion
16
+ export { LOCALE_EXAMPLES, LOCALIZED_TEXTS_MAX_LENGTH, LOCALIZED_TEXTS_MIN_LENGTH, LOCALIZED_TEXT_ENTRY_MAX_LENGTH, LOCALIZED_TEXT_ENTRY_MIN_LENGTH };
17
+ //# sourceMappingURL=localization.zod.validators.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.zod.validators.constants.mjs","names":[],"sources":["../../../../../../../../../../../src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.ts"],"sourcesContent":["import type { Locale } from \"@shared/domain/value-objects/locale/locale.types\";\n\nconst LOCALIZED_TEXT_ENTRY_MIN_LENGTH = 1;\n\nconst LOCALIZED_TEXT_ENTRY_MAX_LENGTH = 500;\n\nconst LOCALIZED_TEXTS_MIN_LENGTH = 1;\n\nconst LOCALIZED_TEXTS_MAX_LENGTH = 10;\n\nconst LOCALE_EXAMPLES: Record<Locale, string> = {\n en: \"Example text in English.\",\n fr: \"Exemple de texte en français.\",\n es: \"Texto de ejemplo en español.\",\n de: \"Beispieltext auf Deutsch.\",\n it: \"Testo di esempio in italiano.\",\n pt: \"Texto de exemplo em português.\",\n} as const;\n\nexport {\n LOCALIZED_TEXT_ENTRY_MIN_LENGTH,\n LOCALIZED_TEXT_ENTRY_MAX_LENGTH,\n LOCALIZED_TEXTS_MIN_LENGTH,\n LOCALIZED_TEXTS_MAX_LENGTH,\n LOCALE_EXAMPLES,\n};"],"mappings":";AAEA,MAAM,kCAAkC;AAExC,MAAM,kCAAkC;AAExC,MAAM,6BAA6B;AAEnC,MAAM,6BAA6B;AAEnC,MAAM,kBAA0C;CAC9C,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL"}
@@ -0,0 +1,38 @@
1
+ import { LOCALE_LABELS } from "../../../../../domain/value-objects/locale/locale.constants.mjs";
2
+ import { LOCALE_EXAMPLES, LOCALIZED_TEXTS_MAX_LENGTH, LOCALIZED_TEXTS_MIN_LENGTH, LOCALIZED_TEXT_ENTRY_MAX_LENGTH, LOCALIZED_TEXT_ENTRY_MIN_LENGTH } from "./constants/localization.zod.validators.constants.mjs";
3
+ import { z } from "zod";
4
+
5
+ //#region ../../src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.ts
6
+ function createZLocaleEntries(entryFactory) {
7
+ return {
8
+ en: entryFactory("en"),
9
+ fr: entryFactory("fr"),
10
+ es: entryFactory("es"),
11
+ de: entryFactory("de"),
12
+ it: entryFactory("it"),
13
+ pt: entryFactory("pt")
14
+ };
15
+ }
16
+ function zLocalizedTextEntry(locale) {
17
+ const localeLabel = LOCALE_LABELS[locale];
18
+ const localeExample = LOCALE_EXAMPLES[locale];
19
+ return z.string().trim().min(LOCALIZED_TEXT_ENTRY_MIN_LENGTH).max(LOCALIZED_TEXT_ENTRY_MAX_LENGTH).optional().describe(`Text in ${localeLabel}`).meta({ example: localeExample });
20
+ }
21
+ function zLocalizedTextsEntry(locale) {
22
+ const localeLabel = LOCALE_LABELS[locale];
23
+ const localeExample = LOCALE_EXAMPLES[locale];
24
+ const zLocalizedTextsValue = z.string().trim().min(LOCALIZED_TEXT_ENTRY_MIN_LENGTH).max(LOCALIZED_TEXT_ENTRY_MAX_LENGTH);
25
+ return z.array(zLocalizedTextsValue).min(LOCALIZED_TEXTS_MIN_LENGTH).max(LOCALIZED_TEXTS_MAX_LENGTH).optional().describe(`Texts in ${localeLabel}`).meta({ example: [localeExample] });
26
+ }
27
+ function zLocalizedText() {
28
+ const localeEntries = createZLocaleEntries(zLocalizedTextEntry);
29
+ return z.strictObject(localeEntries).describe("Localized text object with translations for multiple languages");
30
+ }
31
+ function zLocalizedTexts() {
32
+ const localeEntries = createZLocaleEntries(zLocalizedTextsEntry);
33
+ return z.strictObject(localeEntries).describe("Localized texts object with translations for multiple languages");
34
+ }
35
+
36
+ //#endregion
37
+ export { zLocalizedText, zLocalizedTexts };
38
+ //# sourceMappingURL=localization.zod.validators.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { LOCALE_LABELS } from \"@shared/domain/value-objects/locale/locale.constants\";\nimport { LOCALE_EXAMPLES, LOCALIZED_TEXT_ENTRY_MAX_LENGTH, LOCALIZED_TEXT_ENTRY_MIN_LENGTH, LOCALIZED_TEXTS_MAX_LENGTH, LOCALIZED_TEXTS_MIN_LENGTH } from \"@shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants\";\n\nimport type { ZodObject, ZodString, ZodOptional, ZodArray } from \"zod\";\n\nimport type { Locale } from \"@shared/domain/value-objects/locale/locale.types\";\n\nfunction createZLocaleEntries<T>(entryFactory: (locale: Locale) => T): Record<Locale, T> {\n return {\n en: entryFactory(\"en\"),\n fr: entryFactory(\"fr\"),\n es: entryFactory(\"es\"),\n de: entryFactory(\"de\"),\n it: entryFactory(\"it\"),\n pt: entryFactory(\"pt\"),\n };\n}\n\nfunction zLocalizedTextEntry(locale: Locale): ZodOptional<ZodString> {\n const localeLabel = LOCALE_LABELS[locale];\n const localeExample = LOCALE_EXAMPLES[locale];\n\n return z.string()\n .trim()\n .min(LOCALIZED_TEXT_ENTRY_MIN_LENGTH)\n .max(LOCALIZED_TEXT_ENTRY_MAX_LENGTH)\n .optional()\n .describe(`Text in ${localeLabel}`)\n .meta({ example: localeExample });\n}\n\nfunction zLocalizedTextsEntry(locale: Locale): ZodOptional<ZodArray<ZodString>> {\n const localeLabel = LOCALE_LABELS[locale];\n const localeExample = LOCALE_EXAMPLES[locale];\n\n const zLocalizedTextsValue = z.string()\n .trim()\n .min(LOCALIZED_TEXT_ENTRY_MIN_LENGTH)\n .max(LOCALIZED_TEXT_ENTRY_MAX_LENGTH);\n\n return z.array(zLocalizedTextsValue)\n .min(LOCALIZED_TEXTS_MIN_LENGTH)\n .max(LOCALIZED_TEXTS_MAX_LENGTH)\n .optional()\n .describe(`Texts in ${localeLabel}`)\n .meta({ example: [localeExample] });\n}\n\nfunction zLocalizedText(): ZodObject<Record<Locale, ZodOptional<ZodString>>> {\n const localeEntries: Record<Locale, ZodOptional<ZodString>> = createZLocaleEntries(zLocalizedTextEntry);\n\n return z.strictObject(localeEntries)\n .describe(\"Localized text object with translations for multiple languages\");\n}\n\nfunction zLocalizedTexts(): ZodObject<Record<Locale, ZodOptional<ZodArray<ZodString>>>> {\n const localeEntries: Record<Locale, ZodOptional<ZodArray<ZodString>>> = createZLocaleEntries(zLocalizedTextsEntry);\n\n return z.strictObject(localeEntries)\n .describe(\"Localized texts object with translations for multiple languages\");\n}\n\nexport {\n createZLocaleEntries,\n zLocalizedTextEntry,\n zLocalizedTextsEntry,\n zLocalizedText,\n zLocalizedTexts,\n};"],"mappings":";;;;;AASA,SAAS,qBAAwB,cAAwD;AACvF,QAAO;EACL,IAAI,aAAa,KAAK;EACtB,IAAI,aAAa,KAAK;EACtB,IAAI,aAAa,KAAK;EACtB,IAAI,aAAa,KAAK;EACtB,IAAI,aAAa,KAAK;EACtB,IAAI,aAAa,KAAK;EACvB;;AAGH,SAAS,oBAAoB,QAAwC;CACnE,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB,gBAAgB;AAEtC,QAAO,EAAE,QAAQ,CACd,MAAM,CACN,IAAI,gCAAgC,CACpC,IAAI,gCAAgC,CACpC,UAAU,CACV,SAAS,WAAW,cAAc,CAClC,KAAK,EAAE,SAAS,eAAe,CAAC;;AAGrC,SAAS,qBAAqB,QAAkD;CAC9E,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB,gBAAgB;CAEtC,MAAM,uBAAuB,EAAE,QAAQ,CACpC,MAAM,CACN,IAAI,gCAAgC,CACpC,IAAI,gCAAgC;AAEvC,QAAO,EAAE,MAAM,qBAAqB,CACjC,IAAI,2BAA2B,CAC/B,IAAI,2BAA2B,CAC/B,UAAU,CACV,SAAS,YAAY,cAAc,CACnC,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,CAAC;;AAGvC,SAAS,iBAAoE;CAC3E,MAAM,gBAAwD,qBAAqB,oBAAoB;AAEvG,QAAO,EAAE,aAAa,cAAc,CACjC,SAAS,iEAAiE;;AAG/E,SAAS,kBAA+E;CACtF,MAAM,gBAAkE,qBAAqB,qBAAqB;AAElH,QAAO,EAAE,aAAa,cAAc,CACjC,SAAS,kEAAkE"}
@@ -0,0 +1,9 @@
1
+ //#region ../../src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.ts
2
+ const SLUG_REGEX = /^[\da-z]+(?:-[\da-z]+)*$/u;
3
+ const SLUG_MIN_LENGTH = 3;
4
+ const SLUG_MAX_LENGTH = 50;
5
+ const ISO_DATE_TIME_EXAMPLE = "2026-04-14T00:00:00.000Z";
6
+
7
+ //#endregion
8
+ export { ISO_DATE_TIME_EXAMPLE, SLUG_MAX_LENGTH, SLUG_MIN_LENGTH, SLUG_REGEX };
9
+ //# sourceMappingURL=string.zod.validators.constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.zod.validators.constants.mjs","names":[],"sources":["../../../../../../../../../../../src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.ts"],"sourcesContent":["const SLUG_REGEX = /^[\\da-z]+(?:-[\\da-z]+)*$/u;\n\nconst SLUG_MIN_LENGTH = 3;\n\nconst SLUG_MAX_LENGTH = 50;\n\nconst ISO_DATE_TIME_EXAMPLE = \"2026-04-14T00:00:00.000Z\";\n\nexport {\n SLUG_REGEX,\n SLUG_MIN_LENGTH,\n SLUG_MAX_LENGTH,\n ISO_DATE_TIME_EXAMPLE,\n};"],"mappings":";AAAA,MAAM,aAAa;AAEnB,MAAM,kBAAkB;AAExB,MAAM,kBAAkB;AAExB,MAAM,wBAAwB"}
@@ -0,0 +1,27 @@
1
+ import { ISO_DATE_TIME_EXAMPLE, SLUG_MAX_LENGTH, SLUG_MIN_LENGTH, SLUG_REGEX } from "./constants/string.zod.validators.constants.mjs";
2
+ import { z } from "zod";
3
+ import { isMongoId } from "validator";
4
+
5
+ //#region ../../src/shared/infrastructure/http/zod/validators/string/string.zod.validators.ts
6
+ function zSlug(options = {}) {
7
+ return z.string().trim().min(SLUG_MIN_LENGTH).max(SLUG_MAX_LENGTH).regex(SLUG_REGEX, {
8
+ error: "Invalid kebab-case value",
9
+ ...options
10
+ }).meta({ example: "example-slug-value" });
11
+ }
12
+ function zMongoId(options = {}) {
13
+ return z.string().trim().refine(isMongoId, {
14
+ error: "Invalid ObjectId value",
15
+ ...options
16
+ }).meta({ example: "60af924f4f1a2563f8e8b456" });
17
+ }
18
+ function zIsoDateTime(options = {}) {
19
+ return z.iso.datetime({
20
+ error: "Invalid ISO 8601 datetime value",
21
+ ...options
22
+ }).meta({ example: ISO_DATE_TIME_EXAMPLE });
23
+ }
24
+
25
+ //#endregion
26
+ export { zIsoDateTime, zMongoId, zSlug };
27
+ //# sourceMappingURL=string.zod.validators.mjs.map