{"version":3,"file":"attributes.mjs","sources":["../../../../src/core-api/routes/validation/attributes.ts"],"sourcesContent":["/**\n * @file This module provides a set of functions to convert Strapi schema attributes into Zod schemas.\n * It handles various attribute types, including primitive types, components, dynamic zones, media, and relations.\n * The module also provides functions to create input schemas for these attributes, which are used for validation\n * of incoming data.\n */\n\nimport { type Schema, UID } from '@strapi/types';\n\nimport {\n  relations,\n  maybeRequired,\n  maybeReadonly,\n  maybeWithDefault,\n  maybeWithMinMax,\n  augmentSchema,\n} from '@strapi/utils';\nimport { z } from 'zod/v4';\n\nimport { BOOLEAN_LITERAL_VALUES } from './constants';\n\n// eslint-disable-next-line import/no-cycle\nimport { CoreComponentRouteValidator } from './component';\nimport { CoreContentTypeRouteValidator } from './content-type';\n\nimport { safeSchemaCreation } from './utils';\n\n/**\n * Converts a BigInteger attribute to a Zod schema.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema representing the BigInteger field.\n */\nexport const bigIntegerToSchema = (attribute: Schema.Attribute.BigInteger): z.Schema => {\n  const { writable, required, min, max, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n    (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema.\n * @returns A Zod schema representing the blocks field.\n */\nexport const blocksToSchema = (): z.Schema => {\n  return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema representing the boolean field.\n */\nexport const booleanToSchema = (attribute: Schema.Attribute.Boolean): z.Schema => {\n  const { writable, required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.boolean().nullable(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema representing the component field.\n */\nexport const componentToSchema = (\n  attribute: Schema.Attribute.Component<UID.Component, boolean>\n): z.Schema => {\n  const { writable, required, min, max, component, repeatable } = attribute;\n\n  const componentSchema = safeSchemaCreation(\n    component,\n    () => new CoreComponentRouteValidator(strapi, component).entry\n  ) as z.ZodType;\n\n  const baseSchema = repeatable ? z.array(componentSchema) : componentSchema;\n\n  const schema = augmentSchema(baseSchema, [\n    (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n    (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n    maybeRequired(required),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema representing the date field.\n */\nexport const dateToSchema = (attribute: Schema.Attribute.Date): z.Schema => {\n  const { writable, required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema representing the datetime field.\n */\nexport const datetimeToSchema = (attribute: Schema.Attribute.DateTime): z.Schema => {\n  const { writable, required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema representing the decimal field.\n */\nexport const decimalToSchema = (attribute: Schema.Attribute.Decimal): z.Schema => {\n  const { writable, required, min, max, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.number(), [\n    maybeWithMinMax(min, max),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema representing the dynamic zone field.\n */\nexport const dynamicZoneToSchema = (attribute: Schema.Attribute.DynamicZone): z.Schema => {\n  const { writable, required, min, max } = attribute;\n\n  const baseSchema = z.array(z.any());\n\n  const schema = augmentSchema(baseSchema, [\n    maybeWithMinMax(min, max),\n    maybeRequired(required),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema representing the email field.\n */\nexport const emailToSchema = (attribute: Schema.Attribute.Email): z.Schema => {\n  const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n  const baseSchema = z.email();\n\n  const schema = augmentSchema(baseSchema, [\n    maybeWithMinMax(minLength, maxLength),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema representing the enumeration field.\n */\nexport const enumToSchema = (attribute: Schema.Attribute.Enumeration<string[]>): z.Schema => {\n  const { writable, required, default: defaultValue, enum: enumValues } = attribute;\n\n  const baseSchema = z.enum(enumValues);\n\n  const schema = augmentSchema(baseSchema, [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema representing the float field.\n */\nexport const floatToSchema = (attribute: Schema.Attribute.Float): z.Schema => {\n  const { writable, required, min, max, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.number(), [\n    maybeWithMinMax(min, max),\n    maybeRequired(required),\n    maybeReadonly(writable),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema representing the integer field.\n */\nexport const integerToSchema = (attribute: Schema.Attribute.Integer): z.Schema => {\n  const { writable, required, min, max, default: defaultValue } = attribute;\n\n  const baseSchema = z.number().int();\n\n  const schema = augmentSchema(baseSchema, [\n    maybeWithMinMax(min, max),\n    maybeRequired(required),\n    maybeReadonly(writable),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('An integer field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema representing the JSON field.\n */\nexport const jsonToSchema = (attribute: Schema.Attribute.JSON): z.Schema => {\n  const { writable, required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.any(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema representing the media field.\n */\nexport const mediaToSchema = (\n  attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n): z.Schema => {\n  const { writable, required, multiple } = attribute;\n\n  const uploadPlugin = strapi.plugin('upload');\n\n  // @ts-expect-error there is a mismatch between a raw module and a loader module\n  const fileSchema = uploadPlugin.contentTypes.file as Struct.ContentTypeSchema;\n\n  const mediaSchema = safeSchemaCreation(\n    fileSchema.uid,\n    () => new CoreContentTypeRouteValidator(strapi, fileSchema.uid).document\n  ) as z.ZodType;\n\n  const baseSchema = multiple ? z.array(mediaSchema) : mediaSchema;\n\n  const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n  return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema representing the relational field.\n */\nexport const relationToSchema = (attribute: Schema.Attribute.Relation): z.Schema => {\n  if (!('target' in attribute)) {\n    return z.any();\n  }\n\n  const { writable, required, target } = attribute as Schema.Attribute.RelationWithTarget;\n\n  const targetSchema = safeSchemaCreation(\n    target,\n    () => new CoreContentTypeRouteValidator(strapi, target).document\n  ) as z.ZodType;\n\n  const baseSchema = relations.isAnyToMany(attribute) ? z.array(targetSchema) : targetSchema;\n\n  const schema = augmentSchema(baseSchema, [maybeRequired(required), maybeReadonly(writable)]);\n\n  return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema representing the field.\n */\nexport const stringToSchema = (\n  attribute:\n    | Schema.Attribute.String\n    | Schema.Attribute.Text\n    | Schema.Attribute.RichText\n    | Schema.Attribute.Password\n): z.Schema => {\n  const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeWithMinMax(minLength, maxLength),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema representing the time field.\n */\nexport const timeToSchema = (attribute: Schema.Attribute.Time): z.Schema => {\n  const { writable, required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema representing the timestamp field.\n */\nexport const timestampToSchema = (attribute: Schema.Attribute.Timestamp): z.Schema => {\n  const { writable, required, default: defaultValue } = attribute;\n\n  const baseSchema = z.union([z.string(), z.number()]);\n\n  const schema = augmentSchema(baseSchema, [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema representing the UID field.\n */\nexport const uidToSchema = (attribute: Schema.Attribute.UID): z.Schema => {\n  const { writable, required, default: defaultValue, minLength, maxLength } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeWithMinMax(minLength, maxLength),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n    maybeReadonly(writable),\n  ]);\n\n  return schema.describe('A UID field');\n};\n\n/**\n * Converts a BigInteger attribute to a Zod schema for input validation.\n * @param attribute - The BigInteger attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the BigInteger field.\n */\nexport const bigIntegerToInputSchema = (attribute: Schema.Attribute.BigInteger) => {\n  const { required, min, max, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    (schema) => (min !== undefined ? schema.min(min as unknown as number) : schema),\n    (schema) => (max !== undefined ? schema.max(max as unknown as number) : schema),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A biginteger field');\n};\n\n/**\n * Converts a blocks attribute to a Zod schema for input validation.\n * @returns A Zod schema for input validation of the blocks field.\n */\nexport const blocksToInputSchema = () => {\n  // TODO: better support blocks data structure\n  return z.array(z.any()).describe('A blocks field');\n};\n\n/**\n * Converts a boolean attribute to a Zod schema for input validation.\n * @param attribute - The Boolean attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the boolean field.\n */\nexport const booleanToInputSchema = (attribute: Schema.Attribute.Boolean) => {\n  const { required, default: defaultValue } = attribute;\n\n  const baseSchema = z.enum(BOOLEAN_LITERAL_VALUES).nullable();\n\n  const schema = augmentSchema(baseSchema, [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A boolean field');\n};\n\n/**\n * Converts a component attribute to a Zod schema for input validation.\n * @param attribute - The Component attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the component field.\n */\nexport const componentToInputSchema = (\n  attribute: Schema.Attribute.Component<UID.Component, boolean>\n) => {\n  const { required, repeatable, min, max } = attribute;\n\n  const baseSchema = repeatable ? z.array(z.any()) : z.any();\n\n  const schema = augmentSchema(baseSchema, [\n    (schema) => (min !== undefined && schema instanceof z.ZodArray ? schema.min(min) : schema),\n    (schema) => (max !== undefined && schema instanceof z.ZodArray ? schema.max(max) : schema),\n    maybeRequired(required),\n  ]);\n\n  return schema.describe('A component field');\n};\n\n/**\n * Converts a date attribute to a Zod schema for input validation.\n * @param attribute - The Date attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the date field.\n */\nexport const dateToInputSchema = (attribute: Schema.Attribute.Date) => {\n  const { required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A date field');\n};\n\n/**\n * Converts a datetime attribute to a Zod schema for input validation.\n * @param attribute - The DateTime attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the datetime field.\n */\nexport const datetimeToInputSchema = (attribute: Schema.Attribute.DateTime) => {\n  const { required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A datetime field');\n};\n\n/**\n * Converts a decimal attribute to a Zod schema for input validation.\n * @param attribute - The Decimal attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the decimal field.\n */\nexport const decimalToInputSchema = (attribute: Schema.Attribute.Decimal) => {\n  const { required, min, max, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.number(), [\n    maybeWithMinMax(min, max),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A decimal field');\n};\n\n/**\n * Converts a dynamic zone attribute to a Zod schema for input validation.\n * @param attribute - The DynamicZone attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the dynamic zone field.\n */\nexport const dynamicZoneToInputSchema = (attribute: Schema.Attribute.DynamicZone) => {\n  const { required, min, max } = attribute;\n\n  const baseSchema = z.array(z.any());\n\n  const schema = augmentSchema(baseSchema, [maybeWithMinMax(min, max), maybeRequired(required)]);\n\n  return schema.describe('A dynamic zone field');\n};\n\n/**\n * Converts an email attribute to a Zod schema for input validation.\n * @param attribute - The Email attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the email field.\n */\nexport const emailToInputSchema = (attribute: Schema.Attribute.Email) => {\n  const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n  const baseSchema = z.email();\n\n  const schema = augmentSchema(baseSchema, [\n    maybeWithMinMax(minLength, maxLength),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('An email field');\n};\n\n/**\n * Converts an enumeration attribute to a Zod schema for input validation.\n * @param attribute - The Enumeration attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the enumeration field.\n */\nexport const enumerationToInputSchema = (attribute: Schema.Attribute.Enumeration<string[]>) => {\n  const { required, default: defaultValue, enum: enumValues } = attribute;\n\n  const baseSchema = z.enum(enumValues);\n\n  const schema = augmentSchema(baseSchema, [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('An enum field');\n};\n\n/**\n * Converts a float attribute to a Zod schema for input validation.\n * @param attribute - The Float attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the float field.\n */\nexport const floatToInputSchema = (attribute: Schema.Attribute.Float) => {\n  const { required, min, max, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.number(), [\n    maybeWithMinMax(min, max),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A float field');\n};\n\n/**\n * Converts an integer attribute to a Zod schema for input validation.\n * @param attribute - The Integer attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the integer field.\n */\nexport const integerToInputSchema = (attribute: Schema.Attribute.Integer) => {\n  const { required, min, max, default: defaultValue } = attribute;\n\n  const baseSchema = z.number().int();\n\n  const schema = augmentSchema(baseSchema, [\n    maybeWithMinMax(min, max),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A float field');\n};\n\n/**\n * Converts a JSON attribute to a Zod schema for input validation.\n * @param attribute - The JSON attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the JSON field.\n */\nexport const jsonToInputSchema = (attribute: Schema.Attribute.JSON) => {\n  const { required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.any(), [maybeRequired(required), maybeWithDefault(defaultValue)]);\n\n  return schema.describe('A JSON field');\n};\n\n/**\n * Converts a media attribute to a Zod schema for input validation.\n * @param attribute - The Media attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the media field.\n */\nexport const mediaToInputSchema = (\n  attribute: Schema.Attribute.Media<Schema.Attribute.MediaKind | undefined, boolean>\n) => {\n  const { required, multiple } = attribute;\n\n  const baseSchema = multiple ? z.array(z.any()) : z.any();\n\n  const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n  return schema.describe('A media field');\n};\n\n/**\n * Converts a relation attribute to a Zod schema for input validation.\n * @param attribute - The Relation attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the relational field.\n */\nexport const relationToInputSchema = (attribute: Schema.Attribute.Relation) => {\n  const { required } = attribute;\n\n  const isToMany = relations.isAnyToMany(attribute);\n  const uuid = z.string().uuid();\n  const baseSchema = isToMany ? z.array(uuid) : uuid;\n\n  const schema = augmentSchema(baseSchema, [maybeRequired(required)]);\n\n  return schema.describe('A relational field');\n};\n\n/**\n * Converts a string, text, rich text, or password attribute to a Zod schema for input validation.\n * @param attribute - The String, Text, RichText, or Password attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the field.\n */\nexport const textToInputSchema = (\n  attribute:\n    | Schema.Attribute.String\n    | Schema.Attribute.Text\n    | Schema.Attribute.RichText\n    | Schema.Attribute.Password\n) => {\n  const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeWithMinMax(minLength, maxLength),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe(`A ${attribute.type} field`);\n};\n\n/**\n * Converts a time attribute to a Zod schema for input validation.\n * @param attribute - The Time attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the time field.\n */\nexport const timeToInputSchema = (attribute: Schema.Attribute.Time) => {\n  const { required, default: defaultValue } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A time field');\n};\n\n/**\n * Converts a timestamp attribute to a Zod schema for input validation.\n * @param attribute - The Timestamp attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the timestamp field.\n */\nexport const timestampToInputSchema = (attribute: Schema.Attribute.Timestamp) => {\n  const { required, default: defaultValue } = attribute;\n\n  const baseSchema = z.union([z.string(), z.number()]);\n\n  const schema = augmentSchema(baseSchema, [\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A timestamp field');\n};\n\n/**\n * Converts a UID attribute to a Zod schema for input validation.\n * @param attribute - The UID attribute object from the Strapi schema.\n * @returns A Zod schema for input validation of the UID field.\n */\nexport const uidToInputSchema = (attribute: Schema.Attribute.UID) => {\n  const { required, default: defaultValue, minLength, maxLength } = attribute;\n\n  const schema = augmentSchema(z.string(), [\n    maybeWithMinMax(minLength, maxLength),\n    maybeRequired(required),\n    maybeWithDefault(defaultValue),\n  ]);\n\n  return schema.describe('A UID field');\n};\n"],"names":["bigIntegerToSchema","attribute","writable","required","min","max","default","defaultValue","schema","augmentSchema","z","string","undefined","maybeRequired","maybeWithDefault","maybeReadonly","describe","blocksToSchema","array","any","booleanToSchema","boolean","nullable","componentToSchema","component","repeatable","componentSchema","safeSchemaCreation","CoreComponentRouteValidator","strapi","entry","baseSchema","ZodArray","dateToSchema","datetimeToSchema","decimalToSchema","number","maybeWithMinMax","dynamicZoneToSchema","emailToSchema","minLength","maxLength","email","enumToSchema","enum","enumValues","floatToSchema","integerToSchema","int","jsonToSchema","mediaToSchema","multiple","uploadPlugin","plugin","fileSchema","contentTypes","file","mediaSchema","uid","CoreContentTypeRouteValidator","document","relationToSchema","target","targetSchema","relations","isAnyToMany","stringToSchema","type","timeToSchema","timestampToSchema","union","uidToSchema","bigIntegerToInputSchema","blocksToInputSchema","booleanToInputSchema","BOOLEAN_LITERAL_VALUES","componentToInputSchema","dateToInputSchema","datetimeToInputSchema","decimalToInputSchema","dynamicZoneToInputSchema","emailToInputSchema","enumerationToInputSchema","floatToInputSchema","integerToInputSchema","jsonToInputSchema","mediaToInputSchema","relationToInputSchema","isToMany","uuid","textToInputSchema","timeToInputSchema","timestampToInputSchema","uidToInputSchema"],"mappings":"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"}