@goat-it/schemas 0.0.14-beta → 0.0.16-beta

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 (99) hide show
  1. package/dist/question/index.d.mts +10 -1
  2. package/dist/question/index.mjs +10 -1
  3. package/dist/question-theme/index.d.mts +2 -1
  4. package/dist/question-theme/index.mjs +2 -1
  5. package/dist/shared/constants/index.d.mts +3 -2
  6. package/dist/shared/constants/index.mjs +3 -2
  7. package/dist/shared/locale/index.d.mts +2 -1
  8. package/dist/shared/locale/index.mjs +2 -1
  9. package/dist/src/contexts/question/application/dto/admin-find-questions-query/admin-find-questions-query.dto.shape.d.mts +0 -1
  10. package/dist/src/contexts/question/application/dto/admin-find-questions-query/admin-find-questions-query.dto.shape.mjs.map +1 -1
  11. package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.d.mts +12 -0
  12. package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs.map +1 -1
  13. package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.d.mts +22 -0
  14. package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs.map +1 -1
  15. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.mts +0 -1
  16. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs +1 -1
  17. package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs.map +1 -1
  18. package/dist/src/contexts/question/application/dto/find-questions-query/find-questions-query.dto.shape.d.mts +0 -1
  19. package/dist/src/contexts/question/application/dto/find-questions-query/find-questions-query.dto.shape.mjs.map +1 -1
  20. package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.d.mts +12 -0
  21. package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs +14 -0
  22. package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs.map +1 -0
  23. package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.d.mts +14 -0
  24. package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs +17 -0
  25. package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs.map +1 -0
  26. package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.d.mts +12 -0
  27. package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs.map +1 -1
  28. package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.d.mts +22 -0
  29. package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs.map +1 -1
  30. package/dist/src/contexts/question/application/dto/question/question.dto.shape.d.mts +0 -1
  31. package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs +1 -1
  32. package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs.map +1 -1
  33. package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs.map +1 -1
  34. package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs.map +1 -1
  35. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.mts +0 -1
  36. package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs.map +1 -1
  37. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.mts +0 -1
  38. package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs.map +1 -1
  39. package/dist/src/contexts/question/application/dto/question-modification/question-content-modification/question-content-modification.dto.shape.mjs.map +1 -1
  40. package/dist/src/contexts/question/application/dto/question-modification/question-modification.dto.shape.d.mts +0 -1
  41. package/dist/src/contexts/question/application/dto/question-modification/question-modification.dto.shape.mjs.map +1 -1
  42. package/dist/src/contexts/question/application/dto/question-theme-assignment-modification/question-theme-assignment-modification.dto.shape.d.mts +0 -1
  43. package/dist/src/contexts/question/application/dto/question-theme-assignment-modification/question-theme-assignment-modification.dto.shape.mjs.map +1 -1
  44. package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.d.mts +15 -0
  45. package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs.map +1 -1
  46. package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.d.mts +16 -0
  47. package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs.map +1 -1
  48. package/dist/src/contexts/question/application/dto/shared/zod/validators/constants/question-sort.dto.zod.validators.constants.d.mts +5 -0
  49. package/dist/src/contexts/question/application/dto/shared/zod/validators/question-content/question-content.dto.zod.validators.mjs.map +1 -1
  50. package/dist/src/contexts/question/application/dto/shared/zod/validators/question-theme-assignment/question-theme-assignment.dto.zod.validators.mjs.map +1 -1
  51. package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs +12 -1
  52. package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs.map +1 -1
  53. package/dist/src/contexts/question/domain/constants/question.constants.d.mts +0 -1
  54. package/dist/src/contexts/question/domain/constants/question.constants.mjs +3 -2
  55. package/dist/src/contexts/question/domain/constants/question.constants.mjs.map +1 -1
  56. package/dist/src/contexts/question/domain/types/question.value-objects.d.mts +2 -1
  57. package/dist/src/contexts/question-theme/application/dto/admin-find-question-themes-query/admin-find-question-themes-query.dto.shape.d.mts +0 -1
  58. package/dist/src/contexts/question-theme/application/dto/admin-find-question-themes-query/admin-find-question-themes-query.dto.shape.mjs.map +1 -1
  59. package/dist/src/contexts/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.mts +0 -1
  60. package/dist/src/contexts/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs.map +1 -1
  61. package/dist/src/contexts/question-theme/application/dto/find-question-themes-query/find-question-themes-query.dto.shape.d.mts +0 -1
  62. package/dist/src/contexts/question-theme/application/dto/find-question-themes-query/find-question-themes-query.dto.shape.mjs.map +1 -1
  63. package/dist/src/contexts/question-theme/application/dto/question-theme/question-theme.dto.shape.d.mts +0 -1
  64. package/dist/src/contexts/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs.map +1 -1
  65. package/dist/src/contexts/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.mts +0 -1
  66. package/dist/src/contexts/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs.map +1 -1
  67. package/dist/src/contexts/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.mts +0 -1
  68. package/dist/src/contexts/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs.map +1 -1
  69. package/dist/src/contexts/question-theme/application/dto/zod/validators/constants/question-theme-sort.dto.zod.validators.constants.d.mts +6 -0
  70. package/dist/src/contexts/question-theme/application/dto/zod/validators/constants/question-theme-sort.dto.zod.validators.constants.mjs +2 -1
  71. package/dist/src/contexts/question-theme/application/dto/zod/validators/constants/question-theme-sort.dto.zod.validators.constants.mjs.map +1 -1
  72. package/dist/src/contexts/question-theme/application/dto/zod/validators/question-theme.dto.zod.validators.mjs +1 -1
  73. package/dist/src/contexts/question-theme/application/dto/zod/validators/question-theme.dto.zod.validators.mjs.map +1 -1
  74. package/dist/src/contexts/question-theme/domain/types/question-theme.entities.d.mts +2 -1
  75. package/dist/src/contexts/question-theme/domain/types/question-theme.value-objects.d.mts +0 -1
  76. package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs.map +1 -1
  77. package/dist/src/shared/application/dto/zod/validators/array/array.zod.validators.mjs +22 -0
  78. package/dist/src/shared/application/dto/zod/validators/array/array.zod.validators.mjs.map +1 -0
  79. package/dist/src/shared/domain/types/sort/sort.types.d.mts +0 -1
  80. package/dist/src/shared/domain/value-objects/locale/helpers/locale.helpers.d.mts +6 -0
  81. package/dist/src/shared/domain/value-objects/locale/helpers/locale.helpers.mjs +9 -0
  82. package/dist/src/shared/domain/value-objects/locale/helpers/locale.helpers.mjs.map +1 -0
  83. package/dist/src/shared/domain/value-objects/locale/locale.types.d.mts +0 -1
  84. package/dist/src/shared/infrastructure/http/dto/api-response-exception/api-response-exception-validation-details/api-response-exception-validation-details.dto.shape.d.mts +0 -1
  85. package/dist/src/shared/infrastructure/http/dto/api-response-exception/api-response-exception-validation-details/api-response-exception-validation-details.dto.shape.mjs.map +1 -1
  86. package/dist/src/shared/infrastructure/http/dto/api-response-exception/api-response-exception.dto.shape.d.mts +0 -1
  87. package/dist/src/shared/infrastructure/http/dto/api-response-exception/api-response-exception.dto.shape.mjs.map +1 -1
  88. package/dist/src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.d.mts +6 -0
  89. package/dist/src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.mjs +3 -1
  90. package/dist/src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.mjs.map +1 -1
  91. package/dist/src/shared/infrastructure/http/zod/validators/limit/limit.zod.validators.mjs.map +1 -1
  92. package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.d.mts +1 -0
  93. package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs +1 -1
  94. package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs.map +1 -1
  95. package/dist/src/shared/infrastructure/http/zod/validators/sort/sort.zod.validators.mjs.map +1 -1
  96. package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.d.mts +4 -1
  97. package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs.map +1 -1
  98. package/dist/src/shared/types/enum.types.d.mts +1 -1
  99. package/package.json +4 -4
