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

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.d.cts CHANGED
@@ -1,14 +1,14 @@
1
- import { DEFAULT_STORAGE_KEY, DefaultStorageKey, MultiStepFormStorage, StorageConfig } from "./storage.cjs";
2
1
  import { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, Join, Override, SetDefaultString, Split, objectHelpers, unionHelpers } from "./utils/types.cjs";
3
2
  import { CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, DEFAULT_CASING, DefaultCasing, ToLower, changeCasing, isCasingValid, quote, setCasingType } from "./utils/casing.cjs";
4
3
  import { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, isFieldType } from "./utils/field-types.cjs";
5
4
  import { DEFAULT_LOGGER_PREFIX, MultiStepFormLogger, MultiStepFormLoggerOptions } from "./utils/logger.cjs";
6
5
  import { invariant } from "./utils/invariant.cjs";
7
- import { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, ClampTo0to10, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, 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";
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";
7
+ import { DEFAULT_STORAGE_KEY, DefaultStorageKey, MultiStepFormStorage, StorageConfig } from "./storage.cjs";
8
8
  import { VALIDATED_STEP_REGEX, createStep, isValidStepKey } from "./internals/utils.cjs";
9
9
  import { fields } from "./steps/fields.cjs";
10
10
  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, 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, helperFnResetFn, helperFnUpdateFn, invariant, isCasingValid, isFieldType, isValidStepKey, objectHelpers, quote, setCasingType, unionHelpers };
package/dist/index.d.mts CHANGED
@@ -1,14 +1,14 @@
1
- import { DEFAULT_STORAGE_KEY, DefaultStorageKey, MultiStepFormStorage, StorageConfig } from "./storage.mjs";
2
1
  import { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, Join, Override, SetDefaultString, Split, objectHelpers, unionHelpers } from "./utils/types.mjs";
3
2
  import { CASING_TYPES, CapitalizeWord, CasingType, ChangeCasing, ChangeObjectCasing, DEFAULT_CASING, DefaultCasing, ToLower, changeCasing, isCasingValid, quote, setCasingType } from "./utils/casing.mjs";
4
3
  import { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, isFieldType } from "./utils/field-types.mjs";
5
4
  import { DEFAULT_LOGGER_PREFIX, MultiStepFormLogger, MultiStepFormLoggerOptions } from "./utils/logger.mjs";
6
5
  import { invariant } from "./utils/invariant.mjs";
7
- import { AnyResolvedStep, AnyStep, AnyStepField, AnyStepFieldOption, ClampTo0to10, CreateHelperFunctionOptionsBase, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnInput, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, CtxDataSelector, 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";
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";
7
+ import { DEFAULT_STORAGE_KEY, DefaultStorageKey, MultiStepFormStorage, StorageConfig } from "./storage.mjs";
8
8
  import { VALIDATED_STEP_REGEX, createStep, isValidStepKey } from "./internals/utils.mjs";
9
9
  import { fields } from "./steps/fields.mjs";
10
10
  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, 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, helperFnResetFn, helperFnUpdateFn, invariant, isCasingValid, isFieldType, isValidStepKey, objectHelpers, quote, setCasingType, unionHelpers };
package/dist/schema.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { DefaultStorageKey, MultiStepFormStorage } from "./storage.cjs";
2
1
  import { Constrain } from "./utils/types.cjs";
3
2
  import { CasingType, DefaultCasing } from "./utils/casing.cjs";
4
3
  import { MultiStepFormSchemaStepConfig, ResolvedStep, Step, StepNumbers } from "./steps/types.cjs";
4
+ import { DefaultStorageKey, MultiStepFormStorage } from "./storage.cjs";
5
5
  import { Subscribable } from "./subscribable.cjs";
6
6
  import { MultiStepFormStepSchema } from "./steps/schema.cjs";
7
7
 
package/dist/schema.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import { DefaultStorageKey, MultiStepFormStorage } from "./storage.mjs";
2
1
  import { Constrain } from "./utils/types.mjs";
3
2
  import { CasingType, DefaultCasing } from "./utils/casing.mjs";
4
3
  import { MultiStepFormSchemaStepConfig, ResolvedStep, Step, StepNumbers } from "./steps/types.mjs";
4
+ import { DefaultStorageKey, MultiStepFormStorage } from "./storage.mjs";
5
5
  import { Subscribable } from "./subscribable.mjs";
6
6
  import { MultiStepFormStepSchema } from "./steps/schema.mjs";
7
7
 
@@ -11,6 +11,12 @@ let fields;
11
11
  return require_path.path.pickBy(fields$1, fullPath);
12
12
  }
13
13
  _fields.resolvedDeepPath = resolvedDeepPath;
14
+ function buildValuePath(field, valuePropertyName = "defaultValue") {
15
+ const [parent, ...children] = field.split(".");
16
+ if (children.length === 0) return `${parent}.${valuePropertyName}`;
17
+ return `${parent}.${valuePropertyName}.${children.join(".")}`;
18
+ }
19
+ _fields.buildValuePath = buildValuePath;
14
20
  })(fields || (fields = {}));
15
21
 
16
22
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"fields.cjs","names":["path","fields"],"sources":["../../src/steps/fields.ts"],"sourcesContent":["import { path } from '@/internals';\nimport type { DeepKeys, Join, Split } from '@/utils';\nimport type { AnyResolvedStep, GetFieldsForStep } from './types';\n\nexport namespace fields {\n type GetDeepFields<TFields> = [keyof TFields] extends [never]\n ? never\n : {\n [_ in keyof TFields]: TFields[_] extends Record<\n 'defaultValue',\n infer value\n >\n ? keyof value extends never\n ? TFields\n : DeepKeys<{ [field in _]: TFields[_]['defaultValue'] }>\n : never;\n }[keyof TFields];\n export type get<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TFields extends GetFieldsForStep<TResolvedStep, TStep> = GetFieldsForStep<\n TResolvedStep,\n TStep\n >\n > = TFields;\n export type removeParentPath<T extends string> = Split<T, '.'> extends [\n infer _,\n ...infer rest\n ]\n ? rest extends string[]\n ? Join<rest, '.'>\n : never\n : never;\n export type getDeep<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep\n > = GetDeepFields<\n get<TResolvedStep, TStep>\n > extends infer value extends string\n ? value\n : never;\n export type parentOf<T extends string> = Split<T, '.'>[0];\n export type resolveDeepPath<\n TResolvedStep extends AnyResolvedStep,\n TTargetStep extends keyof TResolvedStep,\n TField extends getDeep<TResolvedStep, TTargetStep>,\n TParent extends parentOf<TField> = parentOf<TField>,\n TDefaultValue = get<TResolvedStep, TTargetStep>[TParent]['defaultValue']\n > = removeParentPath<TField> extends never\n ? TDefaultValue\n : path.pickBy<TDefaultValue, removeParentPath<TField>>;\n\n // TODO add field validation\n export function resolvedDeepPath<\n resolvedStep extends AnyResolvedStep,\n targetStep extends keyof resolvedStep,\n fields extends get<resolvedStep, targetStep>,\n fieldPath extends getDeep<resolvedStep, targetStep>\n >(fieldPath: fieldPath, fields: fields, filler = 'defaultValue') {\n const [parent, ...children] = fieldPath.split('.');\n const shared = `${parent}.${filler}`;\n const fullPath = (\n children.length === 0 ? shared : `${shared}.${children.join('.')}`\n ) as DeepKeys<fields>;\n\n const resolvedValue = path.pickBy(fields, fullPath) as resolveDeepPath<\n resolvedStep,\n targetStep,\n fieldPath\n >;\n\n return resolvedValue;\n }\n}\n"],"mappings":";;;;;;CAqDS,SAAS,iBAKd,WAAsB,UAAgB,SAAS,gBAAgB;EAC/D,MAAM,CAAC,QAAQ,GAAG,YAAY,UAAU,MAAM,IAAI;EAClD,MAAM,SAAS,GAAG,OAAO,GAAG;EAC5B,MAAM,WACJ,SAAS,WAAW,IAAI,SAAS,GAAG,OAAO,GAAG,SAAS,KAAK,IAAI;AASlE,SANsBA,kBAAK,OAAOC,UAAQ,SAAS"}
1
+ {"version":3,"file":"fields.cjs","names":["path","fields"],"sources":["../../src/steps/fields.ts"],"sourcesContent":["import { path } from '@/internals';\nimport type { DeepKeys, Join, Split } from '@/utils';\nimport type { AnyResolvedStep } from './types';\n\nexport namespace fields {\n type GetDeepFields<TFields> = [keyof TFields] extends [never]\n ? never\n : {\n [_ in keyof TFields]: TFields[_] extends Record<\n 'defaultValue',\n infer value\n >\n ? keyof value extends never\n ? TFields\n : DeepKeys<{ [field in _]: TFields[_]['defaultValue'] }>\n : never;\n }[keyof TFields];\n export type getFieldsForStep<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep\n > = TResolvedStep[TStep] extends {\n fields: infer fields extends object;\n }\n ? fields\n : never;\n export type get<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TFields extends getFieldsForStep<TResolvedStep, TStep> = getFieldsForStep<\n TResolvedStep,\n TStep\n >\n > = TFields;\n export type removeParentPath<T extends string> = Split<T, '.'> extends [\n infer _,\n ...infer rest\n ]\n ? rest extends string[]\n ? Join<rest, '.'>\n : never\n : never;\n export type getConfig<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TField extends getDeepFields<TResolvedStep, TStep>\n > = parentOf<TField> extends keyof get<TResolvedStep, TStep>\n ? get<TResolvedStep, TStep>[parentOf<TField>]\n : never;\n export type getDeepFields<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep = keyof TResolvedStep\n > = GetDeepFields<\n get<TResolvedStep, TStep>\n > extends infer value extends string\n ? value\n : never;\n\n type buildValuePath<\n TField extends string,\n TValuePropertyName extends string = 'defaultValue',\n TSplit extends Split<TField, '.'> = Split<TField, '.'>\n > = TSplit extends [infer field extends string, ...infer rest]\n ? rest extends []\n ? `${field}.${TValuePropertyName}`\n : rest extends string[]\n ? `${field}.${TValuePropertyName}.${Join<rest, '.'>}`\n : never\n : never;\n export type resolveDeepPath<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TField extends getDeepFields<TResolvedStep, TStep>,\n TValue extends get<TResolvedStep, TStep> = get<TResolvedStep, TStep>\n > = buildValuePath<TField> extends DeepKeys<TValue>\n ? path.pickBy<TValue, buildValuePath<TField>>\n : never;\n\n export type parentOf<T extends string> = Split<T, '.'>[0];\n\n // TODO add field validation\n export function resolvedDeepPath<\n resolvedStep extends AnyResolvedStep,\n targetStep extends keyof resolvedStep,\n fields extends get<resolvedStep, targetStep>,\n fieldPath extends getDeepFields<resolvedStep, targetStep>\n >(fieldPath: fieldPath, fields: fields, filler = 'defaultValue') {\n const [parent, ...children] = fieldPath.split('.');\n const shared = `${parent}.${filler}`;\n const fullPath = (\n children.length === 0 ? shared : `${shared}.${children.join('.')}`\n ) as DeepKeys<fields>;\n\n const resolvedValue = path.pickBy(fields, fullPath) as resolveDeepPath<\n resolvedStep,\n targetStep,\n fieldPath\n >;\n\n return resolvedValue;\n }\n\n export function buildValuePath<\n TField extends string,\n TValuePropertyName extends string = 'defaultValue',\n TSplit extends Split<TField, '.'> = Split<TField, '.'>\n >(\n field: TField,\n valuePropertyName: TValuePropertyName = 'defaultValue' as TValuePropertyName\n ) {\n const [parent, ...children] = field.split('.');\n\n if (children.length === 0) {\n return `${parent}.${valuePropertyName}` as buildValuePath<\n TField,\n TValuePropertyName,\n TSplit\n >;\n }\n\n return `${parent}.${valuePropertyName}.${children.join(\n '.'\n )}` as buildValuePath<TField, TValuePropertyName, TSplit>;\n }\n}\n"],"mappings":";;;;;;CAgFS,SAAS,iBAKd,WAAsB,UAAgB,SAAS,gBAAgB;EAC/D,MAAM,CAAC,QAAQ,GAAG,YAAY,UAAU,MAAM,IAAI;EAClD,MAAM,SAAS,GAAG,OAAO,GAAG;EAC5B,MAAM,WACJ,SAAS,WAAW,IAAI,SAAS,GAAG,OAAO,GAAG,SAAS,KAAK,IAAI;AASlE,SANsBA,kBAAK,OAAOC,UAAQ,SAAS;;;CAS9C,SAAS,eAKd,OACA,oBAAwC,gBACxC;EACA,MAAM,CAAC,QAAQ,GAAG,YAAY,MAAM,MAAM,IAAI;AAE9C,MAAI,SAAS,WAAW,EACtB,QAAO,GAAG,OAAO,GAAG;AAOtB,SAAO,GAAG,OAAO,GAAG,kBAAkB,GAAG,SAAS,KAChD,IACD"}
@@ -1,16 +1,22 @@
1
1
  import { DeepKeys, Join, Split } from "../utils/types.cjs";
