@jfdevelops/multi-step-form-core 1.0.0-alpha.23 → 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 -18
- 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/package.json +1 -1
- package/dist/internals/utils.cjs +0 -102
- package/dist/internals/utils.cjs.map +0 -1
- package/dist/internals/utils.d.cts +0 -11
- package/dist/internals/utils.d.cts.map +0 -1
- package/dist/internals/utils.d.mts +0 -11
- package/dist/internals/utils.d.mts.map +0 -1
- package/dist/internals/utils.mjs +0 -99
- 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 -97
- package/dist/utils/field-types.cjs.map +0 -1
- package/dist/utils/field-types.d.cts +0 -52
- package/dist/utils/field-types.d.cts.map +0 -1
- package/dist/utils/field-types.d.mts +0 -52
- package/dist/utils/field-types.d.mts.map +0 -1
- package/dist/utils/field-types.mjs +0 -93
- package/dist/utils/field-types.mjs.map +0 -1
package/dist/utils/invariant.mjs
CHANGED
|
@@ -1,17 +1,36 @@
|
|
|
1
1
|
//#region src/utils/invariant.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates a lazy message for the invariant function.
|
|
4
|
+
* @param strings The strings to create the message from.
|
|
5
|
+
* @param values The values to insert into the message.
|
|
6
|
+
* @returns The lazy message.
|
|
7
|
+
*/
|
|
2
8
|
function lazy(strings, ...values) {
|
|
3
9
|
return () => String.raw({ raw: strings }, ...values);
|
|
4
10
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
/**
|
|
12
|
+
* The default invariant function without a prefix.
|
|
13
|
+
*/
|
|
14
|
+
const invariant = createInvariant();
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new invariant function with a prefix.
|
|
17
|
+
* @param prefix The prefix to add to the message.
|
|
18
|
+
* @returns The invariant function.
|
|
19
|
+
*/
|
|
20
|
+
function createInvariant(prefix) {
|
|
21
|
+
return function(condition, message, error = Error) {
|
|
22
|
+
if (!condition) {
|
|
23
|
+
const formatter = new Intl.ListFormat("en", {
|
|
24
|
+
style: "long",
|
|
25
|
+
type: "conjunction"
|
|
26
|
+
});
|
|
27
|
+
let resolvedMessage = typeof message === "function" ? message(formatter) : lazy`${message}`();
|
|
28
|
+
if (prefix) resolvedMessage = `${prefix}: ${resolvedMessage}`;
|
|
29
|
+
throw new error(resolvedMessage);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
13
32
|
}
|
|
14
33
|
|
|
15
34
|
//#endregion
|
|
16
|
-
export { invariant };
|
|
35
|
+
export { createInvariant, invariant };
|
|
17
36
|
//# sourceMappingURL=invariant.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invariant.mjs","names":[],"sources":["../../src/utils/invariant.ts"],"sourcesContent":["function lazy(strings: TemplateStringsArray, ...values: any[]) {\n return () => String.raw({ raw: strings }, ...values);\n}\n\
|
|
1
|
+
{"version":3,"file":"invariant.mjs","names":["invariant: Invariant"],"sources":["../../src/utils/invariant.ts"],"sourcesContent":["export type Invariant = <T>(\n condition: T,\n message: string | ((formatter: Intl.ListFormat) => string),\n error?: new (message: string) => Error\n) => asserts condition;\n\n/**\n * Creates a lazy message for the invariant function.\n * @param strings The strings to create the message from.\n * @param values The values to insert into the message.\n * @returns The lazy message.\n */\nfunction lazy(strings: TemplateStringsArray, ...values: any[]) {\n return () => String.raw({ raw: strings }, ...values);\n}\n\n/**\n * The default invariant function without a prefix.\n */\nexport const invariant: Invariant = createInvariant();\n\n/**\n * Creates a new invariant function with a prefix.\n * @param prefix The prefix to add to the message.\n * @returns The invariant function.\n */\nexport function createInvariant(prefix?: string): Invariant {\n return function (condition, message, error = Error) {\n if (!condition) {\n const formatter = new Intl.ListFormat('en', {\n style: 'long',\n type: 'conjunction',\n });\n let resolvedMessage =\n typeof message === 'function' ? message(formatter) : lazy`${message}`();\n\n if (prefix) {\n resolvedMessage = `${prefix}: ${resolvedMessage}`;\n }\n\n throw new error(resolvedMessage);\n }\n };\n}\n"],"mappings":";;;;;;;AAYA,SAAS,KAAK,SAA+B,GAAG,QAAe;AAC7D,cAAa,OAAO,IAAI,EAAE,KAAK,SAAS,EAAE,GAAG,OAAO;;;;;AAMtD,MAAaA,YAAuB,iBAAiB;;;;;;AAOrD,SAAgB,gBAAgB,QAA4B;AAC1D,QAAO,SAAU,WAAW,SAAS,QAAQ,OAAO;AAClD,MAAI,CAAC,WAAW;GACd,MAAM,YAAY,IAAI,KAAK,WAAW,MAAM;IAC1C,OAAO;IACP,MAAM;IACP,CAAC;GACF,IAAI,kBACF,OAAO,YAAY,aAAa,QAAQ,UAAU,GAAG,IAAI,GAAG,WAAW;AAEzE,OAAI,OACF,mBAAkB,GAAG,OAAO,IAAI;AAGlC,SAAM,IAAI,MAAM,gBAAgB"}
|
package/dist/utils/types.d.cts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { CasingType } from "./casing.cjs";
|
|
2
|
+
|
|
1
3
|
//#region src/utils/types.d.ts
|
|
2
4
|
type Expand<T> = T extends object ? T extends infer O ? O extends Function ? O : { [K in keyof O]: O[K] } : never : T;
|
|
5
|
+
type Show<T> = Expand<{ [k in keyof T]: T[k] }>;
|
|
3
6
|
type Constrain<T, TConstraint, TDefault = TConstraint> = (T extends TConstraint ? T : never) | TDefault;
|
|
4
7
|
type SetDefaultString<T extends string, Default extends T> = Default;
|
|
5
8
|
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
@@ -10,8 +13,8 @@ declare namespace unionHelpers {
|
|
|
10
13
|
/**
|
|
11
14
|
* Checks if `T` is a union.
|
|
12
15
|
*/
|
|
13
|
-
type is<T, U = T> = (T extends unknown ? (k: T) => void : never) extends ((k: infer I) => void) ? [U] extends [I] ? false : true : never;
|
|
14
|
-
type toIntersection<U> = (U extends any ? (x: U) => void : never) extends ((x: infer I) => void) ? I : never;
|
|
16
|
+
type is<T, U$1 = T> = (T extends unknown ? (k: T) => void : never) extends ((k: infer I) => void) ? [U$1] extends [I] ? false : true : never;
|
|
17
|
+
type toIntersection<U$1> = (U$1 extends any ? (x: U$1) => void : never) extends ((x: infer I) => void) ? I : never;
|
|
15
18
|
}
|
|
16
19
|
declare namespace objectHelpers {
|
|
17
20
|
type isObject<T> = T extends object ? T extends any[] ? false : T extends Function ? false : true : false;
|
|
@@ -20,6 +23,15 @@ type DeepKeys<T> = T extends object ? T extends readonly any[] | Date ? never :
|
|
|
20
23
|
type DeepValue<T, Path extends string> = Path extends `${infer K}.${infer Rest}` ? K extends keyof T ? DeepValue<T[K], Rest> : never : Path extends keyof T ? T[Path] : never;
|
|
21
24
|
type Builtin = Date | Function | Error | RegExp | symbol | bigint | string | number | boolean | undefined | null | Map<unknown, unknown> | Set<unknown> | WeakMap<object, unknown> | WeakSet<object> | Array<unknown> | Promise<unknown>;
|
|
22
25
|
type DeepPartial<T> = T extends Builtin ? T : T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;
|
|
26
|
+
type stripFunctions<T> = Expand<{ [key in keyof T]: T[key] extends Function ? never : T[key] }>;
|
|
27
|
+
type IsString<T> = T extends string ? T : never;
|
|
28
|
+
type Updater<TInput, TOutput = TInput> = TOutput | ((input: TInput) => TOutput);
|
|
29
|
+
type inferUpdaterReturn<t> = t extends Updater<infer _, infer r> ? r : never;
|
|
30
|
+
type RemoveReadonly<T> = Expand<{ -readonly [K in keyof T]: T[K] extends object ? RemoveReadonly<T[K]> : T[K] }>;
|
|
31
|
+
type UnionToTuple<T> = ((T extends any ? (t: T) => T : never) extends infer U ? (U extends any ? (u: U) => any : never) extends ((v: infer V) => any) ? V : never : never) extends ((_: any) => infer W) ? [...UnionToTuple<Exclude<T, W>>, W] : [];
|
|
32
|
+
type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = { [K in Keys]-?: Required<Pick<T, K>> & Partial<Omit<T, K>> }[Keys];
|
|
33
|
+
type WidenSpecial<T> = T extends CasingType ? CasingType : T;
|
|
34
|
+
type Relaxed<T> = T extends (infer U)[] ? Relaxed<U>[] : T extends ((...args: any[]) => any) ? T : T extends object ? { [K in keyof T]: Relaxed<T[K]> } : WidenSpecial<T>;
|
|
23
35
|
//#endregion
|
|
24
|
-
export { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, Join, Override, SetDefaultString, Split, objectHelpers, unionHelpers };
|
|
36
|
+
export { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, IsString, Join, Override, Relaxed, RemoveReadonly, RequireAtLeastOne, SetDefaultString, Show, Split, UnionToTuple, Updater, WidenSpecial, inferUpdaterReturn, objectHelpers, stripFunctions, unionHelpers };
|
|
25
37
|
//# sourceMappingURL=types.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","names":[],"sources":["../../src/utils/types.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.cts","names":[],"sources":["../../src/utils/types.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/utils/types.d.mts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { CasingType } from "./casing.mjs";
|
|
2
|
+
|
|
1
3
|
//#region src/utils/types.d.ts
|
|
2
4
|
type Expand<T> = T extends object ? T extends infer O ? O extends Function ? O : { [K in keyof O]: O[K] } : never : T;
|
|
5
|
+
type Show<T> = Expand<{ [k in keyof T]: T[k] }>;
|
|
3
6
|
type Constrain<T, TConstraint, TDefault = TConstraint> = (T extends TConstraint ? T : never) | TDefault;
|
|
4
7
|
type SetDefaultString<T extends string, Default extends T> = Default;
|
|
5
8
|
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
@@ -10,8 +13,8 @@ declare namespace unionHelpers {
|
|
|
10
13
|
/**
|
|
11
14
|
* Checks if `T` is a union.
|
|
12
15
|
*/
|
|
13
|
-
type is<T, U = T> = (T extends unknown ? (k: T) => void : never) extends ((k: infer I) => void) ? [U] extends [I] ? false : true : never;
|
|
14
|
-
type toIntersection<U> = (U extends any ? (x: U) => void : never) extends ((x: infer I) => void) ? I : never;
|
|
16
|
+
type is<T, U$1 = T> = (T extends unknown ? (k: T) => void : never) extends ((k: infer I) => void) ? [U$1] extends [I] ? false : true : never;
|
|
17
|
+
type toIntersection<U$1> = (U$1 extends any ? (x: U$1) => void : never) extends ((x: infer I) => void) ? I : never;
|
|
15
18
|
}
|
|
16
19
|
declare namespace objectHelpers {
|
|
17
20
|
type isObject<T> = T extends object ? T extends any[] ? false : T extends Function ? false : true : false;
|
|
@@ -20,6 +23,15 @@ type DeepKeys<T> = T extends object ? T extends readonly any[] | Date ? never :
|
|
|
20
23
|
type DeepValue<T, Path extends string> = Path extends `${infer K}.${infer Rest}` ? K extends keyof T ? DeepValue<T[K], Rest> : never : Path extends keyof T ? T[Path] : never;
|
|
21
24
|
type Builtin = Date | Function | Error | RegExp | symbol | bigint | string | number | boolean | undefined | null | Map<unknown, unknown> | Set<unknown> | WeakMap<object, unknown> | WeakSet<object> | Array<unknown> | Promise<unknown>;
|
|
22
25
|
type DeepPartial<T> = T extends Builtin ? T : T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;
|
|
26
|
+
type stripFunctions<T> = Expand<{ [key in keyof T]: T[key] extends Function ? never : T[key] }>;
|
|
27
|
+
type IsString<T> = T extends string ? T : never;
|
|
28
|
+
type Updater<TInput, TOutput = TInput> = TOutput | ((input: TInput) => TOutput);
|
|
29
|
+
type inferUpdaterReturn<t> = t extends Updater<infer _, infer r> ? r : never;
|
|
30
|
+
type RemoveReadonly<T> = Expand<{ -readonly [K in keyof T]: T[K] extends object ? RemoveReadonly<T[K]> : T[K] }>;
|
|
31
|
+
type UnionToTuple<T> = ((T extends any ? (t: T) => T : never) extends infer U ? (U extends any ? (u: U) => any : never) extends ((v: infer V) => any) ? V : never : never) extends ((_: any) => infer W) ? [...UnionToTuple<Exclude<T, W>>, W] : [];
|
|
32
|
+
type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = { [K in Keys]-?: Required<Pick<T, K>> & Partial<Omit<T, K>> }[Keys];
|
|
33
|
+
type WidenSpecial<T> = T extends CasingType ? CasingType : T;
|
|
34
|
+
type Relaxed<T> = T extends (infer U)[] ? Relaxed<U>[] : T extends ((...args: any[]) => any) ? T : T extends object ? { [K in keyof T]: Relaxed<T[K]> } : WidenSpecial<T>;
|
|
23
35
|
//#endregion
|
|
24
|
-
export { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, Join, Override, SetDefaultString, Split, objectHelpers, unionHelpers };
|
|
36
|
+
export { Constrain, DeepKeys, DeepPartial, DeepValue, Expand, IsString, Join, Override, Relaxed, RemoveReadonly, RequireAtLeastOne, SetDefaultString, Show, Split, UnionToTuple, Updater, WidenSpecial, inferUpdaterReturn, objectHelpers, stripFunctions, unionHelpers };
|
|
25
37
|
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../src/utils/types.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../src/utils/types.ts"],"sourcesContent":[],"mappings":"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"}
|
package/package.json
CHANGED
package/dist/internals/utils.cjs
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
const require_invariant = require('../utils/invariant.cjs');
|
|
2
|
-
const require_casing = require('../utils/casing.cjs');
|
|
3
|
-
const require_field_types = require('../utils/field-types.cjs');
|
|
4
|
-
const require_validator = require('../utils/validator.cjs');
|
|
5
|
-
|
|
6
|
-
//#region src/internals/utils.ts
|
|
7
|
-
const VALIDATED_STEP_REGEX = /^step\d+$/i;
|
|
8
|
-
function isValidStepKey(steps, stepKey) {
|
|
9
|
-
return Object.keys(steps).includes(stepKey);
|
|
10
|
-
}
|
|
11
|
-
function createFieldLabel(label, fieldName, casingType) {
|
|
12
|
-
return label ?? require_casing.changeCasing(fieldName, casingType);
|
|
13
|
-
}
|
|
14
|
-
function createStepFields(options) {
|
|
15
|
-
const resolvedFields = {};
|
|
16
|
-
const { fields, defaultCasing, validateFields } = options;
|
|
17
|
-
for (const [name, values] of Object.entries(fields)) {
|
|
18
|
-
require_invariant.invariant(typeof name === "string", `Each key for the "fields" option must be a string. Key ${name} was a ${typeof name}`);
|
|
19
|
-
require_invariant.invariant(typeof values === "object", `The value for key ${name} must be an object. Was ${typeof values}`);
|
|
20
|
-
const { defaultValue, label, nameTransformCasing, type } = values;
|
|
21
|
-
if (validateFields) resolvedFields[name] = defaultValue;
|
|
22
|
-
else {
|
|
23
|
-
const casing = nameTransformCasing ?? defaultCasing;
|
|
24
|
-
const resolvedType = require_field_types.getInferredFieldType({
|
|
25
|
-
defaultValue,
|
|
26
|
-
type
|
|
27
|
-
});
|
|
28
|
-
resolvedFields[name] = {
|
|
29
|
-
...resolvedFields[name],
|
|
30
|
-
nameTransformCasing: casing,
|
|
31
|
-
type: resolvedType,
|
|
32
|
-
defaultValue,
|
|
33
|
-
label: createFieldLabel(label, name, casing)
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (validateFields) {
|
|
38
|
-
const validatedFields = require_validator.runStandardValidation(validateFields, resolvedFields);
|
|
39
|
-
require_invariant.invariant(typeof validatedFields === "object", `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`);
|
|
40
|
-
require_invariant.invariant(!!validatedFields, "The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it");
|
|
41
|
-
for (const [name, defaultValue] of Object.entries(validatedFields)) {
|
|
42
|
-
const currentField = fields[name];
|
|
43
|
-
require_invariant.invariant(currentField, `No field found in the fields config for "${name}"`);
|
|
44
|
-
const { label, type, nameTransformCasing } = currentField;
|
|
45
|
-
const casing = nameTransformCasing ?? defaultCasing;
|
|
46
|
-
const resolvedType = require_field_types.getInferredFieldType({
|
|
47
|
-
defaultValue,
|
|
48
|
-
type
|
|
49
|
-
});
|
|
50
|
-
resolvedFields[name] = {
|
|
51
|
-
...resolvedFields[name],
|
|
52
|
-
nameTransformCasing: casing,
|
|
53
|
-
type: resolvedType,
|
|
54
|
-
defaultValue,
|
|
55
|
-
label: createFieldLabel(label, name, casing)
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return resolvedFields;
|
|
60
|
-
}
|
|
61
|
-
function createStep(stepsConfig) {
|
|
62
|
-
const resolvedSteps = {};
|
|
63
|
-
require_invariant.invariant(!!stepsConfig, "The steps config must be defined", TypeError);
|
|
64
|
-
require_invariant.invariant(typeof stepsConfig === "object", `The steps config must be an object, was (${typeof stepsConfig})`, TypeError);
|
|
65
|
-
for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {
|
|
66
|
-
require_invariant.invariant(typeof stepKey === "string", `Each key for the step config must be a string. Key "${stepKey}" was ${typeof stepKey} `, TypeError);
|
|
67
|
-
require_invariant.invariant(VALIDATED_STEP_REGEX.test(stepKey), `The key "${stepKey}" isn't formatted properly. Each key in the step config must be the following format: "step{number}"`);
|
|
68
|
-
const validStepKey = stepKey;
|
|
69
|
-
const { fields, title, nameTransformCasing: defaultCasing = require_casing.DEFAULT_CASING, description, validateFields } = stepValue;
|
|
70
|
-
const currentStep = validStepKey.toString().replace("step", "");
|
|
71
|
-
require_invariant.invariant(fields, `Missing fields for step ${currentStep} (${String(validStepKey)})`, TypeError);
|
|
72
|
-
require_invariant.invariant(typeof fields === "object", "Fields must be an object", TypeError);
|
|
73
|
-
require_invariant.invariant(Object.keys(fields).length > 0, `The fields config for step ${currentStep} (${String(validStepKey)}) is empty. Please add a field`);
|
|
74
|
-
require_invariant.invariant(typeof fields === "object", `The "fields" property must be an object. Was ${typeof fields}`);
|
|
75
|
-
const resolvedFields = createStepFields({
|
|
76
|
-
defaultCasing,
|
|
77
|
-
fields,
|
|
78
|
-
validateFields
|
|
79
|
-
});
|
|
80
|
-
resolvedSteps[validStepKey] = {
|
|
81
|
-
...resolvedSteps[validStepKey],
|
|
82
|
-
title,
|
|
83
|
-
nameTransformCasing: defaultCasing,
|
|
84
|
-
...typeof description === "string" ? { description } : {},
|
|
85
|
-
fields: resolvedFields
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return resolvedSteps;
|
|
89
|
-
}
|
|
90
|
-
function isTupleNotation(value) {
|
|
91
|
-
if (!Array.isArray(value)) return false;
|
|
92
|
-
if (value.length === 0) return false;
|
|
93
|
-
if (!value.every((v) => typeof v === "string")) return false;
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
//#endregion
|
|
98
|
-
exports.VALIDATED_STEP_REGEX = VALIDATED_STEP_REGEX;
|
|
99
|
-
exports.createStep = createStep;
|
|
100
|
-
exports.isTupleNotation = isTupleNotation;
|
|
101
|
-
exports.isValidStepKey = isValidStepKey;
|
|
102
|
-
//# sourceMappingURL=utils.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","names":["changeCasing","resolvedFields: Record<string, unknown>","getInferredFieldType","runStandardValidation","DEFAULT_CASING"],"sources":["../../src/internals/utils.ts"],"sourcesContent":["import type {\n AnyResolvedStep,\n AnyStepField,\n Step,\n InferStepOptions,\n ResolvedStep,\n HelperFnChosenSteps,\n ResolvedStepBuilder,\n} from '@/steps';\nimport {\n type Constrain,\n type CasingType,\n changeCasing,\n DEFAULT_FIELD_TYPE,\n invariant,\n type DefaultCasing,\n DEFAULT_CASING,\n getInferredFieldType,\n} from '@/utils';\nimport {\n type AnyValidator,\n type DefaultValidator,\n runStandardValidation,\n type StandardSchemaValidator,\n} from '@/utils/validator';\n\nexport const VALIDATED_STEP_REGEX = /^step\\d+$/i;\nexport function isValidStepKey<T extends AnyResolvedStep>(\n steps: T,\n stepKey: string\n): stepKey is Constrain<keyof T, string> {\n return Object.keys(steps).includes(stepKey);\n}\n\nexport function createFieldLabel(\n label: string | false | undefined,\n fieldName: string,\n casingType: CasingType\n) {\n return label ?? changeCasing(fieldName, casingType);\n}\n\nexport function createStepFields(options: {\n fields: AnyStepField;\n validateFields:\n | Constrain<unknown, AnyValidator, DefaultValidator>\n | undefined;\n defaultCasing: CasingType;\n}) {\n const resolvedFields: Record<string, unknown> = {};\n const { fields, defaultCasing, validateFields } = options;\n\n for (const [name, values] of Object.entries(fields)) {\n invariant(\n typeof name === 'string',\n `Each key for the \"fields\" option must be a string. Key ${name} was a ${typeof name}`\n );\n invariant(\n typeof values === 'object',\n `The value for key ${name} must be an object. Was ${typeof values}`\n );\n\n const { defaultValue, label, nameTransformCasing, type } = values;\n\n if (validateFields) {\n resolvedFields[name] = defaultValue;\n } else {\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n\n // TODO add more fields here\n };\n }\n }\n\n if (validateFields) {\n const validatedFields = runStandardValidation(\n validateFields as StandardSchemaValidator,\n resolvedFields\n );\n\n invariant(\n typeof validatedFields === 'object',\n `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`\n );\n invariant(\n !!validatedFields,\n 'The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it'\n );\n\n for (const [name, defaultValue] of Object.entries(validatedFields)) {\n const currentField = fields[name];\n\n invariant(\n currentField,\n `No field found in the fields config for \"${name}\"`\n );\n\n const { label, type, nameTransformCasing } = currentField;\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n };\n }\n }\n\n return resolvedFields;\n}\nexport function createStep<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing\n>(stepsConfig: InferStepOptions<step>) {\n const resolvedSteps = {} as ResolvedStepBuilder<step, casing>;\n\n invariant(!!stepsConfig, 'The steps config must be defined', TypeError);\n invariant(\n typeof stepsConfig === 'object',\n `The steps config must be an object, was (${typeof stepsConfig})`,\n TypeError\n );\n\n for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {\n invariant(\n typeof stepKey === 'string',\n `Each key for the step config must be a string. Key \"${stepKey}\" was ${typeof stepKey} `,\n TypeError\n );\n invariant(\n VALIDATED_STEP_REGEX.test(stepKey),\n `The key \"${stepKey}\" isn't formatted properly. Each key in the step config must be the following format: \"step{number}\"`\n );\n\n const validStepKey = stepKey as keyof typeof resolvedSteps;\n const {\n fields,\n title,\n nameTransformCasing: defaultCasing = DEFAULT_CASING,\n description,\n validateFields,\n } = stepValue;\n\n const currentStep = validStepKey.toString().replace('step', '');\n\n invariant(\n fields,\n `Missing fields for step ${currentStep} (${String(validStepKey)})`,\n TypeError\n );\n invariant(\n typeof fields === 'object',\n 'Fields must be an object',\n TypeError\n );\n invariant(\n Object.keys(fields).length > 0,\n `The fields config for step ${currentStep} (${String(\n validStepKey\n )}) is empty. Please add a field`\n );\n invariant(\n typeof fields === 'object',\n `The \"fields\" property must be an object. Was ${typeof fields}`\n );\n\n const resolvedFields = createStepFields({\n defaultCasing,\n fields,\n validateFields,\n });\n\n resolvedSteps[validStepKey] = {\n ...(resolvedSteps[validStepKey] as Record<string, unknown>),\n title,\n nameTransformCasing: defaultCasing,\n // Only add the description if it's defined\n ...(typeof description === 'string' ? { description } : {}),\n fields: resolvedFields,\n } as never;\n }\n\n return resolvedSteps;\n}\n\nexport function isTupleNotation<T extends string>(\n value: unknown\n): value is HelperFnChosenSteps.tupleNotation<T> {\n if (!Array.isArray(value)) {\n return false;\n }\n\n if (value.length === 0) {\n return false;\n }\n\n if (!value.every((v) => typeof v === 'string')) {\n return false;\n }\n\n return true;\n}\n"],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Constrain } from "../utils/types.cjs";
|
|
2
|
-
import { CasingType, DefaultCasing } from "../utils/casing.cjs";
|
|
3
|
-
import { AnyResolvedStep, InferStepOptions, ResolvedStepBuilder, Step } from "../steps/types.cjs";
|
|
4
|
-
|
|
5
|
-
//#region src/internals/utils.d.ts
|
|
6
|
-
declare const VALIDATED_STEP_REGEX: RegExp;
|
|
7
|
-
declare function isValidStepKey<T extends AnyResolvedStep>(steps: T, stepKey: string): stepKey is Constrain<keyof T, string>;
|
|
8
|
-
declare function createStep<step extends Step<casing>, casing extends CasingType = DefaultCasing>(stepsConfig: InferStepOptions<step>): ResolvedStepBuilder<step, casing>;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { VALIDATED_STEP_REGEX, createStep, isValidStepKey };
|
|
11
|
-
//# sourceMappingURL=utils.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.cts","names":[],"sources":["../../src/internals/utils.ts"],"sourcesContent":[],"mappings":";;;;;cA0Ba,sBAAoB;iBACjB,yBAAyB,wBAChC,gCAEK,gBAAgB;AAAP,iBA2FP,UA3FO,CAAA,aA4FR,IA5FQ,CA4FH,MA5FG,CAAA,EAAA,eA6FN,UA7FM,GA6FO,aA7FP,CAAA,CAAA,WAAA,EA8FR,gBA9FQ,CA8FS,IA9FT,CAAA,CAAA,EA8Fc,mBA9Fd,CA8Fc,IA9Fd,EA8Fc,MA9Fd,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Constrain } from "../utils/types.mjs";
|
|
2
|
-
import { CasingType, DefaultCasing } from "../utils/casing.mjs";
|
|
3
|
-
import { AnyResolvedStep, InferStepOptions, ResolvedStepBuilder, Step } from "../steps/types.mjs";
|
|
4
|
-
|
|
5
|
-
//#region src/internals/utils.d.ts
|
|
6
|
-
declare const VALIDATED_STEP_REGEX: RegExp;
|
|
7
|
-
declare function isValidStepKey<T extends AnyResolvedStep>(steps: T, stepKey: string): stepKey is Constrain<keyof T, string>;
|
|
8
|
-
declare function createStep<step extends Step<casing>, casing extends CasingType = DefaultCasing>(stepsConfig: InferStepOptions<step>): ResolvedStepBuilder<step, casing>;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { VALIDATED_STEP_REGEX, createStep, isValidStepKey };
|
|
11
|
-
//# sourceMappingURL=utils.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.mts","names":[],"sources":["../../src/internals/utils.ts"],"sourcesContent":[],"mappings":";;;;;cA0Ba,sBAAoB;iBACjB,yBAAyB,wBAChC,gCAEK,gBAAgB;AAAP,iBA2FP,UA3FO,CAAA,aA4FR,IA5FQ,CA4FH,MA5FG,CAAA,EAAA,eA6FN,UA7FM,GA6FO,aA7FP,CAAA,CAAA,WAAA,EA8FR,gBA9FQ,CA8FS,IA9FT,CAAA,CAAA,EA8Fc,mBA9Fd,CA8Fc,IA9Fd,EA8Fc,MA9Fd,CAAA"}
|
package/dist/internals/utils.mjs
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { invariant } from "../utils/invariant.mjs";
|
|
2
|
-
import { DEFAULT_CASING, changeCasing } from "../utils/casing.mjs";
|
|
3
|
-
import { getInferredFieldType } from "../utils/field-types.mjs";
|
|
4
|
-
import { runStandardValidation } from "../utils/validator.mjs";
|
|
5
|
-
|
|
6
|
-
//#region src/internals/utils.ts
|
|
7
|
-
const VALIDATED_STEP_REGEX = /^step\d+$/i;
|
|
8
|
-
function isValidStepKey(steps, stepKey) {
|
|
9
|
-
return Object.keys(steps).includes(stepKey);
|
|
10
|
-
}
|
|
11
|
-
function createFieldLabel(label, fieldName, casingType) {
|
|
12
|
-
return label ?? changeCasing(fieldName, casingType);
|
|
13
|
-
}
|
|
14
|
-
function createStepFields(options) {
|
|
15
|
-
const resolvedFields = {};
|
|
16
|
-
const { fields, defaultCasing, validateFields } = options;
|
|
17
|
-
for (const [name, values] of Object.entries(fields)) {
|
|
18
|
-
invariant(typeof name === "string", `Each key for the "fields" option must be a string. Key ${name} was a ${typeof name}`);
|
|
19
|
-
invariant(typeof values === "object", `The value for key ${name} must be an object. Was ${typeof values}`);
|
|
20
|
-
const { defaultValue, label, nameTransformCasing, type } = values;
|
|
21
|
-
if (validateFields) resolvedFields[name] = defaultValue;
|
|
22
|
-
else {
|
|
23
|
-
const casing = nameTransformCasing ?? defaultCasing;
|
|
24
|
-
const resolvedType = getInferredFieldType({
|
|
25
|
-
defaultValue,
|
|
26
|
-
type
|
|
27
|
-
});
|
|
28
|
-
resolvedFields[name] = {
|
|
29
|
-
...resolvedFields[name],
|
|
30
|
-
nameTransformCasing: casing,
|
|
31
|
-
type: resolvedType,
|
|
32
|
-
defaultValue,
|
|
33
|
-
label: createFieldLabel(label, name, casing)
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (validateFields) {
|
|
38
|
-
const validatedFields = runStandardValidation(validateFields, resolvedFields);
|
|
39
|
-
invariant(typeof validatedFields === "object", `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`);
|
|
40
|
-
invariant(!!validatedFields, "The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it");
|
|
41
|
-
for (const [name, defaultValue] of Object.entries(validatedFields)) {
|
|
42
|
-
const currentField = fields[name];
|
|
43
|
-
invariant(currentField, `No field found in the fields config for "${name}"`);
|
|
44
|
-
const { label, type, nameTransformCasing } = currentField;
|
|
45
|
-
const casing = nameTransformCasing ?? defaultCasing;
|
|
46
|
-
const resolvedType = getInferredFieldType({
|
|
47
|
-
defaultValue,
|
|
48
|
-
type
|
|
49
|
-
});
|
|
50
|
-
resolvedFields[name] = {
|
|
51
|
-
...resolvedFields[name],
|
|
52
|
-
nameTransformCasing: casing,
|
|
53
|
-
type: resolvedType,
|
|
54
|
-
defaultValue,
|
|
55
|
-
label: createFieldLabel(label, name, casing)
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return resolvedFields;
|
|
60
|
-
}
|
|
61
|
-
function createStep(stepsConfig) {
|
|
62
|
-
const resolvedSteps = {};
|
|
63
|
-
invariant(!!stepsConfig, "The steps config must be defined", TypeError);
|
|
64
|
-
invariant(typeof stepsConfig === "object", `The steps config must be an object, was (${typeof stepsConfig})`, TypeError);
|
|
65
|
-
for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {
|
|
66
|
-
invariant(typeof stepKey === "string", `Each key for the step config must be a string. Key "${stepKey}" was ${typeof stepKey} `, TypeError);
|
|
67
|
-
invariant(VALIDATED_STEP_REGEX.test(stepKey), `The key "${stepKey}" isn't formatted properly. Each key in the step config must be the following format: "step{number}"`);
|
|
68
|
-
const validStepKey = stepKey;
|
|
69
|
-
const { fields, title, nameTransformCasing: defaultCasing = DEFAULT_CASING, description, validateFields } = stepValue;
|
|
70
|
-
const currentStep = validStepKey.toString().replace("step", "");
|
|
71
|
-
invariant(fields, `Missing fields for step ${currentStep} (${String(validStepKey)})`, TypeError);
|
|
72
|
-
invariant(typeof fields === "object", "Fields must be an object", TypeError);
|
|
73
|
-
invariant(Object.keys(fields).length > 0, `The fields config for step ${currentStep} (${String(validStepKey)}) is empty. Please add a field`);
|
|
74
|
-
invariant(typeof fields === "object", `The "fields" property must be an object. Was ${typeof fields}`);
|
|
75
|
-
const resolvedFields = createStepFields({
|
|
76
|
-
defaultCasing,
|
|
77
|
-
fields,
|
|
78
|
-
validateFields
|
|
79
|
-
});
|
|
80
|
-
resolvedSteps[validStepKey] = {
|
|
81
|
-
...resolvedSteps[validStepKey],
|
|
82
|
-
title,
|
|
83
|
-
nameTransformCasing: defaultCasing,
|
|
84
|
-
...typeof description === "string" ? { description } : {},
|
|
85
|
-
fields: resolvedFields
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return resolvedSteps;
|
|
89
|
-
}
|
|
90
|
-
function isTupleNotation(value) {
|
|
91
|
-
if (!Array.isArray(value)) return false;
|
|
92
|
-
if (value.length === 0) return false;
|
|
93
|
-
if (!value.every((v) => typeof v === "string")) return false;
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
//#endregion
|
|
98
|
-
export { VALIDATED_STEP_REGEX, createStep, isTupleNotation, isValidStepKey };
|
|
99
|
-
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":["resolvedFields: Record<string, unknown>"],"sources":["../../src/internals/utils.ts"],"sourcesContent":["import type {\n AnyResolvedStep,\n AnyStepField,\n Step,\n InferStepOptions,\n ResolvedStep,\n HelperFnChosenSteps,\n ResolvedStepBuilder,\n} from '@/steps';\nimport {\n type Constrain,\n type CasingType,\n changeCasing,\n DEFAULT_FIELD_TYPE,\n invariant,\n type DefaultCasing,\n DEFAULT_CASING,\n getInferredFieldType,\n} from '@/utils';\nimport {\n type AnyValidator,\n type DefaultValidator,\n runStandardValidation,\n type StandardSchemaValidator,\n} from '@/utils/validator';\n\nexport const VALIDATED_STEP_REGEX = /^step\\d+$/i;\nexport function isValidStepKey<T extends AnyResolvedStep>(\n steps: T,\n stepKey: string\n): stepKey is Constrain<keyof T, string> {\n return Object.keys(steps).includes(stepKey);\n}\n\nexport function createFieldLabel(\n label: string | false | undefined,\n fieldName: string,\n casingType: CasingType\n) {\n return label ?? changeCasing(fieldName, casingType);\n}\n\nexport function createStepFields(options: {\n fields: AnyStepField;\n validateFields:\n | Constrain<unknown, AnyValidator, DefaultValidator>\n | undefined;\n defaultCasing: CasingType;\n}) {\n const resolvedFields: Record<string, unknown> = {};\n const { fields, defaultCasing, validateFields } = options;\n\n for (const [name, values] of Object.entries(fields)) {\n invariant(\n typeof name === 'string',\n `Each key for the \"fields\" option must be a string. Key ${name} was a ${typeof name}`\n );\n invariant(\n typeof values === 'object',\n `The value for key ${name} must be an object. Was ${typeof values}`\n );\n\n const { defaultValue, label, nameTransformCasing, type } = values;\n\n if (validateFields) {\n resolvedFields[name] = defaultValue;\n } else {\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n\n // TODO add more fields here\n };\n }\n }\n\n if (validateFields) {\n const validatedFields = runStandardValidation(\n validateFields as StandardSchemaValidator,\n resolvedFields\n );\n\n invariant(\n typeof validatedFields === 'object',\n `The result of the validated fields must be an object, was (${typeof validatedFields}). This is probably an internal error, so open up an issue about it`\n );\n invariant(\n !!validatedFields,\n 'The result of the validated fields must be defined. This is probably an internal error, so open up an issue about it'\n );\n\n for (const [name, defaultValue] of Object.entries(validatedFields)) {\n const currentField = fields[name];\n\n invariant(\n currentField,\n `No field found in the fields config for \"${name}\"`\n );\n\n const { label, type, nameTransformCasing } = currentField;\n const casing = nameTransformCasing ?? defaultCasing;\n const resolvedType = getInferredFieldType({ defaultValue, type });\n\n resolvedFields[name] = {\n ...(resolvedFields[name] as Record<string, unknown>),\n nameTransformCasing: casing,\n type: resolvedType,\n defaultValue,\n label: createFieldLabel(label, name, casing),\n };\n }\n }\n\n return resolvedFields;\n}\nexport function createStep<\n step extends Step<casing>,\n casing extends CasingType = DefaultCasing\n>(stepsConfig: InferStepOptions<step>) {\n const resolvedSteps = {} as ResolvedStepBuilder<step, casing>;\n\n invariant(!!stepsConfig, 'The steps config must be defined', TypeError);\n invariant(\n typeof stepsConfig === 'object',\n `The steps config must be an object, was (${typeof stepsConfig})`,\n TypeError\n );\n\n for (const [stepKey, stepValue] of Object.entries(stepsConfig)) {\n invariant(\n typeof stepKey === 'string',\n `Each key for the step config must be a string. Key \"${stepKey}\" was ${typeof stepKey} `,\n TypeError\n );\n invariant(\n VALIDATED_STEP_REGEX.test(stepKey),\n `The key \"${stepKey}\" isn't formatted properly. Each key in the step config must be the following format: \"step{number}\"`\n );\n\n const validStepKey = stepKey as keyof typeof resolvedSteps;\n const {\n fields,\n title,\n nameTransformCasing: defaultCasing = DEFAULT_CASING,\n description,\n validateFields,\n } = stepValue;\n\n const currentStep = validStepKey.toString().replace('step', '');\n\n invariant(\n fields,\n `Missing fields for step ${currentStep} (${String(validStepKey)})`,\n TypeError\n );\n invariant(\n typeof fields === 'object',\n 'Fields must be an object',\n TypeError\n );\n invariant(\n Object.keys(fields).length > 0,\n `The fields config for step ${currentStep} (${String(\n validStepKey\n )}) is empty. Please add a field`\n );\n invariant(\n typeof fields === 'object',\n `The \"fields\" property must be an object. Was ${typeof fields}`\n );\n\n const resolvedFields = createStepFields({\n defaultCasing,\n fields,\n validateFields,\n });\n\n resolvedSteps[validStepKey] = {\n ...(resolvedSteps[validStepKey] as Record<string, unknown>),\n title,\n nameTransformCasing: defaultCasing,\n // Only add the description if it's defined\n ...(typeof description === 'string' ? { description } : {}),\n fields: resolvedFields,\n } as never;\n }\n\n return resolvedSteps;\n}\n\nexport function isTupleNotation<T extends string>(\n value: unknown\n): value is HelperFnChosenSteps.tupleNotation<T> {\n if (!Array.isArray(value)) {\n return false;\n }\n\n if (value.length === 0) {\n return false;\n }\n\n if (!value.every((v) => typeof v === 'string')) {\n return false;\n }\n\n return true;\n}\n"],"mappings":"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"}
|
package/dist/observable.cjs
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
const require_subscribable = require('./subscribable.cjs');
|
|
2
|
-
|
|
3
|
-
//#region src/observable.ts
|
|
4
|
-
var MultiStepFormObserver = class extends require_subscribable.Subscribable {
|
|
5
|
-
schema;
|
|
6
|
-
unsubscribeFromSchema;
|
|
7
|
-
constructor(options) {
|
|
8
|
-
super();
|
|
9
|
-
this.schema = options.schema;
|
|
10
|
-
this.subscribeToSchema();
|
|
11
|
-
}
|
|
12
|
-
subscribeToSchema() {
|
|
13
|
-
this.unsubscribeFromSchema = this.schema.subscribe(() => {
|
|
14
|
-
this.notify();
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
getSnapshot() {
|
|
18
|
-
return this;
|
|
19
|
-
}
|
|
20
|
-
getResult() {
|
|
21
|
-
return this.schema;
|
|
22
|
-
}
|
|
23
|
-
setOptions(options) {
|
|
24
|
-
if (options.schema && options.schema !== this.schema) {
|
|
25
|
-
this.unsubscribeFromSchema?.();
|
|
26
|
-
this.schema = options.schema;
|
|
27
|
-
this.subscribeToSchema();
|
|
28
|
-
this.notify();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
notify() {
|
|
32
|
-
for (const listener of this.listeners) listener(this.schema);
|
|
33
|
-
}
|
|
34
|
-
destroy() {
|
|
35
|
-
this.unsubscribeFromSchema?.();
|
|
36
|
-
this.listeners.clear();
|
|
37
|
-
}
|
|
38
|
-
onSubscribe() {}
|
|
39
|
-
onUnsubscribe() {}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
//#endregion
|
|
43
|
-
exports.MultiStepFormObserver = MultiStepFormObserver;
|
|
44
|
-
//# sourceMappingURL=observable.cjs.map
|
package/dist/observable.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observable.cjs","names":["Subscribable"],"sources":["../src/observable.ts"],"sourcesContent":["import type { MultiStepFormSchema } from './schema';\nimport type {\n ResolvedStep,\n Step,\n StepNumbers\n} from '@/steps/types';\nimport { Subscribable } from './subscribable';\nimport type { CasingType } from '@/utils/casing';\n\nexport type ObserverListener<\n TStep extends Step<TCasing>,\n TResolvedStep extends ResolvedStep<TStep, TCasing>,\n TStepNumbers extends StepNumbers<TResolvedStep>,\n TCasing extends CasingType,\n TStorageKey extends string\n> = (\n schema: MultiStepFormSchema<\n TStep,\n TCasing,\n TResolvedStep,\n TStepNumbers,\n TStorageKey\n >\n) => void;\n\nexport type ObserverOptions<\n TStep extends Step<TCasing>,\n TResolvedStep extends ResolvedStep<TStep, TCasing>,\n TStepNumbers extends StepNumbers<TResolvedStep>,\n TCasing extends CasingType,\n TStorageKey extends string\n> = {\n schema: MultiStepFormSchema<\n TStep,\n TCasing,\n TResolvedStep,\n TStepNumbers,\n TStorageKey\n >;\n};\n\nexport class MultiStepFormObserver<\n step extends Step<casing>,\n resolvedStep extends ResolvedStep<step, casing>,\n stepNumbers extends StepNumbers<resolvedStep>,\n casing extends CasingType,\n storageKey extends string\n> extends Subscribable<\n ObserverListener<step, resolvedStep, stepNumbers, casing, storageKey>\n> {\n protected schema: MultiStepFormSchema<\n step,\n casing,\n resolvedStep,\n stepNumbers,\n storageKey\n >;\n private unsubscribeFromSchema?: () => void;\n\n constructor(\n options: ObserverOptions<\n step,\n resolvedStep,\n stepNumbers,\n casing,\n storageKey\n >\n ) {\n super();\n\n this.schema = options.schema;\n this.subscribeToSchema();\n }\n\n protected subscribeToSchema() {\n this.unsubscribeFromSchema = this.schema.subscribe(() => {\n this.notify();\n });\n }\n\n getSnapshot() {\n return this;\n }\n\n getResult() {\n return this.schema;\n }\n\n setOptions(\n options: Partial<\n ObserverOptions<step, resolvedStep, stepNumbers, casing, storageKey>\n >\n ) {\n if (options.schema && options.schema !== this.schema) {\n this.unsubscribeFromSchema?.();\n this.schema = options.schema;\n this.subscribeToSchema();\n this.notify();\n }\n }\n\n protected notify() {\n for (const listener of this.listeners) {\n listener(this.schema);\n }\n }\n\n destroy() {\n this.unsubscribeFromSchema?.();\n this.listeners.clear();\n }\n\n protected onSubscribe() {}\n\n protected onUnsubscribe() {}\n}\n"],"mappings":";;;AAyCA,IAAa,wBAAb,cAMUA,kCAER;CACA,AAAU;CAOV,AAAQ;CAER,YACE,SAOA;AACA,SAAO;AAEP,OAAK,SAAS,QAAQ;AACtB,OAAK,mBAAmB;;CAG1B,AAAU,oBAAoB;AAC5B,OAAK,wBAAwB,KAAK,OAAO,gBAAgB;AACvD,QAAK,QAAQ;IACb;;CAGJ,cAAc;AACZ,SAAO;;CAGT,YAAY;AACV,SAAO,KAAK;;CAGd,WACE,SAGA;AACA,MAAI,QAAQ,UAAU,QAAQ,WAAW,KAAK,QAAQ;AACpD,QAAK,yBAAyB;AAC9B,QAAK,SAAS,QAAQ;AACtB,QAAK,mBAAmB;AACxB,QAAK,QAAQ;;;CAIjB,AAAU,SAAS;AACjB,OAAK,MAAM,YAAY,KAAK,UAC1B,UAAS,KAAK,OAAO;;CAIzB,UAAU;AACR,OAAK,yBAAyB;AAC9B,OAAK,UAAU,OAAO;;CAGxB,AAAU,cAAc;CAExB,AAAU,gBAAgB"}
|
package/dist/observable.d.cts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CasingType } from "./utils/casing.cjs";
|
|
2
|
-
import { ResolvedStep, Step, StepNumbers } from "./steps/types.cjs";
|
|
3
|
-
import { Subscribable } from "./subscribable.cjs";
|
|
4
|
-
import { MultiStepFormSchema } from "./schema.cjs";
|
|
5
|
-
|
|
6
|
-
//#region src/observable.d.ts
|
|
7
|
-
type ObserverListener<TStep extends Step<TCasing>, TResolvedStep extends ResolvedStep<TStep, TCasing>, TStepNumbers extends StepNumbers<TResolvedStep>, TCasing extends CasingType, TStorageKey extends string> = (schema: MultiStepFormSchema<TStep, TCasing, TResolvedStep, TStepNumbers, TStorageKey>) => void;
|
|
8
|
-
type ObserverOptions<TStep extends Step<TCasing>, TResolvedStep extends ResolvedStep<TStep, TCasing>, TStepNumbers extends StepNumbers<TResolvedStep>, TCasing extends CasingType, TStorageKey extends string> = {
|
|
9
|
-
schema: MultiStepFormSchema<TStep, TCasing, TResolvedStep, TStepNumbers, TStorageKey>;
|
|
10
|
-
};
|
|
11
|
-
declare class MultiStepFormObserver<step extends Step<casing>, resolvedStep extends ResolvedStep<step, casing>, stepNumbers extends StepNumbers<resolvedStep>, casing extends CasingType, storageKey extends string> extends Subscribable<ObserverListener<step, resolvedStep, stepNumbers, casing, storageKey>> {
|
|
12
|
-
protected schema: MultiStepFormSchema<step, casing, resolvedStep, stepNumbers, storageKey>;
|
|
13
|
-
private unsubscribeFromSchema?;
|
|
14
|
-
constructor(options: ObserverOptions<step, resolvedStep, stepNumbers, casing, storageKey>);
|
|
15
|
-
protected subscribeToSchema(): void;
|
|
16
|
-
getSnapshot(): this;
|
|
17
|
-
getResult(): MultiStepFormSchema<step, casing, resolvedStep, stepNumbers, storageKey>;
|
|
18
|
-
setOptions(options: Partial<ObserverOptions<step, resolvedStep, stepNumbers, casing, storageKey>>): void;
|
|
19
|
-
protected notify(): void;
|
|
20
|
-
destroy(): void;
|
|
21
|
-
protected onSubscribe(): void;
|
|
22
|
-
protected onUnsubscribe(): void;
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
export { MultiStepFormObserver, ObserverListener, ObserverOptions };
|
|
26
|
-
//# sourceMappingURL=observable.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.cts","names":[],"sources":["../src/observable.ts"],"sourcesContent":[],"mappings":";;;;;;KASY,+BACI,KAAK,gCACG,aAAa,OAAO,+BACrB,YAAY,gCACjB,mDAGR,oBACN,OACA,SACA,eACA,cACA;KAIQ,8BACI,KAAK,gCACG,aAAa,OAAO,+BACrB,YAAY,gCACjB;EApBN,MAAA,EAuBF,mBAvBkB,CAwBxB,KAxBwB,EAyBxB,OAzBwB,EA0BxB,aA1BwB,EA2BxB,YA3BwB,EA4BxB,WA5BwB,CAAA;CACP;AAAL,cA+BH,qBA/BG,CAAA,aAgCD,IAhCC,CAgCI,MAhCJ,CAAA,EAAA,qBAiCO,YAjCP,CAiCoB,IAjCpB,EAiC0B,MAjC1B,CAAA,EAAA,oBAkCM,WAlCN,CAkCkB,YAlClB,CAAA,EAAA,eAmCC,UAnCD,EAAA,mBAAA,MAAA,CAAA,SAqCN,YArCM,CAsCd,gBAtCc,CAsCG,IAtCH,EAsCS,YAtCT,EAsCuB,WAtCvB,EAsCoC,MAtCpC,EAsC4C,UAtC5C,CAAA,CAAA,CAAA;EACqB,UAAA,MAAA,EAuCjB,mBAvCiB,CAwCjC,IAxCiC,EAyCjC,MAzCiC,EA0CjC,YA1CiC,EA2CjC,WA3CiC,EA4CjC,UA5CiC,CAAA;EAAO,QAAA,qBAAA;EAApB,WAAA,CAAA,OAAA,EAiDX,eAjDW,CAkDlB,IAlDkB,EAmDlB,YAnDkB,EAoDlB,WApDkB,EAqDlB,MArDkB,EAsDlB,UAtDkB,CAAA;EACW,UAAA,iBAAA,CAAA,CAAA,EAAA,IAAA;EAAZ,WAAA,CAAA,CAAA,EAAA,IAAA;EACL,SAAA,CAAA,CAAA,EAuEP,mBAvEO,CAuEP,IAvEO,EAuEP,MAvEO,EAuEP,YAvEO,EAuEP,WAvEO,EAuEP,UAvEO,CAAA;EAId,UAAA,CAAA,OAAA,EAwES,OAxET,CAyEE,eAzEF,CAyEkB,IAzElB,EAyEwB,YAzExB,EAyEsC,WAzEtC,EAyEmD,MAzEnD,EAyE2D,UAzE3D,CAAA,CAAA,CAAA,EAAA,IAAA;EACA,UAAA,MAAA,CAAA,CAAA,EAAA,IAAA;EACA,OAAA,CAAA,CAAA,EAAA,IAAA;EACA,UAAA,WAAA,CAAA,CAAA,EAAA,IAAA;EACA,UAAA,aAAA,CAAA,CAAA,EAAA,IAAA"}
|
package/dist/observable.d.mts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CasingType } from "./utils/casing.mjs";
|
|
2
|
-
import { ResolvedStep, Step, StepNumbers } from "./steps/types.mjs";
|
|
3
|
-
import { Subscribable } from "./subscribable.mjs";
|
|
4
|
-
import { MultiStepFormSchema } from "./schema.mjs";
|
|
5
|
-
|
|
6
|
-
//#region src/observable.d.ts
|
|
7
|
-
type ObserverListener<TStep extends Step<TCasing>, TResolvedStep extends ResolvedStep<TStep, TCasing>, TStepNumbers extends StepNumbers<TResolvedStep>, TCasing extends CasingType, TStorageKey extends string> = (schema: MultiStepFormSchema<TStep, TCasing, TResolvedStep, TStepNumbers, TStorageKey>) => void;
|
|
8
|
-
type ObserverOptions<TStep extends Step<TCasing>, TResolvedStep extends ResolvedStep<TStep, TCasing>, TStepNumbers extends StepNumbers<TResolvedStep>, TCasing extends CasingType, TStorageKey extends string> = {
|
|
9
|
-
schema: MultiStepFormSchema<TStep, TCasing, TResolvedStep, TStepNumbers, TStorageKey>;
|
|
10
|
-
};
|
|
11
|
-
declare class MultiStepFormObserver<step extends Step<casing>, resolvedStep extends ResolvedStep<step, casing>, stepNumbers extends StepNumbers<resolvedStep>, casing extends CasingType, storageKey extends string> extends Subscribable<ObserverListener<step, resolvedStep, stepNumbers, casing, storageKey>> {
|
|
12
|
-
protected schema: MultiStepFormSchema<step, casing, resolvedStep, stepNumbers, storageKey>;
|
|
13
|
-
private unsubscribeFromSchema?;
|
|
14
|
-
constructor(options: ObserverOptions<step, resolvedStep, stepNumbers, casing, storageKey>);
|
|
15
|
-
protected subscribeToSchema(): void;
|
|
16
|
-
getSnapshot(): this;
|
|
17
|
-
getResult(): MultiStepFormSchema<step, casing, resolvedStep, stepNumbers, storageKey>;
|
|
18
|
-
setOptions(options: Partial<ObserverOptions<step, resolvedStep, stepNumbers, casing, storageKey>>): void;
|
|
19
|
-
protected notify(): void;
|
|
20
|
-
destroy(): void;
|
|
21
|
-
protected onSubscribe(): void;
|
|
22
|
-
protected onUnsubscribe(): void;
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
export { MultiStepFormObserver, ObserverListener, ObserverOptions };
|
|
26
|
-
//# sourceMappingURL=observable.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observable.d.mts","names":[],"sources":["../src/observable.ts"],"sourcesContent":[],"mappings":";;;;;;KASY,+BACI,KAAK,gCACG,aAAa,OAAO,+BACrB,YAAY,gCACjB,mDAGR,oBACN,OACA,SACA,eACA,cACA;KAIQ,8BACI,KAAK,gCACG,aAAa,OAAO,+BACrB,YAAY,gCACjB;EApBN,MAAA,EAuBF,mBAvBkB,CAwBxB,KAxBwB,EAyBxB,OAzBwB,EA0BxB,aA1BwB,EA2BxB,YA3BwB,EA4BxB,WA5BwB,CAAA;CACP;AAAL,cA+BH,qBA/BG,CAAA,aAgCD,IAhCC,CAgCI,MAhCJ,CAAA,EAAA,qBAiCO,YAjCP,CAiCoB,IAjCpB,EAiC0B,MAjC1B,CAAA,EAAA,oBAkCM,WAlCN,CAkCkB,YAlClB,CAAA,EAAA,eAmCC,UAnCD,EAAA,mBAAA,MAAA,CAAA,SAqCN,YArCM,CAsCd,gBAtCc,CAsCG,IAtCH,EAsCS,YAtCT,EAsCuB,WAtCvB,EAsCoC,MAtCpC,EAsC4C,UAtC5C,CAAA,CAAA,CAAA;EACqB,UAAA,MAAA,EAuCjB,mBAvCiB,CAwCjC,IAxCiC,EAyCjC,MAzCiC,EA0CjC,YA1CiC,EA2CjC,WA3CiC,EA4CjC,UA5CiC,CAAA;EAAO,QAAA,qBAAA;EAApB,WAAA,CAAA,OAAA,EAiDX,eAjDW,CAkDlB,IAlDkB,EAmDlB,YAnDkB,EAoDlB,WApDkB,EAqDlB,MArDkB,EAsDlB,UAtDkB,CAAA;EACW,UAAA,iBAAA,CAAA,CAAA,EAAA,IAAA;EAAZ,WAAA,CAAA,CAAA,EAAA,IAAA;EACL,SAAA,CAAA,CAAA,EAuEP,mBAvEO,CAuEP,IAvEO,EAuEP,MAvEO,EAuEP,YAvEO,EAuEP,WAvEO,EAuEP,UAvEO,CAAA;EAId,UAAA,CAAA,OAAA,EAwES,OAxET,CAyEE,eAzEF,CAyEkB,IAzElB,EAyEwB,YAzExB,EAyEsC,WAzEtC,EAyEmD,MAzEnD,EAyE2D,UAzE3D,CAAA,CAAA,CAAA,EAAA,IAAA;EACA,UAAA,MAAA,CAAA,CAAA,EAAA,IAAA;EACA,OAAA,CAAA,CAAA,EAAA,IAAA;EACA,UAAA,WAAA,CAAA,CAAA,EAAA,IAAA;EACA,UAAA,aAAA,CAAA,CAAA,EAAA,IAAA"}
|