@@ -1,6 +1,8 @@
1
1
  //#region ../../src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.ts
2
2
  const LIMIT_DESCRIPTION = "Maximum number of results to return. Use 0 for unlimited results.";
3
+ const LIMIT_DEFAULT = 50;
4
+ const LIMIT_MINIMUM = 0;
3
5
  //#endregion
4
- export { LIMIT_DESCRIPTION };
6
+ export { LIMIT_DEFAULT, LIMIT_DESCRIPTION, LIMIT_MINIMUM };
5
7
 
6
8
  //# sourceMappingURL=limit.zod.validators.constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"limit.zod.validators.constants.mjs","names":[],"sources":["../../../../../../../../../../../src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.ts"],"sourcesContent":["const LIMIT_DESCRIPTION = \"Maximum number of results to return. Use 0 for unlimited results.\";\n\nconst LIMIT_DEFAULT = 50;\n\nconst LIMIT_MINIMUM = 0;\n\nexport { LIMIT_DESCRIPTION, LIMIT_DEFAULT, LIMIT_MINIMUM };"],"mappings":";AAAA,MAAM,oBAAoB"}
1
+ {"version":3,"file":"limit.zod.validators.constants.mjs","names":[],"sources":["../../../../../../../../../../../src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.ts"],"sourcesContent":["const LIMIT_DESCRIPTION = \"Maximum number of results to return. Use 0 for unlimited results.\";\n\nconst LIMIT_DEFAULT = 50;\n\nconst LIMIT_MINIMUM = 0;\n\nexport { LIMIT_DESCRIPTION, LIMIT_DEFAULT, LIMIT_MINIMUM };"],"mappings":";AAAA,MAAM,oBAAoB;AAE1B,MAAM,gBAAgB;AAEtB,MAAM,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"limit.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/infrastructure/http/zod/validators/limit/limit.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { LIMIT_DESCRIPTION, LIMIT_DEFAULT, LIMIT_MINIMUM } from \"@shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants\";\n\nimport type { ZodCoercedNumber, ZodDefault, ZodOptional } from \"zod\";\n\nfunction zLimit(): ZodDefault<ZodOptional<ZodCoercedNumber>> {\n return z.coerce.number()\n .int()\n .min(LIMIT_MINIMUM)\n .optional()\n .default(LIMIT_DEFAULT)\n .describe(LIMIT_DESCRIPTION)\n .meta({ example: LIMIT_DEFAULT });\n}\n\nexport { zLimit };"],"mappings":";;;AAMA,SAAS,SAAoD;CAC3D,OAAO,EAAE,OAAO,OAAO,EACpB,IAAI,EACJ,IAAA,CAAiB,EACjB,SAAS,EACT,QAAA,EAAqB,EACrB,SAAS,iBAAiB,EAC1B,KAAK,EAAE,SAAA,GAAuB,CAAC;AACpC"}
1
+ {"version":3,"file":"limit.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/infrastructure/http/zod/validators/limit/limit.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { LIMIT_DESCRIPTION, LIMIT_DEFAULT, LIMIT_MINIMUM } from \"@shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants\";\n\nimport type { ZodCoercedNumber, ZodDefault, ZodOptional } from \"zod\";\n\nfunction zLimit(): ZodDefault<ZodOptional<ZodCoercedNumber>> {\n return z.coerce.number()\n .int()\n .min(LIMIT_MINIMUM)\n .optional()\n .default(LIMIT_DEFAULT)\n .describe(LIMIT_DESCRIPTION)\n .meta({ example: LIMIT_DEFAULT });\n}\n\nexport { zLimit };"],"mappings":";;;AAMA,SAAS,SAAoD;CAC3D,OAAO,EAAE,OAAO,OAAO,CAAC,CACrB,IAAI,CAAC,CACL,IAAA,CAAiB,CAAC,CAClB,SAAS,CAAC,CACV,QAAA,EAAqB,CAAC,CACtB,SAAS,iBAAiB,CAAC,CAC3B,KAAK,EAAE,SAAA,GAAuB,CAAC;AACpC"}
@@ -1,3 +1,4 @@
1
+ import "../../../../../../domain/value-objects/locale/locale.types.mjs";
1
2
  //#region ../../src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.d.ts