2
2
  import { path } from "../utils/path.cjs";
3
- import { AnyResolvedStep, GetFieldsForStep } from "./types.cjs";
3
+ import { AnyResolvedStep } from "./types.cjs";
4
4
 
5
5
  //#region src/steps/fields.d.ts
6
6
  declare namespace fields {
7
7
  type GetDeepFields<TFields> = [keyof TFields] extends [never] ? never : { [_ in keyof TFields]: TFields[_] extends Record<'defaultValue', infer value> ? keyof value extends never ? TFields : DeepKeys<{ [field in _]: TFields[_]['defaultValue'] }> : never }[keyof TFields];
8
- export type get<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TFields extends GetFieldsForStep<TResolvedStep, TStep> = GetFieldsForStep<TResolvedStep, TStep>> = TFields;
8
+ export type getFieldsForStep<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep> = TResolvedStep[TStep] extends {
9
+ fields: infer fields extends object;
10
+ } ? fields : never;
11
+ export type get<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TFields extends getFieldsForStep<TResolvedStep, TStep> = getFieldsForStep<TResolvedStep, TStep>> = TFields;
9
12
  export type removeParentPath<T extends string> = Split<T, '.'> extends [infer _, ...infer rest] ? rest extends string[] ? Join<rest, '.'> : never : never;
10
- export type getDeep<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep> = GetDeepFields<get<TResolvedStep, TStep>> extends infer value extends string ? value : never;
13
+ export type getConfig<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TField extends getDeepFields<TResolvedStep, TStep>> = parentOf<TField> extends keyof get<TResolvedStep, TStep> ? get<TResolvedStep, TStep>[parentOf<TField>] : never;
14
+ export type getDeepFields<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep = keyof TResolvedStep> = GetDeepFields<get<TResolvedStep, TStep>> extends infer value extends string ? value : never;
15
+ type buildValuePath<TField extends string, TValuePropertyName extends string = 'defaultValue', TSplit extends Split<TField, '.'> = Split<TField, '.'>> = TSplit extends [infer field extends string, ...infer rest] ? rest extends [] ? `${field}.${TValuePropertyName}` : rest extends string[] ? `${field}.${TValuePropertyName}.${Join<rest, '.'>}` : never : never;
16
+ export type resolveDeepPath<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TField extends getDeepFields<TResolvedStep, TStep>, TValue extends get<TResolvedStep, TStep> = get<TResolvedStep, TStep>> = buildValuePath<TField> extends DeepKeys<TValue> ? path.pickBy<TValue, buildValuePath<TField>> : never;
11
17
  export type parentOf<T extends string> = Split<T, '.'>[0];
12
- export type resolveDeepPath<TResolvedStep extends AnyResolvedStep, TTargetStep extends keyof TResolvedStep, TField extends getDeep<TResolvedStep, TTargetStep>, TParent extends parentOf<TField> = parentOf<TField>, TDefaultValue = get<TResolvedStep, TTargetStep>[TParent]['defaultValue']> = removeParentPath<TField> extends never ? TDefaultValue : path.pickBy<TDefaultValue, removeParentPath<TField>>;
13
- export function resolvedDeepPath<resolvedStep extends AnyResolvedStep, targetStep extends keyof resolvedStep, fields$1 extends get<resolvedStep, targetStep>, fieldPath extends getDeep<resolvedStep, targetStep>>(fieldPath: fieldPath, fields: fields$1, filler?: string): resolveDeepPath<resolvedStep, targetStep, fieldPath, parentOf<fieldPath>, GetFieldsForStep<resolvedStep, targetStep>[parentOf<fieldPath>]["defaultValue"]>;
18
+ export function resolvedDeepPath<resolvedStep extends AnyResolvedStep, targetStep extends keyof resolvedStep, fields$1 extends get<resolvedStep, targetStep>, fieldPath extends getDeepFields<resolvedStep, targetStep>>(fieldPath: fieldPath, fields: fields$1, filler?: string): resolveDeepPath<resolvedStep, targetStep, fieldPath, getFieldsForStep<resolvedStep, targetStep>>;
19
+ export function buildValuePath<TField extends string, TValuePropertyName extends string = 'defaultValue', TSplit extends Split<TField, '.'> = Split<TField, '.'>>(field: TField, valuePropertyName?: TValuePropertyName): buildValuePath<TField, TValuePropertyName, TSplit>;
14
20
  export {};
15
21
  }
