@jfdevelops/multi-step-form-core 1.0.0-alpha.22 → 1.0.0-alpha.23

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/index.cjs CHANGED
@@ -41,6 +41,7 @@ Object.defineProperty(exports, 'fields', {
41
41
  return require_fields.fields;
42
42
  }
43
43
  });
44
+ exports.getInferredFieldType = require_field_types.getInferredFieldType;
44
45
  exports.invariant = require_invariant.invariant;
45
46
  exports.isCasingValid = require_casing.isCasingValid;
46
47
  exports.isFieldType = require_field_types.isFieldType;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, Join, Override, SetDefaultString, Split, objectHelpers, unionHelpers } from "./utils/types.cjs";
2
2
  import { CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, DEFAULT_CASING, DefaultCasing, ToLower, changeCasing, isCasingValid, quote, setCasingType } from "./utils/casing.cjs";
3
- import { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, isFieldType } from "./utils/field-types.cjs";
3
+ import { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, getInferredFieldType, isFieldType } from "./utils/field-types.cjs";
4
4
  import { DEFAULT_LOGGER_PREFIX, MultiStepFormLogger, MultiStepFormLoggerOptions } from "./utils/logger.cjs";
5
5
  import { invariant } from "./utils/invariant.cjs";
6
6
  import { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, ClampTo0to10, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, CurrentStepHelperFnCtx, ExtractStepFromKey, FirstStep, GeneralHelperFn, GetCurrentStep, GetDefaultCasingTransformation, GetFieldsForStep, GreaterThan, HelperFn, HelperFnChosenSteps, HelperFnCtx, HelperFnInputBase, HelperFnInputWithValidator, HelperFnInputWithoutValidator, HelperFnResetFn, HelperFnUpdateFn, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, LastStep, Max, Min, MultiStepFormSchemaStepConfig, NameTransformCasingOptions, Range, Relaxed, RequireAtLeastOne, ResetFn, ResolvedFields, ResolvedStep, ResolvedStepBuilder, SetDefault, Step, StepData, StepFieldOptions, StepNumbers, StepOptions, StepSpecificHelperFn, StepSpecificHelperFns, StrippedResolvedStep, Tuple, UnionToTuple, UpdateFn, Updater, ValidStepKey, helperFnResetFn, helperFnUpdateFn } from "./steps/types.cjs";
@@ -11,4 +11,4 @@ import { createCtx } from "./steps/utils.cjs";
11
11
  import { AsFunction, AsFunctionReturn, AsType, AsTypeMap, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig } from "./steps/schema.cjs";
12
12
  import { MultiStepFormSchema, MultiStepFormSchemaListener, MultiStepFormSchemaOptions, createMultiStepFormSchema } from "./schema.cjs";
13
13
  import { MultiStepFormObserver, ObserverListener, ObserverOptions } from "./observable.cjs";
14
- export { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, AsFunction, AsFunctionReturn, AsType, AsTypeMap, CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, ClampTo0to10, Constrain, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, CurrentStepHelperFnCtx, DEFAULT_CASING, DEFAULT_FIELD_TYPE, DEFAULT_LOGGER_PREFIX, DEFAULT_STORAGE_KEY, DeepKeys, DeepPartial, DeepValue, DefaultCasing, DefaultFieldType, DefaultFieldTypeMap, DefaultStorageKey, Expand, ExtractStepFromKey, FIELD_TYPES, FieldType, FirstStep, GeneralHelperFn, GetCurrentStep, GetDefaultCasingTransformation, GetFieldsForStep, GetInferredFieldType, GreaterThan, HelperFn, HelperFnChosenSteps, HelperFnCtx, HelperFnInputBase, HelperFnInputWithValidator, HelperFnInputWithoutValidator, HelperFnResetFn, HelperFnUpdateFn, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, Join, LastStep, Max, Min, MultiStepFormLogger, MultiStepFormLoggerOptions, MultiStepFormObserver, MultiStepFormSchema, MultiStepFormSchemaListener, MultiStepFormSchemaOptions, MultiStepFormSchemaStepConfig, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig, MultiStepFormStorage, NameTransformCasingOptions, ObserverListener, ObserverOptions, Override, Range, Relaxed, RequireAtLeastOne, ResetFn, ResolvedFieldTypeMap, ResolvedFields, ResolvedStep, ResolvedStepBuilder, SetDefault, SetDefaultString, Split, Step, StepData, StepFieldOptions, StepNumbers, StepOptions, StepSpecificHelperFn, StepSpecificHelperFns, StorageConfig, StrippedResolvedStep, ToLower, Tuple, UnionToTuple, UpdateFn, Updater, VALIDATED_STEP_REGEX, ValidStepKey, changeCasing, createCtx, createMultiStepFormSchema, createStep, fields, helperFnResetFn, helperFnUpdateFn, invariant, isCasingValid, isFieldType, isValidStepKey, objectHelpers, quote, setCasingType, unionHelpers };
14
+ export { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, AsFunction, AsFunctionReturn, AsType, AsTypeMap, CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, ClampTo0to10, Constrain, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, CurrentStepHelperFnCtx, DEFAULT_CASING, DEFAULT_FIELD_TYPE, DEFAULT_LOGGER_PREFIX, DEFAULT_STORAGE_KEY, DeepKeys, DeepPartial, DeepValue, DefaultCasing, DefaultFieldType, DefaultFieldTypeMap, DefaultStorageKey, Expand, ExtractStepFromKey, FIELD_TYPES, FieldType, FirstStep, GeneralHelperFn, GetCurrentStep, GetDefaultCasingTransformation, GetFieldsForStep, GetInferredFieldType, GreaterThan, HelperFn, HelperFnChosenSteps, HelperFnCtx, HelperFnInputBase, HelperFnInputWithValidator, HelperFnInputWithoutValidator, HelperFnResetFn, HelperFnUpdateFn, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, Join, LastStep, Max, Min, MultiStepFormLogger, MultiStepFormLoggerOptions, MultiStepFormObserver, MultiStepFormSchema, MultiStepFormSchemaListener, MultiStepFormSchemaOptions, MultiStepFormSchemaStepConfig, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig, MultiStepFormStorage, NameTransformCasingOptions, ObserverListener, ObserverOptions, Override, Range, Relaxed, RequireAtLeastOne, ResetFn, ResolvedFieldTypeMap, ResolvedFields, ResolvedStep, ResolvedStepBuilder, SetDefault, SetDefaultString, Split, Step, StepData, StepFieldOptions, StepNumbers, StepOptions, StepSpecificHelperFn, StepSpecificHelperFns, StorageConfig, StrippedResolvedStep, ToLower, Tuple, UnionToTuple, UpdateFn, Updater, VALIDATED_STEP_REGEX, ValidStepKey, changeCasing, createCtx, createMultiStepFormSchema, createStep, fields, getInferredFieldType, helperFnResetFn, helperFnUpdateFn, invariant, isCasingValid, isFieldType, isValidStepKey, objectHelpers, quote, setCasingType, unionHelpers };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, Join, Override, SetDefaultString, Split, objectHelpers, unionHelpers } from "./utils/types.mjs";
2
2
  import { CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, DEFAULT_CASING, DefaultCasing, ToLower, changeCasing, isCasingValid, quote, setCasingType } from "./utils/casing.mjs";
3
- import { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, isFieldType } from "./utils/field-types.mjs";
3
+ import { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, getInferredFieldType, isFieldType } from "./utils/field-types.mjs";
4
4
  import { DEFAULT_LOGGER_PREFIX, MultiStepFormLogger, MultiStepFormLoggerOptions } from "./utils/logger.mjs";
5
5
  import { invariant } from "./utils/invariant.mjs";
6
6
  import { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, ClampTo0to10, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, CurrentStepHelperFnCtx, ExtractStepFromKey, FirstStep, GeneralHelperFn, GetCurrentStep, GetDefaultCasingTransformation, GetFieldsForStep, GreaterThan, HelperFn, HelperFnChosenSteps, HelperFnCtx, HelperFnInputBase, HelperFnInputWithValidator, HelperFnInputWithoutValidator, HelperFnResetFn, HelperFnUpdateFn, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, LastStep, Max, Min, MultiStepFormSchemaStepConfig, NameTransformCasingOptions, Range, Relaxed, RequireAtLeastOne, ResetFn, ResolvedFields, ResolvedStep, ResolvedStepBuilder, SetDefault, Step, StepData, StepFieldOptions, StepNumbers, StepOptions, StepSpecificHelperFn, StepSpecificHelperFns, StrippedResolvedStep, Tuple, UnionToTuple, UpdateFn, Updater, ValidStepKey, helperFnResetFn, helperFnUpdateFn } from "./steps/types.mjs";
@@ -11,4 +11,4 @@ import { createCtx } from "./steps/utils.mjs";
11
11
  import { AsFunction, AsFunctionReturn, AsType, AsTypeMap, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig } from "./steps/schema.mjs";
12
12
  import { MultiStepFormSchema, MultiStepFormSchemaListener, MultiStepFormSchemaOptions, createMultiStepFormSchema } from "./schema.mjs";
13
13
  import { MultiStepFormObserver, ObserverListener, ObserverOptions } from "./observable.mjs";
14
- export { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, AsFunction, AsFunctionReturn, AsType, AsTypeMap, CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, ClampTo0to10, Constrain, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, CurrentStepHelperFnCtx, DEFAULT_CASING, DEFAULT_FIELD_TYPE, DEFAULT_LOGGER_PREFIX, DEFAULT_STORAGE_KEY, DeepKeys, DeepPartial, DeepValue, DefaultCasing, DefaultFieldType, DefaultFieldTypeMap, DefaultStorageKey, Expand, ExtractStepFromKey, FIELD_TYPES, FieldType, FirstStep, GeneralHelperFn, GetCurrentStep, GetDefaultCasingTransformation, GetFieldsForStep, GetInferredFieldType, GreaterThan, HelperFn, HelperFnChosenSteps, HelperFnCtx, HelperFnInputBase, HelperFnInputWithValidator, HelperFnInputWithoutValidator, HelperFnResetFn, HelperFnUpdateFn, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, Join, LastStep, Max, Min, MultiStepFormLogger, MultiStepFormLoggerOptions, MultiStepFormObserver, MultiStepFormSchema, MultiStepFormSchemaListener, MultiStepFormSchemaOptions, MultiStepFormSchemaStepConfig, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig, MultiStepFormStorage, NameTransformCasingOptions, ObserverListener, ObserverOptions, Override, Range, Relaxed, RequireAtLeastOne, ResetFn, ResolvedFieldTypeMap, ResolvedFields, ResolvedStep, ResolvedStepBuilder, SetDefault, SetDefaultString, Split, Step, StepData, StepFieldOptions, StepNumbers, StepOptions, StepSpecificHelperFn, StepSpecificHelperFns, StorageConfig, StrippedResolvedStep, ToLower, Tuple, UnionToTuple, UpdateFn, Updater, VALIDATED_STEP_REGEX, ValidStepKey, changeCasing, createCtx, createMultiStepFormSchema, createStep, fields, helperFnResetFn, helperFnUpdateFn, invariant, isCasingValid, isFieldType, isValidStepKey, objectHelpers, quote, setCasingType, unionHelpers };
14
+ export { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, AsFunction, AsFunctionReturn, AsType, AsTypeMap, CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, ClampTo0to10, Constrain, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, CurrentStepHelperFnCtx, DEFAULT_CASING, DEFAULT_FIELD_TYPE, DEFAULT_LOGGER_PREFIX, DEFAULT_STORAGE_KEY, DeepKeys, DeepPartial, DeepValue, DefaultCasing, DefaultFieldType, DefaultFieldTypeMap, DefaultStorageKey, Expand, ExtractStepFromKey, FIELD_TYPES, FieldType, FirstStep, GeneralHelperFn, GetCurrentStep, GetDefaultCasingTransformation, GetFieldsForStep, GetInferredFieldType, GreaterThan, HelperFn, HelperFnChosenSteps, HelperFnCtx, HelperFnInputBase, HelperFnInputWithValidator, HelperFnInputWithoutValidator, HelperFnResetFn, HelperFnUpdateFn, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, Join, LastStep, Max, Min, MultiStepFormLogger, MultiStepFormLoggerOptions, MultiStepFormObserver, MultiStepFormSchema, MultiStepFormSchemaListener, MultiStepFormSchemaOptions, MultiStepFormSchemaStepConfig, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig, MultiStepFormStorage, NameTransformCasingOptions, ObserverListener, ObserverOptions, Override, Range, Relaxed, RequireAtLeastOne, ResetFn, ResolvedFieldTypeMap, ResolvedFields, ResolvedStep, ResolvedStepBuilder, SetDefault, SetDefaultString, Split, Step, StepData, StepFieldOptions, StepNumbers, StepOptions, StepSpecificHelperFn, StepSpecificHelperFns, StorageConfig, StrippedResolvedStep, ToLower, Tuple, UnionToTuple, UpdateFn, Updater, VALIDATED_STEP_REGEX, ValidStepKey, changeCasing, createCtx, createMultiStepFormSchema, createStep, fields, getInferredFieldType, helperFnResetFn, helperFnUpdateFn, invariant, isCasingValid, isFieldType, isValidStepKey, objectHelpers, quote, setCasingType, unionHelpers };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { invariant } from "./utils/invariant.mjs";
2
2
  import { createCtx } from "./steps/utils.mjs";
