@form-instant/react-resolver-zod 1.5.7 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react-resolver-zod.cjs.development.js +29 -14
- package/dist/react-resolver-zod.cjs.development.js.map +1 -1
- package/dist/react-resolver-zod.cjs.production.min.js +1 -1
- package/dist/react-resolver-zod.cjs.production.min.js.map +1 -1
- package/dist/react-resolver-zod.esm.js +29 -14
- package/dist/react-resolver-zod.esm.js.map +1 -1
- package/package.json +1 -1
@@ -34,6 +34,12 @@ function getDefaultValueInZodStack(schema) {
|
|
34
34
|
if (schema instanceof zod.z.ZodEffects) {
|
35
35
|
return getDefaultValueInZodStack(schema.innerType());
|
36
36
|
}
|
37
|
+
if (schema._def.typeName === 'ZodObject') {
|
38
|
+
return {};
|
39
|
+
}
|
40
|
+
if (schema._def.typeName === 'ZodArray') {
|
41
|
+
return [];
|
42
|
+
}
|
37
43
|
return undefined;
|
38
44
|
}
|
39
45
|
function getDefaultValues(schema) {
|
@@ -118,17 +124,21 @@ var typeMapping = {
|
|
118
124
|
}).map(function (_ref3) {
|
119
125
|
var key = _ref3[0],
|
120
126
|
field = _ref3[1];
|
127
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
128
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
121
129
|
return parseField({
|
122
130
|
name: key,
|
123
131
|
schema: field,
|
124
|
-
history:
|
132
|
+
history: historyFormat,
|
125
133
|
dependecys: dependecys
|
126
134
|
});
|
127
135
|
});
|
136
|
+
var historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join('.');
|
137
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
128
138
|
fields.unshift({
|
129
139
|
name: {
|
130
140
|
current: discriminator,
|
131
|
-
history:
|
141
|
+
history: historyFormat
|
132
142
|
},
|
133
143
|
type: 'discriminator',
|
134
144
|
required: true,
|
@@ -145,13 +155,15 @@ var typeMapping = {
|
|
145
155
|
name = _ref4.name,
|
146
156
|
history = _ref4.history,
|
147
157
|
dependecys = _ref4.dependecys;
|
158
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
159
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
148
160
|
return Object.entries(schema.shape).map(function (_ref5) {
|
149
161
|
var key = _ref5[0],
|
150
162
|
field = _ref5[1];
|
151
163
|
return parseField({
|
152
164
|
name: key,
|
153
165
|
schema: field,
|
154
|
-
history:
|
166
|
+
history: historyFormat,
|
155
167
|
dependecys: dependecys
|
156
168
|
});
|
157
169
|
});
|
@@ -161,15 +173,18 @@ var typeMapping = {
|
|
161
173
|
name = _ref6.name,
|
162
174
|
history = _ref6.history,
|
163
175
|
dependecys = _ref6.dependecys;
|
176
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
177
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
164
178
|
return [parseField({
|
165
179
|
name: '0',
|
166
180
|
schema: schema._def.type,
|
167
|
-
history:
|
181
|
+
history: historyFormat,
|
168
182
|
dependecys: dependecys
|
169
183
|
})];
|
170
184
|
}
|
171
185
|
};
|
172
186
|
function parseField(_ref7) {
|
187
|
+
var _baseSchema$_def$minL, _baseSchema$_def$maxL;
|
173
188
|
var name = _ref7.name,
|
174
189
|
schema = _ref7.schema,
|
175
190
|
history = _ref7.history,
|
@@ -194,25 +209,25 @@ function parseField(_ref7) {
|
|
194
209
|
});
|
195
210
|
}
|
196
211
|
}
|
212
|
+
var typeName = baseSchema._def.typeName;
|
197
213
|
// Arrays and objects
|
198
|
-
var getSubSchema = typeMapping[
|
214
|
+
var getSubSchema = typeMapping[typeName];
|
199
215
|
var subSchema = getSubSchema == null ? void 0 : getSubSchema({
|
200
216
|
name: name,
|
201
217
|
schema: baseSchema,
|
202
218
|
history: history,
|
203
219
|
dependecys: dependecys
|
204
220
|
});
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
}
|
221
|
+
fieldConfig = _extends({
|
222
|
+
min: ((_baseSchema$_def$minL = baseSchema._def.minLength) == null ? void 0 : _baseSchema$_def$minL.value) || 1,
|
223
|
+
max: (_baseSchema$_def$maxL = baseSchema._def.maxLength) == null ? void 0 : _baseSchema$_def$maxL.value
|
224
|
+
}, fieldConfig);
|
225
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
226
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
212
227
|
var resp = {
|
213
228
|
name: {
|
214
229
|
current: name,
|
215
|
-
history:
|
230
|
+
history: historyFormat
|
216
231
|
},
|
217
232
|
type: type,
|
218
233
|
required: !schema.isOptional(),
|
@@ -263,7 +278,7 @@ var useFields = function useFields(key) {
|
|
263
278
|
var useSchema = function useSchema(cbP, dp) {
|
264
279
|
var schema = react.useMemo(function () {
|
265
280
|
return cbP(dp).fieldConfig(dp);
|
266
|
-
}, [dp]);
|
281
|
+
}, [cbP, dp]);
|
267
282
|
return {
|
268
283
|
schema: schema
|
269
284
|
};
|
@@ -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.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 } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.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};\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 typeMapping {\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: typeMapping) => 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 return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: [history, name].join('.'),\n dependecys,\n });\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\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 return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: [history, name].join('.'),\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: [history, name].join('.'),\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({ name, schema, history, dependecys = {} }: typeMapping): 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 // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: {\n current: name,\n history: [history, name].filter(Boolean).join('.'),\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;\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 { 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 useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [dp]);\n\n return { schema };\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 inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.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, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","getDefaultValues","objectSchema","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","typeName","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","parseField","join","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def$minL","_baseSchema$_def$maxL","_extends","min","minLength","max","maxLength","resp","Boolean","isOptional","description","parseSchema","S","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","dp","useMemo","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","Provider"],"mappings":";;;;;;;;IAGaA,kBAAkB,gBAAGC,gCAAa,CAAmB,EAAsB;;;;;;;;;;;;;;;;;;;;;ACAlF,SAAUC,yBAAyBA,CAACC,MAAoB,EAAA;AAC1D,EAAA,IAAIA,MAAM,YAAYC,KAAC,CAACC,UAAU,EAAE;AAChC,IAAA,OAAOF,MAAM,CAACG,IAAI,CAACC,YAAY,EAAE,CAAA;AACpC,GAAA;AAED,EAAA,IAAIJ,MAAM,YAAYC,KAAC,CAACI,UAAU,EAAE;AAChC,IAAA,OAAON,yBAAyB,CAACC,MAAM,CAACM,SAAS,EAAE,CAAC,CAAA;AACvD,GAAA;AAED,EAAA,OAAOC,SAAS,CAAA;AACpB,CAAA;AAEM,SAAUC,gBAAgBA,CAACR,MAA0B,EAAA;AACvD,EAAA,IAAMS,YAAY,GAAGT,MAAM,YAAYC,KAAC,CAACI,UAAU,GAAGL,MAAM,CAACM,SAAS,EAAE,GAAGN,MAAM,CAAA;AACjF,EAAA,IAAMU,KAAK,GAAGD,YAAY,CAACC,KAAK,CAAA;EAEhC,IAAMC,aAAa,GAAwB,EAAE,CAAA;AAE7C,EAAA,KAAA,IAAAC,EAAA,GAAAC,CAAAA,EAAAA,eAAA,GAA2BC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,EAAAE,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,EAAE,EAAA;AAA7C,IAAA,IAAAK,kBAAA,GAAAJ,eAAA,CAAAD,EAAA,CAAA;AAAOM,MAAAA,GAAG,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,KAAK,GAAAF,kBAAA,CAAA,CAAA,CAAA,CAAA;AAClB,IAAA,IAAMb,YAAY,GAAGL,yBAAyB,CAACoB,KAAqB,CAAC,CAAA;IACrE,IAAIf,YAAY,KAAKG,SAAS,EAAE;AAC5BI,MAAAA,aAAa,CAACO,GAAG,CAAC,GAAGd,YAAY,CAAA;AACpC,KAAA;AACJ,GAAA;AAED,EAAA,OAAOO,aAAa,CAAA;AACxB;;IC3BaS,mBAAmB,gBAAGC,MAAM,CAAC,gBAAgB,EAAC;IAU9CC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CACjCC,GAAa,EACb;EACCA,GAAG,CAACC,OAAO,CAACC,SAAiB,CAACC,WAAW,GAAG,UACzCC,MAAqD,EAAA;AAErD,IAAA,IAAI,CAACxB,IAAI,CAACuB,WAAW,GAAGC,MAAM,CAAA;AAC9B,IAAA,OAAO,IAAI,CAAA;GACd,CAAA;AACL,EAAC;AAEYC,IAAAA,0BAA0B,GACnC,SADSA,0BAA0BA,GAAA;EAAA,OAEnC,UAACD,MAAqD,EAAyB;AAC3E,IAAA,IAAME,kBAAkB,GAAwB,SAA1CA,kBAAkBA,GAA6B;AACjD;KACH,CAAA;AAED;AACAA,IAAAA,kBAAkB,CAACT,mBAAmB,CAAC,GAAGO,MAAM,CAAA;AAEhD,IAAA,OAAOE,kBAAkB,CAAA;GAC5B,CAAA;AAAA,EAAA;AAEC,SAAUC,wBAAwBA,CAAC9B,MAAoB,EAAA;AACzD;AACA,EAAA,IAAIA,MAAM,CAACG,IAAI,CAACuB,WAAW,EAAE;AACzB,IAAA,OAAO1B,MAAM,CAACG,IAAI,CAACuB,WAA0B,CAAA;AAChD,GAAA;AAED;AACA,EAAA,IAAI,WAAW,IAAI1B,MAAM,CAACG,IAAI,EAAE;AAC5B,IAAA,OAAO2B,wBAAwB,CAAC9B,MAAM,CAACG,IAAI,CAACG,SAAqB,CAAC,CAAA;AACrE,GAAA;AAED;AACA,EAAA,IAAI,QAAQ,IAAIN,MAAM,CAACG,IAAI,EAAE;AACzB,IAAA,OAAO2B,wBAAwB,CAAC9B,MAAM,CAACG,IAAI,CAACH,MAAkB,CAAC,CAAA;AAClE,GAAA;AAED;AACA,EAAA,OAAO,EAAiB,CAAA;AAC5B;;ACnDgB,SAAA+B,cAAcA,CAAC/B,MAAoB,EAAEgC,SAAoC,EAAA;AACrF,EAAA,IAAIA,SAAS,EAAE;AACX,IAAA,OAAOA,SAAS,CAAA;AACnB,GAAA;AAED,EAAA,IAAMC,IAAI,GAAGjC,MAAM,CAACG,IAAI,CAAC+B,QAAQ,CAAA;EAEjC,IAAMC,cAAc,GAAG,IAAIC,GAAG,CAAC,CAC3B,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,YAAY,EAAE,SAAS,CAAC,EACzB,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,SAAS,EAAE,QAAQ,CAAC,EACrB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAC3B,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC,CAAA;AAEF,EAAA,IAAMC,KAAK,GAAGF,cAAc,CAACG,GAAG,CAACL,IAAI,CAAC,CAAA;AAEtC,EAAA,OAAOI,KAAK,IAAI,QAAQ,CAAC;AAC7B;;;ACLA,IAAME,WAAW,GAAoB;AACjCC,EAAAA,qBAAqB,EAArBA,SAAAA,qBAAqBA,CAAAC,IAAA,EAAsC;AAAA,IAAA,IAAnCzC,MAAM,GAAAyC,IAAA,CAANzC,MAAM;MAAE0C,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;MAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU,CAAA;AACrD,IAAA,IAAAC,YAAA,GAAmD7C,MAAM,CAACG,IAAI;MAAtD2C,UAAU,GAAAD,YAAA,CAAVC,UAAU;MAAEC,aAAa,GAAAF,YAAA,CAAbE,aAAa;MAAErB,WAAW,GAAAmB,YAAA,CAAXnB,WAAW,CAAA;AAE9C,IAAA,IAAI,CAACZ,MAAM,CAACkC,IAAI,CAACJ,UAAU,CAAC,CAAC5B,MAAM,EAAE,OAAO,CAAC,EAAE,CAA+B,CAAA;AAE9E,IAAA,IAAMiC,SAAS,GAAGL,UAAU,CAACG,aAAa,CAAC,CAAA;AAC3C,IAAA,IAAMG,MAAM,GAAGJ,UAAU,CAACR,GAAG,CAACW,SAAS,CAAC,CAAA;AAExC,IAAA,IAAI,CAACC,MAAM,EAAE,OAAO,CAAC,EAAE,CAA+B,CAAA;IAEtD,IAAMnC,OAAO,GAAGD,MAAM,CAACC,OAAO,CAACmC,MAAM,CAACxC,KAAK,CAAC,CAAA;AAE5C,IAAA,IAAMyC,MAAM,GAAGpC,OAAO,CACjBqC,MAAM,CAAC,UAAAC,KAAA,EAAA;MAAA,IAAEnC,GAAG,GAAAmC,KAAA,CAAA,CAAA,CAAA,CAAA;MAAA,OAAMnC,GAAG,KAAK6B,aAAa,CAAA;AAAA,KAAA,CAAC,CACxCO,GAAG,CAAC,UAAAC,KAAA,EAAiB;MAAA,IAAfrC,GAAG,GAAAqC,KAAA,CAAA,CAAA,CAAA;AAAEpC,QAAAA,KAAK,GAAAoC,KAAA,CAAA,CAAA,CAAA,CAAA;AACb,MAAA,OAAOC,UAAU,CAAC;AACdd,QAAAA,IAAI,EAAExB,GAAG;AACTlB,QAAAA,MAAM,EAAEmB,KAAqB;QAC7BwB,OAAO,EAAE,CAACA,OAAO,EAAED,IAAI,CAAC,CAACe,IAAI,CAAC,GAAG,CAAC;AAClCb,QAAAA,UAAU,EAAVA,UAAAA;AACH,OAAA,CAAC,CAAA;AACN,KAAC,CAAC,CAAA;IAENO,MAAM,CAACO,OAAO,CAAC;AACXhB,MAAAA,IAAI,EAAE;AACFiB,QAAAA,OAAO,EAAEZ,aAAa;QACtBJ,OAAO,EAAE,CAACA,OAAO,EAAED,IAAI,EAAEK,aAAa,CAAC,CAACU,IAAI,CAAC,GAAG,CAAA;OACnD;AACDxB,MAAAA,IAAI,EAAE,eAAe;AACrB2B,MAAAA,QAAQ,EAAE,IAAI;AACd,MAAA,SAAA,EAASX,SAAS;AAClBvB,MAAAA,WAAW,EAAXA,WAAW;AACXmC,MAAAA,OAAO,EAAEC,KAAK,CAACC,IAAI,CAACjB,UAAU,CAACE,IAAI,EAAE,CAAC,CAACM,GAAG,CAAC,UAACpC,GAAG,EAAA;QAAA,OAAK,CAAC8C,MAAM,CAAC9C,GAAG,CAAC,EAAE8C,MAAM,CAAC9C,GAAG,CAAC,CAAC,CAAA;AAAA,OAAA,CAAA;AACjF,KAAA,CAAC,CAAA;AAEF,IAAA,OAAOiC,MAAM,CAAA;GAChB;AAEDc,EAAAA,SAAS,EAATA,SAAAA,SAASA,CAAAC,KAAA,EAAsC;AAAA,IAAA,IAAnClE,MAAM,GAAAkE,KAAA,CAANlE,MAAM;MAAE0C,IAAI,GAAAwB,KAAA,CAAJxB,IAAI;MAAEC,OAAO,GAAAuB,KAAA,CAAPvB,OAAO;MAAEC,UAAU,GAAAsB,KAAA,CAAVtB,UAAU,CAAA;AACzC,IAAA,OAAO9B,MAAM,CAACC,OAAO,CAAEf,MAAc,CAACU,KAAK,CAAC,CAAC4C,GAAG,CAAC,UAAAa,KAAA,EAAA;MAAA,IAAEjD,GAAG,GAAAiD,KAAA,CAAA,CAAA,CAAA;AAAEhD,QAAAA,KAAK,GAAAgD,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAAA,OACzDX,UAAU,CAAC;AACPd,QAAAA,IAAI,EAAExB,GAAG;AACTlB,QAAAA,MAAM,EAAEmB,KAAqB;QAC7BwB,OAAO,EAAE,CAACA,OAAO,EAAED,IAAI,CAAC,CAACe,IAAI,CAAC,GAAG,CAAC;AAClCb,QAAAA,UAAU,EAAVA,UAAAA;AACH,OAAA,CAAC,CAAA;KACL,CAAA,CAAA;GACJ;AAEDwB,EAAAA,QAAQ,EAARA,SAAAA,QAAQA,CAAAC,KAAA,EAAsC;AAAA,IAAA,IAAnCrE,MAAM,GAAAqE,KAAA,CAANrE,MAAM;MAAE0C,IAAI,GAAA2B,KAAA,CAAJ3B,IAAI;MAAEC,OAAO,GAAA0B,KAAA,CAAP1B,OAAO;MAAEC,UAAU,GAAAyB,KAAA,CAAVzB,UAAU,CAAA;IACxC,OAAO,CACHY,UAAU,CAAC;AACPd,MAAAA,IAAI,EAAE,GAAG;AACT1C,MAAAA,MAAM,EAAEA,MAAM,CAACG,IAAI,CAAC8B,IAAI;MACxBU,OAAO,EAAE,CAACA,OAAO,EAAED,IAAI,CAAC,CAACe,IAAI,CAAC,GAAG,CAAC;AAClCb,MAAAA,UAAU,EAAVA,UAAAA;KACH,CAAC,CACL,CAAA;AACL,GAAA;CACH,CAAA;AAED,SAASY,UAAUA,CAAAc,KAAA,EAAwD;AAAA,EAAA,IAArD5B,IAAI,GAAA4B,KAAA,CAAJ5B,IAAI;IAAE1C,MAAM,GAAAsE,KAAA,CAANtE,MAAM;IAAE2C,OAAO,GAAA2B,KAAA,CAAP3B,OAAO;IAAA4B,gBAAA,GAAAD,KAAA,CAAE1B,UAAU;AAAVA,IAAAA,UAAU,GAAA2B,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA,CAAA;AACxD,EAAA,IAAMC,UAAU,GAAGC,aAAa,CAACzE,MAAM,CAAC,CAAA;AACxC,EAAA,IAAA0E,qBAAA,GAA0C5C,wBAAwB,CAAC9B,MAAM,CAAC;IAAlEgC,SAAS,GAAA0C,qBAAA,CAAT1C,SAAS;AAAK2C,IAAAA,eAAe,GAAAC,6BAAA,CAAAF,qBAAA,EAAAG,SAAA,CAAA,CAAA;AACrC,EAAA,IAAM5C,IAAI,GAAGF,cAAc,CAACyC,UAAU,EAAExC,SAAS,CAAC,CAAA;AAClD,EAAA,IAAM5B,YAAY,GAAGL,yBAAyB,CAACC,MAAM,CAAC,CAAA;EAEtD,IAAI0B,WAAW,GAAGiD,eAAe,CAAA;AAEjC;AACA,EAAA,IAAMd,OAAO,GAAGW,UAAU,CAACrE,IAAI,CAAC2E,MAAM,CAAA;EACtC,IAAIC,YAAY,GAAuB,EAAE,CAAA;AACzC,EAAA,IAAIlB,OAAO,EAAE;AACT,IAAA,IAAI,CAACC,KAAK,CAACkB,OAAO,CAACnB,OAAO,CAAC,EAAE;AACzBkB,MAAAA,YAAY,GAAGjE,MAAM,CAACC,OAAO,CAAC8C,OAAO,CAAC,CAAA;AACzC,KAAA,MAAM;AACHkB,MAAAA,YAAY,GAAGlB,OAAO,CAACP,GAAG,CAAC,UAAC2B,KAAK,EAAA;AAAA,QAAA,OAAK,CAACA,KAAK,EAAEA,KAAK,CAAC,CAAA;OAAC,CAAA,CAAA;AACxD,KAAA;AACJ,GAAA;AAED;EACA,IAAMC,YAAY,GAAG3C,WAAW,CAACiC,UAAU,CAACrE,IAAI,CAAC+B,QAAoC,CAAC,CAAA;AAEtF,EAAA,IAAMiD,SAAS,GAAGD,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAG;AAC7BxC,IAAAA,IAAI,EAAJA,IAAI;AACJ1C,IAAAA,MAAM,EAAEwE,UAAU;AAClB7B,IAAAA,OAAO,EAAPA,OAAO;AACPC,IAAAA,UAAU,EAAVA,UAAAA;AACH,GAAA,CAAC,CAAA;AAEF,EAAA,IAAI4B,UAAU,CAACrE,IAAI,CAAC+B,QAAQ,KAAK,UAAU,EAAE;IAAA,IAAAkD,qBAAA,EAAAC,qBAAA,CAAA;AACzC3D,IAAAA,WAAW,GAAA4D,QAAA,CAAA;AACPC,MAAAA,GAAG,EAAE,CAAA,CAAAH,qBAAA,GAAAZ,UAAU,CAACrE,IAAI,CAACqF,SAAS,KAAzBJ,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA2BH,KAAK,KAAI,CAAC;MAC1CQ,GAAG,EAAA,CAAAJ,qBAAA,GAAEb,UAAU,CAACrE,IAAI,CAACuF,SAAS,KAAzBL,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA2BJ,KAAAA;AAAK,KAAA,EAClCvD,WAAW,CACjB,CAAA;AACJ,GAAA;AAED,EAAA,IAAMiE,IAAI,GAAG;AACTjD,IAAAA,IAAI,EAAE;AACFiB,MAAAA,OAAO,EAAEjB,IAAI;AACbC,MAAAA,OAAO,EAAE,CAACA,OAAO,EAAED,IAAI,CAAC,CAACU,MAAM,CAACwC,OAAO,CAAC,CAACnC,IAAI,CAAC,GAAG,CAAA;KACpD;AACDxB,IAAAA,IAAI,EAAJA,IAAI;AACJ2B,IAAAA,QAAQ,EAAE,CAAC5D,MAAM,CAAC6F,UAAU,EAAE;AAC9B,IAAA,SAAA,EAASzF,YAAY;AACrBsB,IAAAA,WAAW,EAAXA,WAAW;AACXmC,IAAAA,OAAO,EAAEkB,YAAY;AACrB/E,IAAAA,MAAM,EAAEmF,SAAS;IACjBW,WAAW,EAAEtB,UAAU,CAACsB,WAAAA;GAC3B,CAAA;AAED,EAAA,OAAOH,IAAI,CAAA;AACf,CAAA;AAEA,SAASlB,aAAaA,CAClBzE,MAA2C,EAAA;AAE3C,EAAA,IAAI,WAAW,IAAIA,MAAM,CAACG,IAAI,EAAE;AAC5B,IAAA,OAAOsE,aAAa,CAACzE,MAAM,CAACG,IAAI,CAACG,SAAsB,CAAC,CAAA;AAC3D,GAAA;AACD,EAAA,IAAI,QAAQ,IAAIN,MAAM,CAACG,IAAI,EAAE;AACzB,IAAA,OAAOsE,aAAa,CAACzE,MAAM,CAACG,IAAI,CAACH,MAAmB,CAAC,CAAA;AACxD,GAAA;AAED,EAAA,OAAOA,MAAmB,CAAA;AAC9B,CAAA;IAEa+F,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAqB,EAAkB;AAC/D,EAAA,IAAMvF,YAAY,GAAGuF,CAAC,YAAY/F,KAAC,CAACI,UAAU,GAAG2F,CAAC,CAAC1F,SAAS,EAAE,GAAG0F,CAAC,CAAA;AAClE,EAAA,IAAMtF,KAAK,GAAGD,YAAY,CAACC,KAAK,CAAA;AAEhC,EAAA,IAAMkC,UAAU,GAAInC,YAAY,CAACN,IAAY,CAACuB,WAAW,CAAA;AAEzD,EAAA,IAAMyB,MAAM,GAAGrC,MAAM,CAACmF,WAAW,CAC7BnF,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAAC4C,GAAG,CAAC,UAAA4C,KAAA,EAAA;IAAA,IAAEhF,GAAG,GAAAgF,KAAA,CAAA,CAAA,CAAA;AAAE/E,MAAAA,KAAK,GAAA+E,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IAAA,OAAM,CACxChF,GAAG,EACHsC,UAAU,CAAC;AACPd,MAAAA,IAAI,EAAExB,GAAG;AACTlB,MAAAA,MAAM,EAAEmB,KAAqB;AAC7ByB,MAAAA,UAAU,EAAVA,UAAAA;KACH,CAAC,CACL,CAAA;AAAA,GAAA,CAAC,CACL,CAAA;EAED,OAAO;AAAEO,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AACrB;;AChKA,IAAMgD,aAAa,GAAG,SAAhBA,aAAaA,GAAA;EAAA,OACfC,6BAAU,CAACvG,kBAAkB,CAAuD,CAAA;AAAA,CAAA,CAAA;IAE3EwG,SAAS,GAAG,SAAZA,SAASA,CAAoCnF,GAAa,EAAI;AACvE,EAAA,IAAM8E,CAAC,GAAGG,aAAa,EAAE,CAAA;AAEzB,EAAA,IAAAG,YAAA,GAAmBP,WAAW,CAACC,CAAC,CAAC;IAAzB7C,MAAM,GAAAmD,YAAA,CAANnD,MAAM,CAAA;EAEd,OAAOA,MAAM,CAACjC,GAAa,CAAC,CAAA;AAChC,EAAC;AASM,IAAMqF,SAAS,GAAG,SAAZA,SAASA,CAAIC,GAAqC,EAAEC,EAAM,EAAI;EACvE,IAAMzG,MAAM,GAAG0G,aAAO,CAAC,YAAA;IAAA,OAAMF,GAAG,CAACC,EAAE,CAAC,CAAC/E,WAAW,CAAC+E,EAAE,CAAC,CAAA;GAAE,EAAA,CAACA,EAAE,CAAC,CAAC,CAAA;EAE3D,OAAO;AAAEzG,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AACrB;;ICpBa2G,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAlE,IAAA,EAAgE;AAAA,EAAA,IAA3BC,IAAI,GAAAD,IAAA,CAAJC,IAAI,CAAA;AACpE,EAAA,IAAMvB,KAAK,GAAGkF,SAAS,CAAC3D,IAAI,CAAC,CAAA;AAE7B,EAAA,IAAMkE,MAAM,GAAG9F,MAAM,CAACgE,MAAM,CAAC3D,KAAK,CAACnB,MAAM,IAAI,EAAE,CAAC,CAAA;AAEhD,EAAA,IAAM6G,EAAE,GAAGC,WAAK,EAAE,CAAA;EAElB,OACIC;cACKH,MAAM,CAACtD,GAAG,CAAC,UAAC0D,KAAK,EAAI;AAAA,MAAA,IAAAC,WAAA,CAAA;MAClB,OACIF,cAAC,CAAAG,cAAQ,EACL;AAAAC,QAAAA,QAAA,EAAAJ,cAAA,CAACK,gCAAc,EAAC;AAAAC,UAAAA,SAAS,EAAEL,KAAAA;SAAS,CAAA;AAAA,OAAA,EADtBH,EAAE,GAAA,GAAA,IAAI,CAAAI,CAAAA,WAAA,GAAAD,KAAK,CAACtE,IAAI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAVuE,WAAA,CAAYtE,OAAO,KAAI,EAAE,CAAE,CAExC,CAAA;KAElB,CAAA;AACF,GAAA,CAAA,CAAA;AAEX;;ICvBa2E,mBAAmB,gBAG3BC,UAAI,CAAC,UAAA9E,IAAA,EAAyB;AAAA,EAAA,IAAtB0E,QAAQ,GAAA1E,IAAA,CAAR0E,QAAQ;IAAEnH,MAAM,GAAAyC,IAAA,CAANzC,MAAM,CAAA;AACzB,EAAA,OAAO+G,cAAA,CAAClH,kBAAkB,CAAC2H,QAAQ,EAAA;AAACvC,IAAAA,KAAK,EAAEjF,MAAM;AAAAmH,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAA,CAA+B,CAAA;AAC/F,CAAC;;;;;;;;;;;;;;;;"}
|
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 } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n if (schema._def.typeName === 'ZodObject') {\n return {};\n }\n\n if (schema._def.typeName === 'ZodArray') {\n return [];\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};\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 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;\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 { 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 useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [cbP, dp]);\n\n return { schema };\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 inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.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, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","typeName","undefined","getDefaultValues","objectSchema","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","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","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","dp","useMemo","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","Provider"],"mappings":";;;;;;;;IAGaA,kBAAkB,gBAAGC,gCAAa,CAAmB,EAAsB;;;;;;;;;;;;;;;;;;;;;ACAlF,SAAUC,yBAAyBA,CAACC,MAAoB,EAAA;AAC1D,EAAA,IAAIA,MAAM,YAAYC,KAAC,CAACC,UAAU,EAAE;AAChC,IAAA,OAAOF,MAAM,CAACG,IAAI,CAACC,YAAY,EAAE,CAAA;AACpC,GAAA;AAED,EAAA,IAAIJ,MAAM,YAAYC,KAAC,CAACI,UAAU,EAAE;AAChC,IAAA,OAAON,yBAAyB,CAACC,MAAM,CAACM,SAAS,EAAE,CAAC,CAAA;AACvD,GAAA;AAED,EAAA,IAAIN,MAAM,CAACG,IAAI,CAACI,QAAQ,KAAK,WAAW,EAAE;AACtC,IAAA,OAAO,EAAE,CAAA;AACZ,GAAA;AAED,EAAA,IAAIP,MAAM,CAACG,IAAI,CAACI,QAAQ,KAAK,UAAU,EAAE;AACrC,IAAA,OAAO,EAAE,CAAA;AACZ,GAAA;AAED,EAAA,OAAOC,SAAS,CAAA;AACpB,CAAA;AAEM,SAAUC,gBAAgBA,CAACT,MAA0B,EAAA;AACvD,EAAA,IAAMU,YAAY,GAAGV,MAAM,YAAYC,KAAC,CAACI,UAAU,GAAGL,MAAM,CAACM,SAAS,EAAE,GAAGN,MAAM,CAAA;AACjF,EAAA,IAAMW,KAAK,GAAGD,YAAY,CAACC,KAAK,CAAA;EAEhC,IAAMC,aAAa,GAAwB,EAAE,CAAA;AAE7C,EAAA,KAAA,IAAAC,EAAA,GAAAC,CAAAA,EAAAA,eAAA,GAA2BC,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,EAAAE,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,EAAE,EAAA;AAA7C,IAAA,IAAAK,kBAAA,GAAAJ,eAAA,CAAAD,EAAA,CAAA;AAAOM,MAAAA,GAAG,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,KAAK,GAAAF,kBAAA,CAAA,CAAA,CAAA,CAAA;AAClB,IAAA,IAAMd,YAAY,GAAGL,yBAAyB,CAACqB,KAAqB,CAAC,CAAA;IACrE,IAAIhB,YAAY,KAAKI,SAAS,EAAE;AAC5BI,MAAAA,aAAa,CAACO,GAAG,CAAC,GAAGf,YAAY,CAAA;AACpC,KAAA;AACJ,GAAA;AAED,EAAA,OAAOQ,aAAa,CAAA;AACxB;;ICnCaS,mBAAmB,gBAAGC,MAAM,CAAC,gBAAgB,EAAC;IAU9CC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CACjCC,GAAa,EACb;EACCA,GAAG,CAACC,OAAO,CAACC,SAAiB,CAACC,WAAW,GAAG,UACzCC,MAAqD,EAAA;AAErD,IAAA,IAAI,CAACzB,IAAI,CAACwB,WAAW,GAAGC,MAAM,CAAA;AAC9B,IAAA,OAAO,IAAI,CAAA;GACd,CAAA;AACL,EAAC;AAEYC,IAAAA,0BAA0B,GACnC,SADSA,0BAA0BA,GAAA;EAAA,OAEnC,UAACD,MAAqD,EAAyB;AAC3E,IAAA,IAAME,kBAAkB,GAAwB,SAA1CA,kBAAkBA,GAA6B;AACjD;KACH,CAAA;AAED;AACAA,IAAAA,kBAAkB,CAACT,mBAAmB,CAAC,GAAGO,MAAM,CAAA;AAEhD,IAAA,OAAOE,kBAAkB,CAAA;GAC5B,CAAA;AAAA,EAAA;AAEC,SAAUC,wBAAwBA,CAAC/B,MAAoB,EAAA;AACzD;AACA,EAAA,IAAIA,MAAM,CAACG,IAAI,CAACwB,WAAW,EAAE;AACzB,IAAA,OAAO3B,MAAM,CAACG,IAAI,CAACwB,WAA0B,CAAA;AAChD,GAAA;AAED;AACA,EAAA,IAAI,WAAW,IAAI3B,MAAM,CAACG,IAAI,EAAE;AAC5B,IAAA,OAAO4B,wBAAwB,CAAC/B,MAAM,CAACG,IAAI,CAACG,SAAqB,CAAC,CAAA;AACrE,GAAA;AAED;AACA,EAAA,IAAI,QAAQ,IAAIN,MAAM,CAACG,IAAI,EAAE;AACzB,IAAA,OAAO4B,wBAAwB,CAAC/B,MAAM,CAACG,IAAI,CAACH,MAAkB,CAAC,CAAA;AAClE,GAAA;AAED;AACA,EAAA,OAAO,EAAiB,CAAA;AAC5B;;ACnDgB,SAAAgC,cAAcA,CAAChC,MAAoB,EAAEiC,SAAoC,EAAA;AACrF,EAAA,IAAIA,SAAS,EAAE;AACX,IAAA,OAAOA,SAAS,CAAA;AACnB,GAAA;AAED,EAAA,IAAMC,IAAI,GAAGlC,MAAM,CAACG,IAAI,CAACI,QAAQ,CAAA;EAEjC,IAAM4B,cAAc,GAAG,IAAIC,GAAG,CAAC,CAC3B,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,YAAY,EAAE,SAAS,CAAC,EACzB,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,SAAS,EAAE,QAAQ,CAAC,EACrB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAC3B,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC,CAAA;AAEF,EAAA,IAAMC,KAAK,GAAGF,cAAc,CAACG,GAAG,CAACJ,IAAI,CAAC,CAAA;AAEtC,EAAA,OAAOG,KAAK,IAAI,QAAQ,CAAC;AAC7B;;;ACLA,IAAME,WAAW,GAAoB;AACjCC,EAAAA,qBAAqB,EAArBA,SAAAA,qBAAqBA,CAAAC,IAAA,EAAsC;AAAA,IAAA,IAAnCzC,MAAM,GAAAyC,IAAA,CAANzC,MAAM;MAAE0C,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;MAAEC,UAAU,GAAAH,IAAA,CAAVG,UAAU,CAAA;AACrD,IAAA,IAAAC,YAAA,GAAmD7C,MAAM,CAACG,IAAI;MAAtD2C,UAAU,GAAAD,YAAA,CAAVC,UAAU;MAAEC,aAAa,GAAAF,YAAA,CAAbE,aAAa;MAAEpB,WAAW,GAAAkB,YAAA,CAAXlB,WAAW,CAAA;AAE9C,IAAA,IAAI,CAACZ,MAAM,CAACiC,IAAI,CAACJ,UAAU,CAAC,CAAC3B,MAAM,EAAE,OAAO,CAAC,EAAE,CAA+B,CAAA;AAE9E,IAAA,IAAMgC,SAAS,GAAGL,UAAU,CAACG,aAAa,CAAC,CAAA;AAC3C,IAAA,IAAMG,MAAM,GAAGJ,UAAU,CAACR,GAAG,CAACW,SAAS,CAAC,CAAA;AAExC,IAAA,IAAI,CAACC,MAAM,EAAE,OAAO,CAAC,EAAE,CAA+B,CAAA;IAEtD,IAAMlC,OAAO,GAAGD,MAAM,CAACC,OAAO,CAACkC,MAAM,CAACvC,KAAK,CAAC,CAAA;AAE5C,IAAA,IAAMwC,MAAM,GAAGnC,OAAO,CACjBoC,MAAM,CAAC,UAAAC,KAAA,EAAA;MAAA,IAAElC,GAAG,GAAAkC,KAAA,CAAA,CAAA,CAAA,CAAA;MAAA,OAAMlC,GAAG,KAAK4B,aAAa,CAAA;AAAA,KAAA,CAAC,CACxCO,GAAG,CAAC,UAAAC,KAAA,EAAiB;MAAA,IAAfpC,GAAG,GAAAoC,KAAA,CAAA,CAAA,CAAA;AAAEnC,QAAAA,KAAK,GAAAmC,KAAA,CAAA,CAAA,CAAA,CAAA;AACb,MAAA,IAAIC,aAAa,GAAG,CAACb,OAAO,GAAG,CAACA,OAAO,EAAED,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,EAAEe,IAAI,CAAC,GAAG,CAAC,CAAA;AAElE,MAAA,IAAID,aAAa,CAACE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAEF,aAAa,GAAGA,aAAa,CAACG,SAAS,CAAC,CAAC,CAAC,CAAA;AAC/E,MAAA,OAAOC,UAAU,CAAC;AACdlB,QAAAA,IAAI,EAAEvB,GAAG;AACTnB,QAAAA,MAAM,EAAEoB,KAAqB;AAC7BuB,QAAAA,OAAO,EAAEa,aAAa;AACtBZ,QAAAA,UAAU,EAAVA,UAAAA;AACH,OAAA,CAAC,CAAA;AACN,KAAC,CAAC,CAAA;IAEN,IAAIY,aAAa,GAAG,CAACb,OAAO,GAAG,CAACA,OAAO,EAAED,IAAI,EAAEK,aAAa,CAAC,GAAG,CAACL,IAAI,EAAEK,aAAa,CAAC,EAAEU,IAAI,CACvF,GAAG,CACN,CAAA;AAED,IAAA,IAAID,aAAa,CAACE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAEF,aAAa,GAAGA,aAAa,CAACG,SAAS,CAAC,CAAC,CAAC,CAAA;IAE/ER,MAAM,CAACU,OAAO,CAAC;AACXnB,MAAAA,IAAI,EAAE;AACFoB,QAAAA,OAAO,EAAEf,aAAa;AACtBJ,QAAAA,OAAO,EAAEa,aAAAA;OACZ;AACDtB,MAAAA,IAAI,EAAE,eAAe;AACrB6B,MAAAA,QAAQ,EAAE,IAAI;AACd,MAAA,SAAA,EAASd,SAAS;AAClBtB,MAAAA,WAAW,EAAXA,WAAW;AACXqC,MAAAA,OAAO,EAAEC,KAAK,CAACC,IAAI,CAACpB,UAAU,CAACE,IAAI,EAAE,CAAC,CAACM,GAAG,CAAC,UAACnC,GAAG,EAAA;QAAA,OAAK,CAACgD,MAAM,CAAChD,GAAG,CAAC,EAAEgD,MAAM,CAAChD,GAAG,CAAC,CAAC,CAAA;AAAA,OAAA,CAAA;AACjF,KAAA,CAAC,CAAA;AAEF,IAAA,OAAOgC,MAAM,CAAA;GAChB;AAEDiB,EAAAA,SAAS,EAATA,SAAAA,SAASA,CAAAC,KAAA,EAAsC;AAAA,IAAA,IAAnCrE,MAAM,GAAAqE,KAAA,CAANrE,MAAM;MAAE0C,IAAI,GAAA2B,KAAA,CAAJ3B,IAAI;MAAEC,OAAO,GAAA0B,KAAA,CAAP1B,OAAO;MAAEC,UAAU,GAAAyB,KAAA,CAAVzB,UAAU,CAAA;AACzC,IAAA,IAAIY,aAAa,GAAG,CAACb,OAAO,GAAG,CAACA,OAAO,EAAED,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,EAAEe,IAAI,CAAC,GAAG,CAAC,CAAA;AAElE,IAAA,IAAID,aAAa,CAACE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAEF,aAAa,GAAGA,aAAa,CAACG,SAAS,CAAC,CAAC,CAAC,CAAA;AAC/E,IAAA,OAAO5C,MAAM,CAACC,OAAO,CAAEhB,MAAc,CAACW,KAAK,CAAC,CAAC2C,GAAG,CAAC,UAAAgB,KAAA,EAAA;MAAA,IAAEnD,GAAG,GAAAmD,KAAA,CAAA,CAAA,CAAA;AAAElD,QAAAA,KAAK,GAAAkD,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAAA,OACzDV,UAAU,CAAC;AACPlB,QAAAA,IAAI,EAAEvB,GAAG;AACTnB,QAAAA,MAAM,EAAEoB,KAAqB;AAC7BuB,QAAAA,OAAO,EAAEa,aAAa;AACtBZ,QAAAA,UAAU,EAAVA,UAAAA;AACH,OAAA,CAAC,CAAA;KACL,CAAA,CAAA;GACJ;AAED2B,EAAAA,QAAQ,EAARA,SAAAA,QAAQA,CAAAC,KAAA,EAAsC;AAAA,IAAA,IAAnCxE,MAAM,GAAAwE,KAAA,CAANxE,MAAM;MAAE0C,IAAI,GAAA8B,KAAA,CAAJ9B,IAAI;MAAEC,OAAO,GAAA6B,KAAA,CAAP7B,OAAO;MAAEC,UAAU,GAAA4B,KAAA,CAAV5B,UAAU,CAAA;AACxC,IAAA,IAAIY,aAAa,GAAG,CAACb,OAAO,GAAG,CAACA,OAAO,EAAED,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,EAAEe,IAAI,CAAC,GAAG,CAAC,CAAA;AAElE,IAAA,IAAID,aAAa,CAACE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAEF,aAAa,GAAGA,aAAa,CAACG,SAAS,CAAC,CAAC,CAAC,CAAA;IAC/E,OAAO,CACHC,UAAU,CAAC;AACPlB,MAAAA,IAAI,EAAE,GAAG;AACT1C,MAAAA,MAAM,EAAEA,MAAM,CAACG,IAAI,CAAC+B,IAAI;AACxBS,MAAAA,OAAO,EAAEa,aAAa;AACtBZ,MAAAA,UAAU,EAAVA,UAAAA;KACH,CAAC,CACL,CAAA;AACL,GAAA;CACH,CAAA;AAED,SAASgB,UAAUA,CAAAa,KAAA,EAKA;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,CAAA;AAAA,EAAA,IAJfjC,IAAI,GAAA+B,KAAA,CAAJ/B,IAAI;IACJ1C,MAAM,GAAAyE,KAAA,CAANzE,MAAM;IACN2C,OAAO,GAAA8B,KAAA,CAAP9B,OAAO;IAAAiC,gBAAA,GAAAH,KAAA,CACP7B,UAAU;AAAVA,IAAAA,UAAU,GAAAgC,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA,CAAA;AAEf,EAAA,IAAMC,UAAU,GAAGC,aAAa,CAAC9E,MAAM,CAAC,CAAA;AACxC,EAAA,IAAA+E,qBAAA,GAA0ChD,wBAAwB,CAAC/B,MAAM,CAAC;IAAlEiC,SAAS,GAAA8C,qBAAA,CAAT9C,SAAS;AAAK+C,IAAAA,eAAe,GAAAC,6BAAA,CAAAF,qBAAA,EAAAG,SAAA,CAAA,CAAA;AACrC,EAAA,IAAMhD,IAAI,GAAGF,cAAc,CAAC6C,UAAU,EAAE5C,SAAS,CAAC,CAAA;AAClD,EAAA,IAAM7B,YAAY,GAAGL,yBAAyB,CAACC,MAAM,CAAC,CAAA;EAEtD,IAAI2B,WAAW,GAAGqD,eAAe,CAAA;AAEjC;AACA,EAAA,IAAMhB,OAAO,GAAGa,UAAU,CAAC1E,IAAI,CAACgF,MAAM,CAAA;EACtC,IAAIC,YAAY,GAAuB,EAAE,CAAA;AACzC,EAAA,IAAIpB,OAAO,EAAE;AACT,IAAA,IAAI,CAACC,KAAK,CAACoB,OAAO,CAACrB,OAAO,CAAC,EAAE;AACzBoB,MAAAA,YAAY,GAAGrE,MAAM,CAACC,OAAO,CAACgD,OAAO,CAAC,CAAA;AACzC,KAAA,MAAM;AACHoB,MAAAA,YAAY,GAAGpB,OAAO,CAACV,GAAG,CAAC,UAACgC,KAAK,EAAA;AAAA,QAAA,OAAK,CAACA,KAAK,EAAEA,KAAK,CAAC,CAAA;OAAC,CAAA,CAAA;AACxD,KAAA;AACJ,GAAA;AAED,EAAA,IAAQ/E,QAAQ,GAAKsE,UAAU,CAAC1E,IAAI,CAA5BI,QAAQ,CAAA;AAEhB;AACA,EAAA,IAAMgF,YAAY,GAAGhD,WAAW,CAAChC,QAAoC,CAAC,CAAA;AAEtE,EAAA,IAAMiF,SAAS,GAAGD,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAG;AAC7B7C,IAAAA,IAAI,EAAJA,IAAI;AACJ1C,IAAAA,MAAM,EAAE6E,UAAU;AAClBlC,IAAAA,OAAO,EAAPA,OAAO;AACPC,IAAAA,UAAU,EAAVA,UAAAA;AACH,GAAA,CAAC,CAAA;AAEFjB,EAAAA,WAAW,GAAA8D,QAAA,CAAA;AACPC,IAAAA,GAAG,EAAE,CAAA,CAAAhB,qBAAA,GAAAG,UAAU,CAAC1E,IAAI,CAACwF,SAAS,KAAzBjB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA2BY,KAAK,KAAI,CAAC;IAC1CM,GAAG,EAAA,CAAAjB,qBAAA,GAAEE,UAAU,CAAC1E,IAAI,CAAC0F,SAAS,KAAzBlB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA2BW,KAAAA;AAAK,GAAA,EAClC3D,WAAW,CACjB,CAAA;AAED,EAAA,IAAI6B,aAAa,GAAG,CAACb,OAAO,GAAG,CAACA,OAAO,EAAED,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,EAAEe,IAAI,CAAC,GAAG,CAAC,CAAA;AAElE,EAAA,IAAID,aAAa,CAACE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAEF,aAAa,GAAGA,aAAa,CAACG,SAAS,CAAC,CAAC,CAAC,CAAA;AAE/E,EAAA,IAAMmC,IAAI,GAAG;AACTpD,IAAAA,IAAI,EAAE;AACFoB,MAAAA,OAAO,EAAEpB,IAAI;AACbC,MAAAA,OAAO,EAAEa,aAAAA;KACZ;AACDtB,IAAAA,IAAI,EAAJA,IAAI;AACJ6B,IAAAA,QAAQ,EAAE,CAAC/D,MAAM,CAAC+F,UAAU,EAAE;AAC9B,IAAA,SAAA,EAAS3F,YAAY;AACrBuB,IAAAA,WAAW,EAAXA,WAAW;AACXqC,IAAAA,OAAO,EAAEoB,YAAY;AACrBpF,IAAAA,MAAM,EAAEwF,SAAS;IACjBQ,WAAW,EAAEnB,UAAU,CAACmB,WAAAA;GAC3B,CAAA;AAED,EAAA,OAAOF,IAAI,CAAA;AACf,CAAA;AAEA,SAAShB,aAAaA,CAClB9E,MAA2C,EAAA;AAE3C,EAAA,IAAI,WAAW,IAAIA,MAAM,CAACG,IAAI,EAAE;AAC5B,IAAA,OAAO2E,aAAa,CAAC9E,MAAM,CAACG,IAAI,CAACG,SAAsB,CAAC,CAAA;AAC3D,GAAA;AACD,EAAA,IAAI,QAAQ,IAAIN,MAAM,CAACG,IAAI,EAAE;AACzB,IAAA,OAAO2E,aAAa,CAAC9E,MAAM,CAACG,IAAI,CAACH,MAAmB,CAAC,CAAA;AACxD,GAAA;AAED,EAAA,OAAOA,MAAmB,CAAA;AAC9B,CAAA;IAEaiG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAqB,EAAkB;AAC/D,EAAA,IAAMxF,YAAY,GAAGwF,CAAC,YAAYjG,KAAC,CAACI,UAAU,GAAG6F,CAAC,CAAC5F,SAAS,EAAE,GAAG4F,CAAC,CAAA;AAClE,EAAA,IAAMvF,KAAK,GAAGD,YAAY,CAACC,KAAK,CAAA;AAEhC,EAAA,IAAMiC,UAAU,GAAIlC,YAAY,CAACP,IAAY,CAACwB,WAAW,CAAA;AAEzD,EAAA,IAAMwB,MAAM,GAAGpC,MAAM,CAACoF,WAAW,CAC7BpF,MAAM,CAACC,OAAO,CAACL,KAAK,CAAC,CAAC2C,GAAG,CAAC,UAAA8C,KAAA,EAAA;IAAA,IAAEjF,GAAG,GAAAiF,KAAA,CAAA,CAAA,CAAA;AAAEhF,MAAAA,KAAK,GAAAgF,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IAAA,OAAM,CACxCjF,GAAG,EACHyC,UAAU,CAAC;AACPlB,MAAAA,IAAI,EAAEvB,GAAG;AACTnB,MAAAA,MAAM,EAAEoB,KAAqB;AAC7BwB,MAAAA,UAAU,EAAVA,UAAAA;KACH,CAAC,CACL,CAAA;AAAA,GAAA,CAAC,CACL,CAAA;EAED,OAAO;AAAEO,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AACrB;;ACxLA,IAAMkD,aAAa,GAAG,SAAhBA,aAAaA,GAAA;EAAA,OACfC,6BAAU,CAACzG,kBAAkB,CAAuD,CAAA;AAAA,CAAA,CAAA;IAE3E0G,SAAS,GAAG,SAAZA,SAASA,CAAoCpF,GAAa,EAAI;AACvE,EAAA,IAAM+E,CAAC,GAAGG,aAAa,EAAE,CAAA;AAEzB,EAAA,IAAAG,YAAA,GAAmBP,WAAW,CAACC,CAAC,CAAC;IAAzB/C,MAAM,GAAAqD,YAAA,CAANrD,MAAM,CAAA;EAEd,OAAOA,MAAM,CAAChC,GAAa,CAAC,CAAA;AAChC,EAAC;AASM,IAAMsF,SAAS,GAAG,SAAZA,SAASA,CAAIC,GAAqC,EAAEC,EAAM,EAAI;EACvE,IAAM3G,MAAM,GAAG4G,aAAO,CAAC,YAAA;IAAA,OAAMF,GAAG,CAACC,EAAE,CAAC,CAAChF,WAAW,CAACgF,EAAE,CAAC,CAAA;AAAA,GAAA,EAAE,CAACD,GAAG,EAAEC,EAAE,CAAC,CAAC,CAAA;EAEhE,OAAO;AAAE3G,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AACrB;;ICpBa6G,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAApE,IAAA,EAAgE;AAAA,EAAA,IAA3BC,IAAI,GAAAD,IAAA,CAAJC,IAAI,CAAA;AACpE,EAAA,IAAMtB,KAAK,GAAGmF,SAAS,CAAC7D,IAAI,CAAC,CAAA;AAE7B,EAAA,IAAMoE,MAAM,GAAG/F,MAAM,CAACoE,MAAM,CAAC/D,KAAK,CAACpB,MAAM,IAAI,EAAE,CAAC,CAAA;AAEhD,EAAA,IAAM+G,EAAE,GAAGC,WAAK,EAAE,CAAA;EAElB,OACIC;cACKH,MAAM,CAACxD,GAAG,CAAC,UAAC4D,KAAK,EAAI;AAAA,MAAA,IAAAC,WAAA,CAAA;MAClB,OACIF,cAAC,CAAAG,cAAQ,EACL;AAAAC,QAAAA,QAAA,EAAAJ,cAAA,CAACK,gCAAc,EAAC;AAAAC,UAAAA,SAAS,EAAEL,KAAAA;SAAS,CAAA;AAAA,OAAA,EADtBH,EAAE,GAAA,GAAA,IAAI,CAAAI,CAAAA,WAAA,GAAAD,KAAK,CAACxE,IAAI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAVyE,WAAA,CAAYxE,OAAO,KAAI,EAAE,CAAE,CAExC,CAAA;KAElB,CAAA;AACF,GAAA,CAAA,CAAA;AAEX;;ICvBa6E,mBAAmB,gBAG3BC,UAAI,CAAC,UAAAhF,IAAA,EAAyB;AAAA,EAAA,IAAtB4E,QAAQ,GAAA5E,IAAA,CAAR4E,QAAQ;IAAErH,MAAM,GAAAyC,IAAA,CAANzC,MAAM,CAAA;AACzB,EAAA,OAAOiH,cAAA,CAACpH,kBAAkB,CAAC6H,QAAQ,EAAA;AAACpC,IAAAA,KAAK,EAAEtF,MAAM;AAAAqH,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAA,CAA+B,CAAA;AAC/F,CAAC;;;;;;;;;;;;;;;;"}
|
@@ -1,2 +1,2 @@
|
|
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 e instanceof i.z.ZodDefault?e._def.defaultValue():e instanceof i.z.ZodEffects?s(e.innerType()):void 0}var
|
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 e instanceof i.z.ZodDefault?e._def.defaultValue():e instanceof i.z.ZodEffects?s(e.innerType()):"ZodObject"===e._def.typeName?{}:"ZodArray"===e._def.typeName?[]:void 0}var c=Symbol("GetFieldConfig");function u(e){return e._def.fieldConfig?e._def.fieldConfig:"innerType"in e._def?u(e._def.innerType):"schema"in e._def?u(e._def.schema):{}}function d(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 f=["fieldType"],p={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 c=t[a],u=o.get(c);if(!u)return[{}];var d=Object.entries(u.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)),m({name:i,schema:o,history:a,dependecys:t})})),f=(r?[r,n,a]:[n,a]).join(".");return"."===f.charAt(0)&&(f=f.substring(1)),d.unshift({name:{current:a,history:f},type:"discriminator",required:!0,default:c,fieldConfig:s,options:Array.from(o.keys()).map((function(e){return[String(e),String(e)]}))}),d},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 m({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)),[m({name:"0",schema:n._def.type,history:o,dependecys:i})]}};function m(e){var n,r,t=e.name,i=e.schema,o=e.history,c=e.dependecys,m=void 0===c?{}:c,h=l(i),y=u(i),v=y.fieldType,g=function(e,n){if(null==e)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(n.includes(t))continue;r[t]=e[t]}return r}(y,f),x=d(h,v),b=s(i),j=g,_=h._def.values,Z=[];_&&(Z=Array.isArray(_)?_.map((function(e){return[e,e]})):Object.entries(_));var O=p[h._def.typeName],C=null==O?void 0:O({name:t,schema:h,history:o,dependecys:m});j=a({min:(null==(n=h._def.minLength)?void 0:n.value)||1,max:null==(r=h._def.maxLength)?void 0:r.value},j);var F=(o?[o,t]:[t]).join(".");return"."===F.charAt(0)&&(F=F.substring(1)),{name:{current:t,history:F},type:x,required:!i.isOptional(),default:b,fieldConfig:j,options:Z,schema:C,description:h.description}}function l(e){return"innerType"in e._def?l(e._def.innerType):"schema"in e._def?l(e._def.schema):e}var h=function(e){var n=e instanceof i.z.ZodEffects?e.innerType():e,r=n._def.fieldConfig;return{fields:Object.fromEntries(Object.entries(n.shape).map((function(e){var n=e[0];return[n,m({name:n,schema:e[1],dependecys:r})]})))}},y=function(n){var r=e.useContext(o);return h(r).fields[n]},v=t.memo((function(e){return n.jsx(o.Provider,{value:e.schema,children:e.children})}));exports.FIELD_CONFIG_SYMBOL=c,exports.FormInstantElement=function(e){var i=y(e.name),o=Object.values(i.schema||{}),a=t.useId();return n.jsx(n.Fragment,{children:o.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=v,exports.ZodResolverContext=o,exports.createZodSchemaFieldConfig=function(){return function(e){var n=function(){};return n[c]=e,n}},exports.extendZodWithFieldConfig=function(e){e.ZodType.prototype.fieldConfig=function(e){return this._def.fieldConfig=e,this}},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],c=a[0],u=s(a[1]);void 0!==u&&(r[c]=u)}return r},exports.getFieldConfigInZodStack=u,exports.inferFieldType=d,exports.parseSchema=h,exports.useFields=y,exports.useSchema=function(e,n){return{schema:t.useMemo((function(){return e(n).fieldConfig(n)}),[e,n])}};
|
2
2
|
//# sourceMappingURL=react-resolver-zod.cjs.production.min.js.map
|
@@ -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/provider.tsx","../src/element.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.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};\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 typeMapping {\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: typeMapping) => 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 return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: [history, name].join('.'),\n dependecys,\n });\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\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 return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: [history, name].join('.'),\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: [history, name].join('.'),\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({ name, schema, history, dependecys = {} }: typeMapping): 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 // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: {\n current: name,\n history: [history, name].filter(Boolean).join('.'),\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;\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 { 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 useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [dp]);\n\n return { schema };\n};\n","import { FC, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\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 inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","fieldConfig","inferFieldType","fieldType","type","typeName","Map","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","fields","entries","shape","filter","_ref2","map","_ref3","parseField","join","unshift","current","required","default","options","Array","from","key","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","_baseSchema$_def$minL","_baseSchema$_def$maxL","getSubSchema","subSchema","_extends","min","minLength","max","maxLength","Boolean","isOptional","description","parseSchema","S","objectSchema","fromEntries","_ref8","useFields","useContext","FormInstantProvider","memo","_jsx","jsx","Provider","children","field","inputs","id","useId","props","_props$name","Fragment","ElementMapping","formProps","config","refinementFunction","zod","ZodType","prototype","this","defaultValues","_i","_Object$entries","_Object$entries$_i","undefined","cbP","dp","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/provider.tsx","../src/element.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n if (schema._def.typeName === 'ZodObject') {\n return {};\n }\n\n if (schema._def.typeName === 'ZodArray') {\n return [];\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};\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 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;\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 { 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 useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [cbP, dp]);\n\n return { schema };\n};\n","import { FC, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\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 inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","typeName","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","_extends","min","minLength","max","maxLength","isOptional","description","parseSchema","S","objectSchema","fromEntries","_ref8","useFields","useContext","FormInstantProvider","memo","_jsx","jsx","Provider","children","inputs","id","useId","props","_props$name","Fragment","ElementMapping","formProps","config","refinementFunction","zod","ZodType","prototype","this","defaultValues","_i","_Object$entries","_Object$entries$_i","undefined","cbP","dp","useMemo"],"mappings":"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"}
|
@@ -32,6 +32,12 @@ function getDefaultValueInZodStack(schema) {
|
|
32
32
|
if (schema instanceof z.ZodEffects) {
|
33
33
|
return getDefaultValueInZodStack(schema.innerType());
|
34
34
|
}
|
35
|
+
if (schema._def.typeName === 'ZodObject') {
|
36
|
+
return {};
|
37
|
+
}
|
38
|
+
if (schema._def.typeName === 'ZodArray') {
|
39
|
+
return [];
|
40
|
+
}
|
35
41
|
return undefined;
|
36
42
|
}
|
37
43
|
function getDefaultValues(schema) {
|
@@ -116,17 +122,21 @@ var typeMapping = {
|
|
116
122
|
}).map(function (_ref3) {
|
117
123
|
var key = _ref3[0],
|
118
124
|
field = _ref3[1];
|
125
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
126
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
119
127
|
return parseField({
|
120
128
|
name: key,
|
121
129
|
schema: field,
|
122
|
-
history:
|
130
|
+
history: historyFormat,
|
123
131
|
dependecys: dependecys
|
124
132
|
});
|
125
133
|
});
|
134
|
+
var historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join('.');
|
135
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
126
136
|
fields.unshift({
|
127
137
|
name: {
|
128
138
|
current: discriminator,
|
129
|
-
history:
|
139
|
+
history: historyFormat
|
130
140
|
},
|
131
141
|
type: 'discriminator',
|
132
142
|
required: true,
|
@@ -143,13 +153,15 @@ var typeMapping = {
|
|
143
153
|
name = _ref4.name,
|
144
154
|
history = _ref4.history,
|
145
155
|
dependecys = _ref4.dependecys;
|
156
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
157
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
146
158
|
return Object.entries(schema.shape).map(function (_ref5) {
|
147
159
|
var key = _ref5[0],
|
148
160
|
field = _ref5[1];
|
149
161
|
return parseField({
|
150
162
|
name: key,
|
151
163
|
schema: field,
|
152
|
-
history:
|
164
|
+
history: historyFormat,
|
153
165
|
dependecys: dependecys
|
154
166
|
});
|
155
167
|
});
|
@@ -159,15 +171,18 @@ var typeMapping = {
|
|
159
171
|
name = _ref6.name,
|
160
172
|
history = _ref6.history,
|
161
173
|
dependecys = _ref6.dependecys;
|
174
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
175
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
162
176
|
return [parseField({
|
163
177
|
name: '0',
|
164
178
|
schema: schema._def.type,
|
165
|
-
history:
|
179
|
+
history: historyFormat,
|
166
180
|
dependecys: dependecys
|
167
181
|
})];
|
168
182
|
}
|
169
183
|
};
|
170
184
|
function parseField(_ref7) {
|
185
|
+
var _baseSchema$_def$minL, _baseSchema$_def$maxL;
|
171
186
|
var name = _ref7.name,
|
172
187
|
schema = _ref7.schema,
|
173
188
|
history = _ref7.history,
|
@@ -192,25 +207,25 @@ function parseField(_ref7) {
|
|
192
207
|
});
|
193
208
|
}
|
194
209
|
}
|
210
|
+
var typeName = baseSchema._def.typeName;
|
195
211
|
// Arrays and objects
|
196
|
-
var getSubSchema = typeMapping[
|
212
|
+
var getSubSchema = typeMapping[typeName];
|
197
213
|
var subSchema = getSubSchema == null ? void 0 : getSubSchema({
|
198
214
|
name: name,
|
199
215
|
schema: baseSchema,
|
200
216
|
history: history,
|
201
217
|
dependecys: dependecys
|
202
218
|
});
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
}
|
219
|
+
fieldConfig = _extends({
|
220
|
+
min: ((_baseSchema$_def$minL = baseSchema._def.minLength) == null ? void 0 : _baseSchema$_def$minL.value) || 1,
|
221
|
+
max: (_baseSchema$_def$maxL = baseSchema._def.maxLength) == null ? void 0 : _baseSchema$_def$maxL.value
|
222
|
+
}, fieldConfig);
|
223
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
224
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
210
225
|
var resp = {
|
211
226
|
name: {
|
212
227
|
current: name,
|
213
|
-
history:
|
228
|
+
history: historyFormat
|
214
229
|
},
|
215
230
|
type: type,
|
216
231
|
required: !schema.isOptional(),
|
@@ -261,7 +276,7 @@ var useFields = function useFields(key) {
|
|
261
276
|
var useSchema = function useSchema(cbP, dp) {
|
262
277
|
var schema = useMemo(function () {
|
263
278
|
return cbP(dp).fieldConfig(dp);
|
264
|
-
}, [dp]);
|
279
|
+
}, [cbP, dp]);
|
265
280
|
return {
|
266
281
|
schema: schema
|
267
282
|
};
|
@@ -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.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 } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.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};\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 typeMapping {\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: typeMapping) => 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 return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: [history, name].join('.'),\n dependecys,\n });\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\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 return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: [history, name].join('.'),\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: [history, name].join('.'),\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({ name, schema, history, dependecys = {} }: typeMapping): 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 // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: {\n current: name,\n history: [history, name].filter(Boolean).join('.'),\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;\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 { 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 useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [dp]);\n\n return { schema };\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 inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.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, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","getDefaultValues","objectSchema","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","typeName","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","parseField","join","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def$minL","_baseSchema$_def$maxL","_extends","min","minLength","max","maxLength","resp","Boolean","isOptional","description","parseSchema","S","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","dp","useMemo","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","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.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 } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n if (schema._def.typeName === 'ZodObject') {\n return {};\n }\n\n if (schema._def.typeName === 'ZodArray') {\n return [];\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};\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 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;\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 { 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 useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [cbP, dp]);\n\n return { schema };\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 inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.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, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","typeName","undefined","getDefaultValues","objectSchema","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","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","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","dp","useMemo","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","Provider"],"mappings":"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"}
|