@form-instant/react-resolver-zod 1.18.12 → 2.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/components/FormInstantProvider.d.ts +10 -0
  2. package/dist/components/SchemaMapper.d.ts +24 -0
  3. package/dist/examples/completeExample.d.ts +6 -0
  4. package/dist/examples/fieldConfigExample.d.ts +158 -0
  5. package/dist/examples/formInstantExample.d.ts +6 -0
  6. package/dist/examples/legacyCompatibility.d.ts +30 -0
  7. package/dist/hooks/useSchema.d.ts +11 -0
  8. package/dist/hooks/useSchemaMapping.d.ts +22 -0
  9. package/dist/hooks/useSchemaMetadata.d.ts +26 -0
  10. package/dist/hooks/useSchemaNavigation.d.ts +18 -0
  11. package/dist/index.d.ts +6 -6
  12. package/dist/index.js +2 -7
  13. package/dist/index.js.map +14 -0
  14. package/dist/types.d.ts +48 -0
  15. package/dist/utils/pathResolver.d.ts +26 -0
  16. package/dist/utils/schemaParser.d.ts +19 -0
  17. package/dist/utils/zodExtensions.d.ts +7 -0
  18. package/package.json +60 -58
  19. package/dist/context.d.ts +0 -2
  20. package/dist/funcs/default-values.d.ts +0 -4
  21. package/dist/funcs/field-config.d.ts +0 -11
  22. package/dist/funcs/field-type-inference.d.ts +0 -3
  23. package/dist/funcs/index.d.ts +0 -5
  24. package/dist/funcs/schema-parser.d.ts +0 -2
  25. package/dist/funcs/types.d.ts +0 -11
  26. package/dist/provider.d.ts +0 -6
  27. package/dist/react-resolver-zod.cjs.development.js +0 -416
  28. package/dist/react-resolver-zod.cjs.development.js.map +0 -1
  29. package/dist/react-resolver-zod.cjs.production.min.js +0 -2
  30. package/dist/react-resolver-zod.cjs.production.min.js.map +0 -1
  31. package/dist/react-resolver-zod.esm.js +0 -401
  32. package/dist/react-resolver-zod.esm.js.map +0 -1
  33. package/dist/type.d.ts +0 -2
  34. package/dist/useSchema.d.ts +0 -14
  35. /package/dist/{element.d.ts → components/FormInstantElement.d.ts} +0 -0
