@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.
- package/dist/question/index.d.mts +10 -1
- package/dist/question/index.mjs +10 -1
- package/dist/question-theme/index.d.mts +2 -1
- package/dist/question-theme/index.mjs +2 -1
- package/dist/shared/constants/index.d.mts +3 -2
- package/dist/shared/constants/index.mjs +3 -2
- package/dist/shared/locale/index.d.mts +2 -1
- package/dist/shared/locale/index.mjs +2 -1
- package/dist/src/contexts/question/application/dto/admin-find-questions-query/admin-find-questions-query.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/admin-find-questions-query/admin-find-questions-query.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.d.mts +12 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-content/admin-question-content.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.d.mts +22 -0
- package/dist/src/contexts/question/application/dto/admin-question/admin-question-theme-assignment/admin-question-theme-assignment.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs +1 -1
- package/dist/src/contexts/question/application/dto/admin-question/admin-question.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/find-questions-query/find-questions-query.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/find-questions-query/find-questions-query.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.d.mts +12 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs +14 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/constants/find-random-questions-query.dto.constants.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.d.mts +14 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs +17 -0
- package/dist/src/contexts/question/application/dto/find-random-questions-query/find-random-questions-query.dto.shape.mjs.map +1 -0
- package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.d.mts +12 -0
- package/dist/src/contexts/question/application/dto/question/question-content/question-content.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.d.mts +22 -0
- package/dist/src/contexts/question/application/dto/question/question-theme-assignment/question-theme-assignment.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question/question.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs +1 -1
- package/dist/src/contexts/question/application/dto/question/question.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question-creation/question-author-creation/question-author-creation.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question-creation/question-content-creation/question-content-creation.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/question-creation/question-creation.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/question-creation/question-theme-assignment-creation/question-theme-assignment-creation.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question-modification/question-content-modification/question-content-modification.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question-modification/question-modification.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/question-modification/question-modification.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/question-theme-assignment-modification/question-theme-assignment-modification.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question/application/dto/question-theme-assignment-modification/question-theme-assignment-modification.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.d.mts +15 -0
- package/dist/src/contexts/question/application/dto/shared/question-author/question-author.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.d.mts +16 -0
- package/dist/src/contexts/question/application/dto/shared/question-rejection/question-rejection.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/shared/zod/validators/constants/question-sort.dto.zod.validators.constants.d.mts +5 -0
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question-content/question-content.dto.zod.validators.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question-theme-assignment/question-theme-assignment.dto.zod.validators.mjs.map +1 -1
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs +12 -1
- package/dist/src/contexts/question/application/dto/shared/zod/validators/question.dto.zod.validators.mjs.map +1 -1
- package/dist/src/contexts/question/domain/constants/question.constants.d.mts +0 -1
- package/dist/src/contexts/question/domain/constants/question.constants.mjs +3 -2
- package/dist/src/contexts/question/domain/constants/question.constants.mjs.map +1 -1
- package/dist/src/contexts/question/domain/types/question.value-objects.d.mts +2 -1
- package/dist/src/contexts/question-theme/application/dto/admin-find-question-themes-query/admin-find-question-themes-query.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question-theme/application/dto/admin-find-question-themes-query/admin-find-question-themes-query.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question-theme/application/dto/admin-question-theme/admin-question-theme.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question-theme/application/dto/find-question-themes-query/find-question-themes-query.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question-theme/application/dto/find-question-themes-query/find-question-themes-query.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question-theme/application/dto/question-theme/question-theme.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question-theme/application/dto/question-theme/question-theme.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question-theme/application/dto/question-theme-creation/question-theme-creation.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.d.mts +0 -1
- package/dist/src/contexts/question-theme/application/dto/question-theme-modification/question-theme-modification.dto.shape.mjs.map +1 -1
- package/dist/src/contexts/question-theme/application/dto/zod/validators/constants/question-theme-sort.dto.zod.validators.constants.d.mts +6 -0
- package/dist/src/contexts/question-theme/application/dto/zod/validators/constants/question-theme-sort.dto.zod.validators.constants.mjs +2 -1
- package/dist/src/contexts/question-theme/application/dto/zod/validators/constants/question-theme-sort.dto.zod.validators.constants.mjs.map +1 -1
- package/dist/src/contexts/question-theme/application/dto/zod/validators/question-theme.dto.zod.validators.mjs +1 -1
- package/dist/src/contexts/question-theme/application/dto/zod/validators/question-theme.dto.zod.validators.mjs.map +1 -1
- package/dist/src/contexts/question-theme/domain/types/question-theme.entities.d.mts +2 -1
- package/dist/src/contexts/question-theme/domain/types/question-theme.value-objects.d.mts +0 -1
- package/dist/src/shared/application/dto/zod/refinements/array/array.zod.refinements.mjs.map +1 -1
- package/dist/src/shared/application/dto/zod/validators/array/array.zod.validators.mjs +22 -0
- package/dist/src/shared/application/dto/zod/validators/array/array.zod.validators.mjs.map +1 -0
- package/dist/src/shared/domain/types/sort/sort.types.d.mts +0 -1
- package/dist/src/shared/domain/value-objects/locale/helpers/locale.helpers.d.mts +6 -0
- package/dist/src/shared/domain/value-objects/locale/helpers/locale.helpers.mjs +9 -0
- package/dist/src/shared/domain/value-objects/locale/helpers/locale.helpers.mjs.map +1 -0
- package/dist/src/shared/domain/value-objects/locale/locale.types.d.mts +0 -1
- 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
- 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
- package/dist/src/shared/infrastructure/http/dto/api-response-exception/api-response-exception.dto.shape.d.mts +0 -1
- package/dist/src/shared/infrastructure/http/dto/api-response-exception/api-response-exception.dto.shape.mjs.map +1 -1
- package/dist/src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.d.mts +6 -0
- package/dist/src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.mjs +3 -1
- package/dist/src/shared/infrastructure/http/zod/validators/limit/constants/limit.zod.validators.constants.mjs.map +1 -1
- package/dist/src/shared/infrastructure/http/zod/validators/limit/limit.zod.validators.mjs.map +1 -1
- package/dist/src/shared/infrastructure/http/zod/validators/localization/constants/localization.zod.validators.constants.d.mts +1 -0
- package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs +1 -1
- package/dist/src/shared/infrastructure/http/zod/validators/localization/localization.zod.validators.mjs.map +1 -1
- package/dist/src/shared/infrastructure/http/zod/validators/sort/sort.zod.validators.mjs.map +1 -1
- package/dist/src/shared/infrastructure/http/zod/validators/string/constants/string.zod.validators.constants.d.mts +4 -1
- package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs.map +1 -1
- package/dist/src/shared/types/enum.types.d.mts +1 -1
- 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"}
|
package/dist/src/shared/infrastructure/http/zod/validators/limit/limit.zod.validators.mjs.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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,
|
|
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
|
package/dist/src/shared/infrastructure/http/zod/validators/string/string.zod.validators.mjs.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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.
|
|
15
|
-
"tsdown": "^0.22.
|
|
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.
|
|
54
|
+
"type-fest": "^5.8.0"
|
|
55
55
|
},
|
|
56
56
|
"sideEffects": false,
|
|
57
57
|
"scripts": {
|