@form-instant/react-resolver-zod 0.2.2 → 0.2.5
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/types.d.ts +1 -9
- package/dist/react-resolver-zod.cjs.development.js +14 -6
- package/dist/react-resolver-zod.cjs.development.js.map +1 -1
- package/dist/react-resolver-zod.cjs.production.min.js +1 -1
- package/dist/react-resolver-zod.cjs.production.min.js.map +1 -1
- package/dist/react-resolver-zod.esm.js +15 -7
- package/dist/react-resolver-zod.esm.js.map +1 -1
- package/dist/useSchema.d.ts +1 -1
- package/package.json +2 -2
package/dist/funcs/types.d.ts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
|
+
import { ParsedField } from '@form-instant/react-input-mapping';
|
|
1
2
|
import { ZodEffects, ZodObject } from 'zod';
|
|
2
3
|
export type ZodObjectOrWrapped = ZodObject<any, any> | ZodEffects<ZodObject<any, any>>;
|
|
3
|
-
export interface ParsedField<AdditionalRenderable, FieldTypes = string> {
|
|
4
|
-
key: string;
|
|
5
|
-
type: string;
|
|
6
|
-
required: boolean;
|
|
7
|
-
default?: any;
|
|
8
|
-
fieldConfig?: FieldConfig<AdditionalRenderable, FieldTypes>;
|
|
9
|
-
options?: [string, string][];
|
|
10
|
-
schema?: ParsedField<AdditionalRenderable, FieldTypes>[];
|
|
11
|
-
}
|
|
12
4
|
export interface ParsedSchema<AdditionalRenderable = null, FieldTypes = string> {
|
|
13
5
|
fields: Record<string, ParsedField<AdditionalRenderable, FieldTypes>>;
|
|
14
6
|
}
|
|
@@ -68,7 +68,10 @@ function inferFieldType(schema, fieldType) {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
var _excluded = ["fieldType"];
|
|
71
|
-
function parseField(
|
|
71
|
+
function parseField(name, schema, history) {
|
|
72
|
+
if (history === void 0) {
|
|
73
|
+
history = '';
|
|
74
|
+
}
|
|
72
75
|
var baseSchema = getBaseSchema(schema);
|
|
73
76
|
var _getFieldConfigInZodS = getFieldConfigInZodStack(schema),
|
|
74
77
|
fieldType = _getFieldConfigInZodS.fieldType,
|
|
@@ -93,14 +96,17 @@ function parseField(key, schema) {
|
|
|
93
96
|
subSchema = Object.entries(baseSchema.shape).map(function (_ref) {
|
|
94
97
|
var key = _ref[0],
|
|
95
98
|
field = _ref[1];
|
|
96
|
-
return parseField(key, field);
|
|
99
|
+
return parseField(key, field, [history, name].join('.'));
|
|
97
100
|
});
|
|
98
101
|
}
|
|
99
102
|
if (baseSchema._def.typeName === 'ZodArray') {
|
|
100
103
|
subSchema = [parseField('0', baseSchema._def.type)];
|
|
101
104
|
}
|
|
102
105
|
var resp = {
|
|
103
|
-
|
|
106
|
+
name: {
|
|
107
|
+
current: name,
|
|
108
|
+
history: [history, name].join('.')
|
|
109
|
+
},
|
|
104
110
|
type: type,
|
|
105
111
|
required: !schema.isOptional(),
|
|
106
112
|
"default": defaultValue,
|
|
@@ -150,9 +156,11 @@ var FormInstantElement = function FormInstantElement(_ref) {
|
|
|
150
156
|
var id = react.useId();
|
|
151
157
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
152
158
|
children: inputs.map(function (props) {
|
|
153
|
-
return jsxRuntime.jsx(
|
|
154
|
-
|
|
155
|
-
|
|
159
|
+
return jsxRuntime.jsx(react.Fragment, {
|
|
160
|
+
children: jsxRuntime.jsx(reactInputMapping.ElementMapping, {
|
|
161
|
+
formProps: props
|
|
162
|
+
})
|
|
163
|
+
}, id + "-" + props.name.history);
|
|
156
164
|
})
|
|
157
165
|
});
|
|
158
166
|
};
|
|
@@ -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 { RefinementEffect, z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\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 const typedSchema = schema as unknown as z.ZodEffects<z.ZodNumber | z.ZodString>;\n\n if (typedSchema._def.typeName === 'ZodEffects') {\n const effect = typedSchema._def.effect as RefinementEffect<any>;\n const refinementFunction = effect.refinement;\n\n if (FIELD_CONFIG_SYMBOL in refinementFunction) {\n return refinementFunction[FIELD_CONFIG_SYMBOL] as FieldConfig;\n }\n }\n\n if ('innerType' in typedSchema._def) {\n return getFieldConfigInZodStack(typedSchema._def.innerType as unknown as z.ZodAny);\n }\n if ('schema' in typedSchema._def) {\n return getFieldConfigInZodStack((typedSchema._def as any).schema as z.ZodAny);\n }\n\n return {};\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 { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedField, ParsedSchema, ZodObjectOrWrapped } from './types';\n\nfunction parseField(key: string, schema: z.ZodTypeAny): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { 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 let subSchema: ParsedField<any>[] = [];\n if (baseSchema._def.typeName === 'ZodObject') {\n subSchema = Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny),\n );\n }\n if (baseSchema._def.typeName === 'ZodArray') {\n subSchema = [parseField('0', baseSchema._def.type)];\n }\n\n const resp = {\n key,\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 fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [key, parseField(key, field as z.ZodTypeAny)]),\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 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","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { 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 <ElementMapping formProps={props} key={`${id}-${props.key}`} />;\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{ schema: zodResolverProps; children: ReactNode }> = ({\n children,\n schema,\n}) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","FIELD_CONFIG_SYMBOL","Symbol","createZodSchemaFieldConfig","config","refinementFunction","getFieldConfigInZodStack","typedSchema","typeName","effect","refinement","inferFieldType","fieldType","type","zodToInputType","Map","match","get","parseField","key","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfig","_objectWithoutPropertiesLoose","_excluded","options","values","optionValues","Array","isArray","Object","entries","map","value","subSchema","shape","_ref","field","resp","required","isOptional","description","parseSchema","S","objectSchema","fields","fromEntries","_ref2","useSchemaBase","useContext","useFields","_parseSchema","FormInstantElement","name","inputs","id","useId","_jsx","props","ElementMapping","formProps","FormInstantProvider","children","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 { RefinementEffect, z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\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 const typedSchema = schema as unknown as z.ZodEffects<z.ZodNumber | z.ZodString>;\n\n if (typedSchema._def.typeName === 'ZodEffects') {\n const effect = typedSchema._def.effect as RefinementEffect<any>;\n const refinementFunction = effect.refinement;\n\n if (FIELD_CONFIG_SYMBOL in refinementFunction) {\n return refinementFunction[FIELD_CONFIG_SYMBOL] as FieldConfig;\n }\n }\n\n if ('innerType' in typedSchema._def) {\n return getFieldConfigInZodStack(typedSchema._def.innerType as unknown as z.ZodAny);\n }\n if ('schema' in typedSchema._def) {\n return getFieldConfigInZodStack((typedSchema._def as any).schema as z.ZodAny);\n }\n\n return {};\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\nfunction parseField(name: string, schema: z.ZodTypeAny, history: string = ''): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { 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 let subSchema: ParsedField<any>[] = [];\n if (baseSchema._def.typeName === 'ZodObject') {\n subSchema = Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.')),\n );\n }\n if (baseSchema._def.typeName === 'ZodArray') {\n subSchema = [parseField('0', baseSchema._def.type)];\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 fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [key, parseField(key, field as z.ZodTypeAny)]),\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 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","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, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{ schema: zodResolverProps; children: ReactNode }> = ({\n children,\n schema,\n}) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","FIELD_CONFIG_SYMBOL","Symbol","createZodSchemaFieldConfig","config","refinementFunction","getFieldConfigInZodStack","typedSchema","typeName","effect","refinement","inferFieldType","fieldType","type","zodToInputType","Map","match","get","parseField","name","history","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfig","_objectWithoutPropertiesLoose","_excluded","options","values","optionValues","Array","isArray","Object","entries","map","value","subSchema","shape","_ref","key","field","join","resp","current","required","isOptional","description","parseSchema","S","objectSchema","fields","fromEntries","_ref2","useSchemaBase","useContext","useFields","_parseSchema","FormInstantElement","inputs","id","useId","_jsx","props","Fragment","children","ElementMapping","formProps","FormInstantProvider","Provider"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),n=require("@form-instant/react-input-mapping"),r=require("react"),t=require("use-context-selector"),i=require("zod"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),n=require("@form-instant/react-input-mapping"),r=require("react"),t=require("use-context-selector"),i=require("zod"),o=t.createContext({});function a(e){return e instanceof i.z.ZodDefault?e._def.defaultValue():e instanceof i.z.ZodEffects?a(e.innerType()):void 0}var f=Symbol("GetFieldConfig");function u(e){var n=e;if("ZodEffects"===n._def.typeName){var r=n._def.effect.refinement;if(f in r)return r[f]}return"innerType"in n._def?u(n._def.innerType):"schema"in n._def?u(n._def.schema):{}}var c=["fieldType"];function d(e,n,r){void 0===r&&(r="");var t=s(n),i=u(n),o=i.fieldType,f=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}(i,c),m=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"}(t,o),p=a(n),l=t._def.values,y=[];l&&(y=Array.isArray(l)?l.map((function(e){return[e,e]})):Object.entries(l));var v=[];return"ZodObject"===t._def.typeName&&(v=Object.entries(t.shape).map((function(n){return d(n[0],n[1],[r,e].join("."))}))),"ZodArray"===t._def.typeName&&(v=[d("0",t._def.type)]),{name:{current:e,history:[r,e].join(".")},type:m,required:!n.isOptional(),default:p,fieldConfig:f,options:y,schema:v,description:t.description}}function s(e){return"innerType"in e._def?s(e._def.innerType):"schema"in e._def?s(e._def.schema):e}exports.FormInstantElement=function(a){var f,u,c,s=(f=a.name,(u=t.useContext(o),c=u instanceof i.z.ZodEffects?u.innerType():u,{fields:Object.fromEntries(Object.entries(c.shape).map((function(e){var n=e[0];return[n,d(n,e[1])]})))}).fields[f]),m=Object.values(s.schema),p=r.useId();return e.jsx(e.Fragment,{children:m.map((function(t){return e.jsx(r.Fragment,{children:e.jsx(n.ElementMapping,{formProps:t})},p+"-"+t.name.history)}))})},exports.FormInstantProvider=function(n){return e.jsx(o.Provider,{value:n.schema,children:n.children})},exports.createZodSchemaFieldConfig=function(){return function(e){var n=function(){};return n[f]=e,n}};
|
|
2
2
|
//# sourceMappingURL=react-resolver-zod.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-resolver-zod.cjs.production.min.js","sources":["../src/context.tsx","../src/funcs/default-values.ts","../src/funcs/field-config.ts","../src/funcs/schema-parser.ts","../src/funcs/field-type-inference.ts","../src/element.tsx","../src/useSchema.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 { RefinementEffect, z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\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 const typedSchema = schema as unknown as z.ZodEffects<z.ZodNumber | z.ZodString>;\n\n if (typedSchema._def.typeName === 'ZodEffects') {\n const effect = typedSchema._def.effect as RefinementEffect<any>;\n const refinementFunction = effect.refinement;\n\n if (FIELD_CONFIG_SYMBOL in refinementFunction) {\n return refinementFunction[FIELD_CONFIG_SYMBOL] as FieldConfig;\n }\n }\n\n if ('innerType' in typedSchema._def) {\n return getFieldConfigInZodStack(typedSchema._def.innerType as unknown as z.ZodAny);\n }\n if ('schema' in typedSchema._def) {\n return getFieldConfigInZodStack((typedSchema._def as any).schema as z.ZodAny);\n }\n\n return {};\n}\n","import { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedField, ParsedSchema, ZodObjectOrWrapped } from './types';\n\nfunction parseField(key: string, schema: z.ZodTypeAny): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { 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 let subSchema: ParsedField<any>[] = [];\n if (baseSchema._def.typeName === 'ZodObject') {\n subSchema = Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny),\n );\n }\n if (baseSchema._def.typeName === 'ZodArray') {\n subSchema = [parseField('0', baseSchema._def.type)];\n }\n\n const resp = {\n key,\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 fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [key, parseField(key, field as z.ZodTypeAny)]),\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 { ElementMapping } from '@form-instant/react-input-mapping';\nimport { 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 <ElementMapping formProps={props} key={`${id}-${props.key}`} />;\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 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","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{ schema: zodResolverProps; children: ReactNode }> = ({\n children,\n schema,\n}) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","typedSchema","typeName","refinementFunction","effect","refinement","parseField","key","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldType","fieldConfig","_objectWithoutPropertiesLoose","_excluded","type","Map","get","inferFieldType","options","values","optionValues","Array","isArray","map","value","Object","entries","subSchema","shape","_ref","required","isOptional","default","description","S","objectSchema","field","name","useContext","fields","fromEntries","_ref2","inputs","id","useId","_jsx","props","ElementMapping","formProps","jsx","Provider","children","config"],"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/element.tsx","../src/useSchema.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 { RefinementEffect, z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\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 const typedSchema = schema as unknown as z.ZodEffects<z.ZodNumber | z.ZodString>;\n\n if (typedSchema._def.typeName === 'ZodEffects') {\n const effect = typedSchema._def.effect as RefinementEffect<any>;\n const refinementFunction = effect.refinement;\n\n if (FIELD_CONFIG_SYMBOL in refinementFunction) {\n return refinementFunction[FIELD_CONFIG_SYMBOL] as FieldConfig;\n }\n }\n\n if ('innerType' in typedSchema._def) {\n return getFieldConfigInZodStack(typedSchema._def.innerType as unknown as z.ZodAny);\n }\n if ('schema' in typedSchema._def) {\n return getFieldConfigInZodStack((typedSchema._def as any).schema as z.ZodAny);\n }\n\n return {};\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\nfunction parseField(name: string, schema: z.ZodTypeAny, history: string = ''): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { 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 let subSchema: ParsedField<any>[] = [];\n if (baseSchema._def.typeName === 'ZodObject') {\n subSchema = Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.')),\n );\n }\n if (baseSchema._def.typeName === 'ZodArray') {\n subSchema = [parseField('0', baseSchema._def.type)];\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 fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [key, parseField(key, field as z.ZodTypeAny)]),\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 { 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 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","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{ schema: zodResolverProps; children: ReactNode }> = ({\n children,\n schema,\n}) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","FIELD_CONFIG_SYMBOL","Symbol","getFieldConfigInZodStack","typedSchema","typeName","refinementFunction","effect","refinement","parseField","name","history","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldType","fieldConfig","_objectWithoutPropertiesLoose","_excluded","type","Map","get","inferFieldType","options","values","optionValues","Array","isArray","map","value","Object","entries","subSchema","shape","_ref","join","current","required","isOptional","default","description","key","S","objectSchema","field","useContext","fields","fromEntries","_ref2","inputs","id","useId","_jsx","props","Fragment","children","ElementMapping","formProps","jsx","Provider","config"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { ElementMapping } from '@form-instant/react-input-mapping';
|
|
3
|
-
import { useId } from 'react';
|
|
3
|
+
import { useId, Fragment as Fragment$1 } from 'react';
|
|
4
4
|
import { createContext, useContext } from 'use-context-selector';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
@@ -66,7 +66,10 @@ function inferFieldType(schema, fieldType) {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
var _excluded = ["fieldType"];
|
|
69
|
-
function parseField(
|
|
69
|
+
function parseField(name, schema, history) {
|
|
70
|
+
if (history === void 0) {
|
|
71
|
+
history = '';
|
|
72
|
+
}
|
|
70
73
|
var baseSchema = getBaseSchema(schema);
|
|
71
74
|
var _getFieldConfigInZodS = getFieldConfigInZodStack(schema),
|
|
72
75
|
fieldType = _getFieldConfigInZodS.fieldType,
|
|
@@ -91,14 +94,17 @@ function parseField(key, schema) {
|
|
|
91
94
|
subSchema = Object.entries(baseSchema.shape).map(function (_ref) {
|
|
92
95
|
var key = _ref[0],
|
|
93
96
|
field = _ref[1];
|
|
94
|
-
return parseField(key, field);
|
|
97
|
+
return parseField(key, field, [history, name].join('.'));
|
|
95
98
|
});
|
|
96
99
|
}
|
|
97
100
|
if (baseSchema._def.typeName === 'ZodArray') {
|
|
98
101
|
subSchema = [parseField('0', baseSchema._def.type)];
|
|
99
102
|
}
|
|
100
103
|
var resp = {
|
|
101
|
-
|
|
104
|
+
name: {
|
|
105
|
+
current: name,
|
|
106
|
+
history: [history, name].join('.')
|
|
107
|
+
},
|
|
102
108
|
type: type,
|
|
103
109
|
required: !schema.isOptional(),
|
|
104
110
|
"default": defaultValue,
|
|
@@ -148,9 +154,11 @@ var FormInstantElement = function FormInstantElement(_ref) {
|
|
|
148
154
|
var id = useId();
|
|
149
155
|
return jsx(Fragment, {
|
|
150
156
|
children: inputs.map(function (props) {
|
|
151
|
-
return jsx(
|
|
152
|
-
|
|
153
|
-
|
|
157
|
+
return jsx(Fragment$1, {
|
|
158
|
+
children: jsx(ElementMapping, {
|
|
159
|
+
formProps: props
|
|
160
|
+
})
|
|
161
|
+
}, id + "-" + props.name.history);
|
|
154
162
|
})
|
|
155
163
|
});
|
|
156
164
|
};
|
|
@@ -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 { RefinementEffect, z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\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 const typedSchema = schema as unknown as z.ZodEffects<z.ZodNumber | z.ZodString>;\n\n if (typedSchema._def.typeName === 'ZodEffects') {\n const effect = typedSchema._def.effect as RefinementEffect<any>;\n const refinementFunction = effect.refinement;\n\n if (FIELD_CONFIG_SYMBOL in refinementFunction) {\n return refinementFunction[FIELD_CONFIG_SYMBOL] as FieldConfig;\n }\n }\n\n if ('innerType' in typedSchema._def) {\n return getFieldConfigInZodStack(typedSchema._def.innerType as unknown as z.ZodAny);\n }\n if ('schema' in typedSchema._def) {\n return getFieldConfigInZodStack((typedSchema._def as any).schema as z.ZodAny);\n }\n\n return {};\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 { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedField, ParsedSchema, ZodObjectOrWrapped } from './types';\n\nfunction parseField(key: string, schema: z.ZodTypeAny): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { 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 let subSchema: ParsedField<any>[] = [];\n if (baseSchema._def.typeName === 'ZodObject') {\n subSchema = Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny),\n );\n }\n if (baseSchema._def.typeName === 'ZodArray') {\n subSchema = [parseField('0', baseSchema._def.type)];\n }\n\n const resp = {\n key,\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 fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [key, parseField(key, field as z.ZodTypeAny)]),\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 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","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { 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 <ElementMapping formProps={props} key={`${id}-${props.key}`} />;\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{ schema: zodResolverProps; children: ReactNode }> = ({\n children,\n schema,\n}) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","FIELD_CONFIG_SYMBOL","Symbol","createZodSchemaFieldConfig","config","refinementFunction","getFieldConfigInZodStack","typedSchema","typeName","effect","refinement","inferFieldType","fieldType","type","zodToInputType","Map","match","get","parseField","key","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfig","_objectWithoutPropertiesLoose","_excluded","options","values","optionValues","Array","isArray","Object","entries","map","value","subSchema","shape","_ref","field","resp","required","isOptional","description","parseSchema","S","objectSchema","fields","fromEntries","_ref2","useSchemaBase","useContext","useFields","_parseSchema","FormInstantElement","name","inputs","id","useId","_jsx","props","ElementMapping","formProps","FormInstantProvider","children","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 { RefinementEffect, z } from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\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 const typedSchema = schema as unknown as z.ZodEffects<z.ZodNumber | z.ZodString>;\n\n if (typedSchema._def.typeName === 'ZodEffects') {\n const effect = typedSchema._def.effect as RefinementEffect<any>;\n const refinementFunction = effect.refinement;\n\n if (FIELD_CONFIG_SYMBOL in refinementFunction) {\n return refinementFunction[FIELD_CONFIG_SYMBOL] as FieldConfig;\n }\n }\n\n if ('innerType' in typedSchema._def) {\n return getFieldConfigInZodStack(typedSchema._def.innerType as unknown as z.ZodAny);\n }\n if ('schema' in typedSchema._def) {\n return getFieldConfigInZodStack((typedSchema._def as any).schema as z.ZodAny);\n }\n\n return {};\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\nfunction parseField(name: string, schema: z.ZodTypeAny, history: string = ''): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { 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 let subSchema: ParsedField<any>[] = [];\n if (baseSchema._def.typeName === 'ZodObject') {\n subSchema = Object.entries((baseSchema as any).shape).map(([key, field]) =>\n parseField(key, field as z.ZodTypeAny, [history, name].join('.')),\n );\n }\n if (baseSchema._def.typeName === 'ZodArray') {\n subSchema = [parseField('0', baseSchema._def.type)];\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 fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [key, parseField(key, field as z.ZodTypeAny)]),\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 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","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, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\nexport const FormInstantProvider: FC<{ schema: zodResolverProps; children: ReactNode }> = ({\n children,\n schema,\n}) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","z","ZodDefault","_def","defaultValue","ZodEffects","innerType","undefined","FIELD_CONFIG_SYMBOL","Symbol","createZodSchemaFieldConfig","config","refinementFunction","getFieldConfigInZodStack","typedSchema","typeName","effect","refinement","inferFieldType","fieldType","type","zodToInputType","Map","match","get","parseField","name","history","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfig","_objectWithoutPropertiesLoose","_excluded","options","values","optionValues","Array","isArray","Object","entries","map","value","subSchema","shape","_ref","key","field","join","resp","current","required","isOptional","description","parseSchema","S","objectSchema","fields","fromEntries","_ref2","useSchemaBase","useContext","useFields","_parseSchema","FormInstantElement","inputs","id","useId","_jsx","props","Fragment","children","ElementMapping","formProps","FormInstantProvider","Provider"],"mappings":";;;;;;AAGO,IAAMA,kBAAkB,gBAAGC,aAAa,CAAmB,EAAsB,CAAC;;;;;;;;;;;;ACAnF,SAAUC,yBAAyBA,CAACC,MAAoB,EAAA;AAC1D,EAAA,IAAIA,MAAM,YAAYC,CAAC,CAACC,UAAU,EAAE;AAChC,IAAA,OAAOF,MAAM,CAACG,IAAI,CAACC,YAAY,EAAE,CAAA;AACpC,GAAA;AAED,EAAA,IAAIJ,MAAM,YAAYC,CAAC,CAACI,UAAU,EAAE;AAChC,IAAA,OAAON,yBAAyB,CAACC,MAAM,CAACM,SAAS,EAAE,CAAC,CAAA;AACvD,GAAA;AAED,EAAA,OAAOC,SAAS,CAAA;AACpB;;ACXO,IAAMC,mBAAmB,gBAAGC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAE9CC,IAAAA,0BAA0B,GACnC,SADSA,0BAA0BA,GAAA;EAAA,OAEnC,UAACC,MAAqD,EAAyB;AAC3E,IAAA,IAAMC,kBAAkB,GAAwB,SAA1CA,kBAAkBA,GAA6B;AACjD;KACH,CAAA;AAED;AACAA,IAAAA,kBAAkB,CAACJ,mBAAmB,CAAC,GAAGG,MAAM,CAAA;AAEhD,IAAA,OAAOC,kBAAkB,CAAA;GAC5B,CAAA;AAAA,EAAA;AAEC,SAAUC,wBAAwBA,CAACb,MAAoB,EAAA;EACzD,IAAMc,WAAW,GAAGd,MAA4D,CAAA;AAEhF,EAAA,IAAIc,WAAW,CAACX,IAAI,CAACY,QAAQ,KAAK,YAAY,EAAE;AAC5C,IAAA,IAAMC,MAAM,GAAGF,WAAW,CAACX,IAAI,CAACa,MAA+B,CAAA;AAC/D,IAAA,IAAMJ,kBAAkB,GAAGI,MAAM,CAACC,UAAU,CAAA;IAE5C,IAAIT,mBAAmB,IAAII,kBAAkB,EAAE;MAC3C,OAAOA,kBAAkB,CAACJ,mBAAmB,CAAgB,CAAA;AAChE,KAAA;AACJ,GAAA;AAED,EAAA,IAAI,WAAW,IAAIM,WAAW,CAACX,IAAI,EAAE;AACjC,IAAA,OAAOU,wBAAwB,CAACC,WAAW,CAACX,IAAI,CAACG,SAAgC,CAAC,CAAA;AACrF,GAAA;AACD,EAAA,IAAI,QAAQ,IAAIQ,WAAW,CAACX,IAAI,EAAE;AAC9B,IAAA,OAAOU,wBAAwB,CAAEC,WAAW,CAACX,IAAY,CAACH,MAAkB,CAAC,CAAA;AAChF,GAAA;AAED,EAAA,OAAO,EAAE,CAAA;AACb;;AClCgB,SAAAkB,cAAcA,CAAClB,MAAoB,EAAEmB,SAAoC,EAAA;AACrF,EAAA,IAAIA,SAAS,EAAE;AACX,IAAA,OAAOA,SAAS,CAAA;AACnB,GAAA;AAED,EAAA,IAAMC,IAAI,GAAGpB,MAAM,CAACG,IAAI,CAACY,QAAQ,CAAA;EAEjC,IAAMM,cAAc,GAAG,IAAIC,GAAG,CAAC,CAC3B,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,WAAW,EAAE,QAAQ,CAAC,EACvB,CAAC,YAAY,EAAE,SAAS,CAAC,EACzB,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,SAAS,EAAE,QAAQ,CAAC,EACrB,CAAC,eAAe,EAAE,QAAQ,CAAC,EAC3B,CAAC,UAAU,EAAE,OAAO,CAAC,CACxB,CAAC,CAAA;AAEF,EAAA,IAAMC,KAAK,GAAGF,cAAc,CAACG,GAAG,CAACJ,IAAI,CAAC,CAAA;AAEtC,EAAA,OAAOG,KAAK,IAAI,QAAQ,CAAC;AAC7B;;;ACjBA,SAASE,UAAUA,CAACC,IAAY,EAAE1B,MAAoB,EAAE2B,SAAoB;AAAA,EAAA,IAApBA;AAAAA,IAAAA,UAAkB,EAAE,CAAA;AAAA,GAAA;AACxE,EAAA,IAAMC,UAAU,GAAGC,aAAa,CAAC7B,MAAM,CAAC,CAAA;AACxC,EAAA,IAAA8B,qBAAA,GAAsCjB,wBAAwB,CAACb,MAAM,CAAC;IAA9DmB,SAAS,GAAAW,qBAAA,CAATX,SAAS;AAAKY,IAAAA,WAAW,GAAAC,6BAAA,CAAAF,qBAAA,EAAAG,SAAA,CAAA,CAAA;AACjC,EAAA,IAAMb,IAAI,GAAGF,cAAc,CAACU,UAAU,EAAET,SAAS,CAAC,CAAA;AAClD,EAAA,IAAMf,YAAY,GAAGL,yBAAyB,CAACC,MAAM,CAAC,CAAA;AAEtD;AACA,EAAA,IAAMkC,OAAO,GAAGN,UAAU,CAACzB,IAAI,CAACgC,MAAM,CAAA;EACtC,IAAIC,YAAY,GAAuB,EAAE,CAAA;AACzC,EAAA,IAAIF,OAAO,EAAE;AACT,IAAA,IAAI,CAACG,KAAK,CAACC,OAAO,CAACJ,OAAO,CAAC,EAAE;AACzBE,MAAAA,YAAY,GAAGG,MAAM,CAACC,OAAO,CAACN,OAAO,CAAC,CAAA;AACzC,KAAA,MAAM;AACHE,MAAAA,YAAY,GAAGF,OAAO,CAACO,GAAG,CAAC,UAACC,KAAK,EAAA;AAAA,QAAA,OAAK,CAACA,KAAK,EAAEA,KAAK,CAAC,CAAA;OAAC,CAAA,CAAA;AACxD,KAAA;AACJ,GAAA;AAED;EACA,IAAIC,SAAS,GAAuB,EAAE,CAAA;AACtC,EAAA,IAAIf,UAAU,CAACzB,IAAI,CAACY,QAAQ,KAAK,WAAW,EAAE;AAC1C4B,IAAAA,SAAS,GAAGJ,MAAM,CAACC,OAAO,CAAEZ,UAAkB,CAACgB,KAAK,CAAC,CAACH,GAAG,CAAC,UAAAI,IAAA,EAAA;MAAA,IAAEC,GAAG,GAAAD,IAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,KAAK,GAAAF,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAAA,OAClEpB,UAAU,CAACqB,GAAG,EAAEC,KAAqB,EAAE,CAACpB,OAAO,EAAED,IAAI,CAAC,CAACsB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;KACpE,CAAA,CAAA;AACJ,GAAA;AACD,EAAA,IAAIpB,UAAU,CAACzB,IAAI,CAACY,QAAQ,KAAK,UAAU,EAAE;AACzC4B,IAAAA,SAAS,GAAG,CAAClB,UAAU,CAAC,GAAG,EAAEG,UAAU,CAACzB,IAAI,CAACiB,IAAI,CAAC,CAAC,CAAA;AACtD,GAAA;AAED,EAAA,IAAM6B,IAAI,GAAG;AACTvB,IAAAA,IAAI,EAAE;AAAEwB,MAAAA,OAAO,EAAExB,IAAI;MAAEC,OAAO,EAAE,CAACA,OAAO,EAAED,IAAI,CAAC,CAACsB,IAAI,CAAC,GAAG,CAAA;KAAG;AAC3D5B,IAAAA,IAAI,EAAJA,IAAI;AACJ+B,IAAAA,QAAQ,EAAE,CAACnD,MAAM,CAACoD,UAAU,EAAE;AAC9B,IAAA,SAAA,EAAShD,YAAY;AACrB2B,IAAAA,WAAW,EAAXA,WAAW;AACXG,IAAAA,OAAO,EAAEE,YAAY;AACrBpC,IAAAA,MAAM,EAAE2C,SAAS;IACjBU,WAAW,EAAEzB,UAAU,CAACyB,WAAAA;GAC3B,CAAA;AAED,EAAA,OAAOJ,IAAI,CAAA;AACf,CAAA;AAEA,SAASpB,aAAaA,CAClB7B,MAA2C,EAAA;AAE3C,EAAA,IAAI,WAAW,IAAIA,MAAM,CAACG,IAAI,EAAE;AAC5B,IAAA,OAAO0B,aAAa,CAAC7B,MAAM,CAACG,IAAI,CAACG,SAAsB,CAAC,CAAA;AAC3D,GAAA;AACD,EAAA,IAAI,QAAQ,IAAIN,MAAM,CAACG,IAAI,EAAE;AACzB,IAAA,OAAO0B,aAAa,CAAC7B,MAAM,CAACG,IAAI,CAACH,MAAmB,CAAC,CAAA;AACxD,GAAA;AAED,EAAA,OAAOA,MAAmB,CAAA;AAC9B,CAAA;AAEO,IAAMsD,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAqB,EAAkB;AAC/D,EAAA,IAAMC,YAAY,GAAGD,CAAC,YAAYtD,CAAC,CAACI,UAAU,GAAGkD,CAAC,CAACjD,SAAS,EAAE,GAAGiD,CAAC,CAAA;AAClE,EAAA,IAAMX,KAAK,GAAGY,YAAY,CAACZ,KAAK,CAAA;AAEhC,EAAA,IAAMa,MAAM,GAAGlB,MAAM,CAACmB,WAAW,CAC7BnB,MAAM,CAACC,OAAO,CAACI,KAAK,CAAC,CAACH,GAAG,CAAC,UAAAkB,KAAA,EAAA;IAAA,IAAEb,GAAG,GAAAa,KAAA,CAAA,CAAA,CAAA;AAAEZ,MAAAA,KAAK,GAAAY,KAAA,CAAA,CAAA,CAAA,CAAA;IAAA,OAAM,CAACb,GAAG,EAAErB,UAAU,CAACqB,GAAG,EAAEC,KAAqB,CAAC,CAAC,CAAA;AAAA,GAAA,CAAC,CAC7F,CAAA;EAED,OAAO;AAAEU,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AACrB,CAAC;;AClEM,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,GAAA;EAAA,OACtBC,UAAU,CAAChE,kBAAkB,CAAuD,CAAA;AAAA,CAAA,CAAA;AAEjF,IAAMiE,SAAS,GAAG,SAAZA,SAASA,CAAoChB,GAAa,EAAI;AACvE,EAAA,IAAMS,CAAC,GAAGK,aAAa,EAAE,CAAA;AAEzB,EAAA,IAAAG,YAAA,GAAmBT,WAAW,CAACC,CAAC,CAAC;IAAzBE,MAAM,GAAAM,YAAA,CAANN,MAAM,CAAA;EAEd,OAAOA,MAAM,CAACX,GAAa,CAAC,CAAA;AAChC,CAAC;;ICNYkB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAnB,IAAA,EAAgE;AAAA,EAAA,IAA3BnB,IAAI,GAAAmB,IAAA,CAAJnB,IAAI,CAAA;AACpE,EAAA,IAAMqB,KAAK,GAAGe,SAAS,CAACpC,IAAI,CAAC,CAAA;EAE7B,IAAMuC,MAAM,GAAG1B,MAAM,CAACJ,MAAM,CAACY,KAAK,CAAC/C,MAAO,CAAC,CAAA;AAE3C,EAAA,IAAMkE,EAAE,GAAGC,KAAK,EAAE,CAAA;EAElB,OACIC;cACKH,MAAM,CAACxB,GAAG,CAAC,UAAC4B,KAAK,EAAI;MAClB,OACID,IAACE,UAAQ,EAAA;AAAAC,QAAAA,QAAA,EACLH,IAACI,cAAc,EAAA;AAACC,UAAAA,SAAS,EAAEJ,KAAAA;SAAK,CAAA;SADlBH,EAAE,GAAIG,GAAAA,GAAAA,KAAK,CAAC3C,IAAI,CAACC,OAAS,CAEjC,CAAA;KAElB,CAAA;AACF,GAAA,CAAA,CAAA;AAEX;;ICvBa+C,mBAAmB,GAA0D,SAA7EA,mBAAmBA,CAAA7B,IAAA,EAG3B;AAAA,EAAA,IAFD0B,QAAQ,GAAA1B,IAAA,CAAR0B,QAAQ;IACRvE,MAAM,GAAA6C,IAAA,CAAN7C,MAAM,CAAA;AAEN,EAAA,OAAOoE,GAAA,CAACvE,kBAAkB,CAAC8E,QAAQ,EAAA;AAACjC,IAAAA,KAAK,EAAE1C,MAAM;AAAAuE,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAA,CAA+B,CAAA;AAC/F;;;;"}
|
package/dist/useSchema.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ZodEffects, ZodObject } from 'zod';
|
|
2
2
|
export declare const useSchemaBase: () => ZodObject<never, never, import("zod").ZodTypeAny, never, never> | ZodEffects<never, never, never>;
|
|
3
|
-
export declare const useFields: <Sc extends Record<string, any>>(key: keyof Sc) => import("
|
|
3
|
+
export declare const useFields: <Sc extends Record<string, any>>(key: keyof Sc) => import("@form-instant/react-input-mapping").ParsedField<null, string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@form-instant/react-resolver-zod",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
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.2.
|
|
35
|
+
"@form-instant/react-input-mapping": "^0.2.5",
|
|
36
36
|
"react": "^18.3.1"
|
|
37
37
|
},
|
|
38
38
|
"engines": {
|