2
3
  declare const LOCALIZED_TEXT_ENTRY_MIN_LENGTH = 1;
3
4
  declare const LOCALIZED_TEXT_ENTRY_MAX_LENGTH = 500;
@@ -35,6 +35,6 @@ function zLocalizedTexts() {
35
35
  return z.strictObject(localeEntries).describe("Localized texts object with translations for multiple languages").refine((object) => hasAtLeastOneLocaleValue(object), { message: LOCALIZED_TEXT_EMPTY_ERROR_MESSAGE });
36
36
  }
37
37
  //#endregion
38
- export { zLocalizedText, zLocalizedTexts };
38
+ export { createZLocaleEntries, hasAtLeastOneLocaleValue, zLocalizedText, zLocalizedTextEntry, zLocalizedTexts, zLocalizedTextsEntry };
39
39
 
40
40
  //# sourceMappingURL=localization.zod.validators.mjs.map
@@ -1 +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, LOCALIZED_TEXT_EMPTY_ERROR_MESSAGE } 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 hasAtLeastOneLocaleValue(object: Record<string, unknown>): boolean {\n return Object.values(object).some(value => value !== undefined);\n}\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 .refine(\n object => hasAtLeastOneLocaleValue(object),\n { message: LOCALIZED_TEXT_EMPTY_ERROR_MESSAGE },\n );\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 .refine(\n object => hasAtLeastOneLocaleValue(object),\n { message: LOCALIZED_TEXT_EMPTY_ERROR_MESSAGE },\n );\n}\n\nexport {\n createZLocaleEntries,\n hasAtLeastOneLocaleValue,\n zLocalizedTextEntry,\n zLocalizedTextsEntry,\n zLocalizedText,\n zLocalizedTexts,\n};"],"mappings":";;;;AASA,SAAS,yBAAyB,QAA0C;CAC1E,OAAO,OAAO,OAAO,MAAM,EAAE,MAAK,UAAS,UAAU,KAAA,CAAS;AAChE;AAEA,SAAS,qBAAwB,cAAwD;CACvF,OAAO;EACL,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;CACvB;AACF;AAEA,SAAS,oBAAoB,QAAwC;CACnE,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB,gBAAgB;CAEtC,OAAO,EAAE,OAAO,EACb,KAAK,EACL,IAAA,CAAmC,EACnC,IAAA,GAAmC,EACnC,SAAS,EACT,SAAS,WAAW,aAAa,EACjC,KAAK,EAAE,SAAS,cAAc,CAAC;AACpC;AAEA,SAAS,qBAAqB,QAAkD;CAC9E,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB,gBAAgB;CAEtC,MAAM,uBAAuB,EAAE,OAAO,EACnC,KAAK,EACL,IAAA,CAAmC,EACnC,IAAA,GAAmC;CAEtC,OAAO,EAAE,MAAM,oBAAoB,EAChC,IAAA,CAA8B,EAC9B,IAAA,EAA8B,EAC9B,SAAS,EACT,SAAS,YAAY,aAAa,EAClC,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;AACtC;AAEA,SAAS,iBAAoE;CAC3E,MAAM,gBAAwD,qBAAqB,mBAAmB;CAEtG,OAAO,EAAE,aAAa,aAAa,EAChC,SAAS,gEAAgE,EACzE,QACC,WAAU,yBAAyB,MAAM,GACzC,EAAE,SAAS,mCAAmC,CAChD;AACJ;AAEA,SAAS,kBAA+E;CACtF,MAAM,gBAAkE,qBAAqB,oBAAoB;CAEjH,OAAO,EAAE,aAAa,aAAa,EAChC,SAAS,iEAAiE,EAC1E,QACC,WAAU,yBAAyB,MAAM,GACzC,EAAE,SAAS,mCAAmC,CAChD;AACJ"}
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, LOCALIZED_TEXT_EMPTY_ERROR_MESSAGE } 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 hasAtLeastOneLocaleValue(object: Record<string, unknown>): boolean {\n return Object.values(object).some(value => value !== undefined);\n}\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 .refine(\n object => hasAtLeastOneLocaleValue(object),\n { message: LOCALIZED_TEXT_EMPTY_ERROR_MESSAGE },\n );\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 .refine(\n object => hasAtLeastOneLocaleValue(object),\n { message: LOCALIZED_TEXT_EMPTY_ERROR_MESSAGE },\n );\n}\n\nexport {\n createZLocaleEntries,\n hasAtLeastOneLocaleValue,\n zLocalizedTextEntry,\n zLocalizedTextsEntry,\n zLocalizedText,\n zLocalizedTexts,\n};"],"mappings":";;;;AASA,SAAS,yBAAyB,QAA0C;CAC1E,OAAO,OAAO,OAAO,MAAM,CAAC,CAAC,MAAK,UAAS,UAAU,KAAA,CAAS;AAChE;AAEA,SAAS,qBAAwB,cAAwD;CACvF,OAAO;EACL,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;EACrB,IAAI,aAAa,IAAI;CACvB;AACF;AAEA,SAAS,oBAAoB,QAAwC;CACnE,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB,gBAAgB;CAEtC,OAAO,EAAE,OAAO,CAAC,CACd,KAAK,CAAC,CACN,IAAA,CAAmC,CAAC,CACpC,IAAA,GAAmC,CAAC,CACpC,SAAS,CAAC,CACV,SAAS,WAAW,aAAa,CAAC,CAClC,KAAK,EAAE,SAAS,cAAc,CAAC;AACpC;AAEA,SAAS,qBAAqB,QAAkD;CAC9E,MAAM,cAAc,cAAc;CAClC,MAAM,gBAAgB,gBAAgB;CAEtC,MAAM,uBAAuB,EAAE,OAAO,CAAC,CACpC,KAAK,CAAC,CACN,IAAA,CAAmC,CAAC,CACpC,IAAA,GAAmC;CAEtC,OAAO,EAAE,MAAM,oBAAoB,CAAC,CACjC,IAAA,CAA8B,CAAC,CAC/B,IAAA,EAA8B,CAAC,CAC/B,SAAS,CAAC,CACV,SAAS,YAAY,aAAa,CAAC,CACnC,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;AACtC;AAEA,SAAS,iBAAoE;CAC3E,MAAM,gBAAwD,qBAAqB,mBAAmB;CAEtG,OAAO,EAAE,aAAa,aAAa,CAAC,CACjC,SAAS,gEAAgE,CAAC,CAC1E,QACC,WAAU,yBAAyB,MAAM,GACzC,EAAE,SAAS,mCAAmC,CAChD;AACJ;AAEA,SAAS,kBAA+E;CACtF,MAAM,gBAAkE,qBAAqB,oBAAoB;CAEjH,OAAO,EAAE,aAAa,aAAa,CAAC,CACjC,SAAS,iEAAiE,CAAC,CAC3E,QACC,WAAU,yBAAyB,MAAM,GACzC,EAAE,SAAS,mCAAmC,CAChD;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"sort.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/infrastructure/http/zod/validators/sort/sort.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { SORT_ORDERS } from \"@shared/domain/constants/sort/sort.constants\";\nimport { SORT_ORDER_DEFAULT, SORT_ORDER_DESCRIPTION } from \"@shared/infrastructure/http/zod/validators/sort/constants/sort.zod.validators.constants\";\n\nimport type { ZodDefault, ZodEnum, ZodOptional } from \"zod\";\n\nimport type { TupleToEnum } from \"@shared/types/enum.types\";\n\nfunction zSortOrder(): ZodDefault<ZodOptional<ZodEnum<TupleToEnum<typeof SORT_ORDERS>>>> {\n return z.enum(SORT_ORDERS)\n .optional()\n .default(SORT_ORDER_DEFAULT)\n .describe(SORT_ORDER_DESCRIPTION)\n .meta({ example: SORT_ORDER_DEFAULT });\n}\n\nexport { zSortOrder };"],"mappings":";;;;AASA,SAAS,aAAgF;CACvF,OAAO,EAAE,KAAK,WAAW,EACtB,SAAS,EACT,QAAQ,kBAAkB,EAC1B,SAAS,sBAAsB,EAC/B,KAAK,EAAE,SAAS,mBAAmB,CAAC;AACzC"}
1
+ {"version":3,"file":"sort.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/infrastructure/http/zod/validators/sort/sort.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { SORT_ORDERS } from \"@shared/domain/constants/sort/sort.constants\";\nimport { SORT_ORDER_DEFAULT, SORT_ORDER_DESCRIPTION } from \"@shared/infrastructure/http/zod/validators/sort/constants/sort.zod.validators.constants\";\n\nimport type { ZodDefault, ZodEnum, ZodOptional } from \"zod\";\n\nimport type { TupleToEnum } from \"@shared/types/enum.types\";\n\nfunction zSortOrder(): ZodDefault<ZodOptional<ZodEnum<TupleToEnum<typeof SORT_ORDERS>>>> {\n return z.enum(SORT_ORDERS)\n .optional()\n .default(SORT_ORDER_DEFAULT)\n .describe(SORT_ORDER_DESCRIPTION)\n .meta({ example: SORT_ORDER_DEFAULT });\n}\n\nexport { zSortOrder };"],"mappings":";;;;AASA,SAAS,aAAgF;CACvF,OAAO,EAAE,KAAK,WAAW,CAAC,CACvB,SAAS,CAAC,CACV,QAAQ,kBAAkB,CAAC,CAC3B,SAAS,sBAAsB,CAAC,CAChC,KAAK,EAAE,SAAS,mBAAmB,CAAC;AACzC"}
@@ -1,6 +1,9 @@
1
1
  //#region ../../src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.d.ts
