@form-instant/react-resolver-zod 1.0.0-rc.1 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- 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": {
|