@jfdevelops/multi-step-form-core 1.0.0-alpha.22 → 1.0.0-alpha.24
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/_internals.cjs +0 -4
- package/dist/_internals.d.cts +2 -3
- package/dist/_internals.d.mts +2 -3
- package/dist/_internals.mjs +1 -2
- package/dist/index.cjs +17 -17
- package/dist/index.d.cts +12 -11
- package/dist/index.d.mts +12 -11
- package/dist/index.mjs +8 -10
- package/dist/internals/step-schema.cjs +120 -71
- package/dist/internals/step-schema.cjs.map +1 -1
- package/dist/internals/step-schema.d.cts +47 -29
- package/dist/internals/step-schema.d.cts.map +1 -1
- package/dist/internals/step-schema.d.mts +47 -29
- package/dist/internals/step-schema.d.mts.map +1 -1
- package/dist/internals/step-schema.mjs +120 -71
- package/dist/internals/step-schema.mjs.map +1 -1
- package/dist/schema.cjs +14 -10
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +11 -13
- package/dist/schema.d.cts.map +1 -1
- package/dist/schema.d.mts +11 -13
- package/dist/schema.d.mts.map +1 -1
- package/dist/schema.mjs +14 -10
- package/dist/schema.mjs.map +1 -1
- package/dist/steps/fields.cjs +80 -0
- package/dist/steps/fields.cjs.map +1 -1
- package/dist/steps/fields.d.cts +117 -9
- package/dist/steps/fields.d.cts.map +1 -1
- package/dist/steps/fields.d.mts +117 -9
- package/dist/steps/fields.d.mts.map +1 -1
- package/dist/steps/fields.mjs +80 -0
- package/dist/steps/fields.mjs.map +1 -1
- package/dist/steps/fn-utils/helper-fn/index.cjs +81 -0
- package/dist/steps/fn-utils/helper-fn/index.cjs.map +1 -0
- package/dist/steps/fn-utils/helper-fn/index.d.cts +146 -0
- package/dist/steps/fn-utils/helper-fn/index.d.cts.map +1 -0
- package/dist/steps/fn-utils/helper-fn/index.d.mts +146 -0
- package/dist/steps/fn-utils/helper-fn/index.d.mts.map +1 -0
- package/dist/steps/fn-utils/helper-fn/index.mjs +75 -0
- package/dist/steps/fn-utils/helper-fn/index.mjs.map +1 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.cts +81 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.cts.map +1 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.mts +81 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.mts.map +1 -0
- package/dist/steps/fn-utils/index.cjs +1 -0
- package/dist/steps/fn-utils/index.mjs +3 -0
- package/dist/steps/fn-utils/reset-fn.d.cts +30 -0
- package/dist/steps/fn-utils/reset-fn.d.cts.map +1 -0
- package/dist/steps/fn-utils/reset-fn.d.mts +30 -0
- package/dist/steps/fn-utils/reset-fn.d.mts.map +1 -0
- package/dist/steps/fn-utils/update-fn.d.cts +121 -0
- package/dist/steps/fn-utils/update-fn.d.cts.map +1 -0
- package/dist/steps/fn-utils/update-fn.d.mts +121 -0
- package/dist/steps/fn-utils/update-fn.d.mts.map +1 -0
- package/dist/steps/index.cjs +4 -2
- package/dist/steps/index.mjs +5 -3
- package/dist/steps/schema.cjs +61 -84
- package/dist/steps/schema.cjs.map +1 -1
- package/dist/steps/schema.d.cts +66 -67
- package/dist/steps/schema.d.cts.map +1 -1
- package/dist/steps/schema.d.mts +66 -67
- package/dist/steps/schema.d.mts.map +1 -1
- package/dist/steps/schema.mjs +62 -86
- package/dist/steps/schema.mjs.map +1 -1
- package/dist/steps/steps.cjs +83 -0
- package/dist/steps/steps.cjs.map +1 -0
- package/dist/steps/steps.d.cts +81 -0
- package/dist/steps/steps.d.cts.map +1 -0
- package/dist/steps/steps.d.mts +81 -0
- package/dist/steps/steps.d.mts.map +1 -0
- package/dist/steps/steps.mjs +76 -0
- package/dist/steps/steps.mjs.map +1 -0
- package/dist/steps/utils.cjs +40 -30
- package/dist/steps/utils.cjs.map +1 -1
- package/dist/steps/utils.d.cts +8 -5
- package/dist/steps/utils.d.cts.map +1 -1
- package/dist/steps/utils.d.mts +8 -5
- package/dist/steps/utils.d.mts.map +1 -1
- package/dist/steps/utils.mjs +40 -31
- package/dist/steps/utils.mjs.map +1 -1
- package/dist/storage.cjs +1 -1
- package/dist/storage.cjs.map +1 -1
- package/dist/storage.d.cts +9 -7
- package/dist/storage.d.cts.map +1 -1
- package/dist/storage.d.mts +9 -7
- package/dist/storage.d.mts.map +1 -1
- package/dist/storage.mjs +1 -1
- package/dist/storage.mjs.map +1 -1
- package/dist/utils/casing.cjs +1 -1
- package/dist/utils/casing.cjs.map +1 -1
- package/dist/utils/casing.d.cts +27 -11
- package/dist/utils/casing.d.cts.map +1 -1
- package/dist/utils/casing.d.mts +27 -11
- package/dist/utils/casing.d.mts.map +1 -1
- package/dist/utils/casing.mjs +1 -1
- package/dist/utils/casing.mjs.map +1 -1
- package/dist/utils/helpers.cjs +8 -0
- package/dist/utils/helpers.cjs.map +1 -1
- package/dist/utils/helpers.mjs +7 -1
- package/dist/utils/helpers.mjs.map +1 -1
- package/dist/utils/index.cjs +3 -0
- package/dist/utils/index.mjs +5 -0
- package/dist/utils/invariant.cjs +28 -8
- package/dist/utils/invariant.cjs.map +1 -1
- package/dist/utils/invariant.d.cts +12 -2
- package/dist/utils/invariant.d.cts.map +1 -1
- package/dist/utils/invariant.d.mts +12 -2
- package/dist/utils/invariant.d.mts.map +1 -1
- package/dist/utils/invariant.mjs +28 -9
- package/dist/utils/invariant.mjs.map +1 -1
- package/dist/utils/types.d.cts +15 -3
- package/dist/utils/types.d.cts.map +1 -1
- package/dist/utils/types.d.mts +15 -3
- package/dist/utils/types.d.mts.map +1 -1
- package/dist/utils/validator.d.cts.map +1 -1
- package/dist/utils/validator.d.mts.map +1 -1
- package/package.json +1 -1
- package/dist/internals/utils.cjs +0 -94
- package/dist/internals/utils.cjs.map +0 -1
- package/dist/internals/utils.d.cts +0 -33
- package/dist/internals/utils.d.cts.map +0 -1
- package/dist/internals/utils.d.mts +0 -33
- package/dist/internals/utils.d.mts.map +0 -1
- package/dist/internals/utils.mjs +0 -91
- package/dist/internals/utils.mjs.map +0 -1
- package/dist/observable.cjs +0 -44
- package/dist/observable.cjs.map +0 -1
- package/dist/observable.d.cts +0 -26
- package/dist/observable.d.cts.map +0 -1
- package/dist/observable.d.mts +0 -26
- package/dist/observable.d.mts.map +0 -1
- package/dist/observable.mjs +0 -44
- package/dist/observable.mjs.map +0 -1
- package/dist/steps/types.cjs +0 -33
- package/dist/steps/types.cjs.map +0 -1
- package/dist/steps/types.d.cts +0 -354
- package/dist/steps/types.d.cts.map +0 -1
- package/dist/steps/types.d.mts +0 -354
- package/dist/steps/types.d.mts.map +0 -1
- package/dist/steps/types.mjs +0 -27
- package/dist/steps/types.mjs.map +0 -1
- package/dist/utils/field-types.cjs +0 -23
- package/dist/utils/field-types.cjs.map +0 -1
- package/dist/utils/field-types.d.cts +0 -39
- package/dist/utils/field-types.d.cts.map +0 -1
- package/dist/utils/field-types.d.mts +0 -39
- package/dist/utils/field-types.d.mts.map +0 -1
- package/dist/utils/field-types.mjs +0 -20
- package/dist/utils/field-types.mjs.map +0 -1
package/dist/steps/schema.d.cts
CHANGED
|
@@ -1,67 +1,79 @@
|
|
|
1
|
-
import { Constrain, Join } from "../utils/types.cjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Constrain, Join, UnionToTuple } from "../utils/types.cjs";
|
|
2
|
+
import { UpdateFn } from "./fn-utils/update-fn.cjs";
|
|
3
|
+
import { ResetFn } from "./fn-utils/reset-fn.cjs";
|
|
4
|
+
import { GeneralHelperFn, HelperFnInput, HelperFnOptions, HelperFnOutput } from "./fn-utils/helper-fn/utils.cjs";
|
|
5
|
+
import { steps } from "./steps.cjs";
|
|
6
|
+
import { HelperFnChosenSteps } from "./fn-utils/helper-fn/index.cjs";
|
|
7
|
+
import { MultiStepFormStorage } from "../storage.cjs";
|
|
8
|
+
import { StepSchema } from "../internals/step-schema.cjs";
|
|
5
9
|
import { Subscribable } from "../subscribable.cjs";
|
|
6
|
-
import {
|
|
7
|
-
import { GetStepOptions } from "./utils.cjs";
|
|
10
|
+
import { ExtractStepFromKey, GetStepOptions } from "./utils.cjs";
|
|
8
11
|
|
|
9
12
|
//#region src/steps/schema.d.ts
|
|
10
|
-
interface MultiStepFormStepSchemaFunctions<
|
|
11
|
-
update: UpdateFn.general<
|
|
12
|
-
|
|
13
|
+
interface MultiStepFormStepSchemaFunctions<value extends steps.instantiateSteps> {
|
|
14
|
+
update: UpdateFn.general<value>;
|
|
15
|
+
reset: ResetFn.general<value>;
|
|
16
|
+
createHelperFn: GeneralHelperFn<value>;
|
|
13
17
|
}
|
|
14
18
|
type AsType = (typeof AS_TYPES)[number];
|
|
15
19
|
type Quote<T extends string[]> = { [K in keyof T]: T[K] extends string ? `'${T[K]}'` : never };
|
|
16
|
-
type AsTypeMap<
|
|
17
|
-
string: Exclude<Join<Constrain<Quote<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>>, string[]>, ' | '>, ''>;
|
|
20
|
+
type AsTypeMap<def extends StepSchema.Config, value extends steps.instantiateSteps<def>, stepNumbers extends steps.StepNumbers<value> = steps.StepNumbers<value>> = {
|
|
21
|
+
string: Exclude<Join<Constrain<Quote<Constrain<UnionToTuple<`${ExtractStepFromKey<stepNumbers>}`>, string[]>>, string[]>, ' | '>, ''>;
|
|
22
|
+
'string.keys': Exclude<Join<Constrain<UnionToTuple<`${ExtractStepFromKey<stepNumbers>}`>, string[]>, ' | '>, ''>;
|
|
18
23
|
number: Exclude<Join<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>, ' | '>, ''>;
|
|
19
|
-
'array.
|
|
24
|
+
'array.number': UnionToTuple<ExtractStepFromKey<stepNumbers>>;
|
|
25
|
+
'array.string': UnionToTuple<`${ExtractStepFromKey<stepNumbers>}`>;
|
|
26
|
+
'array.string.keys': UnionToTuple<`${stepNumbers}`>;
|
|
20
27
|
'array.string.untyped': string[];
|
|
21
28
|
};
|
|
22
|
-
type AsFunctionReturn<
|
|
23
|
-
type AsFunction<
|
|
24
|
-
type
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
type AsFunctionReturn<def extends StepSchema.Config, value extends steps.instantiateSteps<def>, asType extends AsType> = AsTypeMap<def, value>[asType];
|
|
30
|
+
type AsFunction<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = <asType extends AsType>(asType: asType) => AsFunctionReturn<def, value, asType>;
|
|
31
|
+
type IsValidStepFn<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = {
|
|
32
|
+
/**
|
|
33
|
+
* Checks if a given string is a valid step key.
|
|
34
|
+
*/
|
|
35
|
+
(value: string): value is steps.StepNumbers<value>;
|
|
36
|
+
/**
|
|
37
|
+
* Checks if a given number is a valid step number.
|
|
38
|
+
*/
|
|
39
|
+
(value: number): value is ExtractStepFromKey<steps.StepNumbers<value>>;
|
|
40
|
+
};
|
|
41
|
+
type MultiStepFormStepStepsConfig<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = {
|
|
42
|
+
value: ReadonlyArray<steps.StepNumbers<value>>;
|
|
43
|
+
as: AsFunction<def, value>;
|
|
44
|
+
isValidStep: IsValidStepFn<def, value>;
|
|
31
45
|
};
|
|
32
|
-
type MultiStepFormStepSchemaListener<TStep extends Step<TCasing>, TCasing extends CasingType> = (data: {
|
|
33
|
-
original: InferStepOptions<TStep>;
|
|
34
|
-
value: ResolvedStep<TStep, TCasing>;
|
|
35
|
-
steps: MultiStepFormStepStepsConfig<TStep, TCasing>;
|
|
36
|
-
defaultNameTransformationCasing: TCasing;
|
|
37
|
-
}) => void;
|
|
38
46
|
/**
|
|
39
47
|
* Available transformation types for the step numbers.
|
|
40
48
|
*/
|
|
41
|
-
declare const AS_TYPES: readonly ["string", "number", "array.string", "array.string.untyped"];
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
declare const AS_TYPES: readonly ["string", "string.keys", "number", "array.string", "array.string.keys", "array.string.untyped", "array.number"];
|
|
50
|
+
declare function createIsValidStepFn<def extends StepSchema.Config, value extends steps.instantiateSteps<def>>(stepNumbers: Array<number>): IsValidStepFn<def, value>;
|
|
51
|
+
declare namespace MultiStepFormStepSchema {
|
|
52
|
+
type ListenerOptions<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = {
|
|
53
|
+
original: def['steps'];
|
|
54
|
+
value: value;
|
|
55
|
+
steps: MultiStepFormStepStepsConfig<def, value>;
|
|
56
|
+
defaultNameTransformationCasing: def['nameTransformCasing'];
|
|
57
|
+
};
|
|
58
|
+
type Listener<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = (data: ListenerOptions<def, value>) => void;
|
|
59
|
+
}
|
|
60
|
+
declare class MultiStepFormStepSchema<const def extends StepSchema.Config, value extends steps.instantiateSteps<def> = steps.instantiateSteps<def>> extends Subscribable<MultiStepFormStepSchema.Listener<def, value>> implements MultiStepFormStepSchemaFunctions<value> {
|
|
45
61
|
#private;
|
|
46
62
|
/**
|
|
47
63
|
* The original config before any validation or transformations have been applied.
|
|
48
64
|
*/
|
|
49
|
-
readonly original:
|
|
65
|
+
readonly original: def['steps'];
|
|
50
66
|
/**
|
|
51
67
|
* The resolved step values.
|
|
52
68
|
*/
|
|
53
|
-
value:
|
|
54
|
-
readonly steps: MultiStepFormStepStepsConfig<
|
|
55
|
-
readonly defaultNameTransformationCasing:
|
|
56
|
-
|
|
57
|
-
private readonly lastStep;
|
|
58
|
-
private readonly stepNumbers;
|
|
59
|
-
private readonly storage;
|
|
60
|
-
constructor(config: MultiStepFormSchemaStepConfig<step, Constrain<casing, CasingType>, storageKey>);
|
|
69
|
+
value: value;
|
|
70
|
+
readonly steps: MultiStepFormStepStepsConfig<def, value>;
|
|
71
|
+
readonly defaultNameTransformationCasing: def['nameTransformCasing'];
|
|
72
|
+
constructor(config: def);
|
|
61
73
|
/**
|
|
62
74
|
* @internal
|
|
63
75
|
*/
|
|
64
|
-
__getStorage(): MultiStepFormStorage<
|
|
76
|
+
__getStorage(): MultiStepFormStorage<value, StepSchema.inferStorageKey<def>>;
|
|
65
77
|
getSnapshot(): this;
|
|
66
78
|
/**
|
|
67
79
|
* Syncs the values from storage to {@linkcode value}.
|
|
@@ -73,52 +85,39 @@ declare class MultiStepFormStepSchema<step extends Step<casing>, casing extends
|
|
|
73
85
|
* @param options The options for getting the step data.
|
|
74
86
|
* @returns The step data for the target step.
|
|
75
87
|
*/
|
|
76
|
-
get<stepNumber extends
|
|
88
|
+
get<stepNumber extends steps.StepNumbers<value>>(options: GetStepOptions<value, steps.StepNumbers<value>, stepNumber>): {
|
|
77
89
|
step: stepNumber;
|
|
78
|
-
data:
|
|
90
|
+
data: steps.getCurrent<value, stepNumber>;
|
|
79
91
|
};
|
|
92
|
+
protected handlePostUpdate(next: value): void;
|
|
80
93
|
/**
|
|
81
|
-
*
|
|
82
|
-
* @
|
|
94
|
+
* Updates the step with the given options.
|
|
95
|
+
* @param options The options for updating the step.
|
|
96
|
+
* @returns The return value of the updater function.
|
|
83
97
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
data: GetCurrentStep<resolvedStep, FirstStep<resolvedStep>>;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Gets the data for the last step.
|
|
90
|
-
* @returns The data for the last step.
|
|
91
|
-
*/
|
|
92
|
-
last(): {
|
|
93
|
-
step: LastStep<resolvedStep>;
|
|
94
|
-
data: GetCurrentStep<resolvedStep, LastStep<resolvedStep>>;
|
|
95
|
-
};
|
|
96
|
-
protected handlePostUpdate(next: resolvedStep): void;
|
|
97
|
-
update<targetStep extends ValidStepKey<stepNumbers>, field extends UpdateFn.chosenFields<UpdateFn.resolvedStep<resolvedStep, stepNumbers, targetStep>> = 'all', strict extends boolean = true, partial extends boolean = false, additionalCtx extends Record<string, unknown> = {}, additionalUpdaterData extends UpdateFn.additionalUpdaterData = never>(options: UpdateFn.options<resolvedStep, stepNumbers, targetStep, field, strict, partial, additionalCtx, additionalUpdaterData>): void;
|
|
98
|
-
reset<targetStep extends ValidStepKey<stepNumbers>, fields$1 extends UpdateFn.chosenFields<currentStep>, currentStep extends UpdateFn.resolvedStep<resolvedStep, stepNumbers, targetStep>>(options: ResetFn.Options<resolvedStep, stepNumbers, targetStep, fields$1, currentStep>): void;
|
|
98
|
+
update<targetStep extends steps.StepNumbers<value>, field extends UpdateFn.chosenFields<UpdateFn.resolvedStep<value, targetStep>> = 'all', strict extends boolean = true, partial extends boolean = false, additionalCtx extends Record<string, unknown> = {}, additionalUpdaterData extends UpdateFn.additionalUpdaterData = never>(options: UpdateFn.options<value, targetStep, field, strict, partial, additionalCtx, additionalUpdaterData>): void;
|
|
99
|
+
reset<targetStep extends steps.StepNumbers<value>, fields extends UpdateFn.chosenFields<currentStep>, currentStep extends UpdateFn.resolvedStep<value, targetStep>>(options: ResetFn.Options<value, targetStep, fields, currentStep>): void;
|
|
99
100
|
/**
|
|
100
101
|
* Create a helper function with validated input.
|
|
101
102
|
*/
|
|
102
|
-
createHelperFn<const chosenSteps extends HelperFnChosenSteps<
|
|
103
|
+
createHelperFn<const chosenSteps extends HelperFnChosenSteps.main<value, steps.StepNumbers<value>>, validator, additionalCtx extends Record<string, unknown>, response>(options: HelperFnOptions.WithValidator<value, chosenSteps, validator, additionalCtx>, fn: HelperFnInput.WithValidator<value, chosenSteps, validator, additionalCtx, response>): HelperFnOutput.WithValidator<validator, response>;
|
|
103
104
|
/**
|
|
104
105
|
* Create a helper function without input.
|
|
105
106
|
*/
|
|
106
|
-
createHelperFn<const chosenSteps extends HelperFnChosenSteps<
|
|
107
|
+
createHelperFn<const chosenSteps extends HelperFnChosenSteps.main<value, steps.StepNumbers<value>>, additionalCtx extends Record<string, unknown>, response>(options: HelperFnOptions.WithoutValidator<value, chosenSteps, additionalCtx>, fn: HelperFnInput.WithoutValidator<value, chosenSteps, additionalCtx, response>): HelperFnOutput.WithoutInput<response>;
|
|
107
108
|
/**
|
|
108
109
|
* Validates that a given object is the proper shape for step data.
|
|
109
110
|
* @param value
|
|
110
111
|
*/
|
|
111
|
-
static hasData
|
|
112
|
-
optionalKeysToCheck?: FieldChecks<Pick<StepOptions, 'description' | 'validateFields'>>;
|
|
113
|
-
}): value is GetCurrentStep<resolvedStep, stepNumbers>;
|
|
112
|
+
static hasData(value: unknown): value is steps.config;
|
|
114
113
|
/**
|
|
115
114
|
* Gets the value of a given field for a given step.
|
|
116
115
|
* @param step The step to get the value from.
|
|
117
116
|
* @param field The field to get the value from.
|
|
118
117
|
* @returns The value of the {@linkcode field}.
|
|
119
118
|
*/
|
|
120
|
-
getValue<step extends
|
|
119
|
+
getValue<step extends steps.StepNumbers<value>, field extends fields.getDeepFields<value, step>>(step: step, field: field): fields.resolveDeepPath<value, step, field, fields.getFieldsForStep<value, step>>;
|
|
121
120
|
}
|
|
122
121
|
//#endregion
|
|
123
|
-
export { AsFunction, AsFunctionReturn, AsType, AsTypeMap, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions,
|
|
122
|
+
export { AsFunction, AsFunctionReturn, AsType, AsTypeMap, IsValidStepFn, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepStepsConfig, createIsValidStepFn };
|
|
124
123
|
//# sourceMappingURL=schema.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.cts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.cts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/steps/schema.d.mts
CHANGED
|
@@ -1,67 +1,79 @@
|
|
|
1
|
-
import { Constrain, Join } from "../utils/types.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Constrain, Join, UnionToTuple } from "../utils/types.mjs";
|
|
2
|
+
import { UpdateFn } from "./fn-utils/update-fn.mjs";
|
|
3
|
+
import { ResetFn } from "./fn-utils/reset-fn.mjs";
|
|
4
|
+
import { GeneralHelperFn, HelperFnInput, HelperFnOptions, HelperFnOutput } from "./fn-utils/helper-fn/utils.mjs";
|
|
5
|
+
import { steps } from "./steps.mjs";
|
|
6
|
+
import { HelperFnChosenSteps } from "./fn-utils/helper-fn/index.mjs";
|
|
7
|
+
import { MultiStepFormStorage } from "../storage.mjs";
|
|
8
|
+
import { StepSchema } from "../internals/step-schema.mjs";
|
|
5
9
|
import { Subscribable } from "../subscribable.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import { GetStepOptions } from "./utils.mjs";
|
|
10
|
+
import { ExtractStepFromKey, GetStepOptions } from "./utils.mjs";
|
|
8
11
|
|
|
9
12
|
//#region src/steps/schema.d.ts
|
|
10
|
-
interface MultiStepFormStepSchemaFunctions<
|
|
11
|
-
update: UpdateFn.general<
|
|
12
|
-
|
|
13
|
+
interface MultiStepFormStepSchemaFunctions<value extends steps.instantiateSteps> {
|
|
14
|
+
update: UpdateFn.general<value>;
|
|
15
|
+
reset: ResetFn.general<value>;
|
|
16
|
+
createHelperFn: GeneralHelperFn<value>;
|
|
13
17
|
}
|
|
14
18
|
type AsType = (typeof AS_TYPES)[number];
|
|
15
19
|
type Quote<T extends string[]> = { [K in keyof T]: T[K] extends string ? `'${T[K]}'` : never };
|
|
16
|
-
type AsTypeMap<
|
|
17
|
-
string: Exclude<Join<Constrain<Quote<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>>, string[]>, ' | '>, ''>;
|
|
20
|
+
type AsTypeMap<def extends StepSchema.Config, value extends steps.instantiateSteps<def>, stepNumbers extends steps.StepNumbers<value> = steps.StepNumbers<value>> = {
|
|
21
|
+
string: Exclude<Join<Constrain<Quote<Constrain<UnionToTuple<`${ExtractStepFromKey<stepNumbers>}`>, string[]>>, string[]>, ' | '>, ''>;
|
|
22
|
+
'string.keys': Exclude<Join<Constrain<UnionToTuple<`${ExtractStepFromKey<stepNumbers>}`>, string[]>, ' | '>, ''>;
|
|
18
23
|
number: Exclude<Join<Constrain<UnionToTuple<`${stepNumbers}`>, string[]>, ' | '>, ''>;
|
|
19
|
-
'array.
|
|
24
|
+
'array.number': UnionToTuple<ExtractStepFromKey<stepNumbers>>;
|
|
25
|
+
'array.string': UnionToTuple<`${ExtractStepFromKey<stepNumbers>}`>;
|
|
26
|
+
'array.string.keys': UnionToTuple<`${stepNumbers}`>;
|
|
20
27
|
'array.string.untyped': string[];
|
|
21
28
|
};
|
|
22
|
-
type AsFunctionReturn<
|
|
23
|
-
type AsFunction<
|
|
24
|
-
type
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
type AsFunctionReturn<def extends StepSchema.Config, value extends steps.instantiateSteps<def>, asType extends AsType> = AsTypeMap<def, value>[asType];
|
|
30
|
+
type AsFunction<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = <asType extends AsType>(asType: asType) => AsFunctionReturn<def, value, asType>;
|
|
31
|
+
type IsValidStepFn<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = {
|
|
32
|
+
/**
|
|
33
|
+
* Checks if a given string is a valid step key.
|
|
34
|
+
*/
|
|
35
|
+
(value: string): value is steps.StepNumbers<value>;
|
|
36
|
+
/**
|
|
37
|
+
* Checks if a given number is a valid step number.
|
|
38
|
+
*/
|
|
39
|
+
(value: number): value is ExtractStepFromKey<steps.StepNumbers<value>>;
|
|
40
|
+
};
|
|
41
|
+
type MultiStepFormStepStepsConfig<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = {
|
|
42
|
+
value: ReadonlyArray<steps.StepNumbers<value>>;
|
|
43
|
+
as: AsFunction<def, value>;
|
|
44
|
+
isValidStep: IsValidStepFn<def, value>;
|
|
31
45
|
};
|
|
32
|
-
type MultiStepFormStepSchemaListener<TStep extends Step<TCasing>, TCasing extends CasingType> = (data: {
|
|
33
|
-
original: InferStepOptions<TStep>;
|
|
34
|
-
value: ResolvedStep<TStep, TCasing>;
|
|
35
|
-
steps: MultiStepFormStepStepsConfig<TStep, TCasing>;
|
|
36
|
-
defaultNameTransformationCasing: TCasing;
|
|
37
|
-
}) => void;
|
|
38
46
|
/**
|
|
39
47
|
* Available transformation types for the step numbers.
|
|
40
48
|
*/
|
|
41
|
-
declare const AS_TYPES: readonly ["string", "number", "array.string", "array.string.untyped"];
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
declare const AS_TYPES: readonly ["string", "string.keys", "number", "array.string", "array.string.keys", "array.string.untyped", "array.number"];
|
|
50
|
+
declare function createIsValidStepFn<def extends StepSchema.Config, value extends steps.instantiateSteps<def>>(stepNumbers: Array<number>): IsValidStepFn<def, value>;
|
|
51
|
+
declare namespace MultiStepFormStepSchema {
|
|
52
|
+
type ListenerOptions<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = {
|
|
53
|
+
original: def['steps'];
|
|
54
|
+
value: value;
|
|
55
|
+
steps: MultiStepFormStepStepsConfig<def, value>;
|
|
56
|
+
defaultNameTransformationCasing: def['nameTransformCasing'];
|
|
57
|
+
};
|
|
58
|
+
type Listener<def extends StepSchema.Config, value extends steps.instantiateSteps<def>> = (data: ListenerOptions<def, value>) => void;
|
|
59
|
+
}
|
|
60
|
+
declare class MultiStepFormStepSchema<const def extends StepSchema.Config, value extends steps.instantiateSteps<def> = steps.instantiateSteps<def>> extends Subscribable<MultiStepFormStepSchema.Listener<def, value>> implements MultiStepFormStepSchemaFunctions<value> {
|
|
45
61
|
#private;
|
|
46
62
|
/**
|
|
47
63
|
* The original config before any validation or transformations have been applied.
|
|
48
64
|
*/
|
|
49
|
-
readonly original:
|
|
65
|
+
readonly original: def['steps'];
|
|
50
66
|
/**
|
|
51
67
|
* The resolved step values.
|
|
52
68
|
*/
|
|
53
|
-
value:
|
|
54
|
-
readonly steps: MultiStepFormStepStepsConfig<
|
|
55
|
-
readonly defaultNameTransformationCasing:
|
|
56
|
-
|
|
57
|
-
private readonly lastStep;
|
|
58
|
-
private readonly stepNumbers;
|
|
59
|
-
private readonly storage;
|
|
60
|
-
constructor(config: MultiStepFormSchemaStepConfig<step, Constrain<casing, CasingType>, storageKey>);
|
|
69
|
+
value: value;
|
|
70
|
+
readonly steps: MultiStepFormStepStepsConfig<def, value>;
|
|
71
|
+
readonly defaultNameTransformationCasing: def['nameTransformCasing'];
|
|
72
|
+
constructor(config: def);
|
|
61
73
|
/**
|
|
62
74
|
* @internal
|
|
63
75
|
*/
|
|
64
|
-
__getStorage(): MultiStepFormStorage<
|
|
76
|
+
__getStorage(): MultiStepFormStorage<value, StepSchema.inferStorageKey<def>>;
|
|
65
77
|
getSnapshot(): this;
|
|
66
78
|
/**
|
|
67
79
|
* Syncs the values from storage to {@linkcode value}.
|
|
@@ -73,52 +85,39 @@ declare class MultiStepFormStepSchema<step extends Step<casing>, casing extends
|
|
|
73
85
|
* @param options The options for getting the step data.
|
|
74
86
|
* @returns The step data for the target step.
|
|
75
87
|
*/
|
|
76
|
-
get<stepNumber extends
|
|
88
|
+
get<stepNumber extends steps.StepNumbers<value>>(options: GetStepOptions<value, steps.StepNumbers<value>, stepNumber>): {
|
|
77
89
|
step: stepNumber;
|
|
78
|
-
data:
|
|
90
|
+
data: steps.getCurrent<value, stepNumber>;
|
|
79
91
|
};
|
|
92
|
+
protected handlePostUpdate(next: value): void;
|
|
80
93
|
/**
|
|
81
|
-
*
|
|
82
|
-
* @
|
|
94
|
+
* Updates the step with the given options.
|
|
95
|
+
* @param options The options for updating the step.
|
|
96
|
+
* @returns The return value of the updater function.
|
|
83
97
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
data: GetCurrentStep<resolvedStep, FirstStep<resolvedStep>>;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Gets the data for the last step.
|
|
90
|
-
* @returns The data for the last step.
|
|
91
|
-
*/
|
|
92
|
-
last(): {
|
|
93
|
-
step: LastStep<resolvedStep>;
|
|
94
|
-
data: GetCurrentStep<resolvedStep, LastStep<resolvedStep>>;
|
|
95
|
-
};
|
|
96
|
-
protected handlePostUpdate(next: resolvedStep): void;
|
|
97
|
-
update<targetStep extends ValidStepKey<stepNumbers>, field extends UpdateFn.chosenFields<UpdateFn.resolvedStep<resolvedStep, stepNumbers, targetStep>> = 'all', strict extends boolean = true, partial extends boolean = false, additionalCtx extends Record<string, unknown> = {}, additionalUpdaterData extends UpdateFn.additionalUpdaterData = never>(options: UpdateFn.options<resolvedStep, stepNumbers, targetStep, field, strict, partial, additionalCtx, additionalUpdaterData>): void;
|
|
98
|
-
reset<targetStep extends ValidStepKey<stepNumbers>, fields$1 extends UpdateFn.chosenFields<currentStep>, currentStep extends UpdateFn.resolvedStep<resolvedStep, stepNumbers, targetStep>>(options: ResetFn.Options<resolvedStep, stepNumbers, targetStep, fields$1, currentStep>): void;
|
|
98
|
+
update<targetStep extends steps.StepNumbers<value>, field extends UpdateFn.chosenFields<UpdateFn.resolvedStep<value, targetStep>> = 'all', strict extends boolean = true, partial extends boolean = false, additionalCtx extends Record<string, unknown> = {}, additionalUpdaterData extends UpdateFn.additionalUpdaterData = never>(options: UpdateFn.options<value, targetStep, field, strict, partial, additionalCtx, additionalUpdaterData>): void;
|
|
99
|
+
reset<targetStep extends steps.StepNumbers<value>, fields extends UpdateFn.chosenFields<currentStep>, currentStep extends UpdateFn.resolvedStep<value, targetStep>>(options: ResetFn.Options<value, targetStep, fields, currentStep>): void;
|
|
99
100
|
/**
|
|
100
101
|
* Create a helper function with validated input.
|
|
101
102
|
*/
|
|
102
|
-
createHelperFn<const chosenSteps extends HelperFnChosenSteps<
|
|
103
|
+
createHelperFn<const chosenSteps extends HelperFnChosenSteps.main<value, steps.StepNumbers<value>>, validator, additionalCtx extends Record<string, unknown>, response>(options: HelperFnOptions.WithValidator<value, chosenSteps, validator, additionalCtx>, fn: HelperFnInput.WithValidator<value, chosenSteps, validator, additionalCtx, response>): HelperFnOutput.WithValidator<validator, response>;
|
|
103
104
|
/**
|
|
104
105
|
* Create a helper function without input.
|
|
105
106
|
*/
|
|
106
|
-
createHelperFn<const chosenSteps extends HelperFnChosenSteps<
|
|
107
|
+
createHelperFn<const chosenSteps extends HelperFnChosenSteps.main<value, steps.StepNumbers<value>>, additionalCtx extends Record<string, unknown>, response>(options: HelperFnOptions.WithoutValidator<value, chosenSteps, additionalCtx>, fn: HelperFnInput.WithoutValidator<value, chosenSteps, additionalCtx, response>): HelperFnOutput.WithoutInput<response>;
|
|
107
108
|
/**
|
|
108
109
|
* Validates that a given object is the proper shape for step data.
|
|
109
110
|
* @param value
|
|
110
111
|
*/
|
|
111
|
-
static hasData
|
|
112
|
-
optionalKeysToCheck?: FieldChecks<Pick<StepOptions, 'description' | 'validateFields'>>;
|
|
113
|
-
}): value is GetCurrentStep<resolvedStep, stepNumbers>;
|
|
112
|
+
static hasData(value: unknown): value is steps.config;
|
|
114
113
|
/**
|
|
115
114
|
* Gets the value of a given field for a given step.
|
|
116
115
|
* @param step The step to get the value from.
|
|
117
116
|
* @param field The field to get the value from.
|
|
118
117
|
* @returns The value of the {@linkcode field}.
|
|
119
118
|
*/
|
|
120
|
-
getValue<step extends
|
|
119
|
+
getValue<step extends steps.StepNumbers<value>, field extends fields.getDeepFields<value, step>>(step: step, field: field): fields.resolveDeepPath<value, step, field, fields.getFieldsForStep<value, step>>;
|
|
121
120
|
}
|
|
122
121
|
//#endregion
|
|
123
|
-
export { AsFunction, AsFunctionReturn, AsType, AsTypeMap, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions,
|
|
122
|
+
export { AsFunction, AsFunctionReturn, AsType, AsTypeMap, IsValidStepFn, MultiStepFormStepSchema, MultiStepFormStepSchemaFunctions, MultiStepFormStepStepsConfig, createIsValidStepFn };
|
|
124
123
|
//# sourceMappingURL=schema.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.mts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.mts","names":[],"sources":["../../src/steps/schema.ts"],"sourcesContent":[],"mappings":"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"}
|