2
+ declare const SLUG_REGEX: RegExp;
3
+ declare const MONGO_ID_REGEX: RegExp;
4
+ declare const HEX_COLOR_REGEX: RegExp;
2
5
  declare const SLUG_MIN_LENGTH = 3;
3
6
  declare const SLUG_MAX_LENGTH = 50;
4
7
  //#endregion
5
- export { SLUG_MAX_LENGTH, SLUG_MIN_LENGTH };
8
+ export { HEX_COLOR_REGEX, MONGO_ID_REGEX, SLUG_MAX_LENGTH, SLUG_MIN_LENGTH, SLUG_REGEX };
6
9
  //# sourceMappingURL=string.zod.validators.constants.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/infrastructure/http/zod/validators/string/string.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { HEX_COLOR_REGEX, HEX_COLOR_EXAMPLE, ISO_DATE_TIME_EXAMPLE, MONGO_ID_REGEX, SLUG_MAX_LENGTH, SLUG_MIN_LENGTH, SLUG_REGEX } from \"@shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants\";\n\nimport type { $ZodCustomParams } from \"zod/v4/core\";\nimport type { ZodString, ZodISODateTime } from \"zod\";\n\nfunction zSlug(options: Partial<$ZodCustomParams> = {}): ZodString {\n return z.string()\n .trim()\n .min(SLUG_MIN_LENGTH)\n .max(SLUG_MAX_LENGTH)\n .regex(SLUG_REGEX, {\n error: \"Invalid kebab-case value\",\n ...options,\n })\n .meta({ example: \"example-slug-value\" });\n}\n\nfunction zMongoId(options: Partial<$ZodCustomParams> = {}): ZodString {\n return z.string()\n .trim()\n .regex(MONGO_ID_REGEX, {\n error: \"Invalid ObjectId value\",\n ...options,\n })\n .toLowerCase()\n .meta({ example: \"60af924f4f1a2563f8e8b456\" });\n}\n\nfunction zIsoDateTime(options: Partial<$ZodCustomParams> = {}): ZodISODateTime {\n return z.iso.datetime({\n error: \"Invalid ISO 8601 datetime value\",\n ...options,\n })\n .meta({ example: ISO_DATE_TIME_EXAMPLE });\n}\n\nfunction zHexColor(options: Partial<$ZodCustomParams> = {}): ZodString {\n return z.string()\n .trim()\n .regex(HEX_COLOR_REGEX, {\n error: \"Invalid hex color; must be 6 hexadecimal digits with # prefix (e.g., #FF5733)\",\n ...options,\n })\n .toUpperCase()\n .meta({ example: HEX_COLOR_EXAMPLE });\n}\n\nexport {\n zSlug,\n zMongoId,\n zIsoDateTime,\n zHexColor,\n};"],"mappings":";;;AAOA,SAAS,MAAM,UAAqC,CAAC,GAAc;CACjE,OAAO,EAAE,OAAO,EACb,KAAK,EACL,IAAA,CAAmB,EACnB,IAAA,EAAmB,EACnB,MAAM,YAAY;EACjB,OAAO;EACP,GAAG;CACL,CAAC,EACA,KAAK,EAAE,SAAS,qBAAqB,CAAC;AAC3C;AAEA,SAAS,SAAS,UAAqC,CAAC,GAAc;CACpE,OAAO,EAAE,OAAO,EACb,KAAK,EACL,MAAM,gBAAgB;EACrB,OAAO;EACP,GAAG;CACL,CAAC,EACA,YAAY,EACZ,KAAK,EAAE,SAAS,2BAA2B,CAAC;AACjD;AAEA,SAAS,aAAa,UAAqC,CAAC,GAAmB;CAC7E,OAAO,EAAE,IAAI,SAAS;EACpB,OAAO;EACP,GAAG;CACL,CAAC,EACE,KAAK,EAAE,SAAS,sBAAsB,CAAC;AAC5C;AAEA,SAAS,UAAU,UAAqC,CAAC,GAAc;CACrE,OAAO,EAAE,OAAO,EACb,KAAK,EACL,MAAM,iBAAiB;EACtB,OAAO;EACP,GAAG;CACL,CAAC,EACA,YAAY,EACZ,KAAK,EAAE,SAAS,kBAAkB,CAAC;AACxC"}