@@ -1 +0,0 @@
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.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\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';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): 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 {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\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;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): 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 type: '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 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 fields = Object.fromEntries(\n 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\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\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 =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.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 console.log('option', option);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n console.log('shape', shape);\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 // Inferir tipo para campos requeridos sin default\n if (fieldSchema._def.typeName === 'ZodString') {\n initialValues[key] = '';\n } else if (fieldSchema._def.typeName === 'ZodNumber') {\n initialValues[key] = 0;\n } else if (fieldSchema._def.typeName === 'ZodBoolean') {\n initialValues[key] = false;\n } else if (fieldSchema._def.typeName === 'ZodDate') {\n initialValues[key] = null;\n } else if (fieldSchema._def.typeName === 'ZodArray') {\n initialValues[key] = [];\n } else if (fieldSchema._def.typeName === 'ZodObject') {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n } else if (fieldSchema._def.typeName === 'ZodDiscriminatedUnion') {\n const option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n } else {\n initialValues[key] = null;\n }\n }\n\n console.log('initialValues build', initialValues);\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 console.log('initialValues', initialValues);\n\n return { schema, initialValues };\n};\n","import { 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 ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\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","originalObject","object","apply","arguments","originalArray","array","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","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","console","log","Error","initialValues","_Object$keys","fieldSchema","result","safeParse","success","data","error","cause","message","useSchema","cbP","useMemo","FormInstantElement","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("use-context-selector"),n=require("react/jsx-runtime"),r=require("@form-instant/react-input-mapping"),t=require("react"),i=require("zod"),o=e.createContext({});function a(){return a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},a.apply(null,arguments)}function s(e){return"ZodDefault"===e._def.typeName?e._def.defaultValue():"ZodEffects"===e._def.typeName?s(e.innerType()):void 0}var f=Symbol("GetFieldConfig");function d(e){return e._def.fieldConfig?e._def.fieldConfig:"innerType"in e._def?d(e._def.innerType):"schema"in e._def?d(e._def.schema):{}}function u(e,n){if(n)return n;var r=e._def.typeName;return new Map([["ZodObject","object"],["ZodString","string"],["ZodNumber","number"],["ZodBoolean","boolean"],["ZodDate","date"],["ZodEnum","select"],["ZodNativeEnum","select"],["ZodArray","array"]]).get(r)||"string"}var c=["fieldType"],l={ZodDiscriminatedUnion:function(e){var n=e.name,r=e.history,t=e.dependecys,i=e.schema._def,o=i.optionsMap,a=i.discriminator,s=i.fieldConfig;if(!Object.keys(t).length)return[{}];var f=t[a],d=o.get(f);if(!d)return[{}];var u=Object.entries(d.shape).filter((function(e){return e[0]!==a})).map((function(e){var i=e[0],o=e[1],a=(r?[r,n]:[n]).join(".");return"."===a.charAt(0)&&(a=a.substring(1)),p({name:i,schema:o,history:a,dependecys:t})})),c=(r?[r,n,a]:[n,a]).join(".");return"."===c.charAt(0)&&(c=c.substring(1)),u.unshift({name:{current:a,history:c},type:"discriminator",required:!0,default:f,fieldConfig:s,options:Array.from(o.keys()).map((function(e){return[String(e),String(e)]}))}),u},ZodObject:function(e){var n=e.schema,r=e.name,t=e.history,i=e.dependecys,o=(t?[t,r]:[r]).join(".");return"."===o.charAt(0)&&(o=o.substring(1)),Object.entries(n.shape).map((function(e){return p({name:e[0],schema:e[1],history:o,dependecys:i})}))},ZodArray:function(e){var n=e.schema,r=e.name,t=e.history,i=e.dependecys,o=(t?[t,r]:[r]).join(".");return"."===o.charAt(0)&&(o=o.substring(1)),[p({name:"0",schema:n._def.type,history:o,dependecys:i})]}};function p(e){var n,r,t=e.name,i=e.schema,o=e.history,f=e.dependecys,p=void 0===f?{}:f,y=m(i),h=d(i),v=h.fieldType,g=function(e,n){if(null==e)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(-1!==n.indexOf(t))continue;r[t]=e[t]}return r}(h,c),_=u(y,v),Z=s(i),b=g,j=y._def.values,x=[];j&&(x=Array.isArray(j)?j.map((function(e){return[e,e]})):Object.entries(j));var C=y._def.typeName,O=l[C],N=null==O?void 0:O({name:t,schema:y,history:o,dependecys:p});if("ZodDiscriminatedUnion"===C){var E=y._def,F=p[E.discriminator];if(F){var T=E.optionsMap.get(F);T._def.fieldConfig&&(b=a({},g,T._def.fieldConfig))}}"array"===_&&(b=a({min:(null==(n=y._def.minLength)?void 0:n.value)||1,max:null==(r=y._def.maxLength)?void 0:r.value},b));var A=(o?[o,t]:[t]).join(".");return"."===A.charAt(0)&&(A=A.substring(1)),{name:{current:t,history:A},type:_,required:!i.isOptional(),default:Z,fieldConfig:b,options:x,schema:N,description:y.description}}function m(e){return"innerType"in e._def?m(e._def.innerType):"schema"in e._def?m(e._def.schema):e}var y=function(e){var n,r=e instanceof i.z.ZodEffects?e.innerType():e,t=(null==(n=r._def.fieldConfig)?void 0:n.dp)||{};return{fields:Object.fromEntries(Object.entries(r.shape).map((function(e){var n=e[0];return[n,p({name:n,schema:e[1],dependecys:t})]})))}},h=function(n){var r=e.useContext(o);return y(r).fields[n]},v=function(e,n){try{var r=function(){if("ZodEffects"===e._def.typeName)return e.innerType().shape;if("ZodObject"===e._def.typeName)return e.shape;var r=e._def.optionsMap.get(n[e._def.discriminator]);if(console.log("option",r),!r)throw new Error("No option found");return r.shape}();console.log("shape",r);for(var t={},i=0,o=Object.keys(r);i<o.length;i++){var a=o[i],s=r[a],f=s.safeParse(void 0);if(f.success)t[a]=f.data;else if("ZodString"===s._def.typeName)t[a]="";else if("ZodNumber"===s._def.typeName)t[a]=0;else if("ZodBoolean"===s._def.typeName)t[a]=!1;else if("ZodDate"===s._def.typeName)t[a]=null;else if("ZodArray"===s._def.typeName)t[a]=[];else if("ZodObject"===s._def.typeName)t[a]=v(s,n);else if("ZodDiscriminatedUnion"===s._def.typeName){var d=s._def.optionsMap.get(n[s._def.discriminator]);t[a]=d?v(d,n):null}else t[a]=null}return console.log("initialValues build",t),t}catch(e){return console.log("🔴 initialValues error",e),e instanceof Error&&(console.log(e.cause),console.log(e.message)),{}}};exports.FIELD_CONFIG_SYMBOL=f,exports.FormInstantElement=function(e){var i,o=h(e.name),a=t.useId();return null!=(i=o.fieldConfig)&&i.type?n.jsx(r.ElementMapping,{formProps:o}):n.jsx(n.Fragment,{children:Object.values(o.schema||{}).map((function(e){var i;return n.jsx(t.Fragment,{children:n.jsx(r.ElementMapping,{formProps:e})},a+"-"+((null==(i=e.name)?void 0:i.history)||""))}))})},exports.FormInstantProvider=function(e){return n.jsx(o.Provider,{value:e.schema,children:e.children})},exports.ZodResolverContext=o,exports.createZodSchemaFieldConfig=function(){return function(e){var n=function(){};return n[f]=e,n}},exports.extendZodWithFieldConfig=function(e){e.ZodType.prototype.fieldConfig=function(e){return this._def.fieldConfig=e,this};var n=e.object;e.object=function(){var e=n.apply(void 0,arguments);return e._def.default=function(){return{}},e};var r=e.array;e.array=function(){var e=r.apply(void 0,arguments);return e._def.default=function(){return[]},e}},exports.generateInitialValues=v,exports.getDefaultValueInZodStack=s,exports.getDefaultValues=function(e){for(var n=e instanceof i.z.ZodEffects?e.innerType():e,r={},t=0,o=Object.entries(n.shape);t<o.length;t++){var a=o[t],f=a[0],d=s(a[1]);void 0!==d&&(r[f]=d)}return r},exports.getFieldConfigInZodStack=d,exports.inferFieldType=u,exports.parseSchema=y,exports.useFields=h,exports.useSchema=function(e,n){var r=t.useMemo((function(){return e(n).fieldConfig(a({dp:n},e(n).fieldConfig))}),[e,n]),i=t.useMemo((function(){return v(r,n)}),[r,n]);return console.log("initialValues",i),{schema:r,initialValues:i}};
2
- //# sourceMappingURL=react-resolver-zod.cjs.production.min.js.map
@@ -1 +0,0 @@
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.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\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';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): 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 {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\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;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): 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 type: '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 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 fields = Object.fromEntries(\n 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\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\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 =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.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 console.log('option', option);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n console.log('shape', shape);\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 // Inferir tipo para campos requeridos sin default\n if (fieldSchema._def.typeName === 'ZodString') {\n initialValues[key] = '';\n } else if (fieldSchema._def.typeName === 'ZodNumber') {\n initialValues[key] = 0;\n } else if (fieldSchema._def.typeName === 'ZodBoolean') {\n initialValues[key] = false;\n } else if (fieldSchema._def.typeName === 'ZodDate') {\n initialValues[key] = null;\n } else if (fieldSchema._def.typeName === 'ZodArray') {\n initialValues[key] = [];\n } else if (fieldSchema._def.typeName === 'ZodObject') {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n } else if (fieldSchema._def.typeName === 'ZodDiscriminatedUnion') {\n const option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n } else {\n initialValues[key] = null;\n }\n }\n\n console.log('initialValues build', initialValues);\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 console.log('initialValues', initialValues);\n\n return { schema, initialValues };\n};\n","import { 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 ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\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","fromEntries","_ref8","useFields","useContext","generateInitialValues","console","log","Error","initialValues","_i","_Object$keys","fieldSchema","result","safeParse","undefined","success","data","error","cause","message","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","jsx","Provider","config","refinementFunction","zod","ZodType","prototype","this","originalObject","object","apply","arguments","originalArray","array","defaultValues","_Object$entries","_Object$entries$_i","cbP","useMemo"],"mappings":"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"}
@@ -1,401 +0,0 @@
1
- import { createContext, useContext } from 'use-context-selector';
2
- import { jsx, Fragment } from 'react/jsx-runtime';
3
- import { ElementMapping } from '@form-instant/react-input-mapping';
4
- import { useMemo, useId, Fragment as Fragment$1 } from 'react';
5
- import { z } from 'zod';
6
-
7
- var ZodResolverContext = /*#__PURE__*/createContext({});
8
-
9
- function _extends() {
10
- return _extends = Object.assign ? Object.assign.bind() : function (n) {
11
- for (var e = 1; e < arguments.length; e++) {
12
- var t = arguments[e];
13
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
14
- }
15
- return n;
16
- }, _extends.apply(null, arguments);
17
- }
18
- function _objectWithoutPropertiesLoose(r, e) {
19
- if (null == r) return {};
20
- var t = {};
21
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
22
- if (-1 !== e.indexOf(n)) continue;
23
- t[n] = r[n];
24
- }
25
- return t;
26
- }
27
-
28
- function getDefaultValueInZodStack(schema) {
29
- if (schema._def.typeName === 'ZodDefault') {
30
- return schema._def.defaultValue();
31
- }
32
- if (schema._def.typeName === 'ZodEffects') {
33
- return getDefaultValueInZodStack(schema.innerType());
34
- }
35
- return undefined;
36
- }
37
- function getDefaultValues(schema) {
38
- var objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;
39
- var shape = objectSchema.shape;
40
- var defaultValues = {};
41
- for (var _i = 0, _Object$entries = Object.entries(shape); _i < _Object$entries.length; _i++) {
42
- var _Object$entries$_i = _Object$entries[_i],
43
- key = _Object$entries$_i[0],
44
- field = _Object$entries$_i[1];
45
- var defaultValue = getDefaultValueInZodStack(field);
46
- if (defaultValue !== undefined) {
47
- defaultValues[key] = defaultValue;
48
- }
49
- }
50
- return defaultValues;
51
- }
52
-
53
- var FIELD_CONFIG_SYMBOL = /*#__PURE__*/Symbol('GetFieldConfig');
54
- var extendZodWithFieldConfig = function extendZodWithFieldConfig(zod) {
55
- zod.ZodType.prototype.fieldConfig = function (config) {
56
- this._def.fieldConfig = config;
57
- return this;
58
- };
59
- var originalObject = zod.object;
60
- zod.object = function () {
61
- var schema = originalObject.apply(void 0, arguments);
62
- schema._def["default"] = function () {
63
- return {};
64
- };
65
- return schema;
66
- };
67
- var originalArray = zod.array;
68
- zod.array = function () {
69
- var schema = originalArray.apply(void 0, arguments);
70
- schema._def["default"] = function () {
71
- return [];
72
- };
73
- return schema;
74
- };
75
- };
76
- var createZodSchemaFieldConfig = function createZodSchemaFieldConfig() {
77
- return function (config) {
78
- var refinementFunction = function refinementFunction() {
79
- // Do nothing.
80
- };
81
- // @ts-expect-error This is a symbol and not a real value.
82
- refinementFunction[FIELD_CONFIG_SYMBOL] = config;
83
- return refinementFunction;
84
- };
85
- };
86
- function getFieldConfigInZodStack(schema) {
87
- // Verifica si el esquema tiene fieldConfig directamente
88
- if (schema._def.fieldConfig) {
89
- return schema._def.fieldConfig;
90
- }
91
- // Si el esquema es un ZodEffects, busca en el innerType
92
- if ('innerType' in schema._def) {
93
- return getFieldConfigInZodStack(schema._def.innerType);
94
- }
95
- // Si el esquema es un ZodEffects con un schema interno, busca en el schema
96
- if ('schema' in schema._def) {
97
- return getFieldConfigInZodStack(schema._def.schema);
98
- }
99
- // Si no se encuentra fieldConfig, retorna un objeto vacío
100
- return {};
101
- }
102
-
103
- function inferFieldType(schema, fieldType) {
104
- if (fieldType) {
105
- return fieldType;
106
- }
107
- var type = schema._def.typeName;
108
- var zodToInputType = new Map([['ZodObject', 'object'], ['ZodString', 'string'], ['ZodNumber', 'number'], ['ZodBoolean', 'boolean'], ['ZodDate', 'date'], ['ZodEnum', 'select'], ['ZodNativeEnum', 'select'], ['ZodArray', 'array']]);
109
- var match = zodToInputType.get(type);
110
- return match || 'string'; // Default to string for unknown types
111
- }
112
-
113
- var _excluded = ["fieldType"];
114
- var typeMapping = {
115
- ZodDiscriminatedUnion: function ZodDiscriminatedUnion(_ref) {
116
- var schema = _ref.schema,
117
- name = _ref.name,
118
- history = _ref.history,
119
- dependecys = _ref.dependecys;
120
- var _schema$_def = schema._def,
121
- optionsMap = _schema$_def.optionsMap,
122
- discriminator = _schema$_def.discriminator,
123
- fieldConfig = _schema$_def.fieldConfig;
124
- if (!Object.keys(dependecys).length) return [{}];
125
- var optionKey = dependecys[discriminator];
126
- var option = optionsMap.get(optionKey);
127
- if (!option) return [{}];
128
- var entries = Object.entries(option.shape);
129
- var fields = entries.filter(function (_ref2) {
130
- var key = _ref2[0];
131
- return key !== discriminator;
132
- }).map(function (_ref3) {
133
- var key = _ref3[0],
134
- field = _ref3[1];
135
- var historyFormat = (history ? [history, name] : [name]).join('.');
136
- if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
137
- return parseField({
138
- name: key,
139
- schema: field,
140
- history: historyFormat,
141
- dependecys: dependecys
142
- });
143
- });
144
- var historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join('.');
145
- if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
146
- fields.unshift({
147
- name: {
148
- current: discriminator,
149
- history: historyFormat
150
- },
151
- type: 'discriminator',
152
- required: true,
153
- "default": optionKey,
154
- fieldConfig: fieldConfig,
155
- options: Array.from(optionsMap.keys()).map(function (key) {
156
- return [String(key), String(key)];
157
- })
158
- });
159
- return fields;
160
- },
161
- ZodObject: function ZodObject(_ref4) {
162
- var schema = _ref4.schema,
163
- name = _ref4.name,
164
- history = _ref4.history,
165
- dependecys = _ref4.dependecys;
166
- var historyFormat = (history ? [history, name] : [name]).join('.');
167
- if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
168
- return Object.entries(schema.shape).map(function (_ref5) {
169
- var key = _ref5[0],
170
- field = _ref5[1];
171
- return parseField({
172
- name: key,
173
- schema: field,
174
- history: historyFormat,
175
- dependecys: dependecys
176
- });
177
- });
178
- },
179
- ZodArray: function ZodArray(_ref6) {
180
- var schema = _ref6.schema,
181
- name = _ref6.name,
182
- history = _ref6.history,
183
- dependecys = _ref6.dependecys;
184
- var historyFormat = (history ? [history, name] : [name]).join('.');
185
- if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
186
- return [parseField({
187
- name: '0',
188
- schema: schema._def.type,
189
- history: historyFormat,
190
- dependecys: dependecys
191
- })];
192
- }
193
- };
194
- function parseField(_ref7) {
195
- var _baseSchema$_def$minL, _baseSchema$_def$maxL;
196
- var name = _ref7.name,
197
- schema = _ref7.schema,
198
- history = _ref7.history,
199
- _ref7$dependecys = _ref7.dependecys,
200
- dependecys = _ref7$dependecys === void 0 ? {} : _ref7$dependecys;
201
- var baseSchema = getBaseSchema(schema);
202
- var _getFieldConfigInZodS = getFieldConfigInZodStack(schema),
203
- fieldType = _getFieldConfigInZodS.fieldType,
204
- fieldConfigBase = _objectWithoutPropertiesLoose(_getFieldConfigInZodS, _excluded);
205
- var type = inferFieldType(baseSchema, fieldType);
206
- var defaultValue = getDefaultValueInZodStack(schema);
207
- var fieldConfig = fieldConfigBase;
208
- // Enums
209
- var options = baseSchema._def.values;
210
- var optionValues = [];
211
- if (options) {
212
- if (!Array.isArray(options)) {
213
- optionValues = Object.entries(options);
214
- } else {
215
- optionValues = options.map(function (value) {
216
- return [value, value];
217
- });
218
- }
219
- }
220
- var typeName = baseSchema._def.typeName;
221
- // Arrays and objects
222
- var getSubSchema = typeMapping[typeName];
223
- var subSchema = getSubSchema == null ? void 0 : getSubSchema({
224
- name: name,
225
- schema: baseSchema,
226
- history: history,
227
- dependecys: dependecys
228
- });
229
- if (typeName === 'ZodDiscriminatedUnion') {
230
- var _baseSchema$_def = baseSchema._def,
231
- optionsMap = _baseSchema$_def.optionsMap,
232
- discriminator = _baseSchema$_def.discriminator;
233
- var optionKey = dependecys[discriminator];
234
- if (optionKey) {
235
- var option = optionsMap.get(optionKey);
236
- if (option._def.fieldConfig) {
237
- fieldConfig = _extends({}, fieldConfigBase, option._def.fieldConfig);
238
- }
239
- }
240
- }
241
- if (type === 'array') fieldConfig = _extends({
242
- min: ((_baseSchema$_def$minL = baseSchema._def.minLength) == null ? void 0 : _baseSchema$_def$minL.value) || 1,
243
- max: (_baseSchema$_def$maxL = baseSchema._def.maxLength) == null ? void 0 : _baseSchema$_def$maxL.value
244
- }, fieldConfig);
245
- var historyFormat = (history ? [history, name] : [name]).join('.');
246
- if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
247
- var resp = {
248
- name: {
249
- current: name,
250
- history: historyFormat
251
- },
252
- type: type,
253
- required: !schema.isOptional(),
254
- "default": defaultValue,
255
- fieldConfig: fieldConfig,
256
- options: optionValues,
257
- schema: subSchema,
258
- description: baseSchema.description
259
- };
260
- return resp;
261
- }
262
- function getBaseSchema(schema) {
263
- if ('innerType' in schema._def) {
264
- return getBaseSchema(schema._def.innerType);
265
- }
266
- if ('schema' in schema._def) {
267
- return getBaseSchema(schema._def.schema);
268
- }
269
- return schema;
270
- }
271
- var parseSchema = function parseSchema(S) {
272
- var _objectSchema$_def$fi;
273
- var objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;
274
- var shape = objectSchema.shape;
275
- var dependecys = ((_objectSchema$_def$fi = objectSchema._def.fieldConfig) == null ? void 0 : _objectSchema$_def$fi.dp) || {};
276
- var fields = Object.fromEntries(Object.entries(shape).map(function (_ref8) {
277
- var key = _ref8[0],
278
- field = _ref8[1];
279
- return [key, parseField({
280
- name: key,
281
- schema: field,
282
- dependecys: dependecys
283
- })];
284
- }));
285
- return {
286
- fields: fields
287
- };
288
- };
289
-
290
- var useSchemaBase = function useSchemaBase() {
291
- return useContext(ZodResolverContext);
292
- };
293
- var useFields = function useFields(key) {
294
- var S = useSchemaBase();
295
- var _parseSchema = parseSchema(S),
296
- fields = _parseSchema.fields;
297
- return fields[key];
298
- };
299
- var _generateInitialValues = function generateInitialValues(schema, dp) {
300
- try {
301
- var shape = function () {
302
- if (schema._def.typeName === 'ZodEffects') return schema.innerType().shape;
303
- if (schema._def.typeName === 'ZodObject') return schema.shape;
304
- var option = schema._def.optionsMap.get(dp[schema._def.discriminator]);
305
- console.log('option', option);
306
- if (!option) throw new Error('No option found');
307
- return option.shape;
308
- }();
309
- console.log('shape', shape);
310
- var initialValues = {};
311
- for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) {
312
- var key = _Object$keys[_i];
313
- var fieldSchema = shape[key];
314
- var result = fieldSchema.safeParse(undefined);
315
- // Si tiene valor por defecto
316
- if (result.success) {
317
- initialValues[key] = result.data;
318
- continue;
319
- }
320
- // Inferir tipo para campos requeridos sin default
321
- if (fieldSchema._def.typeName === 'ZodString') {
322
- initialValues[key] = '';
323
- } else if (fieldSchema._def.typeName === 'ZodNumber') {
324
- initialValues[key] = 0;
325
- } else if (fieldSchema._def.typeName === 'ZodBoolean') {
326
- initialValues[key] = false;
327
- } else if (fieldSchema._def.typeName === 'ZodDate') {
328
- initialValues[key] = null;
329
- } else if (fieldSchema._def.typeName === 'ZodArray') {
330
- initialValues[key] = [];
331
- } else if (fieldSchema._def.typeName === 'ZodObject') {
332
- initialValues[key] = _generateInitialValues(fieldSchema, dp);
333
- } else if (fieldSchema._def.typeName === 'ZodDiscriminatedUnion') {
334
- var option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);
335
- if (option) {
336
- initialValues[key] = _generateInitialValues(option, dp);
337
- } else {
338
- initialValues[key] = null;
339
- }
340
- } else {
341
- initialValues[key] = null;
342
- }
343
- }
344
- console.log('initialValues build', initialValues);
345
- return initialValues;
346
- } catch (error) {
347
- console.log('🔴 initialValues error', error);
348
- if (error instanceof Error) {
349
- console.log(error.cause);
350
- console.log(error.message);
351
- }
352
- return {};
353
- }
354
- };
355
- var useSchema = function useSchema(cbP, dp) {
356
- var schema = useMemo(function () {
357
- return cbP(dp).fieldConfig(_extends({
358
- dp: dp
359
- }, cbP(dp).fieldConfig));
360
- }, [cbP, dp]);
361
- var initialValues = useMemo(function () {
362
- return _generateInitialValues(schema, dp);
363
- }, [schema, dp]);
364
- console.log('initialValues', initialValues);
365
- return {
366
- schema: schema,
367
- initialValues: initialValues
368
- };
369
- };
370
-
371
- var FormInstantElement = function FormInstantElement(_ref) {
372
- var _field$fieldConfig;
373
- var name = _ref.name;
374
- var field = useFields(name);
375
- var id = useId();
376
- if ((_field$fieldConfig = field.fieldConfig) != null && _field$fieldConfig.type) return jsx(ElementMapping, {
377
- formProps: field
378
- });
379
- return jsx(Fragment, {
380
- children: Object.values(field.schema || {}).map(function (props) {
381
- var _props$name;
382
- return jsx(Fragment$1, {
383
- children: jsx(ElementMapping, {
384
- formProps: props
385
- })
386
- }, id + "-" + (((_props$name = props.name) == null ? void 0 : _props$name.history) || ''));
387
- })
388
- });
389
- };
390
-
391
- var FormInstantProvider = function FormInstantProvider(_ref) {
392
- var children = _ref.children,
393
- schema = _ref.schema;
394
- return jsx(ZodResolverContext.Provider, {
395
- value: schema,
396
- children: children
397
- });
398
- };
399
-
400
- export { FIELD_CONFIG_SYMBOL, FormInstantElement, FormInstantProvider, ZodResolverContext, createZodSchemaFieldConfig, extendZodWithFieldConfig, _generateInitialValues as generateInitialValues, getDefaultValueInZodStack, getDefaultValues, getFieldConfigInZodStack, inferFieldType, parseSchema, useFields, useSchema };
401
- //# sourceMappingURL=react-resolver-zod.esm.js.map
@@ -1 +0,0 @@
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.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\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';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): 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 {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\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;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): 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 type: '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 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 fields = Object.fromEntries(\n 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\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\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 =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.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 console.log('option', option);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n console.log('shape', shape);\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 // Inferir tipo para campos requeridos sin default\n if (fieldSchema._def.typeName === 'ZodString') {\n initialValues[key] = '';\n } else if (fieldSchema._def.typeName === 'ZodNumber') {\n initialValues[key] = 0;\n } else if (fieldSchema._def.typeName === 'ZodBoolean') {\n initialValues[key] = false;\n } else if (fieldSchema._def.typeName === 'ZodDate') {\n initialValues[key] = null;\n } else if (fieldSchema._def.typeName === 'ZodArray') {\n initialValues[key] = [];\n } else if (fieldSchema._def.typeName === 'ZodObject') {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n } else if (fieldSchema._def.typeName === 'ZodDiscriminatedUnion') {\n const option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n } else {\n initialValues[key] = null;\n }\n }\n\n console.log('initialValues build', initialValues);\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 console.log('initialValues', initialValues);\n\n return { schema, initialValues };\n};\n","import { 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 ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\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","originalObject","object","apply","arguments","originalArray","array","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","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","console","log","Error","initialValues","_Object$keys","fieldSchema","result","safeParse","success","data","error","cause","message","useSchema","cbP","useMemo","FormInstantElement","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}