@form-instant/react-resolver-zod 1.0.0-rc.1 → 1.5.1
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/funcs/field-config.d.ts +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/provider.d.ts +2 -2
- package/dist/react-resolver-zod.cjs.development.js +14 -23
- 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 +13 -21
- package/dist/react-resolver-zod.esm.js.map +1 -1
- package/dist/useSchema.d.ts +11 -2
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { FieldConfig, SuperRefineFunction } from './types';
|
|
3
3
|
export declare const FIELD_CONFIG_SYMBOL: unique symbol;
|
|
4
4
|
declare module 'zod' {
|
|
5
|
-
interface ZodType
|
|
5
|
+
interface ZodType {
|
|
6
6
|
fieldConfig<AdditionalRenderable = null, FieldTypes = string>(config: FieldConfig<AdditionalRenderable, FieldTypes>): this;
|
|
7
7
|
}
|
|
8
8
|
}
|
package/dist/index.d.ts
CHANGED
package/dist/provider.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FC, ReactNode } from
|
|
2
|
-
import { zodResolverProps } from
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { zodResolverProps } from './type';
|
|
3
3
|
export declare const FormInstantProvider: FC<{
|
|
4
4
|
schema: zodResolverProps;
|
|
5
5
|
children: ReactNode;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var useContextSelector = require('use-context-selector');
|
|
3
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
5
|
var reactInputMapping = require('@form-instant/react-input-mapping');
|
|
5
6
|
var react = require('react');
|
|
6
|
-
var useContextSelector = require('use-context-selector');
|
|
7
7
|
var zod = require('zod');
|
|
8
8
|
|
|
9
9
|
var ZodResolverContext = /*#__PURE__*/useContextSelector.createContext({});
|
|
@@ -37,23 +37,6 @@ function getDefaultValueInZodStack(schema) {
|
|
|
37
37
|
return undefined;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
var FIELD_CONFIG_SYMBOL = /*#__PURE__*/Symbol('GetFieldConfig');
|
|
41
|
-
var extendZodWithFieldConfig = function extendZodWithFieldConfig(zod) {
|
|
42
|
-
zod.ZodType.prototype.fieldConfig = function (config) {
|
|
43
|
-
this._def.fieldConfig = config;
|
|
44
|
-
return this;
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
var createZodSchemaFieldConfig = function createZodSchemaFieldConfig() {
|
|
48
|
-
return function (config) {
|
|
49
|
-
var refinementFunction = function refinementFunction() {
|
|
50
|
-
// Do nothing.
|
|
51
|
-
};
|
|
52
|
-
// @ts-expect-error This is a symbol and not a real value.
|
|
53
|
-
refinementFunction[FIELD_CONFIG_SYMBOL] = config;
|
|
54
|
-
return refinementFunction;
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
40
|
function getFieldConfigInZodStack(schema) {
|
|
58
41
|
// Verifica si el esquema tiene fieldConfig directamente
|
|
59
42
|
if (schema._def.fieldConfig) {
|
|
@@ -137,9 +120,10 @@ function parseField(name, schema, history, dependecys) {
|
|
|
137
120
|
var baseSchema = getBaseSchema(schema);
|
|
138
121
|
var _getFieldConfigInZodS = getFieldConfigInZodStack(schema),
|
|
139
122
|
fieldType = _getFieldConfigInZodS.fieldType,
|
|
140
|
-
|
|
123
|
+
fieldConfigBase = _objectWithoutPropertiesLoose(_getFieldConfigInZodS, _excluded);
|
|
141
124
|
var type = inferFieldType(baseSchema, fieldType);
|
|
142
125
|
var defaultValue = getDefaultValueInZodStack(schema);
|
|
126
|
+
var fieldConfig = fieldConfigBase;
|
|
143
127
|
// Enums
|
|
144
128
|
var options = baseSchema._def.values;
|
|
145
129
|
var optionValues = [];
|
|
@@ -209,6 +193,14 @@ var useFields = function useFields(key) {
|
|
|
209
193
|
fields = _parseSchema.fields;
|
|
210
194
|
return fields[key];
|
|
211
195
|
};
|
|
196
|
+
var useSchema = function useSchema(cbP, dp) {
|
|
197
|
+
var schema = react.useMemo(function () {
|
|
198
|
+
return cbP(dp).fieldConfig(dp);
|
|
199
|
+
}, [dp]);
|
|
200
|
+
return {
|
|
201
|
+
schema: schema
|
|
202
|
+
};
|
|
203
|
+
};
|
|
212
204
|
|
|
213
205
|
var FormInstantElement = function FormInstantElement(_ref) {
|
|
214
206
|
var name = _ref.name;
|
|
@@ -236,10 +228,9 @@ var FormInstantProvider = /*#__PURE__*/react.memo(function (_ref) {
|
|
|
236
228
|
});
|
|
237
229
|
});
|
|
238
230
|
|
|
239
|
-
exports.FIELD_CONFIG_SYMBOL = FIELD_CONFIG_SYMBOL;
|
|
240
231
|
exports.FormInstantElement = FormInstantElement;
|
|
241
232
|
exports.FormInstantProvider = FormInstantProvider;
|
|
242
|
-
exports.
|
|
243
|
-
exports.
|
|
244
|
-
exports.
|
|
233
|
+
exports.ZodResolverContext = ZodResolverContext;
|
|
234
|
+
exports.useFields = useFields;
|
|
235
|
+
exports.useSchema = useSchema;
|
|
245
236
|
//# sourceMappingURL=react-resolver-zod.cjs.development.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-resolver-zod.cjs.development.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n // @ts-expect-error\n interface ZodType<Output = any, Def = any, Input = Output> {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\nconst typeMapping = {\n ZodDiscriminatedUnion(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n const { optionsMap, discriminator, fieldConfig } = baseSchema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n return parseField(\n key,\n field as z.ZodTypeAny,\n [history, name].join('.'),\n dependecys,\n );\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.'), dependecys),\n );\n },\n\n ZodArray(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return [parseField('0', baseSchema._def.type, [history, name].join('.'), dependecys)];\n },\n};\n\nfunction parseField(\n name: string,\n schema: z.ZodTypeAny,\n history: string = '',\n dependecys: Record<string, any> = {},\n): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n let { fieldType, ...fieldConfig } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.(baseSchema, name, history, dependecys);\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: { current: name, history: [history, name].join('.') },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig;\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField(key, field as z.ZodTypeAny, '', dependecys),\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\nexport const useSchemaBase = () =>\n useContext(ZodResolverContext) as\n | ZodObject<never, never>\n | 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","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, memo, ReactNode } from \"react\";\nimport { ZodResolverContext } from \"./context\";\nimport { zodResolverProps } from \"./type\";\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return (\n <ZodResolverContext.Provider value={schema}>\n {children}\n </ZodResolverContext.Provider>\n );\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","typeName","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","baseSchema","name","history","dependecys","_baseSchema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","entries","shape","fields","filter","_ref","key","map","_ref2","field","parseField","join","unshift","current","required","options","Array","from","String","ZodObject","_ref3","ZodArray","getBaseSchema","_getFieldConfigInZodS","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def$minL","_baseSchema$_def$maxL","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","objectSchema","fromEntries","_ref4","useSchemaBase","useContext","useFields","_parseSchema","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","Provider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-resolver-zod.cjs.development.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\nconst typeMapping = {\n ZodDiscriminatedUnion(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n const { optionsMap, discriminator, fieldConfig } = baseSchema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n return parseField(\n key,\n field as z.ZodTypeAny,\n [history, name].join('.'),\n dependecys,\n );\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.'), dependecys),\n );\n },\n\n ZodArray(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return [parseField('0', baseSchema._def.type, [history, name].join('.'), dependecys)];\n },\n};\n\nfunction parseField(\n name: string,\n schema: z.ZodTypeAny,\n history: string = '',\n dependecys: Record<string, any> = {},\n): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.(baseSchema, name, history, dependecys);\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: { current: name, history: [history, name].join('.') },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig;\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField(key, field as z.ZodTypeAny, '', dependecys),\n ]),\n );\n\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\nimport { ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [dp]);\n\n return { schema };\n};\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","getFieldConfigInZodStack","fieldConfig","inferFieldType","fieldType","type","typeName","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","baseSchema","name","history","dependecys","_baseSchema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","entries","shape","fields","filter","_ref","key","map","_ref2","field","parseField","join","unshift","current","required","options","Array","from","String","ZodObject","_ref3","ZodArray","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def$minL","_baseSchema$_def$maxL","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","objectSchema","fromEntries","_ref4","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","dp","useMemo","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","Provider"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),
|
|
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 u(e){return e instanceof i.z.ZodDefault?e._def.defaultValue():e instanceof i.z.ZodEffects?u(e.innerType()):void 0}function f(e){return e._def.fieldConfig?e._def.fieldConfig:"innerType"in e._def?f(e._def.innerType):"schema"in e._def?f(e._def.schema):{}}var s=["fieldType"],d={ZodDiscriminatedUnion:function(e,n,r,t){var i=e._def,o=i.optionsMap,a=i.discriminator,u=i.fieldConfig;if(!Object.keys(t).length)return[{}];var f=t[a],s=o.get(f);if(!s)return[{}];var d=Object.entries(s.shape).filter((function(e){return e[0]!==a})).map((function(e){return c(e[0],e[1],[r,n].join("."),t)}));return d.unshift({name:{current:a,history:[r,n,a].join(".")},type:"discriminator",required:!0,default:f,fieldConfig:u,options:Array.from(o.keys()).map((function(e){return[String(e),String(e)]}))}),d},ZodObject:function(e,n,r,t){return Object.entries(e.shape).map((function(e){return c(e[0],e[1],[r,n].join("."),t)}))},ZodArray:function(e,n,r,t){return[c("0",e._def.type,[r,n].join("."),t)]}};function c(e,n,r,t){void 0===r&&(r=""),void 0===t&&(t={});var i=l(n),o=f(n),c=o.fieldType,m=function(e,n){if(null==e)return{};var r={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(n.includes(t))continue;r[t]=e[t]}return r}(o,s),p=function(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"}(i,c),v=u(n),y=m,h=i._def.values,g=[];h&&(g=Array.isArray(h)?h.map((function(e){return[e,e]})):Object.entries(h));var j,_,b=d[i._def.typeName],x=null==b?void 0:b(i,e,r,t);return"ZodArray"===i._def.typeName&&(y=a({min:(null==(j=i._def.minLength)?void 0:j.value)||1,max:null==(_=i._def.maxLength)?void 0:_.value},y)),{name:{current:e,history:[r,e].join(".")},type:p,required:!n.isOptional(),default:v,fieldConfig:y,options:g,schema:x,description:i.description}}function l(e){return"innerType"in e._def?l(e._def.innerType):"schema"in e._def?l(e._def.schema):e}var m=function(n){var r,t,a,u=(t=(r=e.useContext(o))instanceof i.z.ZodEffects?r.innerType():r,a=t._def.fieldConfig,{fields:Object.fromEntries(Object.entries(t.shape).map((function(e){var n=e[0];return[n,c(n,e[1],"",a)]})))});return u.fields[n]},p=t.memo((function(e){return n.jsx(o.Provider,{value:e.schema,children:e.children})}));exports.FormInstantElement=function(e){var i=m(e.name),o=Object.values(i.schema||{}),a=t.useId();return n.jsx(n.Fragment,{children:o.map((function(e){var i;return n.jsx(t.Fragment,{children:n.jsx(r.ElementMapping,{formProps:e})},a+"-"+((null==(i=e.name)?void 0:i.history)||""))}))})},exports.FormInstantProvider=p,exports.ZodResolverContext=o,exports.useFields=m,exports.useSchema=function(e,n){return{schema:t.useMemo((function(){return e(n).fieldConfig(n)}),[n])}};
|
|
2
2
|
//# sourceMappingURL=react-resolver-zod.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-resolver-zod.cjs.production.min.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/schema-parser.ts","../src/funcs/field-type-inference.ts","../src/provider.tsx","../src/element.tsx","../src/useSchema.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n // @ts-expect-error\n interface ZodType<Output = any, Def = any, Input = Output> {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { 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\nconst typeMapping = {\n ZodDiscriminatedUnion(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n const { optionsMap, discriminator, fieldConfig } = baseSchema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n return parseField(\n key,\n field as z.ZodTypeAny,\n [history, name].join('.'),\n dependecys,\n );\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.'), dependecys),\n );\n },\n\n ZodArray(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return [parseField('0', baseSchema._def.type, [history, name].join('.'), dependecys)];\n },\n};\n\nfunction parseField(\n name: string,\n schema: z.ZodTypeAny,\n history: string = '',\n dependecys: Record<string, any> = {},\n): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n let { fieldType, ...fieldConfig } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.(baseSchema, name, history, dependecys);\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: { current: name, history: [history, name].join('.') },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig;\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField(key, field as z.ZodTypeAny, '', dependecys),\n ]),\n );\n\n return { fields };\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 { FC, memo, ReactNode } from \"react\";\nimport { ZodResolverContext } from \"./context\";\nimport { zodResolverProps } from \"./type\";\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return (\n <ZodResolverContext.Provider value={schema}>\n {children}\n </ZodResolverContext.Provider>\n );\n});\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { useContext } from \"use-context-selector\";\nimport { ZodEffects, ZodObject } from \"zod\";\nimport { ZodResolverContext } from \"./context\";\nimport { parseSchema } from \"./funcs/schema-parser\";\n\nexport const useSchemaBase = () =>\n useContext(ZodResolverContext) as\n | ZodObject<never, never>\n | 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"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","fieldConfig","typeMapping","ZodDiscriminatedUnion","baseSchema","name","history","dependecys","_baseSchema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","get","fields","entries","shape","filter","_ref","map","_ref2","parseField","join","unshift","current","type","required","default","options","Array","from","key","String","ZodObject","_ref3","ZodArray","getBaseSchema","_getFieldConfigInZodS","fieldType","_objectWithoutPropertiesLoose","_excluded","typeName","Map","inferFieldType","values","optionValues","isArray","value","_baseSchema$_def$minL","_baseSchema$_def$maxL","getSubSchema","subSchema","_extends","min","minLength","max","maxLength","isOptional","description","FormInstantProvider","memo","_jsx","jsx","Provider","children","S","objectSchema","field","useContext","fromEntries","_ref4","inputs","id","useId","props","_props$name","Fragment","ElementMapping","formProps","config","refinementFunction","zod","ZodType","prototype","this"],"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/schema-parser.ts","../src/funcs/field-type-inference.ts","../src/useSchema.tsx","../src/provider.tsx","../src/element.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { 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\nconst typeMapping = {\n ZodDiscriminatedUnion(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n const { optionsMap, discriminator, fieldConfig } = baseSchema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n return parseField(\n key,\n field as z.ZodTypeAny,\n [history, name].join('.'),\n dependecys,\n );\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.'), dependecys),\n );\n },\n\n ZodArray(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return [parseField('0', baseSchema._def.type, [history, name].join('.'), dependecys)];\n },\n};\n\nfunction parseField(\n name: string,\n schema: z.ZodTypeAny,\n history: string = '',\n dependecys: Record<string, any> = {},\n): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.(baseSchema, name, history, dependecys);\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: { current: name, history: [history, name].join('.') },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig;\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField(key, field as z.ZodTypeAny, '', dependecys),\n ]),\n );\n\n return { fields };\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 { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\nimport { ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [dp]);\n\n return { schema };\n};\n","import { FC, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n});\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","getFieldConfigInZodStack","fieldConfig","typeMapping","ZodDiscriminatedUnion","baseSchema","name","history","dependecys","_baseSchema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","get","fields","entries","shape","filter","_ref","map","_ref2","parseField","join","unshift","current","type","required","default","options","Array","from","key","String","ZodObject","_ref3","ZodArray","getBaseSchema","_getFieldConfigInZodS","fieldType","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","typeName","Map","inferFieldType","values","optionValues","isArray","value","_baseSchema$_def$minL","_baseSchema$_def$maxL","getSubSchema","subSchema","_extends","min","minLength","max","maxLength","isOptional","description","useFields","S","objectSchema","_parseSchema","useContext","fromEntries","_ref4","FormInstantProvider","memo","_jsx","jsx","Provider","children","field","inputs","id","useId","props","_props$name","Fragment","ElementMapping","formProps","cbP","dp","useMemo"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { createContext, useContext } from 'use-context-selector';
|
|
1
2
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
3
|
import { ElementMapping } from '@form-instant/react-input-mapping';
|
|
3
|
-
import { useId, Fragment as Fragment$1, memo } from 'react';
|
|
4
|
-
import { createContext, useContext } from 'use-context-selector';
|
|
4
|
+
import { useMemo, useId, Fragment as Fragment$1, memo } from 'react';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
7
|
var ZodResolverContext = /*#__PURE__*/createContext({});
|
|
@@ -35,23 +35,6 @@ function getDefaultValueInZodStack(schema) {
|
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
var FIELD_CONFIG_SYMBOL = /*#__PURE__*/Symbol('GetFieldConfig');
|
|
39
|
-
var extendZodWithFieldConfig = function extendZodWithFieldConfig(zod) {
|
|
40
|
-
zod.ZodType.prototype.fieldConfig = function (config) {
|
|
41
|
-
this._def.fieldConfig = config;
|
|
42
|
-
return this;
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
var createZodSchemaFieldConfig = function createZodSchemaFieldConfig() {
|
|
46
|
-
return function (config) {
|
|
47
|
-
var refinementFunction = function refinementFunction() {
|
|
48
|
-
// Do nothing.
|
|
49
|
-
};
|
|
50
|
-
// @ts-expect-error This is a symbol and not a real value.
|
|
51
|
-
refinementFunction[FIELD_CONFIG_SYMBOL] = config;
|
|
52
|
-
return refinementFunction;
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
38
|
function getFieldConfigInZodStack(schema) {
|
|
56
39
|
// Verifica si el esquema tiene fieldConfig directamente
|
|
57
40
|
if (schema._def.fieldConfig) {
|
|
@@ -135,9 +118,10 @@ function parseField(name, schema, history, dependecys) {
|
|
|
135
118
|
var baseSchema = getBaseSchema(schema);
|
|
136
119
|
var _getFieldConfigInZodS = getFieldConfigInZodStack(schema),
|
|
137
120
|
fieldType = _getFieldConfigInZodS.fieldType,
|
|
138
|
-
|
|
121
|
+
fieldConfigBase = _objectWithoutPropertiesLoose(_getFieldConfigInZodS, _excluded);
|
|
139
122
|
var type = inferFieldType(baseSchema, fieldType);
|
|
140
123
|
var defaultValue = getDefaultValueInZodStack(schema);
|
|
124
|
+
var fieldConfig = fieldConfigBase;
|
|
141
125
|
// Enums
|
|
142
126
|
var options = baseSchema._def.values;
|
|
143
127
|
var optionValues = [];
|
|
@@ -207,6 +191,14 @@ var useFields = function useFields(key) {
|
|
|
207
191
|
fields = _parseSchema.fields;
|
|
208
192
|
return fields[key];
|
|
209
193
|
};
|
|
194
|
+
var useSchema = function useSchema(cbP, dp) {
|
|
195
|
+
var schema = useMemo(function () {
|
|
196
|
+
return cbP(dp).fieldConfig(dp);
|
|
197
|
+
}, [dp]);
|
|
198
|
+
return {
|
|
199
|
+
schema: schema
|
|
200
|
+
};
|
|
201
|
+
};
|
|
210
202
|
|
|
211
203
|
var FormInstantElement = function FormInstantElement(_ref) {
|
|
212
204
|
var name = _ref.name;
|
|
@@ -234,5 +226,5 @@ var FormInstantProvider = /*#__PURE__*/memo(function (_ref) {
|
|
|
234
226
|
});
|
|
235
227
|
});
|
|
236
228
|
|
|
237
|
-
export {
|
|
229
|
+
export { FormInstantElement, FormInstantProvider, ZodResolverContext, useFields, useSchema };
|
|
238
230
|
//# 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 } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n // @ts-expect-error\n interface ZodType<Output = any, Def = any, Input = Output> {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\nconst typeMapping = {\n ZodDiscriminatedUnion(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n const { optionsMap, discriminator, fieldConfig } = baseSchema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n return parseField(\n key,\n field as z.ZodTypeAny,\n [history, name].join('.'),\n dependecys,\n );\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.'), dependecys),\n );\n },\n\n ZodArray(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return [parseField('0', baseSchema._def.type, [history, name].join('.'), dependecys)];\n },\n};\n\nfunction parseField(\n name: string,\n schema: z.ZodTypeAny,\n history: string = '',\n dependecys: Record<string, any> = {},\n): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n let { fieldType, ...fieldConfig } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.(baseSchema, name, history, dependecys);\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: { current: name, history: [history, name].join('.') },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig;\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField(key, field as z.ZodTypeAny, '', dependecys),\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\nexport const useSchemaBase = () =>\n useContext(ZodResolverContext) as\n | ZodObject<never, never>\n | 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","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, memo, ReactNode } from \"react\";\nimport { ZodResolverContext } from \"./context\";\nimport { zodResolverProps } from \"./type\";\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return (\n <ZodResolverContext.Provider value={schema}>\n {children}\n </ZodResolverContext.Provider>\n );\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","typeName","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","baseSchema","name","history","dependecys","_baseSchema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","entries","shape","fields","filter","_ref","key","map","_ref2","field","parseField","join","unshift","current","required","options","Array","from","String","ZodObject","_ref3","ZodArray","getBaseSchema","_getFieldConfigInZodS","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def$minL","_baseSchema$_def$maxL","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","objectSchema","fromEntries","_ref4","useSchemaBase","useContext","useFields","_parseSchema","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","Provider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-resolver-zod.esm.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/field-type-inference.ts","../src/funcs/schema-parser.ts","../src/useSchema.tsx","../src/element.tsx","../src/provider.tsx"],"sourcesContent":["import { createContext } from 'use-context-selector';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema instanceof z.ZodDefault) {\n return schema._def.defaultValue();\n }\n\n if (schema instanceof z.ZodEffects) {\n return getDefaultValueInZodStack(schema.innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import { z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<AdditionalRenderable = null, FieldTypes = string>(\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ): this;\n }\n}\n\nexport const extendZodWithFieldConfig = <AdditionalRenderable = null, FieldTypes = string>(\n zod: typeof z,\n) => {\n (zod.ZodType.prototype as any).fieldConfig = function (\n config: FieldConfig<AdditionalRenderable, FieldTypes>,\n ) {\n this._def.fieldConfig = config;\n return this;\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <AdditionalRenderable = null, FieldTypes = string>() =>\n (config: FieldConfig<AdditionalRenderable, FieldTypes>): SuperRefineFunction => {\n const refinementFunction: SuperRefineFunction = () => {\n // Do nothing.\n };\n\n // @ts-expect-error This is a symbol and not a real value.\n refinementFunction[FIELD_CONFIG_SYMBOL] = config;\n\n return refinementFunction;\n };\n\nexport function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig;\n }\n\n // Si el esquema es un ZodEffects, busca en el innerType\n if ('innerType' in schema._def) {\n return getFieldConfigInZodStack(schema._def.innerType as z.ZodAny);\n }\n\n // Si el esquema es un ZodEffects con un schema interno, busca en el schema\n if ('schema' in schema._def) {\n return getFieldConfigInZodStack(schema._def.schema as z.ZodAny);\n }\n\n // Si no se encuentra fieldConfig, retorna un objeto vacío\n return {} as FieldConfig;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\nconst typeMapping = {\n ZodDiscriminatedUnion(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n const { optionsMap, discriminator, fieldConfig } = baseSchema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n return parseField(\n key,\n field as z.ZodTypeAny,\n [history, name].join('.'),\n dependecys,\n );\n });\n\n fields.unshift({\n name: {\n current: discriminator,\n history: [history, name, discriminator].join('.'),\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.'), dependecys),\n );\n },\n\n ZodArray(\n baseSchema: z.ZodTypeAny,\n name: string,\n history: string,\n dependecys: Record<string, any>,\n ) {\n return [parseField('0', baseSchema._def.type, [history, name].join('.'), dependecys)];\n },\n};\n\nfunction parseField(\n name: string,\n schema: z.ZodTypeAny,\n history: string = '',\n dependecys: Record<string, any> = {},\n): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n // Arrays and objects\n const getSubSchema = typeMapping[baseSchema._def.typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.(baseSchema, name, history, dependecys);\n\n if (baseSchema._def.typeName === 'ZodArray') {\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n }\n\n const resp = {\n name: { current: name, history: [history, name].join('.') },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig;\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField(key, field as z.ZodTypeAny, '', dependecys),\n ]),\n );\n\n return { fields };\n};\n","import { useMemo } from 'react';\nimport { useContext } from 'use-context-selector';\nimport { ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data =\n | Zod.AnyZodObject\n | Zod.ZodEffects<Zod.AnyZodObject>\n | Zod.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const useSchema = (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {\n const schema = useMemo(() => cbP(dp).fieldConfig(dp), [dp]);\n\n return { schema };\n};\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const inputs = Object.values(field.schema || {});\n\n const id = useId();\n\n return (\n <>\n {inputs.map((props) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, memo, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = memo(({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n});\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","getFieldConfigInZodStack","fieldConfig","inferFieldType","fieldType","type","typeName","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","baseSchema","name","history","dependecys","_baseSchema$_def","optionsMap","discriminator","Object","keys","length","optionKey","option","entries","shape","fields","filter","_ref","key","map","_ref2","field","parseField","join","unshift","current","required","options","Array","from","String","ZodObject","_ref3","ZodArray","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","_objectWithoutPropertiesLoose","_excluded","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def$minL","_baseSchema$_def$maxL","_extends","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","objectSchema","fromEntries","_ref4","useSchemaBase","useContext","useFields","_parseSchema","useSchema","cbP","dp","useMemo","FormInstantElement","inputs","id","useId","_jsx","props","_props$name","Fragment","children","ElementMapping","formProps","FormInstantProvider","memo","Provider"],"mappings":"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"}
|
package/dist/useSchema.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
import { ZodEffects
|
|
2
|
-
export declare const useSchemaBase: () => ZodObject<never, never> | ZodEffects<never, never>;
|
|
1
|
+
import { ZodEffects } from 'zod';
|
|
3
2
|
export declare const useFields: <Sc extends Record<string, any>>(key: keyof Sc) => import("@form-instant/react-input-mapping").ParsedField<null, string>;
|
|
3
|
+
type Data = Zod.AnyZodObject | Zod.ZodEffects<Zod.AnyZodObject> | Zod.ZodDiscriminatedUnion<any, any>;
|
|
4
|
+
type DP = Record<string, any>;
|
|
5
|
+
export declare const useSchema: (cbP: (dp: DP, preData?: Data) => Data, dp: DP) => {
|
|
6
|
+
schema: import("zod").AnyZodObject | ZodEffects<import("zod").AnyZodObject, {
|
|
7
|
+
[x: string]: any;
|
|
8
|
+
}, {
|
|
9
|
+
[x: string]: any;
|
|
10
|
+
}> | import("zod").ZodDiscriminatedUnion<any, any>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@form-instant/react-resolver-zod",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "leomerida15",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"testEnvironment": "jsdom"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@form-instant/react-input-mapping": "^0.
|
|
35
|
+
"@form-instant/react-input-mapping": "^1.0.0",
|
|
36
36
|
"react": "^18.3.1"
|
|
37
37
|
},
|
|
38
38
|
"engines": {
|