1
+ {"version":3,"file":"string.zod.validators.mjs","names":[],"sources":["../../../../../../../../../../src/shared/infrastructure/http/zod/validators/string/string.zod.validators.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { HEX_COLOR_REGEX, HEX_COLOR_EXAMPLE, ISO_DATE_TIME_EXAMPLE, MONGO_ID_REGEX, SLUG_MAX_LENGTH, SLUG_MIN_LENGTH, SLUG_REGEX } from \"@shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants\";\n\nimport type { $ZodCustomParams } from \"zod/v4/core\";\nimport type { ZodString, ZodISODateTime } from \"zod\";\n\nfunction zSlug(options: Partial<$ZodCustomParams> = {}): ZodString {\n return z.string()\n .trim()\n .min(SLUG_MIN_LENGTH)\n .max(SLUG_MAX_LENGTH)\n .regex(SLUG_REGEX, {\n error: \"Invalid kebab-case value\",\n ...options,\n })\n .meta({ example: \"example-slug-value\" });\n}\n\nfunction zMongoId(options: Partial<$ZodCustomParams> = {}): ZodString {\n return z.string()\n .trim()\n .regex(MONGO_ID_REGEX, {\n error: \"Invalid ObjectId value\",\n ...options,\n })\n .toLowerCase()\n .meta({ example: \"60af924f4f1a2563f8e8b456\" });\n}\n\nfunction zIsoDateTime(options: Partial<$ZodCustomParams> = {}): ZodISODateTime {\n return z.iso.datetime({\n error: \"Invalid ISO 8601 datetime value\",\n ...options,\n })\n .meta({ example: ISO_DATE_TIME_EXAMPLE });\n}\n\nfunction zHexColor(options: Partial<$ZodCustomParams> = {}): ZodString {\n return z.string()\n .trim()\n .regex(HEX_COLOR_REGEX, {\n error: \"Invalid hex color; must be 6 hexadecimal digits with # prefix (e.g., #FF5733)\",\n ...options,\n })\n .toUpperCase()\n .meta({ example: HEX_COLOR_EXAMPLE });\n}\n\nexport {\n zSlug,\n zMongoId,\n zIsoDateTime,\n zHexColor,\n};"],"mappings":";;;AAOA,SAAS,MAAM,UAAqC,CAAC,GAAc;CACjE,OAAO,EAAE,OAAO,CAAC,CACd,KAAK,CAAC,CACN,IAAA,CAAmB,CAAC,CACpB,IAAA,EAAmB,CAAC,CACpB,MAAM,YAAY;EACjB,OAAO;EACP,GAAG;CACL,CAAC,CAAC,CACD,KAAK,EAAE,SAAS,qBAAqB,CAAC;AAC3C;AAEA,SAAS,SAAS,UAAqC,CAAC,GAAc;CACpE,OAAO,EAAE,OAAO,CAAC,CACd,KAAK,CAAC,CACN,MAAM,gBAAgB;EACrB,OAAO;EACP,GAAG;CACL,CAAC,CAAC,CACD,YAAY,CAAC,CACb,KAAK,EAAE,SAAS,2BAA2B,CAAC;AACjD;AAEA,SAAS,aAAa,UAAqC,CAAC,GAAmB;CAC7E,OAAO,EAAE,IAAI,SAAS;EACpB,OAAO;EACP,GAAG;CACL,CAAC,CAAC,CACC,KAAK,EAAE,SAAS,sBAAsB,CAAC;AAC5C;AAEA,SAAS,UAAU,UAAqC,CAAC,GAAc;CACrE,OAAO,EAAE,OAAO,CAAC,CACd,KAAK,CAAC,CACN,MAAM,iBAAiB;EACtB,OAAO;EACP,GAAG;CACL,CAAC,CAAC,CACD,YAAY,CAAC,CACb,KAAK,EAAE,SAAS,kBAAkB,CAAC;AACxC"}
@@ -16,7 +16,7 @@
16
16
  * // }
