@form-instant/react-resolver-zod 1.8.3 → 1.10.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 +60 -6
- 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 +61 -8
- package/dist/react-resolver-zod.esm.js.map +1 -1
- package/dist/useSchema.d.ts +5 -3
- package/package.json +1 -1
@@ -21,7 +21,7 @@ function _objectWithoutPropertiesLoose(r, e) {
|
|
21
21
|
if (null == r) return {};
|
22
22
|
var t = {};
|
23
23
|
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
24
|
-
if (e.
|
24
|
+
if (-1 !== e.indexOf(n)) continue;
|
25
25
|
t[n] = r[n];
|
26
26
|
}
|
27
27
|
return t;
|
@@ -275,7 +275,6 @@ var parseSchema = function parseSchema(S) {
|
|
275
275
|
var objectSchema = S instanceof zod.z.ZodEffects ? S.innerType() : S;
|
276
276
|
var shape = objectSchema.shape;
|
277
277
|
var dependecys = ((_objectSchema$_def$fi = objectSchema._def.fieldConfig) == null ? void 0 : _objectSchema$_def$fi.dp) || {};
|
278
|
-
console.log('dependecys', dependecys);
|
279
278
|
var fields = Object.fromEntries(Object.entries(shape).map(function (_ref8) {
|
280
279
|
var key = _ref8[0],
|
281
280
|
field = _ref8[1];
|
@@ -299,12 +298,66 @@ var useFields = function useFields(key) {
|
|
299
298
|
fields = _parseSchema.fields;
|
300
299
|
return fields[key];
|
301
300
|
};
|
301
|
+
var _generateInitialValues = function generateInitialValues(schema, dp) {
|
302
|
+
try {
|
303
|
+
var shape = function () {
|
304
|
+
if (schema instanceof zod.z.ZodEffects) return schema.innerType().shape;
|
305
|
+
if (schema instanceof zod.z.ZodObject) return schema.shape;
|
306
|
+
var option = schema._def.optionsMap.get(dp[schema._def.discriminator]);
|
307
|
+
if (!option) throw new Error('No option found');
|
308
|
+
return option.shape;
|
309
|
+
}();
|
310
|
+
var initialValues = {};
|
311
|
+
for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) {
|
312
|
+
var key = _Object$keys[_i];
|
313
|
+
var fieldSchema = shape[key];
|
314
|
+
var result = fieldSchema.safeParse(undefined);
|
315
|
+
// Si tiene valor por defecto
|
316
|
+
if (result.success) {
|
317
|
+
initialValues[key] = result.data;
|
318
|
+
continue;
|
319
|
+
}
|
320
|
+
// Inferir tipo para campos requeridos sin default
|
321
|
+
if (fieldSchema instanceof zod.z.ZodString) {
|
322
|
+
initialValues[key] = '';
|
323
|
+
} else if (fieldSchema instanceof zod.z.ZodNumber) {
|
324
|
+
initialValues[key] = 0;
|
325
|
+
} else if (fieldSchema instanceof zod.z.ZodBoolean) {
|
326
|
+
initialValues[key] = false;
|
327
|
+
} else if (fieldSchema instanceof zod.z.ZodDate) {
|
328
|
+
initialValues[key] = null;
|
329
|
+
} else if (fieldSchema instanceof zod.z.ZodArray) {
|
330
|
+
initialValues[key] = [];
|
331
|
+
} else if (fieldSchema instanceof zod.z.ZodObject) {
|
332
|
+
initialValues[key] = _generateInitialValues(fieldSchema, dp);
|
333
|
+
} else if (fieldSchema instanceof zod.z.ZodDiscriminatedUnion) {
|
334
|
+
var option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);
|
335
|
+
if (option) {
|
336
|
+
initialValues[key] = _generateInitialValues(option, dp);
|
337
|
+
} else {
|
338
|
+
initialValues[key] = null;
|
339
|
+
}
|
340
|
+
} else {
|
341
|
+
initialValues[key] = null;
|
342
|
+
}
|
343
|
+
}
|
344
|
+
return initialValues;
|
345
|
+
} catch (_unused) {
|
346
|
+
return {};
|
347
|
+
}
|
348
|
+
};
|
302
349
|
var useSchema = function useSchema(cbP, dp) {
|
303
|
-
var schema =
|
304
|
-
|
305
|
-
|
350
|
+
var schema = react.useMemo(function () {
|
351
|
+
return cbP(dp).fieldConfig(_extends({
|
352
|
+
dp: dp
|
353
|
+
}, cbP(dp).fieldConfig));
|
354
|
+
}, [cbP, dp]);
|
355
|
+
var initialValues = react.useMemo(function () {
|
356
|
+
return _generateInitialValues(schema, dp);
|
357
|
+
}, [schema, dp]);
|
306
358
|
return {
|
307
|
-
schema: schema
|
359
|
+
schema: schema,
|
360
|
+
initialValues: initialValues
|
308
361
|
};
|
309
362
|
};
|
310
363
|
|
@@ -343,6 +396,7 @@ exports.FormInstantProvider = FormInstantProvider;
|
|
343
396
|
exports.ZodResolverContext = ZodResolverContext;
|
344
397
|
exports.createZodSchemaFieldConfig = createZodSchemaFieldConfig;
|
345
398
|
exports.extendZodWithFieldConfig = extendZodWithFieldConfig;
|
399
|
+
exports.generateInitialValues = _generateInitialValues;
|
346
400
|
exports.getDefaultValueInZodStack = getDefaultValueInZodStack;
|
347
401
|
exports.getDefaultValues = getDefaultValues;
|
348
402
|
exports.getFieldConfigInZodStack = getFieldConfigInZodStack;
|
@@ -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, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n console.log('dependecys', dependecys);\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 { 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 = cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig });\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 id = useId();\n\n if ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","originalObject","object","apply","arguments","originalArray","array","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","console","log","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","FormInstantElement","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"react-resolver-zod.cjs.development.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]),\n );\n\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <S extends Record<string, any>>(schema: Data, dp: DP): S => {\n try {\n const shape = (() => {\n if (schema instanceof z.ZodEffects) return schema.innerType().shape;\n if (schema instanceof z.ZodObject) return schema.shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n // Inferir tipo para campos requeridos sin default\n if (fieldSchema instanceof z.ZodString) {\n initialValues[key] = '';\n } else if (fieldSchema instanceof z.ZodNumber) {\n initialValues[key] = 0;\n } else if (fieldSchema instanceof z.ZodBoolean) {\n initialValues[key] = false;\n } else if (fieldSchema instanceof z.ZodDate) {\n initialValues[key] = null;\n } else if (fieldSchema instanceof z.ZodArray) {\n initialValues[key] = [];\n } else if (fieldSchema instanceof z.ZodObject) {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n } else if (fieldSchema instanceof z.ZodDiscriminatedUnion) {\n const option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n } else {\n initialValues[key] = null;\n }\n }\n\n return initialValues as S;\n } catch {\n return {} as S;\n }\n};\n\nexport const useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }), [cbP, dp]);\n\n const initialValues = useMemo(() => generateInitialValues(schema, dp), [schema, dp]);\n\n return { schema, initialValues };\n};\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","originalObject","object","apply","arguments","originalArray","array","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","Error","initialValues","_Object$keys","fieldSchema","result","safeParse","success","data","ZodString","ZodNumber","ZodBoolean","ZodDate","_unused","useSchema","cbP","useMemo","FormInstantElement","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
|
@@ -1,2 +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"ZodDefault"===e._def.typeName?e._def.defaultValue():"ZodEffects"===e._def.typeName?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"ZodDefault"===e._def.typeName?e._def.defaultValue():"ZodEffects"===e._def.typeName?s(e.innerType()):void 0}var f=Symbol("GetFieldConfig");function d(e){return e._def.fieldConfig?e._def.fieldConfig:"innerType"in e._def?d(e._def.innerType):"schema"in e._def?d(e._def.schema):{}}function u(e,n){if(n)return n;var r=e._def.typeName;return new Map([["ZodObject","object"],["ZodString","string"],["ZodNumber","number"],["ZodBoolean","boolean"],["ZodDate","date"],["ZodEnum","select"],["ZodNativeEnum","select"],["ZodArray","array"]]).get(r)||"string"}var c=["fieldType"],l={ZodDiscriminatedUnion:function(e){var n=e.name,r=e.history,t=e.dependecys,i=e.schema._def,o=i.optionsMap,a=i.discriminator,s=i.fieldConfig;if(!Object.keys(t).length)return[{}];var f=t[a],d=o.get(f);if(!d)return[{}];var u=Object.entries(d.shape).filter((function(e){return e[0]!==a})).map((function(e){var i=e[0],o=e[1],a=(r?[r,n]:[n]).join(".");return"."===a.charAt(0)&&(a=a.substring(1)),p({name:i,schema:o,history:a,dependecys:t})})),c=(r?[r,n,a]:[n,a]).join(".");return"."===c.charAt(0)&&(c=c.substring(1)),u.unshift({name:{current:a,history:c},type:"discriminator",required:!0,default:f,fieldConfig:s,options:Array.from(o.keys()).map((function(e){return[String(e),String(e)]}))}),u},ZodObject:function(e){var n=e.schema,r=e.name,t=e.history,i=e.dependecys,o=(t?[t,r]:[r]).join(".");return"."===o.charAt(0)&&(o=o.substring(1)),Object.entries(n.shape).map((function(e){return p({name:e[0],schema:e[1],history:o,dependecys:i})}))},ZodArray:function(e){var n=e.schema,r=e.name,t=e.history,i=e.dependecys,o=(t?[t,r]:[r]).join(".");return"."===o.charAt(0)&&(o=o.substring(1)),[p({name:"0",schema:n._def.type,history:o,dependecys:i})]}};function p(e){var n,r,t=e.name,i=e.schema,o=e.history,f=e.dependecys,p=void 0===f?{}:f,h=m(i),y=d(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(-1!==n.indexOf(t))continue;r[t]=e[t]}return r}(y,c),_=u(h,v),Z=s(i),b=g,j=h._def.values,x=[];j&&(x=Array.isArray(j)?j.map((function(e){return[e,e]})):Object.entries(j));var C=h._def.typeName,O=l[C],z=null==O?void 0:O({name:t,schema:h,history:o,dependecys:p});if("ZodDiscriminatedUnion"===C){var E=h._def,F=p[E.discriminator];if(F){var T=E.optionsMap.get(F);T._def.fieldConfig&&(b=a({},g,T._def.fieldConfig))}}"array"===_&&(b=a({min:(null==(n=h._def.minLength)?void 0:n.value)||1,max:null==(r=h._def.maxLength)?void 0:r.value},b));var A=(o?[o,t]:[t]).join(".");return"."===A.charAt(0)&&(A=A.substring(1)),{name:{current:t,history:A},type:_,required:!i.isOptional(),default:Z,fieldConfig:b,options:x,schema:z,description:h.description}}function m(e){return"innerType"in e._def?m(e._def.innerType):"schema"in e._def?m(e._def.schema):e}var h=function(e){var n,r=e instanceof i.z.ZodEffects?e.innerType():e,t=(null==(n=r._def.fieldConfig)?void 0:n.dp)||{};return{fields:Object.fromEntries(Object.entries(r.shape).map((function(e){var n=e[0];return[n,p({name:n,schema:e[1],dependecys:t})]})))}},y=function(n){var r=e.useContext(o);return h(r).fields[n]},v=function(e,n){try{for(var r=function(){if(e instanceof i.z.ZodEffects)return e.innerType().shape;if(e instanceof i.z.ZodObject)return e.shape;var r=e._def.optionsMap.get(n[e._def.discriminator]);if(!r)throw new Error("No option found");return r.shape}(),t={},o=0,a=Object.keys(r);o<a.length;o++){var s=a[o],f=r[s],d=f.safeParse(void 0);if(d.success)t[s]=d.data;else if(f instanceof i.z.ZodString)t[s]="";else if(f instanceof i.z.ZodNumber)t[s]=0;else if(f instanceof i.z.ZodBoolean)t[s]=!1;else if(f instanceof i.z.ZodDate)t[s]=null;else if(f instanceof i.z.ZodArray)t[s]=[];else if(f instanceof i.z.ZodObject)t[s]=v(f,n);else if(f instanceof i.z.ZodDiscriminatedUnion){var u=f._def.optionsMap.get(n[f._def.discriminator]);t[s]=u?v(u,n):null}else t[s]=null}return t}catch(e){return{}}};exports.FIELD_CONFIG_SYMBOL=f,exports.FormInstantElement=function(e){var i,o=y(e.name),a=t.useId();return null!=(i=o.fieldConfig)&&i.type?n.jsx(r.ElementMapping,{formProps:o}):n.jsx(n.Fragment,{children:Object.values(o.schema||{}).map((function(e){var i;return n.jsx(t.Fragment,{children:n.jsx(r.ElementMapping,{formProps:e})},a+"-"+((null==(i=e.name)?void 0:i.history)||""))}))})},exports.FormInstantProvider=function(e){return n.jsx(o.Provider,{value:e.schema,children:e.children})},exports.ZodResolverContext=o,exports.createZodSchemaFieldConfig=function(){return function(e){var n=function(){};return n[f]=e,n}},exports.extendZodWithFieldConfig=function(e){e.ZodType.prototype.fieldConfig=function(e){return this._def.fieldConfig=e,this};var n=e.object;e.object=function(){var e=n.apply(void 0,arguments);return e._def.default=function(){return{}},e};var r=e.array;e.array=function(){var e=r.apply(void 0,arguments);return e._def.default=function(){return[]},e}},exports.generateInitialValues=v,exports.getDefaultValueInZodStack=s,exports.getDefaultValues=function(e){for(var n=e instanceof i.z.ZodEffects?e.innerType():e,r={},t=0,o=Object.entries(n.shape);t<o.length;t++){var a=o[t],f=a[0],d=s(a[1]);void 0!==d&&(r[f]=d)}return r},exports.getFieldConfigInZodStack=d,exports.inferFieldType=u,exports.parseSchema=h,exports.useFields=y,exports.useSchema=function(e,n){var r=t.useMemo((function(){return e(n).fieldConfig(a({dp:n},e(n).fieldConfig))}),[e,n]),i=t.useMemo((function(){return v(r,n)}),[r,n]);return{schema:r,initialValues:i}};
|
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/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n console.log('dependecys', dependecys);\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 { 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 = cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig });\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 id = useId();\n\n if ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","fieldConfig","inferFieldType","fieldType","type","Map","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","fields","entries","shape","filter","_ref2","map","_ref3","key","field","historyFormat","join","charAt","substring","parseField","unshift","current","required","default","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","isOptional","description","parseSchema","S","_objectSchema$_def$fi","objectSchema","z","ZodEffects","dp","console","log","fromEntries","_ref8","useFields","useContext","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","jsx","Provider","config","refinementFunction","zod","ZodType","prototype","this","originalObject","object","apply","arguments","originalArray","array","defaultValues","_i","_Object$entries","_Object$entries$_i","undefined","cbP"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"react-resolver-zod.cjs.production.min.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]),\n );\n\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <S extends Record<string, any>>(schema: Data, dp: DP): S => {\n try {\n const shape = (() => {\n if (schema instanceof z.ZodEffects) return schema.innerType().shape;\n if (schema instanceof z.ZodObject) return schema.shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n // Inferir tipo para campos requeridos sin default\n if (fieldSchema instanceof z.ZodString) {\n initialValues[key] = '';\n } else if (fieldSchema instanceof z.ZodNumber) {\n initialValues[key] = 0;\n } else if (fieldSchema instanceof z.ZodBoolean) {\n initialValues[key] = false;\n } else if (fieldSchema instanceof z.ZodDate) {\n initialValues[key] = null;\n } else if (fieldSchema instanceof z.ZodArray) {\n initialValues[key] = [];\n } else if (fieldSchema instanceof z.ZodObject) {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n } else if (fieldSchema instanceof z.ZodDiscriminatedUnion) {\n const option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n } else {\n initialValues[key] = null;\n }\n }\n\n return initialValues as S;\n } catch {\n return {} as S;\n }\n};\n\nexport const useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }), [cbP, dp]);\n\n const initialValues = useMemo(() => generateInitialValues(schema, dp), [schema, dp]);\n\n return { schema, initialValues };\n};\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","fieldConfig","inferFieldType","fieldType","type","Map","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","fields","entries","shape","filter","_ref2","map","_ref3","key","field","historyFormat","join","charAt","substring","parseField","unshift","current","required","default","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","isOptional","description","parseSchema","S","_objectSchema$_def$fi","objectSchema","z","ZodEffects","dp","fromEntries","_ref8","useFields","useContext","generateInitialValues","Error","initialValues","_i","_Object$keys","fieldSchema","result","safeParse","undefined","success","data","ZodString","ZodNumber","ZodBoolean","ZodDate","_unused","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","jsx","Provider","config","refinementFunction","zod","ZodType","prototype","this","originalObject","object","apply","arguments","originalArray","array","defaultValues","_Object$entries","_Object$entries$_i","cbP","useMemo"],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { createContext, useContext } from 'use-context-selector';
|
2
2
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
3
3
|
import { ElementMapping } from '@form-instant/react-input-mapping';
|
4
|
-
import { useId, Fragment as Fragment$1 } from 'react';
|
4
|
+
import { useMemo, useId, Fragment as Fragment$1 } from 'react';
|
5
5
|
import { z } from 'zod';
|
6
6
|
|
7
7
|
var ZodResolverContext = /*#__PURE__*/createContext({});
|
@@ -19,7 +19,7 @@ function _objectWithoutPropertiesLoose(r, e) {
|
|
19
19
|
if (null == r) return {};
|
20
20
|
var t = {};
|
21
21
|
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
22
|
-
if (e.
|
22
|
+
if (-1 !== e.indexOf(n)) continue;
|
23
23
|
t[n] = r[n];
|
24
24
|
}
|
25
25
|
return t;
|
@@ -273,7 +273,6 @@ var parseSchema = function parseSchema(S) {
|
|
273
273
|
var objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;
|
274
274
|
var shape = objectSchema.shape;
|
275
275
|
var dependecys = ((_objectSchema$_def$fi = objectSchema._def.fieldConfig) == null ? void 0 : _objectSchema$_def$fi.dp) || {};
|
276
|
-
console.log('dependecys', dependecys);
|
277
276
|
var fields = Object.fromEntries(Object.entries(shape).map(function (_ref8) {
|
278
277
|
var key = _ref8[0],
|
279
278
|
field = _ref8[1];
|
@@ -297,12 +296,66 @@ var useFields = function useFields(key) {
|
|
297
296
|
fields = _parseSchema.fields;
|
298
297
|
return fields[key];
|
299
298
|
};
|
299
|
+
var _generateInitialValues = function generateInitialValues(schema, dp) {
|
300
|
+
try {
|
301
|
+
var shape = function () {
|
302
|
+
if (schema instanceof z.ZodEffects) return schema.innerType().shape;
|
303
|
+
if (schema instanceof z.ZodObject) return schema.shape;
|
304
|
+
var option = schema._def.optionsMap.get(dp[schema._def.discriminator]);
|
305
|
+
if (!option) throw new Error('No option found');
|
306
|
+
return option.shape;
|
307
|
+
}();
|
308
|
+
var initialValues = {};
|
309
|
+
for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) {
|
310
|
+
var key = _Object$keys[_i];
|
311
|
+
var fieldSchema = shape[key];
|
312
|
+
var result = fieldSchema.safeParse(undefined);
|
313
|
+
// Si tiene valor por defecto
|
314
|
+
if (result.success) {
|
315
|
+
initialValues[key] = result.data;
|
316
|
+
continue;
|
317
|
+
}
|
318
|
+
// Inferir tipo para campos requeridos sin default
|
319
|
+
if (fieldSchema instanceof z.ZodString) {
|
320
|
+
initialValues[key] = '';
|
321
|
+
} else if (fieldSchema instanceof z.ZodNumber) {
|
322
|
+
initialValues[key] = 0;
|
323
|
+
} else if (fieldSchema instanceof z.ZodBoolean) {
|
324
|
+
initialValues[key] = false;
|
325
|
+
} else if (fieldSchema instanceof z.ZodDate) {
|
326
|
+
initialValues[key] = null;
|
327
|
+
} else if (fieldSchema instanceof z.ZodArray) {
|
328
|
+
initialValues[key] = [];
|
329
|
+
} else if (fieldSchema instanceof z.ZodObject) {
|
330
|
+
initialValues[key] = _generateInitialValues(fieldSchema, dp);
|
331
|
+
} else if (fieldSchema instanceof z.ZodDiscriminatedUnion) {
|
332
|
+
var option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);
|
333
|
+
if (option) {
|
334
|
+
initialValues[key] = _generateInitialValues(option, dp);
|
335
|
+
} else {
|
336
|
+
initialValues[key] = null;
|
337
|
+
}
|
338
|
+
} else {
|
339
|
+
initialValues[key] = null;
|
340
|
+
}
|
341
|
+
}
|
342
|
+
return initialValues;
|
343
|
+
} catch (_unused) {
|
344
|
+
return {};
|
345
|
+
}
|
346
|
+
};
|
300
347
|
var useSchema = function useSchema(cbP, dp) {
|
301
|
-
var schema =
|
302
|
-
|
303
|
-
|
348
|
+
var schema = useMemo(function () {
|
349
|
+
return cbP(dp).fieldConfig(_extends({
|
350
|
+
dp: dp
|
351
|
+
}, cbP(dp).fieldConfig));
|
352
|
+
}, [cbP, dp]);
|
353
|
+
var initialValues = useMemo(function () {
|
354
|
+
return _generateInitialValues(schema, dp);
|
355
|
+
}, [schema, dp]);
|
304
356
|
return {
|
305
|
-
schema: schema
|
357
|
+
schema: schema,
|
358
|
+
initialValues: initialValues
|
306
359
|
};
|
307
360
|
};
|
308
361
|
|
@@ -335,5 +388,5 @@ var FormInstantProvider = function FormInstantProvider(_ref) {
|
|
335
388
|
});
|
336
389
|
};
|
337
390
|
|
338
|
-
export { FIELD_CONFIG_SYMBOL, FormInstantElement, FormInstantProvider, ZodResolverContext, createZodSchemaFieldConfig, extendZodWithFieldConfig, getDefaultValueInZodStack, getDefaultValues, getFieldConfigInZodStack, inferFieldType, parseSchema, useFields, useSchema };
|
391
|
+
export { FIELD_CONFIG_SYMBOL, FormInstantElement, FormInstantProvider, ZodResolverContext, createZodSchemaFieldConfig, extendZodWithFieldConfig, _generateInitialValues as generateInitialValues, getDefaultValueInZodStack, getDefaultValues, getFieldConfigInZodStack, inferFieldType, parseSchema, useFields, useSchema };
|
339
392
|
//# sourceMappingURL=react-resolver-zod.esm.js.map
|
@@ -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, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n console.log('dependecys', dependecys);\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 { 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 = cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig });\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 id = useId();\n\n if ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","originalObject","object","apply","arguments","originalArray","array","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","console","log","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","FormInstantElement","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"react-resolver-zod.esm.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n const originalObject = zod.object;\n zod.object = ((...args: [any]) => {\n const schema = originalObject(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any;\n const originalArray = zod.array;\n zod.array = ((...args: [any]) => {\n const schema = originalArray(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any;\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]),\n );\n\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <S extends Record<string, any>>(schema: Data, dp: DP): S => {\n try {\n const shape = (() => {\n if (schema instanceof z.ZodEffects) return schema.innerType().shape;\n if (schema instanceof z.ZodObject) return schema.shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n // Inferir tipo para campos requeridos sin default\n if (fieldSchema instanceof z.ZodString) {\n initialValues[key] = '';\n } else if (fieldSchema instanceof z.ZodNumber) {\n initialValues[key] = 0;\n } else if (fieldSchema instanceof z.ZodBoolean) {\n initialValues[key] = false;\n } else if (fieldSchema instanceof z.ZodDate) {\n initialValues[key] = null;\n } else if (fieldSchema instanceof z.ZodArray) {\n initialValues[key] = [];\n } else if (fieldSchema instanceof z.ZodObject) {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n } else if (fieldSchema instanceof z.ZodDiscriminatedUnion) {\n const option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n } else {\n initialValues[key] = null;\n }\n }\n\n return initialValues as S;\n } catch {\n return {} as S;\n }\n};\n\nexport const useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig({ dp, ...cbP(dp).fieldConfig }), [cbP, dp]);\n\n const initialValues = useMemo(() => generateInitialValues(schema, dp), [schema, dp]);\n\n return { schema, initialValues };\n};\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if ((field.fieldConfig as any)?.type) return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","originalObject","object","apply","arguments","originalArray","array","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","Error","initialValues","_Object$keys","fieldSchema","result","safeParse","success","data","ZodString","ZodNumber","ZodBoolean","ZodDate","_unused","useSchema","cbP","useMemo","FormInstantElement","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
|
package/dist/useSchema.d.ts
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
import {
|
1
|
+
import { z } from 'zod';
|
2
2
|
export declare const useFields: <Sc extends Record<string, any>>(key: keyof Sc) => import("@form-instant/react-input-mapping").ParsedField<null, string>;
|
3
3
|
type Data = Zod.AnyZodObject | Zod.ZodEffects<Zod.AnyZodObject> | Zod.ZodDiscriminatedUnion<any, any>;
|
4
4
|
type DP = Record<string, any>;
|
5
|
+
export declare const generateInitialValues: <S extends Record<string, any>>(schema: Data, dp: DP) => S;
|
5
6
|
export declare const useSchema: (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {
|
6
|
-
schema:
|
7
|
+
schema: z.AnyZodObject | z.ZodEffects<z.AnyZodObject, {
|
7
8
|
[x: string]: any;
|
8
9
|
}, {
|
9
10
|
[x: string]: any;
|
10
|
-
}> |
|
11
|
+
}> | z.ZodDiscriminatedUnion<any, any>;
|
12
|
+
initialValues: Record<string, any>;
|
11
13
|
};
|
12
14
|
export {};
|