@form-instant/react-resolver-zod 1.5.1 → 1.5.2-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/context.d.ts +2 -1
- package/dist/funcs/field-config.d.ts +5 -5
- package/dist/funcs/field-type-inference.d.ts +1 -1
- package/dist/funcs/index.d.ts +5 -0
- package/dist/funcs/types.d.ts +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/react-resolver-zod.cjs.development.js +256 -54
- 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 +246 -53
- package/dist/react-resolver-zod.esm.js.map +1 -1
- package/dist/useSchema.d.ts +6 -8
- package/package.json +51 -51
package/dist/context.d.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
import
|
1
|
+
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
5
|
interface ZodType {
|
6
|
-
fieldConfig<
|
6
|
+
fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;
|
7
7
|
}
|
8
8
|
}
|
9
|
-
export declare const extendZodWithFieldConfig:
|
10
|
-
export declare const createZodSchemaFieldConfig: <
|
11
|
-
export declare function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig
|
9
|
+
export declare const extendZodWithFieldConfig: (zod: typeof z) => void;
|
10
|
+
export declare const createZodSchemaFieldConfig: <Ob extends Record<string, any>, K extends keyof Ob>() => (config: FieldConfig<Ob, K>) => SuperRefineFunction;
|
11
|
+
export declare function getFieldConfigInZodStack(schema: z.ZodTypeAny): FieldConfig<any, any>;
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
import { FieldConfig } from './types';
|
3
|
-
export declare function inferFieldType(schema: z.ZodTypeAny, fieldType?: FieldConfig['fieldType']): string;
|
3
|
+
export declare function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(schema: z.ZodTypeAny, fieldType?: FieldConfig<Ob, K>['fieldType']): string;
|
package/dist/funcs/types.d.ts
CHANGED
@@ -6,6 +6,6 @@ export interface ParsedSchema<AdditionalRenderable = null, FieldTypes = string>
|
|
6
6
|
}
|
7
7
|
export type SuperRefineFunction = () => unknown;
|
8
8
|
export type Renderable<AdditionalRenderable = null> = string | number | boolean | null | undefined | AdditionalRenderable;
|
9
|
-
export type FieldConfig<
|
10
|
-
fieldType
|
11
|
-
} &
|
9
|
+
export type FieldConfig<Ob, K extends keyof Ob> = {
|
10
|
+
fieldType: K;
|
11
|
+
} & Ob[K];
|
package/dist/index.d.ts
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
var
|
3
|
+
var react = require('react');
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
5
5
|
var reactInputMapping = require('@form-instant/react-input-mapping');
|
6
|
-
var react = require('react');
|
7
6
|
var zod = require('zod');
|
8
7
|
|
9
|
-
var ZodResolverContext = /*#__PURE__*/
|
8
|
+
var ZodResolverContext = /*#__PURE__*/react.createContext({});
|
10
9
|
|
11
10
|
function _extends() {
|
12
11
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
@@ -21,22 +20,75 @@ function _objectWithoutPropertiesLoose(r, e) {
|
|
21
20
|
if (null == r) return {};
|
22
21
|
var t = {};
|
23
22
|
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
24
|
-
if (e.
|
23
|
+
if (-1 !== e.indexOf(n)) continue;
|
25
24
|
t[n] = r[n];
|
26
25
|
}
|
27
26
|
return t;
|
28
27
|
}
|
29
28
|
|
30
29
|
function getDefaultValueInZodStack(schema) {
|
31
|
-
if (schema
|
30
|
+
if (schema._def.typeName === 'ZodDefault') {
|
32
31
|
return schema._def.defaultValue();
|
33
32
|
}
|
34
|
-
if (schema
|
33
|
+
if (schema._def.typeName === 'ZodEffects') {
|
35
34
|
return getDefaultValueInZodStack(schema.innerType());
|
36
35
|
}
|
37
36
|
return undefined;
|
38
37
|
}
|
38
|
+
function getDefaultValues(schema) {
|
39
|
+
var objectSchema = schema instanceof zod.z.ZodEffects ? schema.innerType() : schema;
|
40
|
+
var shape = objectSchema.shape;
|
41
|
+
var defaultValues = {};
|
42
|
+
for (var _i = 0, _Object$entries = Object.entries(shape); _i < _Object$entries.length; _i++) {
|
43
|
+
var _Object$entries$_i = _Object$entries[_i],
|
44
|
+
key = _Object$entries$_i[0],
|
45
|
+
field = _Object$entries$_i[1];
|
46
|
+
var defaultValue = getDefaultValueInZodStack(field);
|
47
|
+
if (defaultValue !== undefined) {
|
48
|
+
defaultValues[key] = defaultValue;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
return defaultValues;
|
52
|
+
}
|
39
53
|
|
54
|
+
var _excluded$1 = ["object", "array"];
|
55
|
+
var FIELD_CONFIG_SYMBOL = /*#__PURE__*/Symbol('GetFieldConfig');
|
56
|
+
var extendZodWithFieldConfig = function extendZodWithFieldConfig(zod) {
|
57
|
+
zod.ZodType.prototype.fieldConfig = function (config) {
|
58
|
+
this._def.fieldConfig = config;
|
59
|
+
return this;
|
60
|
+
};
|
61
|
+
var _zod = zod,
|
62
|
+
_object = _zod.object,
|
63
|
+
_array = _zod.array,
|
64
|
+
zodRest = _objectWithoutPropertiesLoose(_zod, _excluded$1);
|
65
|
+
zod = _extends({
|
66
|
+
object: function object() {
|
67
|
+
var schema = _object.apply(void 0, arguments);
|
68
|
+
schema._def["default"] = function () {
|
69
|
+
return {};
|
70
|
+
};
|
71
|
+
return schema;
|
72
|
+
},
|
73
|
+
array: function array() {
|
74
|
+
var schema = _array.apply(void 0, arguments);
|
75
|
+
schema._def["default"] = function () {
|
76
|
+
return [];
|
77
|
+
};
|
78
|
+
return schema;
|
79
|
+
}
|
80
|
+
}, zodRest);
|
81
|
+
};
|
82
|
+
var createZodSchemaFieldConfig = function createZodSchemaFieldConfig() {
|
83
|
+
return function (config) {
|
84
|
+
var refinementFunction = function refinementFunction() {
|
85
|
+
// Do nothing.
|
86
|
+
};
|
87
|
+
// @ts-expect-error This is a symbol and not a real value.
|
88
|
+
refinementFunction[FIELD_CONFIG_SYMBOL] = config;
|
89
|
+
return refinementFunction;
|
90
|
+
};
|
91
|
+
};
|
40
92
|
function getFieldConfigInZodStack(schema) {
|
41
93
|
// Verifica si el esquema tiene fieldConfig directamente
|
42
94
|
if (schema._def.fieldConfig) {
|
@@ -66,28 +118,41 @@ function inferFieldType(schema, fieldType) {
|
|
66
118
|
|
67
119
|
var _excluded = ["fieldType"];
|
68
120
|
var typeMapping = {
|
69
|
-
ZodDiscriminatedUnion: function ZodDiscriminatedUnion(
|
70
|
-
var
|
71
|
-
|
72
|
-
|
73
|
-
|
121
|
+
ZodDiscriminatedUnion: function ZodDiscriminatedUnion(_ref) {
|
122
|
+
var schema = _ref.schema,
|
123
|
+
name = _ref.name,
|
124
|
+
history = _ref.history,
|
125
|
+
dependecys = _ref.dependecys;
|
126
|
+
var _schema$_def = schema._def,
|
127
|
+
optionsMap = _schema$_def.optionsMap,
|
128
|
+
discriminator = _schema$_def.discriminator,
|
129
|
+
fieldConfig = _schema$_def.fieldConfig;
|
74
130
|
if (!Object.keys(dependecys).length) return [{}];
|
75
131
|
var optionKey = dependecys[discriminator];
|
76
132
|
var option = optionsMap.get(optionKey);
|
77
133
|
if (!option) return [{}];
|
78
134
|
var entries = Object.entries(option.shape);
|
79
|
-
var fields = entries.filter(function (
|
80
|
-
var key =
|
135
|
+
var fields = entries.filter(function (_ref2) {
|
136
|
+
var key = _ref2[0];
|
81
137
|
return key !== discriminator;
|
82
|
-
}).map(function (
|
83
|
-
var key =
|
84
|
-
field =
|
85
|
-
|
138
|
+
}).map(function (_ref3) {
|
139
|
+
var key = _ref3[0],
|
140
|
+
field = _ref3[1];
|
141
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
142
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
143
|
+
return parseField({
|
144
|
+
name: key,
|
145
|
+
schema: field,
|
146
|
+
history: historyFormat,
|
147
|
+
dependecys: dependecys
|
148
|
+
});
|
86
149
|
});
|
150
|
+
var historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join('.');
|
151
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
87
152
|
fields.unshift({
|
88
153
|
name: {
|
89
154
|
current: discriminator,
|
90
|
-
history:
|
155
|
+
history: historyFormat
|
91
156
|
},
|
92
157
|
type: 'discriminator',
|
93
158
|
required: true,
|
@@ -99,24 +164,46 @@ var typeMapping = {
|
|
99
164
|
});
|
100
165
|
return fields;
|
101
166
|
},
|
102
|
-
ZodObject: function ZodObject(
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
167
|
+
ZodObject: function ZodObject(_ref4) {
|
168
|
+
var schema = _ref4.schema,
|
169
|
+
name = _ref4.name,
|
170
|
+
history = _ref4.history,
|
171
|
+
dependecys = _ref4.dependecys;
|
172
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
173
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
174
|
+
return Object.entries(schema.shape).map(function (_ref5) {
|
175
|
+
var key = _ref5[0],
|
176
|
+
field = _ref5[1];
|
177
|
+
return parseField({
|
178
|
+
name: key,
|
179
|
+
schema: field,
|
180
|
+
history: historyFormat,
|
181
|
+
dependecys: dependecys
|
182
|
+
});
|
107
183
|
});
|
108
184
|
},
|
109
|
-
ZodArray: function ZodArray(
|
110
|
-
|
185
|
+
ZodArray: function ZodArray(_ref6) {
|
186
|
+
var schema = _ref6.schema,
|
187
|
+
name = _ref6.name,
|
188
|
+
history = _ref6.history,
|
189
|
+
dependecys = _ref6.dependecys;
|
190
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
191
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
192
|
+
return [parseField({
|
193
|
+
name: '0',
|
194
|
+
schema: schema._def.type,
|
195
|
+
history: historyFormat,
|
196
|
+
dependecys: dependecys
|
197
|
+
})];
|
111
198
|
}
|
112
199
|
};
|
113
|
-
function parseField(
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
dependecys =
|
119
|
-
|
200
|
+
function parseField(_ref7) {
|
201
|
+
var _baseSchema$_def$minL, _baseSchema$_def$maxL;
|
202
|
+
var name = _ref7.name,
|
203
|
+
schema = _ref7.schema,
|
204
|
+
history = _ref7.history,
|
205
|
+
_ref7$dependecys = _ref7.dependecys,
|
206
|
+
dependecys = _ref7$dependecys === void 0 ? {} : _ref7$dependecys;
|
120
207
|
var baseSchema = getBaseSchema(schema);
|
121
208
|
var _getFieldConfigInZodS = getFieldConfigInZodStack(schema),
|
122
209
|
fieldType = _getFieldConfigInZodS.fieldType,
|
@@ -136,20 +223,37 @@ function parseField(name, schema, history, dependecys) {
|
|
136
223
|
});
|
137
224
|
}
|
138
225
|
}
|
226
|
+
var typeName = baseSchema._def.typeName;
|
139
227
|
// Arrays and objects
|
140
|
-
var getSubSchema = typeMapping[
|
141
|
-
var subSchema = getSubSchema == null ? void 0 : getSubSchema(
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
228
|
+
var getSubSchema = typeMapping[typeName];
|
229
|
+
var subSchema = getSubSchema == null ? void 0 : getSubSchema({
|
230
|
+
name: name,
|
231
|
+
schema: baseSchema,
|
232
|
+
history: history,
|
233
|
+
dependecys: dependecys
|
234
|
+
});
|
235
|
+
if (typeName === 'ZodDiscriminatedUnion') {
|
236
|
+
var _baseSchema$_def = baseSchema._def,
|
237
|
+
optionsMap = _baseSchema$_def.optionsMap,
|
238
|
+
discriminator = _baseSchema$_def.discriminator;
|
239
|
+
var optionKey = dependecys[discriminator];
|
240
|
+
if (optionKey) {
|
241
|
+
var option = optionsMap.get(optionKey);
|
242
|
+
if (option._def.fieldConfig) {
|
243
|
+
fieldConfig = _extends({}, fieldConfigBase, option._def.fieldConfig);
|
244
|
+
}
|
245
|
+
}
|
148
246
|
}
|
247
|
+
if (type === 'array') fieldConfig = _extends({
|
248
|
+
min: ((_baseSchema$_def$minL = baseSchema._def.minLength) == null ? void 0 : _baseSchema$_def$minL.value) || 1,
|
249
|
+
max: (_baseSchema$_def$maxL = baseSchema._def.maxLength) == null ? void 0 : _baseSchema$_def$maxL.value
|
250
|
+
}, fieldConfig);
|
251
|
+
var historyFormat = (history ? [history, name] : [name]).join('.');
|
252
|
+
if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);
|
149
253
|
var resp = {
|
150
254
|
name: {
|
151
255
|
current: name,
|
152
|
-
history:
|
256
|
+
history: historyFormat
|
153
257
|
},
|
154
258
|
type: type,
|
155
259
|
required: !schema.isOptional(),
|
@@ -171,13 +275,18 @@ function getBaseSchema(schema) {
|
|
171
275
|
return schema;
|
172
276
|
}
|
173
277
|
var parseSchema = function parseSchema(S) {
|
278
|
+
var _objectSchema$_def$fi;
|
174
279
|
var objectSchema = S instanceof zod.z.ZodEffects ? S.innerType() : S;
|
175
280
|
var shape = objectSchema.shape;
|
176
|
-
var dependecys = objectSchema._def.fieldConfig;
|
177
|
-
var fields = Object.fromEntries(Object.entries(shape).map(function (
|
178
|
-
var key =
|
179
|
-
field =
|
180
|
-
return [key, parseField(
|
281
|
+
var dependecys = ((_objectSchema$_def$fi = objectSchema._def.fieldConfig) == null ? void 0 : _objectSchema$_def$fi.dp) || {};
|
282
|
+
var fields = Object.fromEntries(Object.entries(shape).map(function (_ref8) {
|
283
|
+
var key = _ref8[0],
|
284
|
+
field = _ref8[1];
|
285
|
+
return [key, parseField({
|
286
|
+
name: key,
|
287
|
+
schema: field,
|
288
|
+
dependecys: dependecys
|
289
|
+
})];
|
181
290
|
}));
|
182
291
|
return {
|
183
292
|
fields: fields
|
@@ -185,7 +294,7 @@ var parseSchema = function parseSchema(S) {
|
|
185
294
|
};
|
186
295
|
|
187
296
|
var useSchemaBase = function useSchemaBase() {
|
188
|
-
return
|
297
|
+
return react.useContext(ZodResolverContext);
|
189
298
|
};
|
190
299
|
var useFields = function useFields(key) {
|
191
300
|
var S = useSchemaBase();
|
@@ -193,22 +302,106 @@ var useFields = function useFields(key) {
|
|
193
302
|
fields = _parseSchema.fields;
|
194
303
|
return fields[key];
|
195
304
|
};
|
305
|
+
var _generateInitialValues = function generateInitialValues(schema, dp) {
|
306
|
+
try {
|
307
|
+
var shape = function () {
|
308
|
+
if (schema._def.typeName === 'ZodEffects') return schema.innerType().shape;
|
309
|
+
if (schema._def.typeName === 'ZodObject') return schema.shape;
|
310
|
+
var option = schema._def.optionsMap.get(dp[schema._def.discriminator]);
|
311
|
+
if (!option) throw new Error('No option found');
|
312
|
+
return option.shape;
|
313
|
+
}();
|
314
|
+
var initialValues = {};
|
315
|
+
var _loop = function _loop() {
|
316
|
+
var key = _Object$keys[_i];
|
317
|
+
var fieldSchema = shape[key];
|
318
|
+
var result = fieldSchema.safeParse(undefined);
|
319
|
+
// Si tiene valor por defecto
|
320
|
+
if (result.success) {
|
321
|
+
initialValues[key] = result.data;
|
322
|
+
return 0; // continue
|
323
|
+
}
|
324
|
+
if (Object.keys(dp).includes(key)) {
|
325
|
+
initialValues[key] = dp[key];
|
326
|
+
return 0; // continue
|
327
|
+
}
|
328
|
+
// Inferir tipo para campos requeridos sin default
|
329
|
+
var fieldConfig = {
|
330
|
+
ZodString: function ZodString() {
|
331
|
+
initialValues[key] = '';
|
332
|
+
},
|
333
|
+
ZodNumber: function ZodNumber() {
|
334
|
+
initialValues[key] = 0;
|
335
|
+
},
|
336
|
+
ZodBoolean: function ZodBoolean() {
|
337
|
+
initialValues[key] = false;
|
338
|
+
},
|
339
|
+
ZodDate: function ZodDate() {
|
340
|
+
initialValues[key] = null;
|
341
|
+
},
|
342
|
+
ZodArray: function ZodArray() {
|
343
|
+
initialValues[key] = [];
|
344
|
+
},
|
345
|
+
ZodObject: function ZodObject() {
|
346
|
+
initialValues[key] = _generateInitialValues(fieldSchema, dp);
|
347
|
+
},
|
348
|
+
ZodDiscriminatedUnion: function ZodDiscriminatedUnion() {
|
349
|
+
var option = fieldSchema._def.optionsMap.get(dp[fieldSchema._def.discriminator]);
|
350
|
+
if (option) {
|
351
|
+
initialValues[key] = _generateInitialValues(option, dp);
|
352
|
+
} else {
|
353
|
+
initialValues[key] = null;
|
354
|
+
}
|
355
|
+
}
|
356
|
+
};
|
357
|
+
var fieldType = fieldSchema._def.typeName;
|
358
|
+
var fieldHandler = fieldConfig[fieldType];
|
359
|
+
if (fieldHandler) {
|
360
|
+
fieldHandler();
|
361
|
+
return 0; // continue
|
362
|
+
}
|
363
|
+
initialValues[key] = null;
|
364
|
+
},
|
365
|
+
_ret;
|
366
|
+
for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) {
|
367
|
+
_ret = _loop();
|
368
|
+
if (_ret === 0) continue;
|
369
|
+
}
|
370
|
+
return initialValues;
|
371
|
+
} catch (error) {
|
372
|
+
console.log('🔴 initialValues error', error);
|
373
|
+
if (error instanceof Error) {
|
374
|
+
console.log(error.cause);
|
375
|
+
console.log(error.message);
|
376
|
+
}
|
377
|
+
return {};
|
378
|
+
}
|
379
|
+
};
|
196
380
|
var useSchema = function useSchema(cbP, dp) {
|
197
381
|
var schema = react.useMemo(function () {
|
198
|
-
return cbP(dp).fieldConfig(
|
199
|
-
|
382
|
+
return cbP(dp).fieldConfig(_extends({
|
383
|
+
dp: dp
|
384
|
+
}, cbP(dp).fieldConfig));
|
385
|
+
}, [cbP, JSON.stringify(dp)]);
|
386
|
+
var initialValues = react.useMemo(function () {
|
387
|
+
return _generateInitialValues(schema, dp);
|
388
|
+
}, [schema, JSON.stringify(dp)]);
|
200
389
|
return {
|
201
|
-
schema: schema
|
390
|
+
schema: schema,
|
391
|
+
initialValues: initialValues
|
202
392
|
};
|
203
393
|
};
|
204
394
|
|
205
395
|
var FormInstantElement = function FormInstantElement(_ref) {
|
396
|
+
var _field$fieldConfig;
|
206
397
|
var name = _ref.name;
|
207
398
|
var field = useFields(name);
|
208
|
-
var inputs = Object.values(field.schema || {});
|
209
399
|
var id = react.useId();
|
400
|
+
if ((_field$fieldConfig = field.fieldConfig) != null && _field$fieldConfig.type || !['object', 'transform'].includes(field.type)) return jsxRuntime.jsx(reactInputMapping.ElementMapping, {
|
401
|
+
formProps: field
|
402
|
+
});
|
210
403
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
211
|
-
children:
|
404
|
+
children: Object.values(field.schema || {}).map(function (props) {
|
212
405
|
var _props$name;
|
213
406
|
return jsxRuntime.jsx(react.Fragment, {
|
214
407
|
children: jsxRuntime.jsx(reactInputMapping.ElementMapping, {
|
@@ -219,18 +412,27 @@ var FormInstantElement = function FormInstantElement(_ref) {
|
|
219
412
|
});
|
220
413
|
};
|
221
414
|
|
222
|
-
var FormInstantProvider =
|
415
|
+
var FormInstantProvider = function FormInstantProvider(_ref) {
|
223
416
|
var children = _ref.children,
|
224
417
|
schema = _ref.schema;
|
225
418
|
return jsxRuntime.jsx(ZodResolverContext.Provider, {
|
226
419
|
value: schema,
|
227
420
|
children: children
|
228
421
|
});
|
229
|
-
}
|
422
|
+
};
|
230
423
|
|
424
|
+
exports.FIELD_CONFIG_SYMBOL = FIELD_CONFIG_SYMBOL;
|
231
425
|
exports.FormInstantElement = FormInstantElement;
|
232
426
|
exports.FormInstantProvider = FormInstantProvider;
|
233
427
|
exports.ZodResolverContext = ZodResolverContext;
|
428
|
+
exports.createZodSchemaFieldConfig = createZodSchemaFieldConfig;
|
429
|
+
exports.extendZodWithFieldConfig = extendZodWithFieldConfig;
|
430
|
+
exports.generateInitialValues = _generateInitialValues;
|
431
|
+
exports.getDefaultValueInZodStack = getDefaultValueInZodStack;
|
432
|
+
exports.getDefaultValues = getDefaultValues;
|
433
|
+
exports.getFieldConfigInZodStack = getFieldConfigInZodStack;
|
434
|
+
exports.inferFieldType = inferFieldType;
|
435
|
+
exports.parseSchema = parseSchema;
|
234
436
|
exports.useFields = useFields;
|
235
437
|
exports.useSchema = useSchema;
|
236
438
|
//# 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 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
|
+
{"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 'react';\nimport { zodResolverProps } from './type';\n\nexport const ZodResolverContext = createContext<zodResolverProps>({} as zodResolverProps);\n","import { z, ZodEffects } from 'zod';\nimport { ZodObjectOrWrapped } from './types';\n\nexport function getDefaultValueInZodStack(schema: z.ZodTypeAny): any {\n if (schema._def.typeName === 'ZodDefault') {\n return schema._def.defaultValue();\n }\n\n if (schema._def.typeName === 'ZodEffects') {\n return getDefaultValueInZodStack((schema as ZodEffects<any>).innerType());\n }\n\n return undefined;\n}\n\nexport function getDefaultValues(schema: ZodObjectOrWrapped): Record<string, any> {\n const objectSchema = schema instanceof z.ZodEffects ? schema.innerType() : schema;\n const shape = objectSchema.shape;\n\n const defaultValues: Record<string, any> = {};\n\n for (const [key, field] of Object.entries(shape)) {\n const defaultValue = getDefaultValueInZodStack(field as z.ZodTypeAny);\n if (defaultValue !== undefined) {\n defaultValues[key] = defaultValue;\n }\n }\n\n return defaultValues;\n}\n","import z from 'zod';\nimport { FieldConfig, SuperRefineFunction } from './types';\n\nexport const FIELD_CONFIG_SYMBOL = Symbol('GetFieldConfig');\n\ndeclare module 'zod' {\n interface ZodType {\n fieldConfig<Ob extends Record<string, any>>(config: FieldConfig<Ob, keyof Ob>): this;\n }\n}\n\nexport const extendZodWithFieldConfig = (zod: typeof z) => {\n (zod.ZodType.prototype as any).fieldConfig = function (config: FieldConfig<any, any>) {\n this._def.fieldConfig = config;\n return this;\n };\n\n const { object, array, ...zodRest } = zod;\n\n zod = {\n object: ((...args: [any]) => {\n const schema = object(...args);\n (schema._def as any).default = () => ({});\n return schema;\n }) as any,\n array: ((...args: [any]) => {\n const schema = array(...args);\n (schema._def as any).default = () => [];\n return schema;\n }) as any,\n ...zodRest,\n };\n};\n\nexport const createZodSchemaFieldConfig =\n <Ob extends Record<string, any>, K extends keyof Ob>() =>\n (config: FieldConfig<Ob, K>): 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<any, any> {\n // Verifica si el esquema tiene fieldConfig directamente\n if (schema._def.fieldConfig) {\n return schema._def.fieldConfig as FieldConfig<any, any>;\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<any, any>;\n}\n","import { z } from 'zod';\nimport { FieldConfig } from './types';\n\nexport function inferFieldType<Ob extends Record<string, any>, K extends keyof Ob>(\n schema: z.ZodTypeAny,\n fieldType?: FieldConfig<Ob, K>['fieldType']\n): string {\n if (fieldType) {\n return fieldType;\n }\n\n const type = schema._def.typeName;\n\n const zodToInputType = new Map([\n ['ZodObject', 'object'],\n ['ZodString', 'string'],\n ['ZodNumber', 'number'],\n ['ZodBoolean', 'boolean'],\n ['ZodDate', 'date'],\n ['ZodEnum', 'select'],\n ['ZodNativeEnum', 'select'],\n ['ZodArray', 'array'],\n ]);\n\n const match = zodToInputType.get(type);\n\n return match || 'string'; // Default to string for unknown types\n}\n","import { ParsedField } from '@form-instant/react-input-mapping';\nimport { z } from 'zod';\nimport { getDefaultValueInZodStack } from './default-values';\nimport { getFieldConfigInZodStack } from './field-config';\nimport { inferFieldType } from './field-type-inference';\nimport { ParsedSchema, ZodObjectOrWrapped } from './types';\n\ninterface typeMappingProps {\n schema: z.ZodTypeAny;\n name: string;\n history?: string;\n dependecys: Record<string, any>;\n}\n\ntype typeMappingType = Record<\n 'ZodDiscriminatedUnion' | 'ZodObject' | 'ZodArray',\n (p: typeMappingProps) => ParsedField<any, string>[]\n>;\n\nconst typeMapping: typeMappingType = {\n ZodDiscriminatedUnion({ schema, name, history, dependecys }) {\n const { optionsMap, discriminator, fieldConfig } = schema._def;\n\n if (!Object.keys(dependecys).length) return [{}] as ParsedField<any, string>[];\n\n const optionKey = dependecys[discriminator];\n const option = optionsMap.get(optionKey);\n\n if (!option) return [{}] as ParsedField<any, string>[];\n\n const entries = Object.entries(option.shape);\n\n const fields = entries\n .filter(([key]) => key !== discriminator)\n .map(([key, field]) => {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n });\n });\n\n let historyFormat = (history ? [history, name, discriminator] : [name, discriminator]).join(\n '.',\n );\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n fields.unshift({\n name: {\n current: discriminator,\n history: historyFormat,\n },\n type: 'discriminator',\n required: true,\n default: optionKey,\n fieldConfig,\n options: Array.from(optionsMap.keys()).map((key) => [String(key), String(key)]),\n });\n\n return fields;\n },\n\n ZodObject({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return Object.entries((schema as any).shape).map(([key, field]) =>\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n history: historyFormat,\n dependecys,\n }),\n );\n },\n\n ZodArray({ schema, name, history, dependecys }) {\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n return [\n parseField({\n name: '0',\n schema: schema._def.type,\n history: historyFormat,\n dependecys,\n }),\n ];\n },\n};\n\nfunction parseField({\n name,\n schema,\n history,\n dependecys = {},\n}: typeMappingProps): ParsedField<any> {\n const baseSchema = getBaseSchema(schema);\n const { fieldType, ...fieldConfigBase } = getFieldConfigInZodStack(schema);\n const type = inferFieldType(baseSchema, fieldType);\n const defaultValue = getDefaultValueInZodStack(schema);\n\n let fieldConfig = fieldConfigBase;\n\n // Enums\n const options = baseSchema._def.values;\n let optionValues: [string, string][] = [];\n if (options) {\n if (!Array.isArray(options)) {\n optionValues = Object.entries(options);\n } else {\n optionValues = options.map((value) => [value, value]);\n }\n }\n\n const { typeName } = baseSchema._def;\n\n // Arrays and objects\n const getSubSchema = typeMapping[typeName as keyof typeof typeMapping];\n\n const subSchema = getSubSchema?.({\n name,\n schema: baseSchema,\n history,\n dependecys,\n });\n\n if (typeName === 'ZodDiscriminatedUnion') {\n const { optionsMap, discriminator } = baseSchema._def;\n\n const optionKey = dependecys[discriminator];\n\n if (optionKey) {\n const option = optionsMap.get(optionKey);\n\n if (option._def.fieldConfig) {\n fieldConfig = {\n ...fieldConfigBase,\n ...option._def.fieldConfig,\n };\n }\n }\n }\n\n if (type === 'array')\n fieldConfig = {\n min: baseSchema._def.minLength?.value || 1,\n max: baseSchema._def.maxLength?.value,\n ...fieldConfig,\n };\n\n let historyFormat = (history ? [history, name] : [name]).join('.');\n\n if (historyFormat.charAt(0) === '.') historyFormat = historyFormat.substring(1);\n\n const resp = {\n name: {\n current: name,\n history: historyFormat,\n },\n type,\n required: !schema.isOptional(),\n default: defaultValue,\n fieldConfig,\n options: optionValues,\n schema: subSchema,\n description: baseSchema.description,\n };\n\n return resp;\n}\n\nfunction getBaseSchema<ChildType extends z.ZodAny | z.ZodTypeAny | z.AnyZodObject = z.ZodAny>(\n schema: ChildType | z.ZodEffects<ChildType>,\n): ChildType {\n if ('innerType' in schema._def) {\n return getBaseSchema(schema._def.innerType as ChildType);\n }\n if ('schema' in schema._def) {\n return getBaseSchema(schema._def.schema as ChildType);\n }\n\n return schema as ChildType;\n}\n\nexport const parseSchema = (S: ZodObjectOrWrapped): ParsedSchema => {\n const objectSchema = S instanceof z.ZodEffects ? S.innerType() : S;\n const shape = objectSchema.shape;\n\n const dependecys = (objectSchema._def as any).fieldConfig?.dp || {};\n\n const fields = Object.fromEntries(\n Object.entries(shape).map(([key, field]) => [\n key,\n parseField({\n name: key,\n schema: field as z.ZodTypeAny,\n dependecys,\n }),\n ]),\n );\n\n return { fields };\n};\n","import { useContext, useMemo } from 'react';\nimport { z, ZodEffects, ZodObject } from 'zod';\nimport { ZodResolverContext } from './context';\nimport { parseSchema } from './funcs/schema-parser';\n\nconst useSchemaBase = () =>\n useContext(ZodResolverContext) as ZodObject<never, never> | ZodEffects<never, never>;\n\nexport const useFields = <Sc extends Record<string, any>>(key: keyof Sc) => {\n const S = useSchemaBase();\n\n const { fields } = parseSchema(S);\n\n return fields[key as string];\n};\n\ntype Data = z.AnyZodObject | z.ZodEffects<z.AnyZodObject> | z.ZodDiscriminatedUnion<any, any>;\n\ntype DP = Record<string, any>;\n\nexport const generateInitialValues = <S extends Record<string, any>>(schema: Data, dp: DP): S => {\n try {\n const shape = (() => {\n if (schema._def.typeName === 'ZodEffects')\n return (schema as z.ZodEffects<any>).innerType().shape;\n if (schema._def.typeName === 'ZodObject') return (schema as z.ZodObject<any>).shape;\n\n const option = schema._def.optionsMap.get(dp[schema._def.discriminator]);\n\n if (!option) throw new Error('No option found');\n\n return option.shape;\n })();\n\n const initialValues: Record<string, any> = {};\n\n for (const key of Object.keys(shape)) {\n const fieldSchema = shape[key];\n const result = fieldSchema.safeParse(undefined);\n\n // Si tiene valor por defecto\n if (result.success) {\n initialValues[key] = result.data;\n continue;\n }\n\n if (Object.keys(dp).includes(key)) {\n initialValues[key] = dp[key];\n continue;\n }\n // Inferir tipo para campos requeridos sin default\n const fieldConfig = {\n ZodString() {\n initialValues[key] = '';\n },\n ZodNumber() {\n initialValues[key] = 0;\n },\n ZodBoolean() {\n initialValues[key] = false;\n },\n ZodDate() {\n initialValues[key] = null;\n },\n ZodArray() {\n initialValues[key] = [];\n },\n ZodObject() {\n initialValues[key] = generateInitialValues(fieldSchema, dp);\n },\n ZodDiscriminatedUnion() {\n const option = fieldSchema._def.optionsMap.get(\n dp[fieldSchema._def.discriminator],\n );\n\n if (option) {\n initialValues[key] = generateInitialValues(option, dp);\n } else {\n initialValues[key] = null;\n }\n },\n };\n\n const fieldType = fieldSchema._def.typeName;\n const fieldHandler = fieldConfig[fieldType as keyof typeof fieldConfig];\n\n if (fieldHandler) {\n fieldHandler();\n continue;\n }\n\n initialValues[key] = null;\n }\n\n return initialValues as S;\n } catch (error) {\n console.log('🔴 initialValues error', error);\n\n if (error instanceof Error) {\n console.log(error.cause);\n console.log(error.message);\n }\n\n return {} as S;\n }\n};\n\nexport const useSchema = <S extends Record<string, any>>(\n cbP: (dp: DP, preData?: Data) => Data,\n dp: DP,\n) => {\n const schema = useMemo(\n () => (cbP(dp) as any).fieldConfig({ dp, ...cbP(dp).fieldConfig }),\n [cbP, JSON.stringify(dp)],\n );\n\n const initialValues = useMemo(\n () => generateInitialValues(schema, dp) as S,\n [schema, JSON.stringify(dp)],\n );\n\n return { schema, initialValues };\n};\n","import { ElementMapping } from '@form-instant/react-input-mapping';\nimport { Fragment, useId } from 'react';\nimport { useFields } from './useSchema';\n\nexport interface ElementProps<Schema extends Record<string, any>> {\n name: keyof Schema;\n}\n\nexport const FormInstantElement = <S extends Record<string, any>>({ name }: ElementProps<S>) => {\n const field = useFields(name);\n\n const id = useId();\n\n if ((field.fieldConfig as any)?.type || !['object', 'transform'].includes(field.type))\n return <ElementMapping formProps={field} />;\n\n return (\n <>\n {Object.values(field.schema || {}).map((props: any) => {\n return (\n <Fragment key={`${id}-${props.name?.history || ''}`}>\n <ElementMapping formProps={props} />\n </Fragment>\n );\n })}\n </>\n );\n};\n","import { FC, ReactNode } from 'react';\nimport { ZodResolverContext } from './context';\nimport { zodResolverProps } from './type';\n\nexport const FormInstantProvider: FC<{\n schema: zodResolverProps;\n children: ReactNode;\n}> = ({ children, schema }) => {\n return <ZodResolverContext.Provider value={schema}>{children}</ZodResolverContext.Provider>;\n};\n"],"names":["ZodResolverContext","createContext","getDefaultValueInZodStack","schema","_def","typeName","defaultValue","innerType","undefined","getDefaultValues","objectSchema","z","ZodEffects","shape","defaultValues","_i","_Object$entries","Object","entries","length","_Object$entries$_i","key","field","FIELD_CONFIG_SYMBOL","Symbol","extendZodWithFieldConfig","zod","ZodType","prototype","fieldConfig","config","_zod","object","array","zodRest","_objectWithoutPropertiesLoose","_excluded","_extends","apply","arguments","createZodSchemaFieldConfig","refinementFunction","getFieldConfigInZodStack","inferFieldType","fieldType","type","zodToInputType","Map","match","get","typeMapping","ZodDiscriminatedUnion","_ref","name","history","dependecys","_schema$_def","optionsMap","discriminator","keys","optionKey","option","fields","filter","_ref2","map","_ref3","historyFormat","join","charAt","substring","parseField","unshift","current","required","options","Array","from","String","ZodObject","_ref4","_ref5","ZodArray","_ref6","_ref7","_baseSchema$_def$minL","_baseSchema$_def$maxL","_ref7$dependecys","baseSchema","getBaseSchema","_getFieldConfigInZodS","fieldConfigBase","values","optionValues","isArray","value","getSubSchema","subSchema","_baseSchema$_def","min","minLength","max","maxLength","resp","isOptional","description","parseSchema","S","_objectSchema$_def$fi","dp","fromEntries","_ref8","useSchemaBase","useContext","useFields","_parseSchema","generateInitialValues","Error","initialValues","_loop","_Object$keys","fieldSchema","result","safeParse","success","data","includes","ZodString","ZodNumber","ZodBoolean","ZodDate","fieldHandler","_ret","error","console","log","cause","message","useSchema","cbP","useMemo","JSON","stringify","FormInstantElement","_field$fieldConfig","id","useId","_jsx","ElementMapping","formProps","_Fragment","children","props","_props$name","Fragment","FormInstantProvider","Provider"],"mappings":"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"}
|