@form-instant/react-resolver-zod 1.6.6 → 1.6.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"react-resolver-zod.cjs.development.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/Element/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import z from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\n\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;\n }\n}\n\nexport const extendZodWithFieldConfig = (zod: typeof z) => {\n (zod.ZodType.prototype as any).fieldConfig = function (config: FieldConfig<any, any>) {\n this._def.fieldConfig = config;\n return this;\n };\n\n const { object, array, ...zodRest } = zod;\n\n zod = {\n object: ((...args: [any]) => {\n const schema = object(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any,\n array: ((...args: [any]) => {\n const schema = array(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any,\n ...zodRest,\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <Ob extends Record<string, any>, K extends keyof Ob>() =>\n (config: FieldConfig<Ob, K>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig<any, any> {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig<any, any>;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig<any, any>;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(\n schema: z.ZodTypeAny,\n fieldType?: FieldConfig<Ob, K>['fieldType'],\n): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n fieldType: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n fieldType: type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fieldsEntries = Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]);\n\n const fields = Object.fromEntries(fieldsEntries);\n\n return { fields };\n};\n","import { useContext, useMemo } from 'react';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <S extends Record<string, any>>(schema: Data, dp: DP): S => {\n try {\n const shape = (() => {\n if (schema._def.typeName === 'ZodEffects')\n return (schema as z.ZodEffects<any>).innerType().shape;\n if (schema._def.typeName === 'ZodObject') return (schema as z.ZodObject<any>).shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n if (Object.keys(dp).includes(key)) {\n initialValues[key] = dp[key];\n continue;\n }\n // Inferir tipo para campos requeridos sin default\n const fieldConfig = {\n ZodString() {\n initialValues[key] = '';\n },\n ZodNumber() {\n initialValues[key] = 0;\n },\n ZodBoolean() {\n initialValues[key] = false;\n },\n ZodDate() {\n initialValues[key] = null;\n },\n ZodArray() {\n initialValues[key] = [];\n },\n ZodObject() {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n },\n ZodDiscriminatedUnion() {\n const option = fieldSchema._def.optionsMap.get(\n dp[fieldSchema._def.discriminator],\n );\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n },\n };\n\n const fieldType = fieldSchema._def.typeName;\n const fieldHandler = fieldConfig[fieldType as keyof typeof fieldConfig];\n\n if (fieldHandler) {\n fieldHandler();\n continue;\n }\n\n initialValues[key] = null;\n }\n\n return initialValues as S;\n } catch (error) {\n console.log('🔴 initialValues error', error);\n\n if (error instanceof Error) {\n console.log(error.cause);\n console.log(error.message);\n }\n\n return {} as S;\n }\n};\n\nexport const useSchema = <S extends Record<string, any>>(\n cbP: (dp: DP, preData?: Data) => Data,\n dp: DP,\n) => {\n const schema = useMemo(() => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }), [cbP, dp]);\n\n const initialValues = useMemo(() => generateInitialValues(schema, dp) as S, [schema, dp]);\n\n return { schema, initialValues };\n};\n","'use client';\nimport { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from '../useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if (!['object'].includes(field.fieldType)) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props: any) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","_zod","object","array","zodRest","_objectWithoutPropertiesLoose","_excluded","_extends","apply","arguments","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fieldsEntries","_ref8","fromEntries","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","Error","initialValues","_loop","_Object$keys","fieldSchema","result","safeParse","success","data","includes","ZodString","ZodNumber","ZodBoolean","ZodDate","fieldHandler","_ret","error","console","log","cause","message","useSchema","cbP","useMemo","FormInstantElement","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
1
+ {"version":3,"file":"react-resolver-zod.cjs.development.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/Element/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import z from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\n\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;\n }\n}\n\nexport const extendZodWithFieldConfig = (zod: typeof z) => {\n (zod.ZodType.prototype as any).fieldConfig = function (config: FieldConfig<any, any>) {\n this._def.fieldConfig = config;\n return this;\n };\n\n const { object, array, ...zodRest } = zod;\n\n zod = {\n object: ((...args: [any]) => {\n const schema = object(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any,\n array: ((...args: [any]) => {\n const schema = array(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any,\n ...zodRest,\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <Ob extends Record<string, any>, K extends keyof Ob>() =>\n (config: FieldConfig<Ob, K>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig<any, any> {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig<any, any>;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig<any, any>;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(\n schema: z.ZodTypeAny,\n fieldType?: FieldConfig<Ob, K>['fieldType'],\n): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n fieldType: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n fieldType: type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fieldsEntries = Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]);\n\n const fields = Object.fromEntries(fieldsEntries);\n\n return { fields };\n};\n","import { useContext, useMemo } from 'react';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <T extends Data>(schema: T, dp: DP): z.infer<T> => {\n try {\n const shape = (() => {\n if (schema._def.typeName === 'ZodEffects')\n return (schema as z.ZodEffects<any>).innerType().shape;\n if (schema._def.typeName === 'ZodObject') return (schema as z.ZodObject<any>).shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n if (Object.keys(dp).includes(key)) {\n initialValues[key] = dp[key];\n continue;\n }\n // Inferir tipo para campos requeridos sin default\n const fieldConfig = {\n ZodString() {\n initialValues[key] = '';\n },\n ZodNumber() {\n initialValues[key] = 0;\n },\n ZodBoolean() {\n initialValues[key] = false;\n },\n ZodDate() {\n initialValues[key] = null;\n },\n ZodArray() {\n initialValues[key] = [];\n },\n ZodObject() {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n },\n ZodDiscriminatedUnion() {\n const option = fieldSchema._def.optionsMap.get(\n dp[fieldSchema._def.discriminator],\n );\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n },\n };\n\n const fieldType = fieldSchema._def.typeName;\n const fieldHandler = fieldConfig[fieldType as keyof typeof fieldConfig];\n\n if (fieldHandler) {\n fieldHandler();\n continue;\n }\n\n initialValues[key] = null;\n }\n\n return initialValues as z.infer<T>;\n } catch (error) {\n console.log('🔴 initialValues error', error);\n\n if (error instanceof Error) {\n console.log(error.cause);\n console.log(error.message);\n }\n\n return {} as z.infer<T>;\n }\n};\n\nexport const useSchema = <T extends Data>(cbP: (dp: DP, preData?: Data) => T, dp: DP) => {\n const schema = useMemo(\n () => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }) as T,\n [cbP, dp],\n );\n\n const initialValues = useMemo(() => generateInitialValues<T>(schema, dp), [schema, dp]);\n\n return { schema, initialValues } as const;\n};\n","'use client';\nimport { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from '../useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if (!['object'].includes(field.fieldType)) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props: any) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","_zod","object","array","zodRest","_objectWithoutPropertiesLoose","_excluded","_extends","apply","arguments","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fieldsEntries","_ref8","fromEntries","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","Error","initialValues","_loop","_Object$keys","fieldSchema","result","safeParse","success","data","includes","ZodString","ZodNumber","ZodBoolean","ZodDate","fieldHandler","_ret","error","console","log","cause","message","useSchema","cbP","useMemo","FormInstantElement","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-resolver-zod.cjs.production.min.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/Element/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import z from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\n\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;\n }\n}\n\nexport const extendZodWithFieldConfig = (zod: typeof z) => {\n (zod.ZodType.prototype as any).fieldConfig = function (config: FieldConfig<any, any>) {\n this._def.fieldConfig = config;\n return this;\n };\n\n const { object, array, ...zodRest } = zod;\n\n zod = {\n object: ((...args: [any]) => {\n const schema = object(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any,\n array: ((...args: [any]) => {\n const schema = array(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any,\n ...zodRest,\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <Ob extends Record<string, any>, K extends keyof Ob>() =>\n (config: FieldConfig<Ob, K>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig<any, any> {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig<any, any>;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig<any, any>;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(\n schema: z.ZodTypeAny,\n fieldType?: FieldConfig<Ob, K>['fieldType'],\n): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n fieldType: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n fieldType: type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fieldsEntries = Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]);\n\n const fields = Object.fromEntries(fieldsEntries);\n\n return { fields };\n};\n","import { useContext, useMemo } from 'react';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <S extends Record<string, any>>(schema: Data, dp: DP): S => {\n try {\n const shape = (() => {\n if (schema._def.typeName === 'ZodEffects')\n return (schema as z.ZodEffects<any>).innerType().shape;\n if (schema._def.typeName === 'ZodObject') return (schema as z.ZodObject<any>).shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n if (Object.keys(dp).includes(key)) {\n initialValues[key] = dp[key];\n continue;\n }\n // Inferir tipo para campos requeridos sin default\n const fieldConfig = {\n ZodString() {\n initialValues[key] = '';\n },\n ZodNumber() {\n initialValues[key] = 0;\n },\n ZodBoolean() {\n initialValues[key] = false;\n },\n ZodDate() {\n initialValues[key] = null;\n },\n ZodArray() {\n initialValues[key] = [];\n },\n ZodObject() {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n },\n ZodDiscriminatedUnion() {\n const option = fieldSchema._def.optionsMap.get(\n dp[fieldSchema._def.discriminator],\n );\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n },\n };\n\n const fieldType = fieldSchema._def.typeName;\n const fieldHandler = fieldConfig[fieldType as keyof typeof fieldConfig];\n\n if (fieldHandler) {\n fieldHandler();\n continue;\n }\n\n initialValues[key] = null;\n }\n\n return initialValues as S;\n } catch (error) {\n console.log('🔴 initialValues error', error);\n\n if (error instanceof Error) {\n console.log(error.cause);\n console.log(error.message);\n }\n\n return {} as S;\n }\n};\n\nexport const useSchema = <S extends Record<string, any>>(\n cbP: (dp: DP, preData?: Data) => Data,\n dp: DP,\n) => {\n const schema = useMemo(() => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }), [cbP, dp]);\n\n const initialValues = useMemo(() => generateInitialValues(schema, dp) as S, [schema, dp]);\n\n return { schema, initialValues };\n};\n","'use client';\nimport { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from '../useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if (!['object'].includes(field.fieldType)) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props: any) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","fieldConfig","inferFieldType","fieldType","type","Map","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","fields","entries","shape","filter","_ref2","map","_ref3","key","field","historyFormat","join","charAt","substring","parseField","unshift","current","required","default","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","isOptional","description","parseSchema","S","_objectSchema$_def$fi","objectSchema","z","ZodEffects","dp","fieldsEntries","_ref8","fromEntries","useFields","useContext","generateInitialValues","Error","initialValues","_loop","_Object$keys","_i","fieldSchema","result","safeParse","undefined","success","data","includes","fieldHandler","ZodString","ZodNumber","ZodBoolean","ZodDate","error","console","log","cause","message","id","useId","_jsx","_Fragment","children","props","_props$name","Fragment","jsx","ElementMapping","formProps","Provider","config","refinementFunction","zod","ZodType","prototype","this","object","array","apply","arguments","defaultValues","_Object$entries","_Object$entries$_i","cbP","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"react-resolver-zod.cjs.production.min.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/Element/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import z from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\n\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;\n }\n}\n\nexport const extendZodWithFieldConfig = (zod: typeof z) => {\n (zod.ZodType.prototype as any).fieldConfig = function (config: FieldConfig<any, any>) {\n this._def.fieldConfig = config;\n return this;\n };\n\n const { object, array, ...zodRest } = zod;\n\n zod = {\n object: ((...args: [any]) => {\n const schema = object(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any,\n array: ((...args: [any]) => {\n const schema = array(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any,\n ...zodRest,\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <Ob extends Record<string, any>, K extends keyof Ob>() =>\n (config: FieldConfig<Ob, K>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig<any, any> {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig<any, any>;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig<any, any>;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(\n schema: z.ZodTypeAny,\n fieldType?: FieldConfig<Ob, K>['fieldType'],\n): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n fieldType: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n fieldType: type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fieldsEntries = Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]);\n\n const fields = Object.fromEntries(fieldsEntries);\n\n return { fields };\n};\n","import { useContext, useMemo } from 'react';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <T extends Data>(schema: T, dp: DP): z.infer<T> => {\n try {\n const shape = (() => {\n if (schema._def.typeName === 'ZodEffects')\n return (schema as z.ZodEffects<any>).innerType().shape;\n if (schema._def.typeName === 'ZodObject') return (schema as z.ZodObject<any>).shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n if (Object.keys(dp).includes(key)) {\n initialValues[key] = dp[key];\n continue;\n }\n // Inferir tipo para campos requeridos sin default\n const fieldConfig = {\n ZodString() {\n initialValues[key] = '';\n },\n ZodNumber() {\n initialValues[key] = 0;\n },\n ZodBoolean() {\n initialValues[key] = false;\n },\n ZodDate() {\n initialValues[key] = null;\n },\n ZodArray() {\n initialValues[key] = [];\n },\n ZodObject() {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n },\n ZodDiscriminatedUnion() {\n const option = fieldSchema._def.optionsMap.get(\n dp[fieldSchema._def.discriminator],\n );\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n },\n };\n\n const fieldType = fieldSchema._def.typeName;\n const fieldHandler = fieldConfig[fieldType as keyof typeof fieldConfig];\n\n if (fieldHandler) {\n fieldHandler();\n continue;\n }\n\n initialValues[key] = null;\n }\n\n return initialValues as z.infer<T>;\n } catch (error) {\n console.log('🔴 initialValues error', error);\n\n if (error instanceof Error) {\n console.log(error.cause);\n console.log(error.message);\n }\n\n return {} as z.infer<T>;\n }\n};\n\nexport const useSchema = <T extends Data>(cbP: (dp: DP, preData?: Data) => T, dp: DP) => {\n const schema = useMemo(\n () => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }) as T,\n [cbP, dp],\n );\n\n const initialValues = useMemo(() => generateInitialValues<T>(schema, dp), [schema, dp]);\n\n return { schema, initialValues } as const;\n};\n","'use client';\nimport { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from '../useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if (!['object'].includes(field.fieldType)) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props: any) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","fieldConfig","inferFieldType","fieldType","type","Map","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","fields","entries","shape","filter","_ref2","map","_ref3","key","field","historyFormat","join","charAt","substring","parseField","unshift","current","required","default","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","isOptional","description","parseSchema","S","_objectSchema$_def$fi","objectSchema","z","ZodEffects","dp","fieldsEntries","_ref8","fromEntries","useFields","useContext","generateInitialValues","Error","initialValues","_loop","_Object$keys","_i","fieldSchema","result","safeParse","undefined","success","data","includes","fieldHandler","ZodString","ZodNumber","ZodBoolean","ZodDate","error","console","log","cause","message","id","useId","_jsx","_Fragment","children","props","_props$name","Fragment","jsx","ElementMapping","formProps","Provider","config","refinementFunction","zod","ZodType","prototype","this","object","array","apply","arguments","defaultValues","_Object$entries","_Object$entries$_i","cbP","useMemo"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-resolver-zod.esm.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/Element/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import z from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\n\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;\n }\n}\n\nexport const extendZodWithFieldConfig = (zod: typeof z) => {\n (zod.ZodType.prototype as any).fieldConfig = function (config: FieldConfig<any, any>) {\n this._def.fieldConfig = config;\n return this;\n };\n\n const { object, array, ...zodRest } = zod;\n\n zod = {\n object: ((...args: [any]) => {\n const schema = object(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any,\n array: ((...args: [any]) => {\n const schema = array(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any,\n ...zodRest,\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <Ob extends Record<string, any>, K extends keyof Ob>() =>\n (config: FieldConfig<Ob, K>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig<any, any> {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig<any, any>;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig<any, any>;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(\n schema: z.ZodTypeAny,\n fieldType?: FieldConfig<Ob, K>['fieldType'],\n): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n fieldType: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n fieldType: type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fieldsEntries = Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]);\n\n const fields = Object.fromEntries(fieldsEntries);\n\n return { fields };\n};\n","import { useContext, useMemo } from 'react';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <S extends Record<string, any>>(schema: Data, dp: DP): S => {\n try {\n const shape = (() => {\n if (schema._def.typeName === 'ZodEffects')\n return (schema as z.ZodEffects<any>).innerType().shape;\n if (schema._def.typeName === 'ZodObject') return (schema as z.ZodObject<any>).shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n if (Object.keys(dp).includes(key)) {\n initialValues[key] = dp[key];\n continue;\n }\n // Inferir tipo para campos requeridos sin default\n const fieldConfig = {\n ZodString() {\n initialValues[key] = '';\n },\n ZodNumber() {\n initialValues[key] = 0;\n },\n ZodBoolean() {\n initialValues[key] = false;\n },\n ZodDate() {\n initialValues[key] = null;\n },\n ZodArray() {\n initialValues[key] = [];\n },\n ZodObject() {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n },\n ZodDiscriminatedUnion() {\n const option = fieldSchema._def.optionsMap.get(\n dp[fieldSchema._def.discriminator],\n );\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n },\n };\n\n const fieldType = fieldSchema._def.typeName;\n const fieldHandler = fieldConfig[fieldType as keyof typeof fieldConfig];\n\n if (fieldHandler) {\n fieldHandler();\n continue;\n }\n\n initialValues[key] = null;\n }\n\n return initialValues as S;\n } catch (error) {\n console.log('🔴 initialValues error', error);\n\n if (error instanceof Error) {\n console.log(error.cause);\n console.log(error.message);\n }\n\n return {} as S;\n }\n};\n\nexport const useSchema = <S extends Record<string, any>>(\n cbP: (dp: DP, preData?: Data) => Data,\n dp: DP,\n) => {\n const schema = useMemo(() => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }), [cbP, dp]);\n\n const initialValues = useMemo(() => generateInitialValues(schema, dp) as S, [schema, dp]);\n\n return { schema, initialValues };\n};\n","'use client';\nimport { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from '../useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if (!['object'].includes(field.fieldType)) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props: any) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","_zod","object","array","zodRest","_objectWithoutPropertiesLoose","_excluded","_extends","apply","arguments","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fieldsEntries","_ref8","fromEntries","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","Error","initialValues","_loop","_Object$keys","fieldSchema","result","safeParse","success","data","includes","ZodString","ZodNumber","ZodBoolean","ZodDate","fieldHandler","_ret","error","console","log","cause","message","useSchema","cbP","useMemo","FormInstantElement","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
1
+ {"version":3,"file":"react-resolver-zod.esm.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/Element/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import z from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\n\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;\n }\n}\n\nexport const extendZodWithFieldConfig = (zod: typeof z) => {\n (zod.ZodType.prototype as any).fieldConfig = function (config: FieldConfig<any, any>) {\n this._def.fieldConfig = config;\n return this;\n };\n\n const { object, array, ...zodRest } = zod;\n\n zod = {\n object: ((...args: [any]) => {\n const schema = object(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any,\n array: ((...args: [any]) => {\n const schema = array(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any,\n ...zodRest,\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <Ob extends Record<string, any>, K extends keyof Ob>() =>\n (config: FieldConfig<Ob, K>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig<any, any> {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig<any, any>;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig<any, any>;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(\n schema: z.ZodTypeAny,\n fieldType?: FieldConfig<Ob, K>['fieldType'],\n): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n fieldType: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n fieldType: type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fieldsEntries = Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]);\n\n const fields = Object.fromEntries(fieldsEntries);\n\n return { fields };\n};\n","import { useContext, useMemo } from 'react';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <T extends Data>(schema: T, dp: DP): z.infer<T> => {\n try {\n const shape = (() => {\n if (schema._def.typeName === 'ZodEffects')\n return (schema as z.ZodEffects<any>).innerType().shape;\n if (schema._def.typeName === 'ZodObject') return (schema as z.ZodObject<any>).shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n if (Object.keys(dp).includes(key)) {\n initialValues[key] = dp[key];\n continue;\n }\n // Inferir tipo para campos requeridos sin default\n const fieldConfig = {\n ZodString() {\n initialValues[key] = '';\n },\n ZodNumber() {\n initialValues[key] = 0;\n },\n ZodBoolean() {\n initialValues[key] = false;\n },\n ZodDate() {\n initialValues[key] = null;\n },\n ZodArray() {\n initialValues[key] = [];\n },\n ZodObject() {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n },\n ZodDiscriminatedUnion() {\n const option = fieldSchema._def.optionsMap.get(\n dp[fieldSchema._def.discriminator],\n );\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n },\n };\n\n const fieldType = fieldSchema._def.typeName;\n const fieldHandler = fieldConfig[fieldType as keyof typeof fieldConfig];\n\n if (fieldHandler) {\n fieldHandler();\n continue;\n }\n\n initialValues[key] = null;\n }\n\n return initialValues as z.infer<T>;\n } catch (error) {\n console.log('🔴 initialValues error', error);\n\n if (error instanceof Error) {\n console.log(error.cause);\n console.log(error.message);\n }\n\n return {} as z.infer<T>;\n }\n};\n\nexport const useSchema = <T extends Data>(cbP: (dp: DP, preData?: Data) => T, dp: DP) => {\n const schema = useMemo(\n () => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }) as T,\n [cbP, dp],\n );\n\n const initialValues = useMemo(() => generateInitialValues<T>(schema, dp), [schema, dp]);\n\n return { schema, initialValues } as const;\n};\n","'use client';\nimport { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from '../useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if (!['object'].includes(field.fieldType)) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props: any) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","_zod","object","array","zodRest","_objectWithoutPropertiesLoose","_excluded","_extends","apply","arguments","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fieldsEntries","_ref8","fromEntries","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","Error","initialValues","_loop","_Object$keys","fieldSchema","result","safeParse","success","data","includes","ZodString","ZodNumber","ZodBoolean","ZodDate","fieldHandler","_ret","error","console","log","cause","message","useSchema","cbP","useMemo","FormInstantElement","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
@@ -2,13 +2,9 @@ import { z } from 'zod';
2
2
  export declare const useFields: <Sc extends Record<string, any>>(key: keyof Sc) => import("@form-instant/react-input-mapping").ParsedField<null, string>;
3
3
  type Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;
4
4
  type DP = Record<string, any>;
5
- export declare const generateInitialValues: <S extends Record<string, any>>(schema: Data, dp: DP) => S;
6
- export declare const useSchema: <S extends Record<string, any>>(cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {
7
- schema: z.AnyZodObject | z.ZodEffects<z.AnyZodObject, {
8
- [x: string]: any;
9
- }, {
10
- [x: string]: any;
11
- }> | z.ZodDiscriminatedUnion<any, any>;
12
- initialValues: S;
5
+ export declare const generateInitialValues: <T extends Data>(schema: T, dp: DP) => z.TypeOf<T>;
6
+ export declare const useSchema: <T extends Data>(cbP: (dp: DP, preData?: Data) => T, dp: DP) => {
7
+ readonly schema: T;
8
+ readonly initialValues: z.TypeOf<T>;
13
9
  };
14
10
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@form-instant/react-resolver-zod",
3
- "version": "1.6.6",
3
+ "version": "1.6.8",
4
4
  "author": {
5
5
  "name": "leomerida15",
6
6
  "email": "dimasmerida15@gmail.com",