16
22
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.cts","names":[],"sources":["../../src/steps/fields.ts"],"sourcesContent":[],"mappings":";;;;;kBAIiB,MAAA;uCACsB,2CADhB,MAIH,OAJG,GAIO,OAJP,CAIe,CAJf,CAAA,SAI0B,MAJ1B,CAAA,cAAA,EAAA,KAAA,MAAA,CAAA,GAAA,MAQL,KARK,SAAA,KAAA,GAST,OATS,GAUT,QAVS,CAAA,YAUY,CATI,GASA,OATA,CASQ,CATR,CAAA,CAAA,cAAA,CAAA,EAGnB,CAAA,GAAA,KAAA,EAAU,CAAA,MAQhB,OARgB,CAAA;EAAQ,OAAA,KAAA,GAAA,CAAA,sBAUZ,eAVY,EAAA,cAAA,MAWd,aAXc,EAAA,gBAYlB,gBAZkB,CAYD,aAZC,EAYc,KAZd,CAAA,GAYuB,gBAZvB,CAahC,aAbgC,EAchC,KAdgC,CAAA,CAAA,GAgBhC,OAhBgC;EAAW,OAAA,KAAA,gBAAA,CAAA,UAAA,MAAA,CAAA,GAiBE,KAjBF,CAiBQ,CAjBR,EAAA,GAAA,CAAA,SAAA,CAI/B,KAAA,EAAA,EACJ,GAAA,KAAA,KAAA,CACqB,GAAA,IAAA,SAAA,MAAA,EAAA,GAgB3B,IAhB2B,CAgBtB,IAhBsB,EAAA,GAAA,CAAA,GAAA,KAAA,GAAA,KAAA;EAAI,OAAA,KAAA,OAAA,CAAA,sBAoBb,eApBa,EAAA,cAAA,MAqBf,aArBe,CAAA,GAsBjC,aAtBiC,CAuBnC,GAvBmC,CAuB/B,aAvB+B,EAuBhB,KAvBgB,CAAA,CAAA,SAAA,KAAA,eAAA,MAAA,GAAA,KAAA,GAAA,KAAA;EAAQ,OAAA,KAAA,QAAA,CAAA,UAAA,MAAA,CAAA,GA2BJ,KA3BI,CA2BE,CA3BF,EAAA,GAAA,CAAA,CAAA,CAAA,CAAA;EAAjC,OAAA,KAAA,eAAA,CAAA,sBA6BY,eA7BZ,EAAA,oBAAA,MA8BgB,aA9BhB,EAAA,eA+BK,OA/BL,CA+Ba,aA/Bb,EA+B4B,WA/B5B,CAAA,EAAA,gBAgCM,QAhCN,CAgCe,MAhCf,CAAA,GAgCyB,QAhCzB,CAgCkC,MAhClC,CAAA,EAAA,gBAiCM,GAjCN,CAiCU,aAjCV,EAiCyB,WAjCzB,CAAA,CAiCsC,OAjCtC,CAAA,CAAA,cAAA,CAAA,CAAA,GAkCR,gBAlCQ,CAkCS,MAlCT,CAAA,SAAA,KAAA,GAmCR,aAnCQ,GAoCR,IAAA,CAAK,MApCG,CAoCI,aApCJ,EAoCmB,gBApCnB,CAoCoC,MApCpC,CAAA,CAAA;EAEA,OAAA,SAAA,gBAAA,CAAA,qBAsCW,eAtCX,EAAA,mBAAA,MAuCe,YAvCf,EAAA,iBAwCK,GAxCL,CAwCS,YAxCT,EAwCuB,UAxCvB,CAAA,EAAA,kBAyCQ,OAzCR,CAyCgB,YAzChB,EAyC8B,UAzC9B,CAAA,CAAA,CAAA,SAAA,EA0CC,SA1CD,EAAA,MAAA,EA0CoB,QA1CpB,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,EA0CmD,eA1CnD,CA0CmD,YA1CnD,EA0CmD,UA1CnD,EA0CmD,SA1CnD,EA0CmD,QA1CnD,CA0CmD,SA1CnD,CAAA,EA0CmD,gBA1CnD,CA0CmD,YA1CnD,EA0CmD,UA1CnD,CAAA,CA0CmD,QA1CnD,CA0CmD,SA1CnD,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;EAEY"}
1
+ {"version":3,"file":"fields.d.cts","names":[],"sources":["../../src/steps/fields.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,16 +1,22 @@
1
1
  import { DeepKeys, Join, Split } from "../utils/types.mjs";
2
2
  import { path } from "../utils/path.mjs";
3
- import { AnyResolvedStep, GetFieldsForStep } from "./types.mjs";
3
+ import { AnyResolvedStep } from "./types.mjs";
4
4
 
5
5
  //#region src/steps/fields.d.ts
6
6
  declare namespace fields {
7
7
  type GetDeepFields<TFields> = [keyof TFields] extends [never] ? never : { [_ in keyof TFields]: TFields[_] extends Record<'defaultValue', infer value> ? keyof value extends never ? TFields : DeepKeys<{ [field in _]: TFields[_]['defaultValue'] }> : never }[keyof TFields];
8
- export type get<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TFields extends GetFieldsForStep<TResolvedStep, TStep> = GetFieldsForStep<TResolvedStep, TStep>> = TFields;
8
+ export type getFieldsForStep<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep> = TResolvedStep[TStep] extends {
9
+ fields: infer fields extends object;
10
+ } ? fields : never;
11
+ export type get<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TFields extends getFieldsForStep<TResolvedStep, TStep> = getFieldsForStep<TResolvedStep, TStep>> = TFields;
9
12
  export type removeParentPath<T extends string> = Split<T, '.'> extends [infer _, ...infer rest] ? rest extends string[] ? Join<rest, '.'> : never : never;
10
- export type getDeep<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep> = GetDeepFields<get<TResolvedStep, TStep>> extends infer value extends string ? value : never;
13
+ export type getConfig<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TField extends getDeepFields<TResolvedStep, TStep>> = parentOf<TField> extends keyof get<TResolvedStep, TStep> ? get<TResolvedStep, TStep>[parentOf<TField>] : never;
14
+ export type getDeepFields<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep = keyof TResolvedStep> = GetDeepFields<get<TResolvedStep, TStep>> extends infer value extends string ? value : never;
15
+ type buildValuePath<TField extends string, TValuePropertyName extends string = 'defaultValue', TSplit extends Split<TField, '.'> = Split<TField, '.'>> = TSplit extends [infer field extends string, ...infer rest] ? rest extends [] ? `${field}.${TValuePropertyName}` : rest extends string[] ? `${field}.${TValuePropertyName}.${Join<rest, '.'>}` : never : never;
16
+ export type resolveDeepPath<TResolvedStep extends AnyResolvedStep, TStep extends keyof TResolvedStep, TField extends getDeepFields<TResolvedStep, TStep>, TValue extends get<TResolvedStep, TStep> = get<TResolvedStep, TStep>> = buildValuePath<TField> extends DeepKeys<TValue> ? path.pickBy<TValue, buildValuePath<TField>> : never;
11
17
  export type parentOf<T extends string> = Split<T, '.'>[0];
12
- export type resolveDeepPath<TResolvedStep extends AnyResolvedStep, TTargetStep extends keyof TResolvedStep, TField extends getDeep<TResolvedStep, TTargetStep>, TParent extends parentOf<TField> = parentOf<TField>, TDefaultValue = get<TResolvedStep, TTargetStep>[TParent]['defaultValue']> = removeParentPath<TField> extends never ? TDefaultValue : path.pickBy<TDefaultValue, removeParentPath<TField>>;
13
- export function resolvedDeepPath<resolvedStep extends AnyResolvedStep, targetStep extends keyof resolvedStep, fields$1 extends get<resolvedStep, targetStep>, fieldPath extends getDeep<resolvedStep, targetStep>>(fieldPath: fieldPath, fields: fields$1, filler?: string): resolveDeepPath<resolvedStep, targetStep, fieldPath, parentOf<fieldPath>, GetFieldsForStep<resolvedStep, targetStep>[parentOf<fieldPath>]["defaultValue"]>;
18
+ export function resolvedDeepPath<resolvedStep extends AnyResolvedStep, targetStep extends keyof resolvedStep, fields$1 extends get<resolvedStep, targetStep>, fieldPath extends getDeepFields<resolvedStep, targetStep>>(fieldPath: fieldPath, fields: fields$1, filler?: string): resolveDeepPath<resolvedStep, targetStep, fieldPath, getFieldsForStep<resolvedStep, targetStep>>;
19
+ export function buildValuePath<TField extends string, TValuePropertyName extends string = 'defaultValue', TSplit extends Split<TField, '.'> = Split<TField, '.'>>(field: TField, valuePropertyName?: TValuePropertyName): buildValuePath<TField, TValuePropertyName, TSplit>;
14
20
  export {};
15
21
  }
16
22
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.mts","names":[],"sources":["../../src/steps/fields.ts"],"sourcesContent":[],"mappings":";;;;;kBAIiB,MAAA;uCACsB,2CADhB,MAIH,OAJG,GAIO,OAJP,CAIe,CAJf,CAAA,SAI0B,MAJ1B,CAAA,cAAA,EAAA,KAAA,MAAA,CAAA,GAAA,MAQL,KARK,SAAA,KAAA,GAST,OATS,GAUT,QAVS,CAAA,YAUY,CATI,GASA,OATA,CASQ,CATR,CAAA,CAAA,cAAA,CAAA,EAGnB,CAAA,GAAA,KAAA,EAAU,CAAA,MAQhB,OARgB,CAAA;EAAQ,OAAA,KAAA,GAAA,CAAA,sBAUZ,eAVY,EAAA,cAAA,MAWd,aAXc,EAAA,gBAYlB,gBAZkB,CAYD,aAZC,EAYc,KAZd,CAAA,GAYuB,gBAZvB,CAahC,aAbgC,EAchC,KAdgC,CAAA,CAAA,GAgBhC,OAhBgC;EAAW,OAAA,KAAA,gBAAA,CAAA,UAAA,MAAA,CAAA,GAiBE,KAjBF,CAiBQ,CAjBR,EAAA,GAAA,CAAA,SAAA,CAI/B,KAAA,EAAA,EACJ,GAAA,KAAA,KAAA,CACqB,GAAA,IAAA,SAAA,MAAA,EAAA,GAgB3B,IAhB2B,CAgBtB,IAhBsB,EAAA,GAAA,CAAA,GAAA,KAAA,GAAA,KAAA;EAAI,OAAA,KAAA,OAAA,CAAA,sBAoBb,eApBa,EAAA,cAAA,MAqBf,aArBe,CAAA,GAsBjC,aAtBiC,CAuBnC,GAvBmC,CAuB/B,aAvB+B,EAuBhB,KAvBgB,CAAA,CAAA,SAAA,KAAA,eAAA,MAAA,GAAA,KAAA,GAAA,KAAA;EAAQ,OAAA,KAAA,QAAA,CAAA,UAAA,MAAA,CAAA,GA2BJ,KA3BI,CA2BE,CA3BF,EAAA,GAAA,CAAA,CAAA,CAAA,CAAA;EAAjC,OAAA,KAAA,eAAA,CAAA,sBA6BY,eA7BZ,EAAA,oBAAA,MA8BgB,aA9BhB,EAAA,eA+BK,OA/BL,CA+Ba,aA/Bb,EA+B4B,WA/B5B,CAAA,EAAA,gBAgCM,QAhCN,CAgCe,MAhCf,CAAA,GAgCyB,QAhCzB,CAgCkC,MAhClC,CAAA,EAAA,gBAiCM,GAjCN,CAiCU,aAjCV,EAiCyB,WAjCzB,CAAA,CAiCsC,OAjCtC,CAAA,CAAA,cAAA,CAAA,CAAA,GAkCR,gBAlCQ,CAkCS,MAlCT,CAAA,SAAA,KAAA,GAmCR,aAnCQ,GAoCR,IAAA,CAAK,MApCG,CAoCI,aApCJ,EAoCmB,gBApCnB,CAoCoC,MApCpC,CAAA,CAAA;EAEA,OAAA,SAAA,gBAAA,CAAA,qBAsCW,eAtCX,EAAA,mBAAA,MAuCe,YAvCf,EAAA,iBAwCK,GAxCL,CAwCS,YAxCT,EAwCuB,UAxCvB,CAAA,EAAA,kBAyCQ,OAzCR,CAyCgB,YAzChB,EAyC8B,UAzC9B,CAAA,CAAA,CAAA,SAAA,EA0CC,SA1CD,EAAA,MAAA,EA0CoB,QA1CpB,EAAA,MAAA,CAAA,EAAA,MAAA,CAAA,EA0CmD,eA1CnD,CA0CmD,YA1CnD,EA0CmD,UA1CnD,EA0CmD,SA1CnD,EA0CmD,QA1CnD,CA0CmD,SA1CnD,CAAA,EA0CmD,gBA1CnD,CA0CmD,YA1CnD,EA0CmD,UA1CnD,CAAA,CA0CmD,QA1CnD,CA0CmD,SA1CnD,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA;EAEY"}
1
+ {"version":3,"file":"fields.d.mts","names":[],"sources":["../../src/steps/fields.ts"],"sourcesContent":[],"mappings":"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"}
@@ -11,6 +11,12 @@ let fields;
11
11
  return path.pickBy(fields$1, fullPath);
12
12
  }
13
13
  _fields.resolvedDeepPath = resolvedDeepPath;
14
+ function buildValuePath(field, valuePropertyName = "defaultValue") {
15
+ const [parent, ...children] = field.split(".");
16
+ if (children.length === 0) return `${parent}.${valuePropertyName}`;
17
+ return `${parent}.${valuePropertyName}.${children.join(".")}`;
18
+ }
19
+ _fields.buildValuePath = buildValuePath;
14
20
  })(fields || (fields = {}));