17
17
  * ```
18
18
  */
19
- type TupleToEnum<T extends readonly string[]> = { [K in T[number]]: K };
19
+ type TupleToEnum<T extends readonly string[]> = { [K in T[number]]: K; };
20
20
  //#endregion
21
21
  export type { TupleToEnum };
22
22
  //# sourceMappingURL=enum.types.d.mts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@goat-it/schemas",
3
3
  "type": "module",
4
- "version": "0.0.14-beta",
4
+ "version": "0.0.16-beta",
5
5
  "description": "Shared types, constants and Zod schemas for the Goat It projects.",
6
6
  "author": "Antoine ZANARDI",
7
7
  "license": "MIT",
@@ -11,8 +11,8 @@
11
11
  "directory": "packages/schemas"
12
12
  },
13
13
  "devDependencies": {
14
- "@arethetypeswrong/core": "^0.18.4",
15
- "tsdown": "^0.22.1",
14
+ "@arethetypeswrong/core": "^0.18.5",
15
+ "tsdown": "^0.22.7",
16
16
  "typescript": "^6.0.3",
17
17
  "zod": "^4.4.3"
18
18
  },
@@ -51,7 +51,7 @@
51
51
  }
52
52
  },
53
53
  "dependencies": {
54
- "type-fest": "^5.7.0"
54
+ "type-fest": "^5.8.0"
55
55
  },
56
56
  "sideEffects": false,
57
57
  "scripts": {