3
3
  import { CASING_TYPES, DEFAULT_CASING, changeCasing, isCasingValid, quote, setCasingType } from "./utils/casing.mjs";
4
- import { DEFAULT_FIELD_TYPE, FIELD_TYPES, isFieldType } from "./utils/field-types.mjs";
4
+ import { DEFAULT_FIELD_TYPE, FIELD_TYPES, getInferredFieldType, isFieldType } from "./utils/field-types.mjs";
5
5
  import { DEFAULT_LOGGER_PREFIX, MultiStepFormLogger } from "./utils/logger.mjs";
6
6
  import { VALIDATED_STEP_REGEX, createStep, isValidStepKey } from "./internals/utils.mjs";
7
7
  import { DEFAULT_STORAGE_KEY, MultiStepFormStorage } from "./storage.mjs";
@@ -13,4 +13,4 @@ import "./steps/index.mjs";
13
13
  import { MultiStepFormSchema, createMultiStepFormSchema } from "./schema.mjs";
14
14
  import { MultiStepFormObserver } from "./observable.mjs";
15
15
 
16
- export { CASING_TYPES, DEFAULT_CASING, DEFAULT_FIELD_TYPE, DEFAULT_LOGGER_PREFIX, DEFAULT_STORAGE_KEY, FIELD_TYPES, HelperFnChosenSteps, MultiStepFormLogger, MultiStepFormObserver, MultiStepFormSchema, MultiStepFormStepSchema, MultiStepFormStorage, VALIDATED_STEP_REGEX, changeCasing, createCtx, createMultiStepFormSchema, createStep, fields, invariant, isCasingValid, isFieldType, isValidStepKey, quote, setCasingType };
16
+ export { CASING_TYPES, DEFAULT_CASING, DEFAULT_FIELD_TYPE, DEFAULT_LOGGER_PREFIX, DEFAULT_STORAGE_KEY, FIELD_TYPES, HelperFnChosenSteps, MultiStepFormLogger, MultiStepFormObserver, MultiStepFormSchema, MultiStepFormStepSchema, MultiStepFormStorage, VALIDATED_STEP_REGEX, changeCasing, createCtx, createMultiStepFormSchema, createStep, fields, getInferredFieldType, invariant, isCasingValid, isFieldType, isValidStepKey, quote, setCasingType };
@@ -17,14 +17,18 @@ function createStepFields(options) {
17
17
  for (const [name, values] of Object.entries(fields)) {
18
18
  require_invariant.invariant(typeof name === "string", `Each key for the "fields" option must be a string. Key ${name} was a ${typeof name}`);
19
19
  require_invariant.invariant(typeof values === "object", `The value for key ${name} must be an object. Was ${typeof values}`);
20
- const { defaultValue, label, nameTransformCasing, type = require_field_types.DEFAULT_FIELD_TYPE } = values;
20
+ const { defaultValue, label, nameTransformCasing, type } = values;
21
21
  if (validateFields) resolvedFields[name] = defaultValue;
22
22
  else {
23
23
  const casing = nameTransformCasing ?? defaultCasing;
24
+ const resolvedType = require_field_types.getInferredFieldType({
25
+ defaultValue,
26
+ type
27
+ });
24
28
  resolvedFields[name] = {
25
29
  ...resolvedFields[name],
26
30
  nameTransformCasing: casing,
27
- type,
31
+ type: resolvedType,
28
32
  defaultValue,
29
33
  label: createFieldLabel(label, name, casing)
30
34
  };
@@ -37,12 +41,16 @@ function createStepFields(options) {
37
41
  for (const [name, defaultValue] of Object.entries(validatedFields)) {
38
42
  const currentField = fields[name];
39
43
  require_invariant.invariant(currentField, `No field found in the fields config for "${name}"`);
40
- const { label, type = require_field_types.DEFAULT_FIELD_TYPE, nameTransformCasing } = currentField;
44
+ const { label, type, nameTransformCasing } = currentField;
41
45
  const casing = nameTransformCasing ?? defaultCasing;
46
+ const resolvedType = require_field_types.getInferredFieldType({
47
+ defaultValue,
48
+ type
49
+ });
42
50
  resolvedFields[name] = {
43
51
  ...resolvedFields[name],
44
52
  nameTransformCasing: casing,
45
- type,
53
+ type: resolvedType,
46
54
  defaultValue,
47
55
  label: createFieldLabel(label, name, casing)
48
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":["changeCasing","resolvedFields: Record<string, unknown>","DEFAULT_FIELD_TYPE","runStandardValidation","DEFAULT_CASING"],"sources":["../../src/internals/utils.ts"],"sourcesContent":["import type {\n AnyResolvedStep,\n AnyStepField,\n Step,\n InferStepOptions,\n ResolvedStep,\n HelperFnChosenSteps,\n} from '@/steps';\nimport {\n type Constrain,\n type CasingType,\n changeCasing,\n DEFAULT_FIELD_TYPE,\n invariant,\n type DefaultCasing,\n DEFAULT_CASING,\n} from '@/utils';\nimport {\n type AnyValidator,\n type DefaultValidator,\n runStandardValidation,\n type StandardSchemaValidator,\n} from '@/utils/validator';\n\nexport const VALIDATED_STEP_REGEX = /^step\\d+$/i;\nexport function isValidStepKey<T extends AnyResolvedStep>(\n steps: T,\n stepKey: string\n): stepKey is Constrain<keyof T, string> {\n return Object.keys(steps).includes(stepKey);\n}\n\nexport function createFieldLabel(\n label: string | false | undefined,\n fieldName: string,\n casingType: CasingType\n) {\n return label ?? changeCasing(fieldName, casingType);\n}\n\nexport function createStepFields(options: {\n fields: AnyStepField;\n validateFields:\n | Constrain<unknown, AnyValidator, DefaultValidator>\n | undefined;\n defaultCasing: CasingType;\n}) {\n const resolvedFields: Record<string, unknown> = {};\n const { fields, defaultCasing, validateFields } = options;\n\n for (const [name, values] of Object.entries(fields)) {\n invariant(\n typeof name === 'string',\n `Each key for the \"fields\" option must be a string. Key ${name} was a ${typeof name}`\n );\n invariant(\n typeof values === 'object',\n `The value for key ${name} must be an object. Was ${typeof values}`\n );\n\n const {\n defaultValue,\n label,\n nameTransformCasing,\n type = DEFAULT_FIELD_TYPE,\n } = values;\n\n if (validateFields) {\n resolvedFields[name] = defaultValue;\n } else {\n const casing = nameTransformCasing ?? defaultCasing;\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n\n // TODO add more fields here\n };\n }\n }\n\n if (validateFields) {\n const validatedFields = runStandardValidation(\n validateFields as StandardSchemaValidator,\n resolvedFields\n );\n\n invariant(\n typeof validatedFields === 'object',\n `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`\n );\n invariant(\n !!validatedFields,\n 'The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it'\n );\n\n for (const [name, defaultValue] of Object.entries(validatedFields)) {\n const currentField = fields[name];\n\n invariant(\n currentField,\n `No field found in the fields config for \"${name}\"`\n );\n\n const {\n label,\n type = DEFAULT_FIELD_TYPE,\n nameTransformCasing,\n } = currentField;\n const casing = nameTransformCasing ?? defaultCasing;\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n };\n }\n }\n\n return resolvedFields;\n}\nexport function createStep<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing\n>(stepsConfig: InferStepOptions<step>) {\n const resolvedSteps = {} as ResolvedStep<step, casing>;\n\n invariant(!!stepsConfig, 'The steps config must be defined', TypeError);\n invariant(\n typeof stepsConfig === 'object',\n `The steps config must be an object, was (${typeof stepsConfig})`,\n TypeError\n );\n\n for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {\n invariant(\n typeof stepKey === 'string',\n `Each key for the step config must be a string. Key \"${stepKey}\" was ${typeof stepKey} `,\n TypeError\n );\n invariant(\n VALIDATED_STEP_REGEX.test(stepKey),\n `The key \"${stepKey}\" isn't formatted properly. Each key in the step config must be the following format: \"step{number}\"`\n );\n\n const validStepKey = stepKey as keyof typeof resolvedSteps;\n const {\n fields,\n title,\n nameTransformCasing: defaultCasing = DEFAULT_CASING,\n description,\n validateFields,\n } = stepValue;\n\n const currentStep = validStepKey.toString().replace('step', '');\n\n invariant(\n fields,\n `Missing fields for step ${currentStep} (${String(validStepKey)})`,\n TypeError\n );\n invariant(\n typeof fields === 'object',\n 'Fields must be an object',\n TypeError\n );\n invariant(\n Object.keys(fields).length > 0,\n `The fields config for step ${currentStep} (${String(\n validStepKey\n )}) is empty. Please add a field`\n );\n invariant(\n typeof fields === 'object',\n `The \"fields\" property must be an object. Was ${typeof fields}`\n );\n\n const resolvedFields = createStepFields({\n defaultCasing,\n fields,\n validateFields,\n });\n\n resolvedSteps[validStepKey] = {\n ...resolvedSteps[validStepKey],\n title,\n nameTransformCasing: defaultCasing,\n // Only add the description if it's defined\n ...(typeof description === 'string' ? { description } : {}),\n fields: resolvedFields,\n };\n }\n\n return resolvedSteps;\n}\n\nexport function isTupleNotation<T extends string>(\n value: unknown\n): value is HelperFnChosenSteps.tupleNotation<T> {\n if (!Array.isArray(value)) {\n return false;\n }\n\n if (value.length === 0) {\n return false;\n }\n\n if (!value.every((v) => typeof v === 'string')) {\n return false;\n }\n\n return true;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.cjs","names":["changeCasing","resolvedFields: Record<string, unknown>","getInferredFieldType","runStandardValidation","DEFAULT_CASING"],"sources":["../../src/internals/utils.ts"],"sourcesContent":["import type {\n AnyResolvedStep,\n AnyStepField,\n Step,\n InferStepOptions,\n ResolvedStep,\n HelperFnChosenSteps,\n ResolvedStepBuilder,\n} from '@/steps';\nimport {\n type Constrain,\n type CasingType,\n changeCasing,\n DEFAULT_FIELD_TYPE,\n invariant,\n type DefaultCasing,\n DEFAULT_CASING,\n getInferredFieldType,\n} from '@/utils';\nimport {\n type AnyValidator,\n type DefaultValidator,\n runStandardValidation,\n type StandardSchemaValidator,\n} from '@/utils/validator';\n\nexport const VALIDATED_STEP_REGEX = /^step\\d+$/i;\nexport function isValidStepKey<T extends AnyResolvedStep>(\n steps: T,\n stepKey: string\n): stepKey is Constrain<keyof T, string> {\n return Object.keys(steps).includes(stepKey);\n}\n\nexport function createFieldLabel(\n label: string | false | undefined,\n fieldName: string,\n casingType: CasingType\n) {\n return label ?? changeCasing(fieldName, casingType);\n}\n\nexport function createStepFields(options: {\n fields: AnyStepField;\n validateFields:\n | Constrain<unknown, AnyValidator, DefaultValidator>\n | undefined;\n defaultCasing: CasingType;\n}) {\n const resolvedFields: Record<string, unknown> = {};\n const { fields, defaultCasing, validateFields } = options;\n\n for (const [name, values] of Object.entries(fields)) {\n invariant(\n typeof name === 'string',\n `Each key for the \"fields\" option must be a string. Key ${name} was a ${typeof name}`\n );\n invariant(\n typeof values === 'object',\n `The value for key ${name} must be an object. Was ${typeof values}`\n );\n\n const { defaultValue, label, nameTransformCasing, type } = values;\n\n if (validateFields) {\n resolvedFields[name] = defaultValue;\n } else {\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n\n // TODO add more fields here\n };\n }\n }\n\n if (validateFields) {\n const validatedFields = runStandardValidation(\n validateFields as StandardSchemaValidator,\n resolvedFields\n );\n\n invariant(\n typeof validatedFields === 'object',\n `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`\n );\n invariant(\n !!validatedFields,\n 'The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it'\n );\n\n for (const [name, defaultValue] of Object.entries(validatedFields)) {\n const currentField = fields[name];\n\n invariant(\n currentField,\n `No field found in the fields config for \"${name}\"`\n );\n\n const { label, type, nameTransformCasing } = currentField;\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n };\n }\n }\n\n return resolvedFields;\n}\nexport function createStep<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing\n>(stepsConfig: InferStepOptions<step>) {\n const resolvedSteps = {} as ResolvedStepBuilder<step, casing>;\n\n invariant(!!stepsConfig, 'The steps config must be defined', TypeError);\n invariant(\n typeof stepsConfig === 'object',\n `The steps config must be an object, was (${typeof stepsConfig})`,\n TypeError\n );\n\n for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {\n invariant(\n typeof stepKey === 'string',\n `Each key for the step config must be a string. Key \"${stepKey}\" was ${typeof stepKey} `,\n TypeError\n );\n invariant(\n VALIDATED_STEP_REGEX.test(stepKey),\n `The key \"${stepKey}\" isn't formatted properly. Each key in the step config must be the following format: \"step{number}\"`\n );\n\n const validStepKey = stepKey as keyof typeof resolvedSteps;\n const {\n fields,\n title,\n nameTransformCasing: defaultCasing = DEFAULT_CASING,\n description,\n validateFields,\n } = stepValue;\n\n const currentStep = validStepKey.toString().replace('step', '');\n\n invariant(\n fields,\n `Missing fields for step ${currentStep} (${String(validStepKey)})`,\n TypeError\n );\n invariant(\n typeof fields === 'object',\n 'Fields must be an object',\n TypeError\n );\n invariant(\n Object.keys(fields).length > 0,\n `The fields config for step ${currentStep} (${String(\n validStepKey\n )}) is empty. Please add a field`\n );\n invariant(\n typeof fields === 'object',\n `The \"fields\" property must be an object. Was ${typeof fields}`\n );\n\n const resolvedFields = createStepFields({\n defaultCasing,\n fields,\n validateFields,\n });\n\n resolvedSteps[validStepKey] = {\n ...(resolvedSteps[validStepKey] as Record<string, unknown>),\n title,\n nameTransformCasing: defaultCasing,\n // Only add the description if it's defined\n ...(typeof description === 'string' ? { description } : {}),\n fields: resolvedFields,\n } as never;\n }\n\n return resolvedSteps;\n}\n\nexport function isTupleNotation<T extends string>(\n value: unknown\n): value is HelperFnChosenSteps.tupleNotation<T> {\n if (!Array.isArray(value)) {\n return false;\n }\n\n if (value.length === 0) {\n return false;\n }\n\n if (!value.every((v) => typeof v === 'string')) {\n return false;\n }\n\n return true;\n}\n"],"mappings":"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"}
@@ -1,33 +1,11 @@
1
- import { Constrain, Expand } from "../utils/types.cjs";
1
+ import { Constrain } from "../utils/types.cjs";
2
2
  import { CasingType, DefaultCasing } from "../utils/casing.cjs";
3
- import { DefaultFieldType } from "../utils/field-types.cjs";
4
- import { AnyResolvedStep, ExtractStepFromKey, GetDefaultCasingTransformation, GetFieldsForStep, InferStepOptions, ResetFn, ResolvedFields, Step, StepSpecificHelperFn, UpdateFn } from "../steps/types.cjs";
3
+ import { AnyResolvedStep, InferStepOptions, ResolvedStepBuilder, Step } from "../steps/types.cjs";
5
4
 
6
5
  //#region src/internals/utils.d.ts
7
6
  declare const VALIDATED_STEP_REGEX: RegExp;
8
- declare function isValidStepKey<T$1 extends AnyResolvedStep>(steps: T$1, stepKey: string): stepKey is Constrain<keyof T$1, string>;
9
- declare function createStep<step extends Step<casing>, casing extends CasingType = DefaultCasing>(stepsConfig: InferStepOptions<step>): Expand<InferStepOptions<step> extends infer T_1 extends InferStepOptions<TStep> ? { [stepKey_1 in keyof T_1]: Expand<(Omit<T_1[stepKey_1], "validateFields" | "fields"> extends infer T_2 ? { [K in keyof T_2]-?: K extends keyof Defaults ? undefined extends T_2[K] ? Exclude<T_2[K], T_2[K] & undefined> | Defaults[K] : T_2[K] : T_2[K] } : never) & { [K_1 in Exclude<"type", Exclude<keyof T_1[stepKey_1], "validateFields" | "fields">> | Exclude<"nameTransformCasing", Exclude<keyof T_1[stepKey_1], "validateFields" | "fields">>]-?: {
10
- type: DefaultFieldType;
11
- nameTransformCasing: GetDefaultCasingTransformation<T_1, stepKey_1, TDefaultCasing>;
12
- }[K_1] } & {
13
- fields: Expand<ResolvedFields<T_1, stepKey_1, GetFieldsForStep<T_1, stepKey_1>, {
14
- nameTransformCasing: GetDefaultCasingTransformation<T_1, stepKey_1, "title">;
15
- label: string;
16
- }>>;
17
- }> } : never> extends infer T extends Expand<InferStepOptions<TStep_1> extends infer T_2 extends InferStepOptions<TStep> ? { [stepKey_2 in keyof T_2]: Expand<(Omit<T_2[stepKey_2], "validateFields" | "fields"> extends infer T_3 ? { [K in keyof T_3]-?: K extends keyof Defaults ? undefined extends T_3[K] ? Exclude<T_3[K], T_3[K] & undefined> | Defaults[K] : T_3[K] : T_3[K] } : never) & { [K_1 in Exclude<"type", Exclude<keyof T_2[stepKey_2], "validateFields" | "fields">> | Exclude<"nameTransformCasing", Exclude<keyof T_2[stepKey_2], "validateFields" | "fields">>]-?: {
18
- type: DefaultFieldType;
19
- nameTransformCasing: GetDefaultCasingTransformation<T_2, stepKey_2, TDefaultCasing>;
20
- }[K_1] } & {
21
- fields: Expand<ResolvedFields<T_2, stepKey_2, GetFieldsForStep<T_2, stepKey_2>, {
22
- nameTransformCasing: GetDefaultCasingTransformation<T_2, stepKey_2, "title">;
23
- label: string;
24
- }>>;
25
- }> } : never> ? { [stepKey in keyof T]: T[stepKey] & {
26
- createHelperFn: StepSpecificHelperFn<T, ExtractStepFromKey<keyof T extends infer T_1 ? T_1 extends keyof T ? T_1 extends string ? T_1 : never : never : never>, ExtractStepFromKey<stepKey extends string ? stepKey : never>>;
27
- } & (stepKey extends `step${ExtractStepFromKey<keyof T extends infer T_2 ? T_2 extends keyof T ? T_2 extends string ? T_2 : never : never : never>}` ? {
28
- update: UpdateFn.stepSpecific<T, ExtractStepFromKey<keyof T extends infer T_3 ? T_3 extends keyof T ? T_3 extends string ? T_3 : never : never : never>, stepKey>;
29
- reset: ResetFn.stepSpecific<T, ExtractStepFromKey<keyof T extends infer T_4 ? T_4 extends keyof T ? T_4 extends string ? T_4 : never : never : never>, stepKey>;
30
- } : {}) } : never;
7
+ declare function isValidStepKey<T extends AnyResolvedStep>(steps: T, stepKey: string): stepKey is Constrain<keyof T, string>;
8
+ declare function createStep<step extends Step<casing>, casing extends CasingType = DefaultCasing>(stepsConfig: InferStepOptions<step>): ResolvedStepBuilder<step, casing>;
31
9
  //#endregion
32
10
  export { VALIDATED_STEP_REGEX, createStep, isValidStepKey };
33
11
  //# sourceMappingURL=utils.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.cts","names":[],"sources":["../../src/internals/utils.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.cts","names":[],"sources":["../../src/internals/utils.ts"],"sourcesContent":[],"mappings":";;;;;cA0Ba,sBAAoB;iBACjB,yBAAyB,wBAChC,gCAEK,gBAAgB;AAAP,iBA2FP,UA3FO,CAAA,aA4FR,IA5FQ,CA4FH,MA5FG,CAAA,EAAA,eA6FN,UA7FM,GA6FO,aA7FP,CAAA,CAAA,WAAA,EA8FR,gBA9FQ,CA8FS,IA9FT,CAAA,CAAA,EA8Fc,mBA9Fd,CA8Fc,IA9Fd,EA8Fc,MA9Fd,CAAA"}
@@ -1,33 +1,11 @@
1
- import { Constrain, Expand } from "../utils/types.mjs";
1
+ import { Constrain } from "../utils/types.mjs";
2
2
  import { CasingType, DefaultCasing } from "../utils/casing.mjs";
3
- import { DefaultFieldType } from "../utils/field-types.mjs";
4
- import { AnyResolvedStep, ExtractStepFromKey, GetDefaultCasingTransformation, GetFieldsForStep, InferStepOptions, ResetFn, ResolvedFields, Step, StepSpecificHelperFn, UpdateFn } from "../steps/types.mjs";
3
+ import { AnyResolvedStep, InferStepOptions, ResolvedStepBuilder, Step } from "../steps/types.mjs";
5
4
 
6
5
  //#region src/internals/utils.d.ts
7
6
  declare const VALIDATED_STEP_REGEX: RegExp;
8
- declare function isValidStepKey<T$1 extends AnyResolvedStep>(steps: T$1, stepKey: string): stepKey is Constrain<keyof T$1, string>;
9
- declare function createStep<step extends Step<casing>, casing extends CasingType = DefaultCasing>(stepsConfig: InferStepOptions<step>): Expand<InferStepOptions<step> extends infer T_1 extends InferStepOptions<TStep> ? { [stepKey_1 in keyof T_1]: Expand<(Omit<T_1[stepKey_1], "validateFields" | "fields"> extends infer T_2 ? { [K in keyof T_2]-?: K extends keyof Defaults ? undefined extends T_2[K] ? Exclude<T_2[K], T_2[K] & undefined> | Defaults[K] : T_2[K] : T_2[K] } : never) & { [K_1 in Exclude<"type", Exclude<keyof T_1[stepKey_1], "validateFields" | "fields">> | Exclude<"nameTransformCasing", Exclude<keyof T_1[stepKey_1], "validateFields" | "fields">>]-?: {
10
- type: DefaultFieldType;
11
- nameTransformCasing: GetDefaultCasingTransformation<T_1, stepKey_1, TDefaultCasing>;
12
- }[K_1] } & {
13
- fields: Expand<ResolvedFields<T_1, stepKey_1, GetFieldsForStep<T_1, stepKey_1>, {
14
- nameTransformCasing: GetDefaultCasingTransformation<T_1, stepKey_1, "title">;
15
- label: string;
16
- }>>;
17
- }> } : never> extends infer T extends Expand<InferStepOptions<TStep_1> extends infer T_2 extends InferStepOptions<TStep> ? { [stepKey_2 in keyof T_2]: Expand<(Omit<T_2[stepKey_2], "validateFields" | "fields"> extends infer T_3 ? { [K in keyof T_3]-?: K extends keyof Defaults ? undefined extends T_3[K] ? Exclude<T_3[K], T_3[K] & undefined> | Defaults[K] : T_3[K] : T_3[K] } : never) & { [K_1 in Exclude<"type", Exclude<keyof T_2[stepKey_2], "validateFields" | "fields">> | Exclude<"nameTransformCasing", Exclude<keyof T_2[stepKey_2], "validateFields" | "fields">>]-?: {
18
- type: DefaultFieldType;
19
- nameTransformCasing: GetDefaultCasingTransformation<T_2, stepKey_2, TDefaultCasing>;
20
- }[K_1] } & {
21
- fields: Expand<ResolvedFields<T_2, stepKey_2, GetFieldsForStep<T_2, stepKey_2>, {
22
- nameTransformCasing: GetDefaultCasingTransformation<T_2, stepKey_2, "title">;
23
- label: string;
24
- }>>;
25
- }> } : never> ? { [stepKey in keyof T]: T[stepKey] & {
26
- createHelperFn: StepSpecificHelperFn<T, ExtractStepFromKey<keyof T extends infer T_1 ? T_1 extends keyof T ? T_1 extends string ? T_1 : never : never : never>, ExtractStepFromKey<stepKey extends string ? stepKey : never>>;
27
- } & (stepKey extends `step${ExtractStepFromKey<keyof T extends infer T_2 ? T_2 extends keyof T ? T_2 extends string ? T_2 : never : never : never>}` ? {
28
- update: UpdateFn.stepSpecific<T, ExtractStepFromKey<keyof T extends infer T_3 ? T_3 extends keyof T ? T_3 extends string ? T_3 : never : never : never>, stepKey>;
29
- reset: ResetFn.stepSpecific<T, ExtractStepFromKey<keyof T extends infer T_4 ? T_4 extends keyof T ? T_4 extends string ? T_4 : never : never : never>, stepKey>;
30
- } : {}) } : never;
7
+ declare function isValidStepKey<T extends AnyResolvedStep>(steps: T, stepKey: string): stepKey is Constrain<keyof T, string>;
8
+ declare function createStep<step extends Step<casing>, casing extends CasingType = DefaultCasing>(stepsConfig: InferStepOptions<step>): ResolvedStepBuilder<step, casing>;
31
9
  //#endregion
32
10
  export { VALIDATED_STEP_REGEX, createStep, isValidStepKey };
33
11
  //# sourceMappingURL=utils.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.mts","names":[],"sources":["../../src/internals/utils.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.mts","names":[],"sources":["../../src/internals/utils.ts"],"sourcesContent":[],"mappings":";;;;;cA0Ba,sBAAoB;iBACjB,yBAAyB,wBAChC,gCAEK,gBAAgB;AAAP,iBA2FP,UA3FO,CAAA,aA4FR,IA5FQ,CA4FH,MA5FG,CAAA,EAAA,eA6FN,UA7FM,GA6FO,aA7FP,CAAA,CAAA,WAAA,EA8FR,gBA9FQ,CA8FS,IA9FT,CAAA,CAAA,EA8Fc,mBA9Fd,CA8Fc,IA9Fd,EA8Fc,MA9Fd,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { invariant } from "../utils/invariant.mjs";
2
2
  import { DEFAULT_CASING, changeCasing } from "../utils/casing.mjs";
3
- import { DEFAULT_FIELD_TYPE } from "../utils/field-types.mjs";
3
+ import { getInferredFieldType } from "../utils/field-types.mjs";
4
4
  import { runStandardValidation } from "../utils/validator.mjs";
5
5
 
6
6
  //#region src/internals/utils.ts
@@ -17,14 +17,18 @@ function createStepFields(options) {
17
17
  for (const [name, values] of Object.entries(fields)) {
18
18
  invariant(typeof name === "string", `Each key for the "fields" option must be a string. Key ${name} was a ${typeof name}`);
19
19
  invariant(typeof values === "object", `The value for key ${name} must be an object. Was ${typeof values}`);
20
- const { defaultValue, label, nameTransformCasing, type = DEFAULT_FIELD_TYPE } = values;
20
+ const { defaultValue, label, nameTransformCasing, type } = values;
21
21
  if (validateFields) resolvedFields[name] = defaultValue;
22
22
  else {
23
23
  const casing = nameTransformCasing ?? defaultCasing;
24
+ const resolvedType = getInferredFieldType({
25
+ defaultValue,
26
+ type
27
+ });
24
28
  resolvedFields[name] = {
25
29
  ...resolvedFields[name],
26
30
  nameTransformCasing: casing,
27
- type,
31
+ type: resolvedType,
28
32
  defaultValue,
29
33
  label: createFieldLabel(label, name, casing)
30
34
  };
@@ -37,12 +41,16 @@ function createStepFields(options) {
37
41
  for (const [name, defaultValue] of Object.entries(validatedFields)) {
38
42
  const currentField = fields[name];
39
43
  invariant(currentField, `No field found in the fields config for "${name}"`);
40
- const { label, type = DEFAULT_FIELD_TYPE, nameTransformCasing } = currentField;
44
+ const { label, type, nameTransformCasing } = currentField;
41
45
  const casing = nameTransformCasing ?? defaultCasing;
46
+ const resolvedType = getInferredFieldType({
47
+ defaultValue,
48
+ type
49
+ });
42
50
  resolvedFields[name] = {
43
51
  ...resolvedFields[name],
44
52
  nameTransformCasing: casing,
45
- type,
53
+ type: resolvedType,
46
54
  defaultValue,
47
55
  label: createFieldLabel(label, name, casing)
48
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":["resolvedFields: Record<string, unknown>"],"sources":["../../src/internals/utils.ts"],"sourcesContent":["import type {\n AnyResolvedStep,\n AnyStepField,\n Step,\n InferStepOptions,\n ResolvedStep,\n HelperFnChosenSteps,\n} from '@/steps';\nimport {\n type Constrain,\n type CasingType,\n changeCasing,\n DEFAULT_FIELD_TYPE,\n invariant,\n type DefaultCasing,\n DEFAULT_CASING,\n} from '@/utils';\nimport {\n type AnyValidator,\n type DefaultValidator,\n runStandardValidation,\n type StandardSchemaValidator,\n} from '@/utils/validator';\n\nexport const VALIDATED_STEP_REGEX = /^step\\d+$/i;\nexport function isValidStepKey<T extends AnyResolvedStep>(\n steps: T,\n stepKey: string\n): stepKey is Constrain<keyof T, string> {\n return Object.keys(steps).includes(stepKey);\n}\n\nexport function createFieldLabel(\n label: string | false | undefined,\n fieldName: string,\n casingType: CasingType\n) {\n return label ?? changeCasing(fieldName, casingType);\n}\n\nexport function createStepFields(options: {\n fields: AnyStepField;\n validateFields:\n | Constrain<unknown, AnyValidator, DefaultValidator>\n | undefined;\n defaultCasing: CasingType;\n}) {\n const resolvedFields: Record<string, unknown> = {};\n const { fields, defaultCasing, validateFields } = options;\n\n for (const [name, values] of Object.entries(fields)) {\n invariant(\n typeof name === 'string',\n `Each key for the \"fields\" option must be a string. Key ${name} was a ${typeof name}`\n );\n invariant(\n typeof values === 'object',\n `The value for key ${name} must be an object. Was ${typeof values}`\n );\n\n const {\n defaultValue,\n label,\n nameTransformCasing,\n type = DEFAULT_FIELD_TYPE,\n } = values;\n\n if (validateFields) {\n resolvedFields[name] = defaultValue;\n } else {\n const casing = nameTransformCasing ?? defaultCasing;\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n\n // TODO add more fields here\n };\n }\n }\n\n if (validateFields) {\n const validatedFields = runStandardValidation(\n validateFields as StandardSchemaValidator,\n resolvedFields\n );\n\n invariant(\n typeof validatedFields === 'object',\n `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`\n );\n invariant(\n !!validatedFields,\n 'The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it'\n );\n\n for (const [name, defaultValue] of Object.entries(validatedFields)) {\n const currentField = fields[name];\n\n invariant(\n currentField,\n `No field found in the fields config for \"${name}\"`\n );\n\n const {\n label,\n type = DEFAULT_FIELD_TYPE,\n nameTransformCasing,\n } = currentField;\n const casing = nameTransformCasing ?? defaultCasing;\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n };\n }\n }\n\n return resolvedFields;\n}\nexport function createStep<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing\n>(stepsConfig: InferStepOptions<step>) {\n const resolvedSteps = {} as ResolvedStep<step, casing>;\n\n invariant(!!stepsConfig, 'The steps config must be defined', TypeError);\n invariant(\n typeof stepsConfig === 'object',\n `The steps config must be an object, was (${typeof stepsConfig})`,\n TypeError\n );\n\n for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {\n invariant(\n typeof stepKey === 'string',\n `Each key for the step config must be a string. Key \"${stepKey}\" was ${typeof stepKey} `,\n TypeError\n );\n invariant(\n VALIDATED_STEP_REGEX.test(stepKey),\n `The key \"${stepKey}\" isn't formatted properly. Each key in the step config must be the following format: \"step{number}\"`\n );\n\n const validStepKey = stepKey as keyof typeof resolvedSteps;\n const {\n fields,\n title,\n nameTransformCasing: defaultCasing = DEFAULT_CASING,\n description,\n validateFields,\n } = stepValue;\n\n const currentStep = validStepKey.toString().replace('step', '');\n\n invariant(\n fields,\n `Missing fields for step ${currentStep} (${String(validStepKey)})`,\n TypeError\n );\n invariant(\n typeof fields === 'object',\n 'Fields must be an object',\n TypeError\n );\n invariant(\n Object.keys(fields).length > 0,\n `The fields config for step ${currentStep} (${String(\n validStepKey\n )}) is empty. Please add a field`\n );\n invariant(\n typeof fields === 'object',\n `The \"fields\" property must be an object. Was ${typeof fields}`\n );\n\n const resolvedFields = createStepFields({\n defaultCasing,\n fields,\n validateFields,\n });\n\n resolvedSteps[validStepKey] = {\n ...resolvedSteps[validStepKey],\n title,\n nameTransformCasing: defaultCasing,\n // Only add the description if it's defined\n ...(typeof description === 'string' ? { description } : {}),\n fields: resolvedFields,\n };\n }\n\n return resolvedSteps;\n}\n\nexport function isTupleNotation<T extends string>(\n value: unknown\n): value is HelperFnChosenSteps.tupleNotation<T> {\n if (!Array.isArray(value)) {\n return false;\n }\n\n if (value.length === 0) {\n return false;\n }\n\n if (!value.every((v) => typeof v === 'string')) {\n return false;\n }\n\n return true;\n}\n"],"mappings":";;;;;;AAwBA,MAAa,uBAAuB;AACpC,SAAgB,eACd,OACA,SACuC;AACvC,QAAO,OAAO,KAAK,MAAM,CAAC,SAAS,QAAQ;;AAG7C,SAAgB,iBACd,OACA,WACA,YACA;AACA,QAAO,SAAS,aAAa,WAAW,WAAW;;AAGrD,SAAgB,iBAAiB,SAM9B;CACD,MAAMA,iBAA0C,EAAE;CAClD,MAAM,EAAE,QAAQ,eAAe,mBAAmB;AAElD,MAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,OAAO,EAAE;AACnD,YACE,OAAO,SAAS,UAChB,0DAA0D,KAAK,SAAS,OAAO,OAChF;AACD,YACE,OAAO,WAAW,UAClB,qBAAqB,KAAK,0BAA0B,OAAO,SAC5D;EAED,MAAM,EACJ,cACA,OACA,qBACA,OAAO,uBACL;AAEJ,MAAI,eACF,gBAAe,QAAQ;OAClB;GACL,MAAM,SAAS,uBAAuB;AAEtC,kBAAe,QAAQ;IACrB,GAAI,eAAe;IACnB,qBAAqB;IACrB;IACA;IACA,OAAO,iBAAiB,OAAO,MAAM,OAAO;IAG7C;;;AAIL,KAAI,gBAAgB;EAClB,MAAM,kBAAkB,sBACtB,gBACA,eACD;AAED,YACE,OAAO,oBAAoB,UAC3B,8DAA8D,OAAO,gBAAgB,qEACtF;AACD,YACE,CAAC,CAAC,iBACF,uHACD;AAED,OAAK,MAAM,CAAC,MAAM,iBAAiB,OAAO,QAAQ,gBAAgB,EAAE;GAClE,MAAM,eAAe,OAAO;AAE5B,aACE,cACA,4CAA4C,KAAK,GAClD;GAED,MAAM,EACJ,OACA,OAAO,oBACP,wBACE;GACJ,MAAM,SAAS,uBAAuB;AAEtC,kBAAe,QAAQ;IACrB,GAAI,eAAe;IACnB,qBAAqB;IACrB;IACA;IACA,OAAO,iBAAiB,OAAO,MAAM,OAAO;IAC7C;;;AAIL,QAAO;;AAET,SAAgB,WAGd,aAAqC;CACrC,MAAM,gBAAgB,EAAE;AAExB,WAAU,CAAC,CAAC,aAAa,oCAAoC,UAAU;AACvE,WACE,OAAO,gBAAgB,UACvB,4CAA4C,OAAO,YAAY,IAC/D,UACD;AAED,MAAK,MAAM,CAAC,SAAS,cAAc,OAAO,QAAQ,YAAY,EAAE;AAC9D,YACE,OAAO,YAAY,UACnB,uDAAuD,QAAQ,QAAQ,OAAO,QAAQ,IACtF,UACD;AACD,YACE,qBAAqB,KAAK,QAAQ,EAClC,YAAY,QAAQ,sGACrB;EAED,MAAM,eAAe;EACrB,MAAM,EACJ,QACA,OACA,qBAAqB,gBAAgB,gBACrC,aACA,mBACE;EAEJ,MAAM,cAAc,aAAa,UAAU,CAAC,QAAQ,QAAQ,GAAG;AAE/D,YACE,QACA,2BAA2B,YAAY,IAAI,OAAO,aAAa,CAAC,IAChE,UACD;AACD,YACE,OAAO,WAAW,UAClB,4BACA,UACD;AACD,YACE,OAAO,KAAK,OAAO,CAAC,SAAS,GAC7B,8BAA8B,YAAY,IAAI,OAC5C,aACD,CAAC,gCACH;AACD,YACE,OAAO,WAAW,UAClB,gDAAgD,OAAO,SACxD;EAED,MAAM,iBAAiB,iBAAiB;GACtC;GACA;GACA;GACD,CAAC;AAEF,gBAAc,gBAAgB;GAC5B,GAAG,cAAc;GACjB;GACA,qBAAqB;GAErB,GAAI,OAAO,gBAAgB,WAAW,EAAE,aAAa,GAAG,EAAE;GAC1D,QAAQ;GACT;;AAGH,QAAO;;AAGT,SAAgB,gBACd,OAC+C;AAC/C,KAAI,CAAC,MAAM,QAAQ,MAAM,CACvB,QAAO;AAGT,KAAI,MAAM,WAAW,EACnB,QAAO;AAGT,KAAI,CAAC,MAAM,OAAO,MAAM,OAAO,MAAM,SAAS,CAC5C,QAAO;AAGT,QAAO"}
1
+ {"version":3,"file":"utils.mjs","names":["resolvedFields: Record<string, unknown>"],"sources":["../../src/internals/utils.ts"],"sourcesContent":["import type {\n AnyResolvedStep,\n AnyStepField,\n Step,\n InferStepOptions,\n ResolvedStep,\n HelperFnChosenSteps,\n ResolvedStepBuilder,\n} from '@/steps';\nimport {\n type Constrain,\n type CasingType,\n changeCasing,\n DEFAULT_FIELD_TYPE,\n invariant,\n type DefaultCasing,\n DEFAULT_CASING,\n getInferredFieldType,\n} from '@/utils';\nimport {\n type AnyValidator,\n type DefaultValidator,\n runStandardValidation,\n type StandardSchemaValidator,\n} from '@/utils/validator';\n\nexport const VALIDATED_STEP_REGEX = /^step\\d+$/i;\nexport function isValidStepKey<T extends AnyResolvedStep>(\n steps: T,\n stepKey: string\n): stepKey is Constrain<keyof T, string> {\n return Object.keys(steps).includes(stepKey);\n}\n\nexport function createFieldLabel(\n label: string | false | undefined,\n fieldName: string,\n casingType: CasingType\n) {\n return label ?? changeCasing(fieldName, casingType);\n}\n\nexport function createStepFields(options: {\n fields: AnyStepField;\n validateFields:\n | Constrain<unknown, AnyValidator, DefaultValidator>\n | undefined;\n defaultCasing: CasingType;\n}) {\n const resolvedFields: Record<string, unknown> = {};\n const { fields, defaultCasing, validateFields } = options;\n\n for (const [name, values] of Object.entries(fields)) {\n invariant(\n typeof name === 'string',\n `Each key for the \"fields\" option must be a string. Key ${name} was a ${typeof name}`\n );\n invariant(\n typeof values === 'object',\n `The value for key ${name} must be an object. Was ${typeof values}`\n );\n\n const { defaultValue, label, nameTransformCasing, type } = values;\n\n if (validateFields) {\n resolvedFields[name] = defaultValue;\n } else {\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n\n // TODO add more fields here\n };\n }\n }\n\n if (validateFields) {\n const validatedFields = runStandardValidation(\n validateFields as StandardSchemaValidator,\n resolvedFields\n );\n\n invariant(\n typeof validatedFields === 'object',\n `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`\n );\n invariant(\n !!validatedFields,\n 'The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it'\n );\n\n for (const [name, defaultValue] of Object.entries(validatedFields)) {\n const currentField = fields[name];\n\n invariant(\n currentField,\n `No field found in the fields config for \"${name}\"`\n );\n\n const { label, type, nameTransformCasing } = currentField;\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n };\n }\n }\n\n return resolvedFields;\n}\nexport function createStep<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing\n>(stepsConfig: InferStepOptions<step>) {\n const resolvedSteps = {} as ResolvedStepBuilder<step, casing>;\n\n invariant(!!stepsConfig, 'The steps config must be defined', TypeError);\n invariant(\n typeof stepsConfig === 'object',\n `The steps config must be an object, was (${typeof stepsConfig})`,\n TypeError\n );\n\n for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {\n invariant(\n typeof stepKey === 'string',\n `Each key for the step config must be a string. Key \"${stepKey}\" was ${typeof stepKey} `,\n TypeError\n );\n invariant(\n VALIDATED_STEP_REGEX.test(stepKey),\n `The key \"${stepKey}\" isn't formatted properly. Each key in the step config must be the following format: \"step{number}\"`\n );\n\n const validStepKey = stepKey as keyof typeof resolvedSteps;\n const {\n fields,\n title,\n nameTransformCasing: defaultCasing = DEFAULT_CASING,\n description,\n validateFields,\n } = stepValue;\n\n const currentStep = validStepKey.toString().replace('step', '');\n\n invariant(\n fields,\n `Missing fields for step ${currentStep} (${String(validStepKey)})`,\n TypeError\n );\n invariant(\n typeof fields === 'object',\n 'Fields must be an object',\n TypeError\n );\n invariant(\n Object.keys(fields).length > 0,\n `The fields config for step ${currentStep} (${String(\n validStepKey\n )}) is empty. Please add a field`\n );\n invariant(\n typeof fields === 'object',\n `The \"fields\" property must be an object. Was ${typeof fields}`\n );\n\n const resolvedFields = createStepFields({\n defaultCasing,\n fields,\n validateFields,\n });\n\n resolvedSteps[validStepKey] = {\n ...(resolvedSteps[validStepKey] as Record<string, unknown>),\n title,\n nameTransformCasing: defaultCasing,\n // Only add the description if it's defined\n ...(typeof description === 'string' ? { description } : {}),\n fields: resolvedFields,\n } as never;\n }\n\n return resolvedSteps;\n}\n\nexport function isTupleNotation<T extends string>(\n value: unknown\n): value is HelperFnChosenSteps.tupleNotation<T> {\n if (!Array.isArray(value)) {\n return false;\n }\n\n if (value.length === 0) {\n return false;\n }\n\n if (!value.every((v) => typeof v === 'string')) {\n return false;\n }\n\n return true;\n}\n"],"mappings":"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"}
@@ -34,7 +34,7 @@ declare function isCasingValid(value: unknown): value is CasingType;
34
34
  * @param fallback An optional fallback value if {@linkcode input} is `undefined`.
35
35
  * @returns The {@linkcode input} or {@linkcode fallback} if {@linkcode input} is `undefined` or an {@linkcode isCasingValid invalid} {@linkcode CasingType}.
36
36
  */
37
- declare function setCasingType<TCasing extends CasingType>(input: TCasing | undefined, fallback?: CasingType): "lower" | "upper" | "camel" | "pascal" | "snake" | "screaming-snake" | "kebab" | "flat" | "title" | "sentence";
37
+ declare function setCasingType<TCasing extends CasingType>(input: TCasing | undefined, fallback?: CasingType): "sentence" | "title" | "camel" | "lower" | "upper" | "pascal" | "snake" | "screaming-snake" | "flat" | "kebab";
38
38
  //#endregion
39
39
  export { CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, DEFAULT_CASING, DefaultCasing, ToLower, changeCasing, isCasingValid, quote, setCasingType };
40
40
  //# sourceMappingURL=casing.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"casing.d.cts","names":[],"sources":["../../src/utils/casing.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"casing.d.cts","names":[],"sources":["../../src/utils/casing.ts"],"sourcesContent":[],"mappings":"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"}
@@ -34,7 +34,7 @@ declare function isCasingValid(value: unknown): value is CasingType;
34
34
  * @param fallback An optional fallback value if {@linkcode input} is `undefined`.
35
35
  * @returns The {@linkcode input} or {@linkcode fallback} if {@linkcode input} is `undefined` or an {@linkcode isCasingValid invalid} {@linkcode CasingType}.
36
36
  */
37
- declare function setCasingType<TCasing extends CasingType>(input: TCasing | undefined, fallback?: CasingType): "lower" | "upper" | "camel" | "pascal" | "snake" | "screaming-snake" | "kebab" | "flat" | "title" | "sentence";
37
+ declare function setCasingType<TCasing extends CasingType>(input: TCasing | undefined, fallback?: CasingType): "sentence" | "title" | "camel" | "lower" | "upper" | "pascal" | "snake" | "screaming-snake" | "flat" | "kebab";
38
38
  //#endregion
39
39
  export { CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, DEFAULT_CASING, DefaultCasing, ToLower, changeCasing, isCasingValid, quote, setCasingType };
40
40
  //# sourceMappingURL=casing.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"casing.d.mts","names":[],"sources":["../../src/utils/casing.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"casing.d.mts","names":[],"sources":["../../src/utils/casing.ts"],"sourcesContent":[],"mappings":"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"}
@@ -15,9 +15,83 @@ const DEFAULT_FIELD_TYPE = "string";
15
15
  function isFieldType(value) {
16
16
  return typeof value === "string" && FIELD_TYPES.includes(value);
17
17
  }
18
+ function getBaseTypeString(value) {
19
+ if (value === null) return "string";
20
+ if (typeof value === "object") return value instanceof Date ? "date" : "object";
21
+ if (typeof value === "number") return "number";
22
+ if (typeof value === "boolean") return "boolean";
23
+ return "string";
24
+ }
25
+ const TYPE_ORDER = [
26
+ "string",
27
+ "number",
28
+ "boolean",
29
+ "date",
30
+ "object"
31
+ ];
32
+ function orderTypes(types) {
33
+ return types.toSorted((a, b) => {
34
+ const aIndex = TYPE_ORDER.indexOf(a);
35
+ const bIndex = TYPE_ORDER.indexOf(b);
36
+ if (aIndex === -1 && bIndex === -1) return a.localeCompare(b, void 0, { sensitivity: "base" });
37
+ if (aIndex === -1) return 1;
38
+ if (bIndex === -1) return -1;
39
+ return aIndex - bIndex;
40
+ });
41
+ }
42
+ function tupleToUnion(tupleType) {
43
+ return `(${orderTypes(tupleType.slice(1, -1).split(", ")).join(" | ")})`;
44
+ }
45
+ function processTuple(value, depth) {
46
+ return `[${value.map((el) => {
47
+ if (Array.isArray(el)) return getArrayTypeString(el, depth + 1);
48
+ return getBaseTypeString(el);
49
+ }).join(", ")}]`;
50
+ }
51
+ function processArrayOfArrays(value, depth) {
52
+ const arrayElementTypes = /* @__PURE__ */ new Set();
53
+ for (const el of value) if (Array.isArray(el)) {
54
+ let innerType = getArrayTypeString(el, depth + 1);
55
+ if (depth >= 1 && innerType.startsWith("[") && innerType.endsWith("]")) innerType = tupleToUnion(innerType);
56
+ arrayElementTypes.add(innerType);
57
+ }
58
+ if (arrayElementTypes.size === 1) return `${Array.from(arrayElementTypes)[0]}[]`;
59
+ return `(${orderTypes(Array.from(arrayElementTypes)).join(" | ")})[]`;
60
+ }
61
+ function processRegularArray(value, uniqueBaseTypes, depth) {
62
+ const firstElement = value[0];
63
+ let elementType;
64
+ if (Array.isArray(firstElement)) {
65
+ elementType = getArrayTypeString(firstElement, depth + 1);
66
+ if (depth >= 1 && elementType.startsWith("[") && elementType.endsWith("]")) elementType = tupleToUnion(elementType);
67
+ } else elementType = getBaseTypeString(firstElement);
68
+ if (uniqueBaseTypes.length > 1) return `(${orderTypes(uniqueBaseTypes).join(" | ")})[]`;
69
+ return `${elementType}[]`;
70
+ }
71
+ function getArrayTypeString(value, depth = 0) {
72
+ if (value.length === 0) return "string[]";
73
+ const elementBaseTypes = value.map(getBaseTypeString);
74
+ const uniqueBaseTypes = [...new Set(elementBaseTypes)];
75
+ if (uniqueBaseTypes.length > 1 && depth < 2 && value.length <= 10) return processTuple(value, depth);
76
+ if (value.every(Array.isArray)) return processArrayOfArrays(value, depth);
77
+ return processRegularArray(value, uniqueBaseTypes, depth);
78
+ }
79
+ function getInferredFieldType(options) {
80
+ const { defaultValue, type } = options;
81
+ if (type) return type;
82
+ if (Array.isArray(defaultValue)) return getArrayTypeString(defaultValue);
83
+ if (typeof defaultValue === "object" && defaultValue !== null) {
84
+ if (defaultValue instanceof Date) return "date";
85
+ return "object";
86
+ }
87
+ if (typeof defaultValue === "number") return "number";
88
+ if (typeof defaultValue === "boolean") return "boolean";
89
+ return "string";
90
+ }
18
91
 
19
92
  //#endregion
20
93
  exports.DEFAULT_FIELD_TYPE = DEFAULT_FIELD_TYPE;
21
94
  exports.FIELD_TYPES = FIELD_TYPES;
95
+ exports.getInferredFieldType = getInferredFieldType;
22
96
  exports.isFieldType = isFieldType;
23
97
  //# sourceMappingURL=field-types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-types.cjs","names":["DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>"],"sources":["../../src/utils/field-types.ts"],"sourcesContent":["import type { SetDefaultString } from './types';\nimport type { UnionToTuple } from '../steps/types';\n\nexport type FieldType = (typeof FIELD_TYPES)[number];\nexport type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;\nexport type DefaultFieldTypeMap = {\n string: string;\n number: number;\n boolean: boolean;\n date: Date;\n};\nexport type ResolvedFieldTypeMap = {\n string: string;\n 'string.phone': string;\n 'string.email': string;\n 'string.time': string;\n number: number;\n 'number.counter': number;\n date: Date;\n dateTime: Date;\n 'boolean.switch': boolean;\n};\n// Helper to convert a single type (non-union) to string\ntype BaseTypeToString<T> = T extends string\n ? 'string'\n : T extends number\n ? 'number'\n : T extends boolean\n ? 'boolean'\n : T extends Date\n ? 'date'\n : T extends object\n ? T extends Array<unknown> | Date\n ? never // Handled separately\n : 'object'\n : DefaultFieldType;\n\n// Helper to collect union members as string literals\ntype UnionMembersToString<T> = T extends infer U\n ? U extends U\n ? BaseTypeToString<U>\n : never\n : never;\n\n// Helper to join union members with |\n// This manually handles the tuple conversion since UnionToTuple returns readonly\ntype JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings\n ? [UnionStrings] extends [string]\n ? UnionToTuple<UnionStrings> extends readonly [infer A extends string]\n ? A\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string\n ]\n ? `${A} | ${B}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string\n ]\n ? `${A} | ${B} | ${C}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string,\n infer D extends string\n ]\n ? `${A} | ${B} | ${C} | ${D}`\n : UnionStrings // Fallback for larger unions or single type\n : never\n : never;\n\n// Helper to convert union to intersection (used to detect unions)\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I\n) => void\n ? I\n : never;\n\n// Helper to check if T is a tuple (has specific length, not just array)\ntype IsTuple<T> = T extends readonly unknown[]\n ? number extends T['length']\n ? false\n : true\n : false;\n\n// Helper to convert tuple to string representation\ntype TupleToString<T extends readonly unknown[]> = T extends readonly [\n infer First,\n ...infer Rest\n]\n ? Rest extends readonly unknown[]\n ? `${TypeToString<First>}${Rest['length'] extends 0\n ? ''\n : `, ${TupleToString<Rest>}`}`\n : never\n : never;\n\n// Helper type to convert a type to its string literal representation\ntype TypeToString<T> = T extends readonly unknown[]\n ? IsTuple<T> extends true\n ? `[${TupleToString<T>}]`\n : T extends readonly (infer U)[]\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : never\n : T extends Array<infer U>\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : BaseTypeToString<T>;\n\nexport type GetInferredFieldType<T extends { defaultValue: unknown }> =\n TypeToString<T['defaultValue']>;\n\nexport const FIELD_TYPES = [\n 'string',\n 'string.phone',\n 'string.email',\n 'string.time',\n 'number',\n 'number.counter',\n 'date',\n 'dateTime',\n 'boolean.switch',\n] as const;\nexport const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'> =\n 'string';\n\nexport function isFieldType(value: unknown): value is FieldType {\n return typeof value === 'string' && FIELD_TYPES.includes(value as FieldType);\n}\n"],"mappings":";;AAoHA,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AACD,MAAaA,qBACX;AAEF,SAAgB,YAAY,OAAoC;AAC9D,QAAO,OAAO,UAAU,YAAY,YAAY,SAAS,MAAmB"}
1
+ {"version":3,"file":"field-types.cjs","names":["DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>","elementType: string"],"sources":["../../src/utils/field-types.ts"],"sourcesContent":["import type { SetDefaultString } from './types';\nimport type { UnionToTuple } from '../steps/types';\n\nexport type FieldType = (typeof FIELD_TYPES)[number];\nexport type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;\nexport type DefaultFieldTypeMap = {\n string: string;\n number: number;\n boolean: boolean;\n date: Date;\n};\nexport type ResolvedFieldTypeMap = {\n string: string;\n 'string.phone': string;\n 'string.email': string;\n 'string.time': string;\n number: number;\n 'number.counter': number;\n date: Date;\n dateTime: Date;\n 'boolean.switch': boolean;\n};\n// Helper to convert a single type (non-union) to string\ntype BaseTypeToString<T> = T extends string\n ? 'string'\n : T extends number\n ? 'number'\n : T extends boolean\n ? 'boolean'\n : T extends Date\n ? 'date'\n : T extends object\n ? T extends Array<unknown> | Date\n ? never // Handled separately\n : 'object'\n : DefaultFieldType;\n\n// Helper to collect union members as string literals\ntype UnionMembersToString<T> = T extends infer U\n ? U extends U\n ? BaseTypeToString<U>\n : never\n : never;\n\n// Helper to join union members with |\n// This manually handles the tuple conversion since UnionToTuple returns readonly\ntype JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings\n ? [UnionStrings] extends [string]\n ? UnionToTuple<UnionStrings> extends readonly [infer A extends string]\n ? A\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string\n ]\n ? `${A} | ${B}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string\n ]\n ? `${A} | ${B} | ${C}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string,\n infer D extends string\n ]\n ? `${A} | ${B} | ${C} | ${D}`\n : UnionStrings // Fallback for larger unions or single type\n : never\n : never;\n\n// Helper to convert union to intersection (used to detect unions)\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I\n) => void\n ? I\n : never;\n\n// Helper to check if T is a tuple (has specific length, not just array)\ntype IsTuple<T> = T extends readonly unknown[]\n ? number extends T['length']\n ? false\n : true\n : false;\n\n// Helper to convert tuple to string representation\ntype TupleToString<T extends readonly unknown[]> = T extends readonly [\n infer First,\n ...infer Rest\n]\n ? Rest extends readonly unknown[]\n ? `${TypeToString<First>}${Rest['length'] extends 0\n ? ''\n : `, ${TupleToString<Rest>}`}`\n : never\n : never;\n\n// Helper type to convert a type to its string literal representation\ntype TypeToString<T> = T extends readonly unknown[]\n ? IsTuple<T> extends true\n ? `[${TupleToString<T>}]`\n : T extends readonly (infer U)[]\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : never\n : T extends Array<infer U>\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : BaseTypeToString<T>;\n\nexport type GetInferredFieldType<T extends { defaultValue: unknown }> =\n TypeToString<T['defaultValue']>;\n\nexport const FIELD_TYPES = [\n 'string',\n 'string.phone',\n 'string.email',\n 'string.time',\n 'number',\n 'number.counter',\n 'date',\n 'dateTime',\n 'boolean.switch',\n] as const;\nexport const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'> =\n 'string';\n\nexport function isFieldType(value: unknown): value is FieldType {\n return typeof value === 'string' && FIELD_TYPES.includes(value as FieldType);\n}\n\n// Helper function to get the base type string for a single value (not arrays)\nfunction getBaseTypeString(value: unknown): string {\n if (value === null) {\n return 'string';\n }\n\n if (typeof value === 'object') {\n return value instanceof Date ? 'date' : 'object';\n }\n\n if (typeof value === 'number') {\n return 'number';\n }\n\n if (typeof value === 'boolean') {\n return 'boolean';\n }\n\n return 'string';\n}\n\n// Helper to order types according to TypeScript's union order: string | number | boolean\nconst TYPE_ORDER = ['string', 'number', 'boolean', 'date', 'object'] as const;\n\nfunction orderTypes(types: string[]): string[] {\n return types.toSorted((a, b) => {\n const aIndex = TYPE_ORDER.indexOf(a as (typeof TYPE_ORDER)[number]);\n const bIndex = TYPE_ORDER.indexOf(b as (typeof TYPE_ORDER)[number]);\n if (aIndex === -1 && bIndex === -1) {\n return a.localeCompare(b, undefined, { sensitivity: 'base' });\n }\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n return aIndex - bIndex;\n });\n}\n\n// Helper to convert tuple string to union string at depth 2+\nfunction tupleToUnion(tupleType: string): string {\n const tupleTypes = tupleType.slice(1, -1).split(', ');\n const orderedTypes = orderTypes(tupleTypes);\n return `(${orderedTypes.join(' | ')})`;\n}\n\n// Helper to process tuple format (depth < 2)\nfunction processTuple(value: unknown[], depth: number): string {\n const elementTypes = value.map((el) => {\n if (Array.isArray(el)) {\n return getArrayTypeString(el, depth + 1);\n }\n return getBaseTypeString(el);\n });\n return `[${elementTypes.join(', ')}]`;\n}\n\n// Helper to process array-of-arrays case\nfunction processArrayOfArrays(value: unknown[], depth: number): string {\n const arrayElementTypes = new Set<string>();\n for (const el of value) {\n if (Array.isArray(el)) {\n let innerType = getArrayTypeString(el, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (depth >= 1 && innerType.startsWith('[') && innerType.endsWith(']')) {\n innerType = tupleToUnion(innerType);\n }\n arrayElementTypes.add(innerType);\n }\n }\n if (arrayElementTypes.size === 1) {\n return `${Array.from(arrayElementTypes)[0]}[]`;\n }\n const sortedTypes = orderTypes(Array.from(arrayElementTypes));\n return `(${sortedTypes.join(' | ')})[]`;\n}\n\n// Helper to process regular array case\nfunction processRegularArray(\n value: unknown[],\n uniqueBaseTypes: string[],\n depth: number\n): string {\n const firstElement = value[0];\n let elementType: string;\n if (Array.isArray(firstElement)) {\n elementType = getArrayTypeString(firstElement, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (\n depth >= 1 &&\n elementType.startsWith('[') &&\n elementType.endsWith(']')\n ) {\n elementType = tupleToUnion(elementType);\n }\n } else {\n elementType = getBaseTypeString(firstElement);\n }\n\n // If we have multiple different base types, create union array\n // Use sorted order for union arrays (matches TypeScript's union order)\n if (uniqueBaseTypes.length > 1) {\n const orderedTypes = orderTypes(uniqueBaseTypes);\n return `(${orderedTypes.join(' | ')})[]`;\n }\n\n return `${elementType}[]`;\n}\n\n// Helper function to get the type string for an array, distinguishing tuples from regular arrays\nfunction getArrayTypeString(value: unknown[], depth: number = 0): string {\n if (value.length === 0) {\n return 'string[]';\n }\n\n // Get the base type for each element (not recursively processing arrays yet)\n const elementBaseTypes = value.map(getBaseTypeString);\n\n // Get unique base types\n const uniqueBaseTypes = [...new Set(elementBaseTypes)];\n\n // Check if this has different types\n const hasDifferentTypes = uniqueBaseTypes.length > 1;\n\n // Heuristic: If array has different types and is small/fixed-length, treat as tuple\n // This approximates TypeScript's tuple detection (as const creates tuples)\n // At depth 0-1, use tuple format for arrays with different types\n // At depth 2+, convert to union arrays (matches TypeScript's behavior for deeply nested structures)\n if (hasDifferentTypes && depth < 2 && value.length <= 10) {\n return processTuple(value, depth);\n }\n\n // If all elements are arrays, process them recursively\n if (value.every(Array.isArray)) {\n return processArrayOfArrays(value, depth);\n }\n\n return processRegularArray(value, uniqueBaseTypes, depth);\n}\n\ntype GetInferredFieldTypeReturnType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n> = [TType] extends [never] ? GetInferredFieldType<T> : TType;\n\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n>(options: T & { type: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType> {\n const { defaultValue, type } = options;\n\n if (type) {\n return type as unknown as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (Array.isArray(defaultValue)) {\n return getArrayTypeString(defaultValue) as GetInferredFieldTypeReturnType<\n T,\n TType\n >;\n }\n\n if (typeof defaultValue === 'object' && defaultValue !== null) {\n if (defaultValue instanceof Date) {\n return 'date' as GetInferredFieldTypeReturnType<T, TType>;\n }\n return 'object' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'number') {\n return 'number' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'boolean') {\n return 'boolean' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n return 'string' as GetInferredFieldTypeReturnType<T, TType>;\n}\n"],"mappings":"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"}
@@ -34,6 +34,19 @@ type GetInferredFieldType<T extends {
34
34
  declare const FIELD_TYPES: readonly ["string", "string.phone", "string.email", "string.time", "number", "number.counter", "date", "dateTime", "boolean.switch"];
35
35
  declare const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>;
36
36
  declare function isFieldType(value: unknown): value is FieldType;
37
+ type GetInferredFieldTypeReturnType<T extends {
38
+ defaultValue: unknown;
39
+ }, TType extends FieldType> = [TType] extends [never] ? GetInferredFieldType<T> : TType;
40
+ declare function getInferredFieldType<T extends {
41
+ defaultValue: unknown;
42
+ }, TType extends FieldType>(options: T & {
43
+ type: TType;
44
+ }): GetInferredFieldTypeReturnType<T, TType>;
45
+ declare function getInferredFieldType<T extends {
46
+ defaultValue: unknown;
47
+ }, TType extends FieldType = never>(options: T & {
48
+ type?: TType;
49
+ }): GetInferredFieldTypeReturnType<T, TType>;
37
50
  //#endregion
38
- export { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, isFieldType };
51
+ export { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, getInferredFieldType, isFieldType };
39
52
  //# sourceMappingURL=field-types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-types.d.cts","names":[],"sources":["../../src/utils/field-types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"field-types.d.cts","names":[],"sources":["../../src/utils/field-types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -34,6 +34,19 @@ type GetInferredFieldType<T extends {
34
34
  declare const FIELD_TYPES: readonly ["string", "string.phone", "string.email", "string.time", "number", "number.counter", "date", "dateTime", "boolean.switch"];
35
35
  declare const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>;
36
36
  declare function isFieldType(value: unknown): value is FieldType;
37
+ type GetInferredFieldTypeReturnType<T extends {
38
+ defaultValue: unknown;
39
+ }, TType extends FieldType> = [TType] extends [never] ? GetInferredFieldType<T> : TType;
40
+ declare function getInferredFieldType<T extends {
41
+ defaultValue: unknown;
42
+ }, TType extends FieldType>(options: T & {
43
+ type: TType;
44
+ }): GetInferredFieldTypeReturnType<T, TType>;
45
+ declare function getInferredFieldType<T extends {
46
+ defaultValue: unknown;
47
+ }, TType extends FieldType = never>(options: T & {
48
+ type?: TType;
49
+ }): GetInferredFieldTypeReturnType<T, TType>;
37
50
  //#endregion
38
- export { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, isFieldType };
51
+ export { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, getInferredFieldType, isFieldType };
39
52
  //# sourceMappingURL=field-types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-types.d.mts","names":[],"sources":["../../src/utils/field-types.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"field-types.d.mts","names":[],"sources":["../../src/utils/field-types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -14,7 +14,80 @@ const DEFAULT_FIELD_TYPE = "string";
14
14
  function isFieldType(value) {
15
15
  return typeof value === "string" && FIELD_TYPES.includes(value);
16
16
  }
17
+ function getBaseTypeString(value) {
18
+ if (value === null) return "string";
19
+ if (typeof value === "object") return value instanceof Date ? "date" : "object";
20
+ if (typeof value === "number") return "number";
21
+ if (typeof value === "boolean") return "boolean";
22
+ return "string";
23
+ }
24
+ const TYPE_ORDER = [
25
+ "string",
26
+ "number",
27
+ "boolean",
28
+ "date",
29
+ "object"
30
+ ];
31
+ function orderTypes(types) {
32
+ return types.toSorted((a, b) => {
33
+ const aIndex = TYPE_ORDER.indexOf(a);
34
+ const bIndex = TYPE_ORDER.indexOf(b);
35
+ if (aIndex === -1 && bIndex === -1) return a.localeCompare(b, void 0, { sensitivity: "base" });
36
+ if (aIndex === -1) return 1;
37
+ if (bIndex === -1) return -1;
38
+ return aIndex - bIndex;
39
+ });
40
+ }
41
+ function tupleToUnion(tupleType) {
42
+ return `(${orderTypes(tupleType.slice(1, -1).split(", ")).join(" | ")})`;
43
+ }
44
+ function processTuple(value, depth) {
45
+ return `[${value.map((el) => {
46
+ if (Array.isArray(el)) return getArrayTypeString(el, depth + 1);
47
+ return getBaseTypeString(el);
48
+ }).join(", ")}]`;
49
+ }
50
+ function processArrayOfArrays(value, depth) {
51
+ const arrayElementTypes = /* @__PURE__ */ new Set();
52
+ for (const el of value) if (Array.isArray(el)) {
53
+ let innerType = getArrayTypeString(el, depth + 1);
54
+ if (depth >= 1 && innerType.startsWith("[") && innerType.endsWith("]")) innerType = tupleToUnion(innerType);
55
+ arrayElementTypes.add(innerType);
56
+ }
57
+ if (arrayElementTypes.size === 1) return `${Array.from(arrayElementTypes)[0]}[]`;
58
+ return `(${orderTypes(Array.from(arrayElementTypes)).join(" | ")})[]`;
59
+ }
60
+ function processRegularArray(value, uniqueBaseTypes, depth) {
61
+ const firstElement = value[0];
62
+ let elementType;
63
+ if (Array.isArray(firstElement)) {
64
+ elementType = getArrayTypeString(firstElement, depth + 1);
65
+ if (depth >= 1 && elementType.startsWith("[") && elementType.endsWith("]")) elementType = tupleToUnion(elementType);
66
+ } else elementType = getBaseTypeString(firstElement);
67
+ if (uniqueBaseTypes.length > 1) return `(${orderTypes(uniqueBaseTypes).join(" | ")})[]`;
68
+ return `${elementType}[]`;
69
+ }
70
+ function getArrayTypeString(value, depth = 0) {
71
+ if (value.length === 0) return "string[]";
72
+ const elementBaseTypes = value.map(getBaseTypeString);
73
+ const uniqueBaseTypes = [...new Set(elementBaseTypes)];
74
+ if (uniqueBaseTypes.length > 1 && depth < 2 && value.length <= 10) return processTuple(value, depth);
75
+ if (value.every(Array.isArray)) return processArrayOfArrays(value, depth);
76
+ return processRegularArray(value, uniqueBaseTypes, depth);
77
+ }
78
+ function getInferredFieldType(options) {
79
+ const { defaultValue, type } = options;
80
+ if (type) return type;
81
+ if (Array.isArray(defaultValue)) return getArrayTypeString(defaultValue);
82
+ if (typeof defaultValue === "object" && defaultValue !== null) {
83
+ if (defaultValue instanceof Date) return "date";
84
+ return "object";
85
+ }
86
+ if (typeof defaultValue === "number") return "number";
87
+ if (typeof defaultValue === "boolean") return "boolean";
88
+ return "string";
89
+ }
17
90
 
18
91
  //#endregion
19
- export { DEFAULT_FIELD_TYPE, FIELD_TYPES, isFieldType };
92
+ export { DEFAULT_FIELD_TYPE, FIELD_TYPES, getInferredFieldType, isFieldType };
20
93
  //# sourceMappingURL=field-types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-types.mjs","names":["DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>"],"sources":["../../src/utils/field-types.ts"],"sourcesContent":["import type { SetDefaultString } from './types';\nimport type { UnionToTuple } from '../steps/types';\n\nexport type FieldType = (typeof FIELD_TYPES)[number];\nexport type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;\nexport type DefaultFieldTypeMap = {\n string: string;\n number: number;\n boolean: boolean;\n date: Date;\n};\nexport type ResolvedFieldTypeMap = {\n string: string;\n 'string.phone': string;\n 'string.email': string;\n 'string.time': string;\n number: number;\n 'number.counter': number;\n date: Date;\n dateTime: Date;\n 'boolean.switch': boolean;\n};\n// Helper to convert a single type (non-union) to string\ntype BaseTypeToString<T> = T extends string\n ? 'string'\n : T extends number\n ? 'number'\n : T extends boolean\n ? 'boolean'\n : T extends Date\n ? 'date'\n : T extends object\n ? T extends Array<unknown> | Date\n ? never // Handled separately\n : 'object'\n : DefaultFieldType;\n\n// Helper to collect union members as string literals\ntype UnionMembersToString<T> = T extends infer U\n ? U extends U\n ? BaseTypeToString<U>\n : never\n : never;\n\n// Helper to join union members with |\n// This manually handles the tuple conversion since UnionToTuple returns readonly\ntype JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings\n ? [UnionStrings] extends [string]\n ? UnionToTuple<UnionStrings> extends readonly [infer A extends string]\n ? A\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string\n ]\n ? `${A} | ${B}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string\n ]\n ? `${A} | ${B} | ${C}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string,\n infer D extends string\n ]\n ? `${A} | ${B} | ${C} | ${D}`\n : UnionStrings // Fallback for larger unions or single type\n : never\n : never;\n\n// Helper to convert union to intersection (used to detect unions)\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I\n) => void\n ? I\n : never;\n\n// Helper to check if T is a tuple (has specific length, not just array)\ntype IsTuple<T> = T extends readonly unknown[]\n ? number extends T['length']\n ? false\n : true\n : false;\n\n// Helper to convert tuple to string representation\ntype TupleToString<T extends readonly unknown[]> = T extends readonly [\n infer First,\n ...infer Rest\n]\n ? Rest extends readonly unknown[]\n ? `${TypeToString<First>}${Rest['length'] extends 0\n ? ''\n : `, ${TupleToString<Rest>}`}`\n : never\n : never;\n\n// Helper type to convert a type to its string literal representation\ntype TypeToString<T> = T extends readonly unknown[]\n ? IsTuple<T> extends true\n ? `[${TupleToString<T>}]`\n : T extends readonly (infer U)[]\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : never\n : T extends Array<infer U>\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : BaseTypeToString<T>;\n\nexport type GetInferredFieldType<T extends { defaultValue: unknown }> =\n TypeToString<T['defaultValue']>;\n\nexport const FIELD_TYPES = [\n 'string',\n 'string.phone',\n 'string.email',\n 'string.time',\n 'number',\n 'number.counter',\n 'date',\n 'dateTime',\n 'boolean.switch',\n] as const;\nexport const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'> =\n 'string';\n\nexport function isFieldType(value: unknown): value is FieldType {\n return typeof value === 'string' && FIELD_TYPES.includes(value as FieldType);\n}\n"],"mappings":";AAoHA,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AACD,MAAaA,qBACX;AAEF,SAAgB,YAAY,OAAoC;AAC9D,QAAO,OAAO,UAAU,YAAY,YAAY,SAAS,MAAmB"}
1
+ {"version":3,"file":"field-types.mjs","names":["DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>","elementType: string"],"sources":["../../src/utils/field-types.ts"],"sourcesContent":["import type { SetDefaultString } from './types';\nimport type { UnionToTuple } from '../steps/types';\n\nexport type FieldType = (typeof FIELD_TYPES)[number];\nexport type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;\nexport type DefaultFieldTypeMap = {\n string: string;\n number: number;\n boolean: boolean;\n date: Date;\n};\nexport type ResolvedFieldTypeMap = {\n string: string;\n 'string.phone': string;\n 'string.email': string;\n 'string.time': string;\n number: number;\n 'number.counter': number;\n date: Date;\n dateTime: Date;\n 'boolean.switch': boolean;\n};\n// Helper to convert a single type (non-union) to string\ntype BaseTypeToString<T> = T extends string\n ? 'string'\n : T extends number\n ? 'number'\n : T extends boolean\n ? 'boolean'\n : T extends Date\n ? 'date'\n : T extends object\n ? T extends Array<unknown> | Date\n ? never // Handled separately\n : 'object'\n : DefaultFieldType;\n\n// Helper to collect union members as string literals\ntype UnionMembersToString<T> = T extends infer U\n ? U extends U\n ? BaseTypeToString<U>\n : never\n : never;\n\n// Helper to join union members with |\n// This manually handles the tuple conversion since UnionToTuple returns readonly\ntype JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings\n ? [UnionStrings] extends [string]\n ? UnionToTuple<UnionStrings> extends readonly [infer A extends string]\n ? A\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string\n ]\n ? `${A} | ${B}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string\n ]\n ? `${A} | ${B} | ${C}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string,\n infer D extends string\n ]\n ? `${A} | ${B} | ${C} | ${D}`\n : UnionStrings // Fallback for larger unions or single type\n : never\n : never;\n\n// Helper to convert union to intersection (used to detect unions)\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I\n) => void\n ? I\n : never;\n\n// Helper to check if T is a tuple (has specific length, not just array)\ntype IsTuple<T> = T extends readonly unknown[]\n ? number extends T['length']\n ? false\n : true\n : false;\n\n// Helper to convert tuple to string representation\ntype TupleToString<T extends readonly unknown[]> = T extends readonly [\n infer First,\n ...infer Rest\n]\n ? Rest extends readonly unknown[]\n ? `${TypeToString<First>}${Rest['length'] extends 0\n ? ''\n : `, ${TupleToString<Rest>}`}`\n : never\n : never;\n\n// Helper type to convert a type to its string literal representation\ntype TypeToString<T> = T extends readonly unknown[]\n ? IsTuple<T> extends true\n ? `[${TupleToString<T>}]`\n : T extends readonly (infer U)[]\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : never\n : T extends Array<infer U>\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : BaseTypeToString<T>;\n\nexport type GetInferredFieldType<T extends { defaultValue: unknown }> =\n TypeToString<T['defaultValue']>;\n\nexport const FIELD_TYPES = [\n 'string',\n 'string.phone',\n 'string.email',\n 'string.time',\n 'number',\n 'number.counter',\n 'date',\n 'dateTime',\n 'boolean.switch',\n] as const;\nexport const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'> =\n 'string';\n\nexport function isFieldType(value: unknown): value is FieldType {\n return typeof value === 'string' && FIELD_TYPES.includes(value as FieldType);\n}\n\n// Helper function to get the base type string for a single value (not arrays)\nfunction getBaseTypeString(value: unknown): string {\n if (value === null) {\n return 'string';\n }\n\n if (typeof value === 'object') {\n return value instanceof Date ? 'date' : 'object';\n }\n\n if (typeof value === 'number') {\n return 'number';\n }\n\n if (typeof value === 'boolean') {\n return 'boolean';\n }\n\n return 'string';\n}\n\n// Helper to order types according to TypeScript's union order: string | number | boolean\nconst TYPE_ORDER = ['string', 'number', 'boolean', 'date', 'object'] as const;\n\nfunction orderTypes(types: string[]): string[] {\n return types.toSorted((a, b) => {\n const aIndex = TYPE_ORDER.indexOf(a as (typeof TYPE_ORDER)[number]);\n const bIndex = TYPE_ORDER.indexOf(b as (typeof TYPE_ORDER)[number]);\n if (aIndex === -1 && bIndex === -1) {\n return a.localeCompare(b, undefined, { sensitivity: 'base' });\n }\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n return aIndex - bIndex;\n });\n}\n\n// Helper to convert tuple string to union string at depth 2+\nfunction tupleToUnion(tupleType: string): string {\n const tupleTypes = tupleType.slice(1, -1).split(', ');\n const orderedTypes = orderTypes(tupleTypes);\n return `(${orderedTypes.join(' | ')})`;\n}\n\n// Helper to process tuple format (depth < 2)\nfunction processTuple(value: unknown[], depth: number): string {\n const elementTypes = value.map((el) => {\n if (Array.isArray(el)) {\n return getArrayTypeString(el, depth + 1);\n }\n return getBaseTypeString(el);\n });\n return `[${elementTypes.join(', ')}]`;\n}\n\n// Helper to process array-of-arrays case\nfunction processArrayOfArrays(value: unknown[], depth: number): string {\n const arrayElementTypes = new Set<string>();\n for (const el of value) {\n if (Array.isArray(el)) {\n let innerType = getArrayTypeString(el, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (depth >= 1 && innerType.startsWith('[') && innerType.endsWith(']')) {\n innerType = tupleToUnion(innerType);\n }\n arrayElementTypes.add(innerType);\n }\n }\n if (arrayElementTypes.size === 1) {\n return `${Array.from(arrayElementTypes)[0]}[]`;\n }\n const sortedTypes = orderTypes(Array.from(arrayElementTypes));\n return `(${sortedTypes.join(' | ')})[]`;\n}\n\n// Helper to process regular array case\nfunction processRegularArray(\n value: unknown[],\n uniqueBaseTypes: string[],\n depth: number\n): string {\n const firstElement = value[0];\n let elementType: string;\n if (Array.isArray(firstElement)) {\n elementType = getArrayTypeString(firstElement, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (\n depth >= 1 &&\n elementType.startsWith('[') &&\n elementType.endsWith(']')\n ) {\n elementType = tupleToUnion(elementType);\n }\n } else {\n elementType = getBaseTypeString(firstElement);\n }\n\n // If we have multiple different base types, create union array\n // Use sorted order for union arrays (matches TypeScript's union order)\n if (uniqueBaseTypes.length > 1) {\n const orderedTypes = orderTypes(uniqueBaseTypes);\n return `(${orderedTypes.join(' | ')})[]`;\n }\n\n return `${elementType}[]`;\n}\n\n// Helper function to get the type string for an array, distinguishing tuples from regular arrays\nfunction getArrayTypeString(value: unknown[], depth: number = 0): string {\n if (value.length === 0) {\n return 'string[]';\n }\n\n // Get the base type for each element (not recursively processing arrays yet)\n const elementBaseTypes = value.map(getBaseTypeString);\n\n // Get unique base types\n const uniqueBaseTypes = [...new Set(elementBaseTypes)];\n\n // Check if this has different types\n const hasDifferentTypes = uniqueBaseTypes.length > 1;\n\n // Heuristic: If array has different types and is small/fixed-length, treat as tuple\n // This approximates TypeScript's tuple detection (as const creates tuples)\n // At depth 0-1, use tuple format for arrays with different types\n // At depth 2+, convert to union arrays (matches TypeScript's behavior for deeply nested structures)\n if (hasDifferentTypes && depth < 2 && value.length <= 10) {\n return processTuple(value, depth);\n }\n\n // If all elements are arrays, process them recursively\n if (value.every(Array.isArray)) {\n return processArrayOfArrays(value, depth);\n }\n\n return processRegularArray(value, uniqueBaseTypes, depth);\n}\n\ntype GetInferredFieldTypeReturnType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n> = [TType] extends [never] ? GetInferredFieldType<T> : TType;\n\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n>(options: T & { type: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType> {\n const { defaultValue, type } = options;\n\n if (type) {\n return type as unknown as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (Array.isArray(defaultValue)) {\n return getArrayTypeString(defaultValue) as GetInferredFieldTypeReturnType<\n T,\n TType\n >;\n }\n\n if (typeof defaultValue === 'object' && defaultValue !== null) {\n if (defaultValue instanceof Date) {\n return 'date' as GetInferredFieldTypeReturnType<T, TType>;\n }\n return 'object' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'number') {\n return 'number' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'boolean') {\n return 'boolean' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n return 'string' as GetInferredFieldTypeReturnType<T, TType>;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.cts","names":[],"sources":["../../src/utils/validator.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.d.cts","names":[],"sources":["../../src/utils/validator.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.mts","names":[],"sources":["../../src/utils/validator.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.d.mts","names":[],"sources":["../../src/utils/validator.ts"],"sourcesContent":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jfdevelops/multi-step-form-core",
3
- "version": "1.0.0-alpha.22",
3
+ "version": "1.0.0-alpha.23",
4
4
  "description": "",
5
5
  "repository": "https://github.com/jfdevelops/multi-step-form",
6
6
  "type": "module",