15
21
 
16
22
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"fields.mjs","names":["fields"],"sources":["../../src/steps/fields.ts"],"sourcesContent":["import { path } from '@/internals';\nimport type { DeepKeys, Join, Split } from '@/utils';\nimport type { AnyResolvedStep, GetFieldsForStep } from './types';\n\nexport namespace fields {\n type GetDeepFields<TFields> = [keyof TFields] extends [never]\n ? never\n : {\n [_ in keyof TFields]: TFields[_] extends Record<\n 'defaultValue',\n infer value\n >\n ? keyof value extends never\n ? TFields\n : DeepKeys<{ [field in _]: TFields[_]['defaultValue'] }>\n : never;\n }[keyof TFields];\n export type get<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TFields extends GetFieldsForStep<TResolvedStep, TStep> = GetFieldsForStep<\n TResolvedStep,\n TStep\n >\n > = TFields;\n export type removeParentPath<T extends string> = Split<T, '.'> extends [\n infer _,\n ...infer rest\n ]\n ? rest extends string[]\n ? Join<rest, '.'>\n : never\n : never;\n export type getDeep<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep\n > = GetDeepFields<\n get<TResolvedStep, TStep>\n > extends infer value extends string\n ? value\n : never;\n export type parentOf<T extends string> = Split<T, '.'>[0];\n export type resolveDeepPath<\n TResolvedStep extends AnyResolvedStep,\n TTargetStep extends keyof TResolvedStep,\n TField extends getDeep<TResolvedStep, TTargetStep>,\n TParent extends parentOf<TField> = parentOf<TField>,\n TDefaultValue = get<TResolvedStep, TTargetStep>[TParent]['defaultValue']\n > = removeParentPath<TField> extends never\n ? TDefaultValue\n : path.pickBy<TDefaultValue, removeParentPath<TField>>;\n\n // TODO add field validation\n export function resolvedDeepPath<\n resolvedStep extends AnyResolvedStep,\n targetStep extends keyof resolvedStep,\n fields extends get<resolvedStep, targetStep>,\n fieldPath extends getDeep<resolvedStep, targetStep>\n >(fieldPath: fieldPath, fields: fields, filler = 'defaultValue') {\n const [parent, ...children] = fieldPath.split('.');\n const shared = `${parent}.${filler}`;\n const fullPath = (\n children.length === 0 ? shared : `${shared}.${children.join('.')}`\n ) as DeepKeys<fields>;\n\n const resolvedValue = path.pickBy(fields, fullPath) as resolveDeepPath<\n resolvedStep,\n targetStep,\n fieldPath\n >;\n\n return resolvedValue;\n }\n}\n"],"mappings":";;;;;;CAqDS,SAAS,iBAKd,WAAsB,UAAgB,SAAS,gBAAgB;EAC/D,MAAM,CAAC,QAAQ,GAAG,YAAY,UAAU,MAAM,IAAI;EAClD,MAAM,SAAS,GAAG,OAAO,GAAG;EAC5B,MAAM,WACJ,SAAS,WAAW,IAAI,SAAS,GAAG,OAAO,GAAG,SAAS,KAAK,IAAI;AASlE,SANsB,KAAK,OAAOA,UAAQ,SAAS"}
1
+ {"version":3,"file":"fields.mjs","names":["fields"],"sources":["../../src/steps/fields.ts"],"sourcesContent":["import { path } from '@/internals';\nimport type { DeepKeys, Join, Split } from '@/utils';\nimport type { AnyResolvedStep } from './types';\n\nexport namespace fields {\n type GetDeepFields<TFields> = [keyof TFields] extends [never]\n ? never\n : {\n [_ in keyof TFields]: TFields[_] extends Record<\n 'defaultValue',\n infer value\n >\n ? keyof value extends never\n ? TFields\n : DeepKeys<{ [field in _]: TFields[_]['defaultValue'] }>\n : never;\n }[keyof TFields];\n export type getFieldsForStep<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep\n > = TResolvedStep[TStep] extends {\n fields: infer fields extends object;\n }\n ? fields\n : never;\n export type get<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TFields extends getFieldsForStep<TResolvedStep, TStep> = getFieldsForStep<\n TResolvedStep,\n TStep\n >\n > = TFields;\n export type removeParentPath<T extends string> = Split<T, '.'> extends [\n infer _,\n ...infer rest\n ]\n ? rest extends string[]\n ? Join<rest, '.'>\n : never\n : never;\n export type getConfig<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TField extends getDeepFields<TResolvedStep, TStep>\n > = parentOf<TField> extends keyof get<TResolvedStep, TStep>\n ? get<TResolvedStep, TStep>[parentOf<TField>]\n : never;\n export type getDeepFields<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep = keyof TResolvedStep\n > = GetDeepFields<\n get<TResolvedStep, TStep>\n > extends infer value extends string\n ? value\n : never;\n\n type buildValuePath<\n TField extends string,\n TValuePropertyName extends string = 'defaultValue',\n TSplit extends Split<TField, '.'> = Split<TField, '.'>\n > = TSplit extends [infer field extends string, ...infer rest]\n ? rest extends []\n ? `${field}.${TValuePropertyName}`\n : rest extends string[]\n ? `${field}.${TValuePropertyName}.${Join<rest, '.'>}`\n : never\n : never;\n export type resolveDeepPath<\n TResolvedStep extends AnyResolvedStep,\n TStep extends keyof TResolvedStep,\n TField extends getDeepFields<TResolvedStep, TStep>,\n TValue extends get<TResolvedStep, TStep> = get<TResolvedStep, TStep>\n > = buildValuePath<TField> extends DeepKeys<TValue>\n ? path.pickBy<TValue, buildValuePath<TField>>\n : never;\n\n export type parentOf<T extends string> = Split<T, '.'>[0];\n\n // TODO add field validation\n export function resolvedDeepPath<\n resolvedStep extends AnyResolvedStep,\n targetStep extends keyof resolvedStep,\n fields extends get<resolvedStep, targetStep>,\n fieldPath extends getDeepFields<resolvedStep, targetStep>\n >(fieldPath: fieldPath, fields: fields, filler = 'defaultValue') {\n const [parent, ...children] = fieldPath.split('.');\n const shared = `${parent}.${filler}`;\n const fullPath = (\n children.length === 0 ? shared : `${shared}.${children.join('.')}`\n ) as DeepKeys<fields>;\n\n const resolvedValue = path.pickBy(fields, fullPath) as resolveDeepPath<\n resolvedStep,\n targetStep,\n fieldPath\n >;\n\n return resolvedValue;\n }\n\n export function buildValuePath<\n TField extends string,\n TValuePropertyName extends string = 'defaultValue',\n TSplit extends Split<TField, '.'> = Split<TField, '.'>\n >(\n field: TField,\n valuePropertyName: TValuePropertyName = 'defaultValue' as TValuePropertyName\n ) {\n const [parent, ...children] = field.split('.');\n\n if (children.length === 0) {\n return `${parent}.${valuePropertyName}` as buildValuePath<\n TField,\n TValuePropertyName,\n TSplit\n >;\n }\n\n return `${parent}.${valuePropertyName}.${children.join(\n '.'\n )}` as buildValuePath<TField, TValuePropertyName, TSplit>;\n }\n}\n"],"mappings":";;;;;;CAgFS,SAAS,iBAKd,WAAsB,UAAgB,SAAS,gBAAgB;EAC/D,MAAM,CAAC,QAAQ,GAAG,YAAY,UAAU,MAAM,IAAI;EAClD,MAAM,SAAS,GAAG,OAAO,GAAG;EAC5B,MAAM,WACJ,SAAS,WAAW,IAAI,SAAS,GAAG,OAAO,GAAG,SAAS,KAAK,IAAI;AASlE,SANsB,KAAK,OAAOA,UAAQ,SAAS;;;CAS9C,SAAS,eAKd,OACA,oBAAwC,gBACxC;EACA,MAAM,CAAC,QAAQ,GAAG,YAAY,MAAM,MAAM,IAAI;AAE9C,MAAI,SAAS,WAAW,EACtB,QAAO,GAAG,OAAO,GAAG;AAOtB,SAAO,GAAG,OAAO,GAAG,kBAAkB,GAAG,SAAS,KAChD,IACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.cjs","names":["Subscribable","#internal","setCasingType","createStep","MultiStepFormStorage","DEFAULT_STORAGE_KEY","MultiStepFormStepSchemaInternal","isValidStepKey","getStep","v","isCasingValid","isFieldType","fields","fieldsUtils"],"sources":["../../src/steps/schema.ts"],"sourcesContent":["import { MultiStepFormStepSchemaInternal } from '@/internals/step-schema';\nimport {\n DEFAULT_STORAGE_KEY,\n DefaultStorageKey,\n MultiStepFormStorage,\n} from '@/storage';\nimport {\n isCasingValid,\n isFieldType,\n setCasingType,\n type CasingType,\n type Constrain,\n type DefaultCasing,\n type Expand,\n type Join,\n} from '@/utils';\nimport { invariant } from '@/utils/invariant';\nimport { Subscribable } from '../subscribable';\nimport { fields as fieldsUtils } from './fields';\nimport {\n AnyResolvedStep,\n AnyStepField,\n AnyStepFieldOption,\n CreateHelperFunctionOptionsWithCustomCtxOptions,\n CreateHelperFunctionOptionsWithValidator,\n CreateHelperFunctionOptionsWithoutValidator,\n CreateStepHelperFn,\n CreatedHelperFnWithInput,\n CreatedHelperFnWithoutInput,\n ExtractStepFromKey,\n FirstStep,\n GetCurrentStep,\n HelperFnChosenSteps,\n HelperFnWithValidator,\n HelperFnWithoutValidator,\n InferStepOptions,\n LastStep,\n MultiStepFormSchemaStepConfig,\n ResolvedFields,\n ResolvedStep,\n Step,\n StepData,\n StepNumbers,\n StepOptions,\n UnionToTuple,\n UpdateFn,\n ValidStepKey,\n type ResetFn,\n} from './types';\nimport { getStep, type GetStepOptions } from './utils';\nimport { createStep, isValidStepKey } from '@/internals/utils';\n\nexport interface MultiStepFormStepSchemaFunctions<\n TResolvedStep extends AnyResolvedStep,\n TStepNumbers extends StepNumbers<TResolvedStep>\n> {\n update: UpdateFn.general<TResolvedStep, TStepNumbers>;\n createHelperFn: CreateStepHelperFn<TResolvedStep, TStepNumbers>;\n}\nexport type AsType = (typeof AS_TYPES)[number];\ntype Quote<T extends string[]> = {\n [K in keyof T]: T[K] extends string ? `'${T[K]}'` : never;\n};\nexport type AsTypeMap<\n resolvedStep extends AnyResolvedStep,\n stepNumbers extends ExtractStepFromKey<Constrain<keyof resolvedStep, string>>\n> = {\n // Exclude is needed due to all the Constrains\n string: Exclude<\n Join<\n Constrain<\n Quote<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>>,\n string[]\n >,\n ' | '\n >,\n ''\n >;\n number: Exclude<\n Join<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>, ' | '>,\n ''\n >;\n 'array.string': UnionToTuple<`${stepNumbers}`>;\n 'array.string.untyped': string[];\n};\nexport type AsFunctionReturn<\n resolvedStep extends AnyResolvedStep,\n stepNumbers extends ExtractStepFromKey<Constrain<keyof resolvedStep, string>>,\n asType extends AsType\n> = AsTypeMap<resolvedStep, stepNumbers>[asType];\nexport type AsFunction<\n resolvedStep extends AnyResolvedStep,\n stepNumbers extends ExtractStepFromKey<Constrain<keyof resolvedStep, string>>\n> = <asType extends AsType>(\n asType: asType\n) => AsFunctionReturn<resolvedStep, stepNumbers, asType>;\nexport type MultiStepFormStepStepsConfig<\n TStep extends Step<TCasing>,\n TCasing extends CasingType,\n TResolvedStep extends ResolvedStep<TStep, TCasing> = ResolvedStep<\n TStep,\n TCasing\n >,\n TStepNumbers extends StepNumbers<TResolvedStep> = StepNumbers<TResolvedStep>\n> = {\n first: FirstStep<TResolvedStep>;\n last: LastStep<TResolvedStep>;\n value: ReadonlyArray<TStepNumbers>;\n as: AsFunction<TResolvedStep, TStepNumbers>;\n isValidStepNumber: (stepNumber: number) => stepNumber is TStepNumbers;\n isValidStepKey: (\n value: string\n ) => value is Constrain<keyof TResolvedStep, string>;\n};\nexport type MultiStepFormStepSchemaListener<\n TStep extends Step<TCasing>,\n TCasing extends CasingType\n> = (data: {\n original: InferStepOptions<TStep>;\n value: ResolvedStep<TStep, TCasing>;\n steps: MultiStepFormStepStepsConfig<TStep, TCasing>;\n defaultNameTransformationCasing: TCasing;\n}) => void;\n\n/**\n * Available transformation types for the step numbers.\n */\nconst AS_TYPES = [\n 'string',\n 'number',\n 'array.string',\n 'array.string.untyped',\n] as const;\n\ntype ValueCheck<T> = (v: unknown) => v is T;\n\ntype FieldChecks<T extends object> = {\n [K in keyof T]: ValueCheck<T[K]>;\n};\n\nfunction assertObjectFields<T extends object>(\n obj: unknown,\n checks: FieldChecks<T>\n): obj is T {\n if (typeof obj !== 'object' || obj === null) return false;\n\n for (const key of Object.keys(checks) as (keyof T)[]) {\n // Check that the property exists\n if (!(key in obj)) return false;\n\n // Now check the type\n const checkFn = checks[key];\n const value = (obj as any)[key];\n if (!checkFn(value)) return false;\n }\n\n return true;\n}\n\nexport class MultiStepFormStepSchema<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing,\n resolvedStep extends ResolvedStep<step, casing> = ResolvedStep<\n step,\n casing\n >,\n stepNumbers extends StepNumbers<resolvedStep> = StepNumbers<resolvedStep>,\n storageKey extends string = DefaultStorageKey\n >\n extends Subscribable<MultiStepFormStepSchemaListener<step, casing>>\n implements MultiStepFormStepSchemaFunctions<resolvedStep, stepNumbers>\n{\n /**\n * The original config before any validation or transformations have been applied.\n */\n readonly original: InferStepOptions<step>;\n /**\n * The resolved step values.\n */\n value: resolvedStep;\n readonly steps: MultiStepFormStepStepsConfig<step, casing>;\n readonly defaultNameTransformationCasing: casing;\n //@ts-ignore\n private readonly firstStep: StepData<resolvedStep, FirstStep<resolvedStep>>;\n private readonly lastStep: StepData<resolvedStep, LastStep<resolvedStep>>;\n private readonly stepNumbers: Array<number>;\n private readonly storage: MultiStepFormStorage<resolvedStep, storageKey>;\n readonly #internal: MultiStepFormStepSchemaInternal<\n step,\n casing,\n resolvedStep,\n stepNumbers\n >;\n\n constructor(\n config: MultiStepFormSchemaStepConfig<\n step,\n Constrain<casing, CasingType>,\n storageKey\n >\n ) {\n super();\n\n const { steps, nameTransformCasing, storage } = config;\n\n this.defaultNameTransformationCasing = setCasingType(\n nameTransformCasing\n ) as casing;\n\n this.original = steps;\n\n this.value = createStep<step, casing>(this.original) as resolvedStep;\n this.storage = new MultiStepFormStorage<resolvedStep, storageKey>({\n data: this.value,\n key: (storage?.key ?? DEFAULT_STORAGE_KEY) as storageKey,\n store: storage?.store,\n throwWhenUndefined: storage?.throwWhenUndefined ?? false,\n });\n this.#internal = new MultiStepFormStepSchemaInternal<\n step,\n casing,\n resolvedStep,\n stepNumbers\n >({\n originalValue: this.original,\n getValue: () => this.value,\n setValue: (next) => this.handlePostUpdate(next),\n });\n\n this.value = this.#internal.enrichValues(this.value);\n this.stepNumbers = Object.keys(this.value).map((key) =>\n Number.parseInt(key.replace('step', ''))\n );\n\n this.firstStep = this.first();\n this.lastStep = this.last();\n this.steps = {\n first: this.firstStep.step,\n last: this.lastStep.step,\n value: this.stepNumbers as unknown as ReadonlyArray<stepNumbers>,\n as: (asType): any => {\n invariant(\n typeof asType === 'string',\n `The type of the target transformation type must be a string, was ${typeof asType}`\n );\n\n if (asType === 'string') {\n return this.stepNumbers.map((value) => `'${value}'`).join(' | ');\n }\n\n if (asType === 'number') {\n return this.stepNumbers.join(' | ');\n }\n\n if (asType.includes('array.string')) {\n return this.stepNumbers.map((value) => `${value}`);\n }\n\n throw new Error(\n `Transformation type \"${asType}\" is not supported. Available transformations include: ${AS_TYPES.map(\n (value) => `\"${value}\"`\n ).join(', ')}`\n );\n },\n isValidStepNumber: (stepNumber): stepNumber is stepNumbers =>\n this.stepNumbers.includes(stepNumber),\n isValidStepKey: (value) =>\n isValidStepKey<resolvedStep>(this.value, value),\n };\n\n this.sync();\n }\n\n /**\n * @internal\n */\n __getStorage() {\n return this.storage;\n }\n\n getSnapshot() {\n return this;\n }\n\n /**\n * Syncs the values from storage to {@linkcode value}.\n */\n sync() {\n // TODO add \"syncOptions\" so caller can chose where to sync from ('storage' | 'instance')\n const storageValues = this.__getStorage().get();\n\n if (storageValues) {\n const enrichedValues = this.#internal.enrichValues(storageValues);\n\n this.value = { ...enrichedValues };\n }\n }\n\n protected notify() {\n for (const listener of this.listeners) {\n listener({\n defaultNameTransformationCasing: this.defaultNameTransformationCasing,\n original: this.original,\n steps: this.steps,\n value: this.value,\n });\n }\n }\n\n /**\n * Gets the data for a specific step.\n * @param options The options for getting the step data.\n * @returns The step data for the target step.\n */\n get<stepNumber extends stepNumbers>(\n options: GetStepOptions<resolvedStep, stepNumbers, stepNumber>\n ) {\n return getStep(this.value)(options);\n }\n\n /**\n * Gets the data for the first step.\n * @returns The data for the first step.\n */\n first() {\n const firstStep = Math.min(...this.stepNumbers) as FirstStep<resolvedStep>;\n\n return this.get({ step: firstStep });\n }\n\n /**\n * Gets the data for the last step.\n * @returns The data for the last step.\n */\n last() {\n const lastStep = Math.max(...this.stepNumbers);\n\n return this.get<LastStep<resolvedStep>>({ step: lastStep as never });\n }\n\n protected handlePostUpdate(next: resolvedStep) {\n this.value = { ...next };\n\n this.__getStorage().add(this.value);\n this.sync();\n this.notify();\n }\n\n update<\n targetStep extends ValidStepKey<stepNumbers>,\n field extends UpdateFn.chosenFields<\n UpdateFn.resolvedStep<resolvedStep, stepNumbers, targetStep>\n > = 'all',\n strict extends boolean = true,\n partial extends boolean = false,\n additionalCtx extends Record<string, unknown> = {},\n additionalUpdaterData extends UpdateFn.additionalUpdaterData = never\n >(\n options: UpdateFn.options<\n resolvedStep,\n stepNumbers,\n targetStep,\n field,\n strict,\n partial,\n additionalCtx,\n additionalUpdaterData\n >\n ) {\n this.#internal.update(options);\n }\n\n reset<\n targetStep extends ValidStepKey<stepNumbers>,\n fields extends UpdateFn.chosenFields<currentStep>,\n currentStep extends UpdateFn.resolvedStep<\n resolvedStep,\n stepNumbers,\n targetStep\n >\n >(\n options: ResetFn.Options<\n resolvedStep,\n stepNumbers,\n targetStep,\n fields,\n currentStep\n >\n ) {\n this.#internal.reset(options);\n }\n\n /**\n * Create a helper function with validated input.\n */\n createHelperFn<\n const chosenSteps extends HelperFnChosenSteps<resolvedStep, stepNumbers>,\n validator,\n additionalCtx extends Record<string, unknown>,\n response\n >(\n options: CreateHelperFunctionOptionsWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx\n >,\n fn: HelperFnWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx,\n response\n >\n ): CreatedHelperFnWithInput<validator, response>;\n /**\n * Create a helper function without input.\n */\n createHelperFn<\n const chosenSteps extends HelperFnChosenSteps<resolvedStep, stepNumbers>,\n additionalCtx extends Record<string, unknown>,\n response\n >(\n options: CreateHelperFunctionOptionsWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps\n > &\n CreateHelperFunctionOptionsWithCustomCtxOptions<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n additionalCtx\n >,\n fn: HelperFnWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n additionalCtx,\n response\n >\n ): CreatedHelperFnWithoutInput<response>;\n // Implementation\n createHelperFn<\n const chosenSteps extends HelperFnChosenSteps<resolvedStep, stepNumbers>,\n response,\n additionalCtx extends Record<string, unknown>,\n validator = never\n >(\n options:\n | CreateHelperFunctionOptionsWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx\n >\n | CreateHelperFunctionOptionsWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps\n >,\n fn:\n | HelperFnWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx,\n response\n >\n | HelperFnWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n additionalCtx,\n response\n >\n ) {\n const { stepData, ...rest } = options;\n\n return this.#internal.createStepHelperFn(stepData)(rest, fn);\n }\n\n /**\n * Validates that a given object is the proper shape for step data.\n * @param value\n */\n static hasData<\n step extends Step<casing>,\n resolvedStep extends ResolvedStep<step, casing>,\n stepNumbers extends StepNumbers<resolvedStep>,\n casing extends CasingType = DefaultCasing\n >(\n value: unknown,\n options?: {\n optionalKeysToCheck?: FieldChecks<\n Pick<StepOptions, 'description' | 'validateFields'>\n >;\n }\n ): value is GetCurrentStep<resolvedStep, stepNumbers> {\n if (value === null || typeof value !== 'object') {\n return false;\n }\n\n return assertObjectFields<\n | GetCurrentStep<resolvedStep, stepNumbers>\n | (Omit<StepOptions, 'fields'> & {\n fields: Expand<\n ResolvedFields<InferStepOptions<step>, keyof InferStepOptions<step>>\n >;\n })\n >(value, {\n title: (v) => typeof v === 'string',\n fields: (\n v\n ): v is Expand<\n ResolvedFields<InferStepOptions<step>, keyof InferStepOptions<step>>\n > => {\n if (v === null || typeof v !== 'object') {\n return false;\n }\n\n for (const key of Object.keys(v)) {\n if (typeof key !== 'string' || !(key in v)) {\n return false;\n }\n\n const current = (v as Record<string, unknown>)[key];\n\n if (current === null || typeof current !== 'object') {\n return false;\n }\n\n const hasField = assertObjectFields<AnyStepFieldOption>(current, {\n defaultValue: (v): v is {} => v !== 'undefined' && v !== null,\n label: (v) =>\n typeof v === 'string' || (typeof v === 'boolean' && !v),\n nameTransformCasing: isCasingValid,\n type: isFieldType,\n });\n\n if (!hasField) {\n return false;\n }\n }\n\n return true;\n },\n createHelperFn: (\n v\n ): v is GetCurrentStep<resolvedStep, stepNumbers>['createHelperFn'] =>\n typeof v === 'function',\n // update: (v): v is GetCurrentStep<resolvedStep, stepNumbers>['update'] =>\n // typeof v === 'function',\n nameTransformCasing: isCasingValid,\n ...options?.optionalKeysToCheck,\n });\n }\n\n /**\n * Gets the value of a given field for a given step.\n * @param step The step to get the value from.\n * @param field The field to get the value from.\n * @returns The value of the {@linkcode field}.\n */\n getValue<\n step extends keyof resolvedStep,\n field extends fieldsUtils.getDeep<resolvedStep, step>\n >(step: step, field: field) {\n const stepData = this.value[step];\n const baseErrorMessage = `Unable to get the value for \"${String(\n step\n )}.fields.${String(field)}\"`;\n\n invariant('fields' in stepData, baseErrorMessage);\n invariant(\n typeof stepData.fields === 'object',\n `${baseErrorMessage} because \"fields\" is not an object. This shouldn't be the case, so please open an issue`\n );\n\n const fields = stepData.fields as AnyStepField;\n\n const defaultValue = fieldsUtils.resolvedDeepPath<\n resolvedStep,\n step,\n fieldsUtils.get<resolvedStep, step>,\n field\n >(field, fields as fieldsUtils.get<resolvedStep, step>);\n\n return defaultValue;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"schema.cjs","names":["Subscribable","#internal","setCasingType","createStep","MultiStepFormStorage","DEFAULT_STORAGE_KEY","MultiStepFormStepSchemaInternal","isValidStepKey","getStep","v","isCasingValid","isFieldType","fields","fieldsUtils"],"sources":["../../src/steps/schema.ts"],"sourcesContent":["import { MultiStepFormStepSchemaInternal } from '@/internals/step-schema';\nimport {\n DEFAULT_STORAGE_KEY,\n DefaultStorageKey,\n MultiStepFormStorage,\n} from '@/storage';\nimport {\n isCasingValid,\n isFieldType,\n setCasingType,\n type CasingType,\n type Constrain,\n type DefaultCasing,\n type Expand,\n type Join,\n} from '@/utils';\nimport { invariant } from '@/utils/invariant';\nimport { Subscribable } from '../subscribable';\nimport { fields as fieldsUtils } from './fields';\nimport {\n AnyResolvedStep,\n AnyStepField,\n AnyStepFieldOption,\n CreateHelperFunctionOptionsWithCustomCtxOptions,\n CreateHelperFunctionOptionsWithValidator,\n CreateHelperFunctionOptionsWithoutValidator,\n CreateStepHelperFn,\n CreatedHelperFnWithInput,\n CreatedHelperFnWithoutInput,\n ExtractStepFromKey,\n FirstStep,\n GetCurrentStep,\n HelperFnChosenSteps,\n HelperFnWithValidator,\n HelperFnWithoutValidator,\n InferStepOptions,\n LastStep,\n MultiStepFormSchemaStepConfig,\n ResolvedFields,\n ResolvedStep,\n Step,\n StepData,\n StepNumbers,\n StepOptions,\n UnionToTuple,\n UpdateFn,\n ValidStepKey,\n type ResetFn,\n} from './types';\nimport { getStep, type GetStepOptions } from './utils';\nimport { createStep, isValidStepKey } from '@/internals/utils';\n\nexport interface MultiStepFormStepSchemaFunctions<\n TResolvedStep extends AnyResolvedStep,\n TStepNumbers extends StepNumbers<TResolvedStep>\n> {\n update: UpdateFn.general<TResolvedStep, TStepNumbers>;\n createHelperFn: CreateStepHelperFn<TResolvedStep, TStepNumbers>;\n}\nexport type AsType = (typeof AS_TYPES)[number];\ntype Quote<T extends string[]> = {\n [K in keyof T]: T[K] extends string ? `'${T[K]}'` : never;\n};\nexport type AsTypeMap<\n resolvedStep extends AnyResolvedStep,\n stepNumbers extends ExtractStepFromKey<Constrain<keyof resolvedStep, string>>\n> = {\n // Exclude is needed due to all the Constrains\n string: Exclude<\n Join<\n Constrain<\n Quote<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>>,\n string[]\n >,\n ' | '\n >,\n ''\n >;\n number: Exclude<\n Join<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>, ' | '>,\n ''\n >;\n 'array.string': UnionToTuple<`${stepNumbers}`>;\n 'array.string.untyped': string[];\n};\nexport type AsFunctionReturn<\n resolvedStep extends AnyResolvedStep,\n stepNumbers extends ExtractStepFromKey<Constrain<keyof resolvedStep, string>>,\n asType extends AsType\n> = AsTypeMap<resolvedStep, stepNumbers>[asType];\nexport type AsFunction<\n resolvedStep extends AnyResolvedStep,\n stepNumbers extends ExtractStepFromKey<Constrain<keyof resolvedStep, string>>\n> = <asType extends AsType>(\n asType: asType\n) => AsFunctionReturn<resolvedStep, stepNumbers, asType>;\nexport type MultiStepFormStepStepsConfig<\n TStep extends Step<TCasing>,\n TCasing extends CasingType,\n TResolvedStep extends ResolvedStep<TStep, TCasing> = ResolvedStep<\n TStep,\n TCasing\n >,\n TStepNumbers extends StepNumbers<TResolvedStep> = StepNumbers<TResolvedStep>\n> = {\n first: FirstStep<TResolvedStep>;\n last: LastStep<TResolvedStep>;\n value: ReadonlyArray<TStepNumbers>;\n as: AsFunction<TResolvedStep, TStepNumbers>;\n isValidStepNumber: (stepNumber: number) => stepNumber is TStepNumbers;\n isValidStepKey: (\n value: string\n ) => value is Constrain<keyof TResolvedStep, string>;\n};\nexport type MultiStepFormStepSchemaListener<\n TStep extends Step<TCasing>,\n TCasing extends CasingType\n> = (data: {\n original: InferStepOptions<TStep>;\n value: ResolvedStep<TStep, TCasing>;\n steps: MultiStepFormStepStepsConfig<TStep, TCasing>;\n defaultNameTransformationCasing: TCasing;\n}) => void;\n\n/**\n * Available transformation types for the step numbers.\n */\nconst AS_TYPES = [\n 'string',\n 'number',\n 'array.string',\n 'array.string.untyped',\n] as const;\n\ntype ValueCheck<T> = (v: unknown) => v is T;\n\ntype FieldChecks<T extends object> = {\n [K in keyof T]: ValueCheck<T[K]>;\n};\n\nfunction assertObjectFields<T extends object>(\n obj: unknown,\n checks: FieldChecks<T>\n): obj is T {\n if (typeof obj !== 'object' || obj === null) return false;\n\n for (const key of Object.keys(checks) as (keyof T)[]) {\n // Check that the property exists\n if (!(key in obj)) return false;\n\n // Now check the type\n const checkFn = checks[key];\n const value = (obj as any)[key];\n if (!checkFn(value)) return false;\n }\n\n return true;\n}\n\nexport class MultiStepFormStepSchema<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing,\n resolvedStep extends ResolvedStep<step, casing> = ResolvedStep<\n step,\n casing\n >,\n stepNumbers extends StepNumbers<resolvedStep> = StepNumbers<resolvedStep>,\n storageKey extends string = DefaultStorageKey\n >\n extends Subscribable<MultiStepFormStepSchemaListener<step, casing>>\n implements MultiStepFormStepSchemaFunctions<resolvedStep, stepNumbers>\n{\n /**\n * The original config before any validation or transformations have been applied.\n */\n readonly original: InferStepOptions<step>;\n /**\n * The resolved step values.\n */\n value: resolvedStep;\n readonly steps: MultiStepFormStepStepsConfig<step, casing>;\n readonly defaultNameTransformationCasing: casing;\n //@ts-ignore\n private readonly firstStep: StepData<resolvedStep, FirstStep<resolvedStep>>;\n private readonly lastStep: StepData<resolvedStep, LastStep<resolvedStep>>;\n private readonly stepNumbers: Array<number>;\n private readonly storage: MultiStepFormStorage<resolvedStep, storageKey>;\n readonly #internal: MultiStepFormStepSchemaInternal<\n step,\n casing,\n resolvedStep,\n stepNumbers\n >;\n\n constructor(\n config: MultiStepFormSchemaStepConfig<\n step,\n Constrain<casing, CasingType>,\n storageKey\n >\n ) {\n super();\n\n const { steps, nameTransformCasing, storage } = config;\n\n this.defaultNameTransformationCasing = setCasingType(\n nameTransformCasing\n ) as casing;\n\n this.original = steps;\n\n this.value = createStep<step, casing>(this.original) as resolvedStep;\n this.storage = new MultiStepFormStorage<resolvedStep, storageKey>({\n data: this.value,\n key: (storage?.key ?? DEFAULT_STORAGE_KEY) as storageKey,\n store: storage?.store,\n throwWhenUndefined: storage?.throwWhenUndefined ?? false,\n });\n this.#internal = new MultiStepFormStepSchemaInternal<\n step,\n casing,\n resolvedStep,\n stepNumbers\n >({\n originalValue: this.original,\n getValue: () => this.value,\n setValue: (next) => this.handlePostUpdate(next),\n });\n\n this.value = this.#internal.enrichValues(this.value);\n this.stepNumbers = Object.keys(this.value).map((key) =>\n Number.parseInt(key.replace('step', ''))\n );\n\n this.firstStep = this.first();\n this.lastStep = this.last();\n this.steps = {\n first: this.firstStep.step,\n last: this.lastStep.step,\n value: this.stepNumbers as unknown as ReadonlyArray<stepNumbers>,\n as: (asType): any => {\n invariant(\n typeof asType === 'string',\n `The type of the target transformation type must be a string, was ${typeof asType}`\n );\n\n if (asType === 'string') {\n return this.stepNumbers.map((value) => `'${value}'`).join(' | ');\n }\n\n if (asType === 'number') {\n return this.stepNumbers.join(' | ');\n }\n\n if (asType.includes('array.string')) {\n return this.stepNumbers.map((value) => `${value}`);\n }\n\n throw new Error(\n `Transformation type \"${asType}\" is not supported. Available transformations include: ${AS_TYPES.map(\n (value) => `\"${value}\"`\n ).join(', ')}`\n );\n },\n isValidStepNumber: (stepNumber): stepNumber is stepNumbers =>\n this.stepNumbers.includes(stepNumber),\n isValidStepKey: (value) =>\n isValidStepKey<resolvedStep>(this.value, value),\n };\n\n this.sync();\n }\n\n /**\n * @internal\n */\n __getStorage() {\n return this.storage;\n }\n\n getSnapshot() {\n return this;\n }\n\n /**\n * Syncs the values from storage to {@linkcode value}.\n */\n sync() {\n // TODO add \"syncOptions\" so caller can chose where to sync from ('storage' | 'instance')\n const storageValues = this.__getStorage().get();\n\n if (storageValues) {\n const enrichedValues = this.#internal.enrichValues(storageValues);\n\n this.value = { ...enrichedValues };\n }\n }\n\n protected notify() {\n for (const listener of this.listeners) {\n listener({\n defaultNameTransformationCasing: this.defaultNameTransformationCasing,\n original: this.original,\n steps: this.steps,\n value: this.value,\n });\n }\n }\n\n /**\n * Gets the data for a specific step.\n * @param options The options for getting the step data.\n * @returns The step data for the target step.\n */\n get<stepNumber extends stepNumbers>(\n options: GetStepOptions<resolvedStep, stepNumbers, stepNumber>\n ) {\n return getStep(this.value)(options);\n }\n\n /**\n * Gets the data for the first step.\n * @returns The data for the first step.\n */\n first() {\n const firstStep = Math.min(...this.stepNumbers) as FirstStep<resolvedStep>;\n\n return this.get({ step: firstStep });\n }\n\n /**\n * Gets the data for the last step.\n * @returns The data for the last step.\n */\n last() {\n const lastStep = Math.max(...this.stepNumbers);\n\n return this.get<LastStep<resolvedStep>>({ step: lastStep as never });\n }\n\n protected handlePostUpdate(next: resolvedStep) {\n this.value = { ...next };\n\n this.__getStorage().add(this.value);\n this.sync();\n this.notify();\n }\n\n update<\n targetStep extends ValidStepKey<stepNumbers>,\n field extends UpdateFn.chosenFields<\n UpdateFn.resolvedStep<resolvedStep, stepNumbers, targetStep>\n > = 'all',\n strict extends boolean = true,\n partial extends boolean = false,\n additionalCtx extends Record<string, unknown> = {},\n additionalUpdaterData extends UpdateFn.additionalUpdaterData = never\n >(\n options: UpdateFn.options<\n resolvedStep,\n stepNumbers,\n targetStep,\n field,\n strict,\n partial,\n additionalCtx,\n additionalUpdaterData\n >\n ) {\n this.#internal.update(options);\n }\n\n reset<\n targetStep extends ValidStepKey<stepNumbers>,\n fields extends UpdateFn.chosenFields<currentStep>,\n currentStep extends UpdateFn.resolvedStep<\n resolvedStep,\n stepNumbers,\n targetStep\n >\n >(\n options: ResetFn.Options<\n resolvedStep,\n stepNumbers,\n targetStep,\n fields,\n currentStep\n >\n ) {\n this.#internal.reset(options);\n }\n\n /**\n * Create a helper function with validated input.\n */\n createHelperFn<\n const chosenSteps extends HelperFnChosenSteps<resolvedStep, stepNumbers>,\n validator,\n additionalCtx extends Record<string, unknown>,\n response\n >(\n options: CreateHelperFunctionOptionsWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx\n >,\n fn: HelperFnWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx,\n response\n >\n ): CreatedHelperFnWithInput<validator, response>;\n /**\n * Create a helper function without input.\n */\n createHelperFn<\n const chosenSteps extends HelperFnChosenSteps<resolvedStep, stepNumbers>,\n additionalCtx extends Record<string, unknown>,\n response\n >(\n options: CreateHelperFunctionOptionsWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps\n > &\n CreateHelperFunctionOptionsWithCustomCtxOptions<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n additionalCtx\n >,\n fn: HelperFnWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n additionalCtx,\n response\n >\n ): CreatedHelperFnWithoutInput<response>;\n // Implementation\n createHelperFn<\n const chosenSteps extends HelperFnChosenSteps<resolvedStep, stepNumbers>,\n response,\n additionalCtx extends Record<string, unknown>,\n validator = never\n >(\n options:\n | CreateHelperFunctionOptionsWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx\n >\n | CreateHelperFunctionOptionsWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps\n >,\n fn:\n | HelperFnWithValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n validator,\n additionalCtx,\n response\n >\n | HelperFnWithoutValidator<\n resolvedStep,\n stepNumbers,\n chosenSteps,\n additionalCtx,\n response\n >\n ) {\n const { stepData, ...rest } = options;\n\n return this.#internal.createStepHelperFn(stepData)(rest, fn);\n }\n\n /**\n * Validates that a given object is the proper shape for step data.\n * @param value\n */\n static hasData<\n step extends Step<casing>,\n resolvedStep extends ResolvedStep<step, casing>,\n stepNumbers extends StepNumbers<resolvedStep>,\n casing extends CasingType = DefaultCasing\n >(\n value: unknown,\n options?: {\n optionalKeysToCheck?: FieldChecks<\n Pick<StepOptions, 'description' | 'validateFields'>\n >;\n }\n ): value is GetCurrentStep<resolvedStep, stepNumbers> {\n if (value === null || typeof value !== 'object') {\n return false;\n }\n\n return assertObjectFields<\n | GetCurrentStep<resolvedStep, stepNumbers>\n | (Omit<StepOptions, 'fields'> & {\n fields: Expand<\n ResolvedFields<InferStepOptions<step>, keyof InferStepOptions<step>>\n >;\n })\n >(value, {\n title: (v) => typeof v === 'string',\n fields: (\n v\n ): v is Expand<\n ResolvedFields<InferStepOptions<step>, keyof InferStepOptions<step>>\n > => {\n if (v === null || typeof v !== 'object') {\n return false;\n }\n\n for (const key of Object.keys(v)) {\n if (typeof key !== 'string' || !(key in v)) {\n return false;\n }\n\n const current = (v as Record<string, unknown>)[key];\n\n if (current === null || typeof current !== 'object') {\n return false;\n }\n\n const hasField = assertObjectFields<AnyStepFieldOption>(current, {\n defaultValue: (v): v is {} => v !== 'undefined' && v !== null,\n label: (v) =>\n typeof v === 'string' || (typeof v === 'boolean' && !v),\n nameTransformCasing: isCasingValid,\n type: isFieldType,\n });\n\n if (!hasField) {\n return false;\n }\n }\n\n return true;\n },\n createHelperFn: (\n v\n ): v is GetCurrentStep<resolvedStep, stepNumbers>['createHelperFn'] =>\n typeof v === 'function',\n // update: (v): v is GetCurrentStep<resolvedStep, stepNumbers>['update'] =>\n // typeof v === 'function',\n nameTransformCasing: isCasingValid,\n ...options?.optionalKeysToCheck,\n });\n }\n\n /**\n * Gets the value of a given field for a given step.\n * @param step The step to get the value from.\n * @param field The field to get the value from.\n * @returns The value of the {@linkcode field}.\n */\n getValue<\n step extends keyof resolvedStep,\n field extends fieldsUtils.getDeepFields<resolvedStep, step>\n >(step: step, field: field) {\n const stepData = this.value[step];\n const baseErrorMessage = `Unable to get the value for \"${String(\n step\n )}.fields.${String(field)}\"`;\n\n invariant('fields' in stepData, baseErrorMessage);\n invariant(\n typeof stepData.fields === 'object',\n `${baseErrorMessage} because \"fields\" is not an object. This shouldn't be the case, so please open an issue`\n );\n\n const fields = stepData.fields as AnyStepField;\n\n const defaultValue = fieldsUtils.resolvedDeepPath<\n resolvedStep,\n step,\n fieldsUtils.get<resolvedStep, step>,\n field\n >(field, fields as fieldsUtils.get<resolvedStep, step>);\n\n return defaultValue;\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { DefaultStorageKey, MultiStepFormStorage } from "../storage.cjs";
2
1
  import { Constrain, Join } from "../utils/types.cjs";
3
2
  import { CasingType, DefaultCasing } from "../utils/casing.cjs";
4
- import { AnyResolvedStep, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, ExtractStepFromKey, FirstStep, GetCurrentStep, GetFieldsForStep, HelperFnChosenSteps, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, LastStep, MultiStepFormSchemaStepConfig, ResetFn, ResolvedStep, Step, StepNumbers, StepOptions, UnionToTuple, UpdateFn, ValidStepKey } from "./types.cjs";
3
+ import { AnyResolvedStep, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, ExtractStepFromKey, FirstStep, GetCurrentStep, HelperFnChosenSteps, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, LastStep, MultiStepFormSchemaStepConfig, ResetFn, ResolvedStep, Step, StepNumbers, StepOptions, UnionToTuple, UpdateFn, ValidStepKey } from "./types.cjs";
4
+ import { DefaultStorageKey, MultiStepFormStorage } from "../storage.cjs";
5
5
  import { Subscribable } from "../subscribable.cjs";
6
6
  import { fields } from "./fields.cjs";
7
7
  import { GetStepOptions } from "./utils.cjs";
@@ -117,7 +117,7 @@ declare class MultiStepFormStepSchema<step extends Step<casing>, casing extends
117
117
  * @param field The field to get the value from.
118
118
  * @returns The value of the {@linkcode field}.
119
119
  */
120
- getValue<step extends keyof resolvedStep, field extends fields.getDeep<resolvedStep, step>>(step: step, field: field): fields.resolveDeepPath<resolvedStep, step, field, fields.parentOf<field>, GetFieldsForStep<resolvedStep, step>[fields.parentOf<field>]["defaultValue"]>;
120
+ getValue<step extends keyof resolvedStep, field extends fields.getDeepFields<resolvedStep, step>>(step: step, field: field): fields.resolveDeepPath<resolvedStep, step, field, fields.getFieldsForStep<resolvedStep, step>>;
121
121
  }
122
122
  //#endregion
123
123
  export { AsFunction, AsFunctionReturn, AsType, AsTypeMap, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.cts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.cts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { DefaultStorageKey, MultiStepFormStorage } from "../storage.mjs";
2
1
  import { Constrain, Join } from "../utils/types.mjs";
3
2
  import { CasingType, DefaultCasing } from "../utils/casing.mjs";
4
- import { AnyResolvedStep, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, ExtractStepFromKey, FirstStep, GetCurrentStep, GetFieldsForStep, HelperFnChosenSteps, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, LastStep, MultiStepFormSchemaStepConfig, ResetFn, ResolvedStep, Step, StepNumbers, StepOptions, UnionToTuple, UpdateFn, ValidStepKey } from "./types.mjs";
3
+ import { AnyResolvedStep, CreateHelperFunctionOptionsWithCustomCtxOptions, CreateHelperFunctionOptionsWithValidator, CreateHelperFunctionOptionsWithoutValidator, CreateStepHelperFn, CreatedHelperFnWithInput, CreatedHelperFnWithoutInput, ExtractStepFromKey, FirstStep, GetCurrentStep, HelperFnChosenSteps, HelperFnWithValidator, HelperFnWithoutValidator, InferStepOptions, LastStep, MultiStepFormSchemaStepConfig, ResetFn, ResolvedStep, Step, StepNumbers, StepOptions, UnionToTuple, UpdateFn, ValidStepKey } from "./types.mjs";
4
+ import { DefaultStorageKey, MultiStepFormStorage } from "../storage.mjs";
5
5
  import { Subscribable } from "../subscribable.mjs";
6
6
  import { fields } from "./fields.mjs";
7
7
  import { GetStepOptions } from "./utils.mjs";
@@ -117,7 +117,7 @@ declare class MultiStepFormStepSchema<step extends Step<casing>, casing extends
117
117
  * @param field The field to get the value from.
118
118
  * @returns The value of the {@linkcode field}.
119
119
  */
120
- getValue<step extends keyof resolvedStep, field extends fields.getDeep<resolvedStep, step>>(step: step, field: field): fields.resolveDeepPath<resolvedStep, step, field, fields.parentOf<field>, GetFieldsForStep<resolvedStep, step>[fields.parentOf<field>]["defaultValue"]>;
120
+ getValue<step extends keyof resolvedStep, field extends fields.getDeepFields<resolvedStep, step>>(step: step, field: field): fields.resolveDeepPath<resolvedStep, step, field, fields.getFieldsForStep<resolvedStep, step>>;
121
121
  }
122
122
  //#endregion
123
123
  export { AsFunction, AsFunctionReturn, AsType, AsTypeMap, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepSchemaListener, MultiStepFormStepStepsConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.mts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.mts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"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"}