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

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.
Files changed (147) hide show
  1. package/dist/_internals.cjs +0 -4
  2. package/dist/_internals.d.cts +2 -3
  3. package/dist/_internals.d.mts +2 -3
  4. package/dist/_internals.mjs +1 -2
  5. package/dist/index.cjs +17 -18
  6. package/dist/index.d.cts +12 -11
  7. package/dist/index.d.mts +12 -11
  8. package/dist/index.mjs +8 -10
  9. package/dist/internals/step-schema.cjs +120 -71
  10. package/dist/internals/step-schema.cjs.map +1 -1
  11. package/dist/internals/step-schema.d.cts +47 -29
  12. package/dist/internals/step-schema.d.cts.map +1 -1
  13. package/dist/internals/step-schema.d.mts +47 -29
  14. package/dist/internals/step-schema.d.mts.map +1 -1
  15. package/dist/internals/step-schema.mjs +120 -71
  16. package/dist/internals/step-schema.mjs.map +1 -1
  17. package/dist/schema.cjs +14 -10
  18. package/dist/schema.cjs.map +1 -1
  19. package/dist/schema.d.cts +11 -13
  20. package/dist/schema.d.cts.map +1 -1
  21. package/dist/schema.d.mts +11 -13
  22. package/dist/schema.d.mts.map +1 -1
  23. package/dist/schema.mjs +14 -10
  24. package/dist/schema.mjs.map +1 -1
  25. package/dist/steps/fields.cjs +95 -0
  26. package/dist/steps/fields.cjs.map +1 -1
  27. package/dist/steps/fields.d.cts +119 -9
  28. package/dist/steps/fields.d.cts.map +1 -1
  29. package/dist/steps/fields.d.mts +119 -9
  30. package/dist/steps/fields.d.mts.map +1 -1
  31. package/dist/steps/fields.mjs +95 -0
  32. package/dist/steps/fields.mjs.map +1 -1
  33. package/dist/steps/fn-utils/helper-fn/index.cjs +81 -0
  34. package/dist/steps/fn-utils/helper-fn/index.cjs.map +1 -0
  35. package/dist/steps/fn-utils/helper-fn/index.d.cts +146 -0
  36. package/dist/steps/fn-utils/helper-fn/index.d.cts.map +1 -0
  37. package/dist/steps/fn-utils/helper-fn/index.d.mts +146 -0
  38. package/dist/steps/fn-utils/helper-fn/index.d.mts.map +1 -0
  39. package/dist/steps/fn-utils/helper-fn/index.mjs +75 -0
  40. package/dist/steps/fn-utils/helper-fn/index.mjs.map +1 -0
  41. package/dist/steps/fn-utils/helper-fn/utils.d.cts +81 -0
  42. package/dist/steps/fn-utils/helper-fn/utils.d.cts.map +1 -0
  43. package/dist/steps/fn-utils/helper-fn/utils.d.mts +81 -0
  44. package/dist/steps/fn-utils/helper-fn/utils.d.mts.map +1 -0
  45. package/dist/steps/fn-utils/index.cjs +1 -0
  46. package/dist/steps/fn-utils/index.mjs +3 -0
  47. package/dist/steps/fn-utils/reset-fn.d.cts +30 -0
  48. package/dist/steps/fn-utils/reset-fn.d.cts.map +1 -0
  49. package/dist/steps/fn-utils/reset-fn.d.mts +30 -0
  50. package/dist/steps/fn-utils/reset-fn.d.mts.map +1 -0
  51. package/dist/steps/fn-utils/update-fn.d.cts +121 -0
  52. package/dist/steps/fn-utils/update-fn.d.cts.map +1 -0
  53. package/dist/steps/fn-utils/update-fn.d.mts +121 -0
  54. package/dist/steps/fn-utils/update-fn.d.mts.map +1 -0
  55. package/dist/steps/index.cjs +4 -2
  56. package/dist/steps/index.mjs +5 -3
  57. package/dist/steps/schema.cjs +61 -84
  58. package/dist/steps/schema.cjs.map +1 -1
  59. package/dist/steps/schema.d.cts +66 -67
  60. package/dist/steps/schema.d.cts.map +1 -1
  61. package/dist/steps/schema.d.mts +66 -67
  62. package/dist/steps/schema.d.mts.map +1 -1
  63. package/dist/steps/schema.mjs +62 -86
  64. package/dist/steps/schema.mjs.map +1 -1
  65. package/dist/steps/steps.cjs +83 -0
  66. package/dist/steps/steps.cjs.map +1 -0
  67. package/dist/steps/steps.d.cts +81 -0
  68. package/dist/steps/steps.d.cts.map +1 -0
  69. package/dist/steps/steps.d.mts +81 -0
  70. package/dist/steps/steps.d.mts.map +1 -0
  71. package/dist/steps/steps.mjs +76 -0
  72. package/dist/steps/steps.mjs.map +1 -0
  73. package/dist/steps/utils.cjs +40 -30
  74. package/dist/steps/utils.cjs.map +1 -1
  75. package/dist/steps/utils.d.cts +8 -5
  76. package/dist/steps/utils.d.cts.map +1 -1
  77. package/dist/steps/utils.d.mts +8 -5
  78. package/dist/steps/utils.d.mts.map +1 -1
  79. package/dist/steps/utils.mjs +40 -31
  80. package/dist/steps/utils.mjs.map +1 -1
  81. package/dist/storage.cjs +1 -1
  82. package/dist/storage.cjs.map +1 -1
  83. package/dist/storage.d.cts +9 -7
  84. package/dist/storage.d.cts.map +1 -1
  85. package/dist/storage.d.mts +9 -7
  86. package/dist/storage.d.mts.map +1 -1
  87. package/dist/storage.mjs +1 -1
  88. package/dist/storage.mjs.map +1 -1
  89. package/dist/utils/casing.cjs +1 -1
  90. package/dist/utils/casing.cjs.map +1 -1
  91. package/dist/utils/casing.d.cts +27 -11
  92. package/dist/utils/casing.d.cts.map +1 -1
  93. package/dist/utils/casing.d.mts +27 -11
  94. package/dist/utils/casing.d.mts.map +1 -1
  95. package/dist/utils/casing.mjs +1 -1
  96. package/dist/utils/casing.mjs.map +1 -1
  97. package/dist/utils/helpers.cjs +8 -0
  98. package/dist/utils/helpers.cjs.map +1 -1
  99. package/dist/utils/helpers.mjs +7 -1
  100. package/dist/utils/helpers.mjs.map +1 -1
  101. package/dist/utils/index.cjs +3 -0
  102. package/dist/utils/index.mjs +5 -0
  103. package/dist/utils/invariant.cjs +28 -8
  104. package/dist/utils/invariant.cjs.map +1 -1
  105. package/dist/utils/invariant.d.cts +12 -2
  106. package/dist/utils/invariant.d.cts.map +1 -1
  107. package/dist/utils/invariant.d.mts +12 -2
  108. package/dist/utils/invariant.d.mts.map +1 -1
  109. package/dist/utils/invariant.mjs +28 -9
  110. package/dist/utils/invariant.mjs.map +1 -1
  111. package/dist/utils/types.d.cts +15 -3
  112. package/dist/utils/types.d.cts.map +1 -1
  113. package/dist/utils/types.d.mts +15 -3
  114. package/dist/utils/types.d.mts.map +1 -1
  115. package/package.json +1 -1
  116. package/dist/internals/utils.cjs +0 -102
  117. package/dist/internals/utils.cjs.map +0 -1
  118. package/dist/internals/utils.d.cts +0 -11
  119. package/dist/internals/utils.d.cts.map +0 -1
  120. package/dist/internals/utils.d.mts +0 -11
  121. package/dist/internals/utils.d.mts.map +0 -1
  122. package/dist/internals/utils.mjs +0 -99
  123. package/dist/internals/utils.mjs.map +0 -1
  124. package/dist/observable.cjs +0 -44
  125. package/dist/observable.cjs.map +0 -1
  126. package/dist/observable.d.cts +0 -26
  127. package/dist/observable.d.cts.map +0 -1
  128. package/dist/observable.d.mts +0 -26
  129. package/dist/observable.d.mts.map +0 -1
  130. package/dist/observable.mjs +0 -44
  131. package/dist/observable.mjs.map +0 -1
  132. package/dist/steps/types.cjs +0 -33
  133. package/dist/steps/types.cjs.map +0 -1
  134. package/dist/steps/types.d.cts +0 -354
  135. package/dist/steps/types.d.cts.map +0 -1
  136. package/dist/steps/types.d.mts +0 -354
  137. package/dist/steps/types.d.mts.map +0 -1
  138. package/dist/steps/types.mjs +0 -27
  139. package/dist/steps/types.mjs.map +0 -1
  140. package/dist/utils/field-types.cjs +0 -97
  141. package/dist/utils/field-types.cjs.map +0 -1
  142. package/dist/utils/field-types.d.cts +0 -52
  143. package/dist/utils/field-types.d.cts.map +0 -1
  144. package/dist/utils/field-types.d.mts +0 -52
  145. package/dist/utils/field-types.d.mts.map +0 -1
  146. package/dist/utils/field-types.mjs +0 -93
  147. package/dist/utils/field-types.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"invariant.cjs","names":[],"sources":["../../src/utils/invariant.ts"],"sourcesContent":["function lazy(strings: TemplateStringsArray, ...values: any[]) {\n return () => String.raw({ raw: strings }, ...values);\n}\n\nexport function invariant<T>(\n condition: T,\n message: string | ((formatter: Intl.ListFormat) => string),\n error: new (message: string) => Error = Error\n): asserts condition {\n if (!condition) {\n const formatter = new Intl.ListFormat('en', {\n style: 'long',\n type: 'conjunction',\n });\n const resolvedMessage =\n typeof message === 'function' ? message(formatter) : lazy`${message}`();\n\n throw new error(resolvedMessage);\n }\n}\n"],"mappings":";;AAAA,SAAS,KAAK,SAA+B,GAAG,QAAe;AAC7D,cAAa,OAAO,IAAI,EAAE,KAAK,SAAS,EAAE,GAAG,OAAO;;AAGtD,SAAgB,UACd,WACA,SACA,QAAwC,OACrB;AACnB,KAAI,CAAC,WAAW;EACd,MAAM,YAAY,IAAI,KAAK,WAAW,MAAM;GAC1C,OAAO;GACP,MAAM;GACP,CAAC;AAIF,QAAM,IAAI,MAFR,OAAO,YAAY,aAAa,QAAQ,UAAU,GAAG,IAAI,GAAG,WAAW,CAEzC"}
1
+ {"version":3,"file":"invariant.cjs","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"}
@@ -1,5 +1,15 @@
1
1
  //#region src/utils/invariant.d.ts
2
- declare function invariant<T>(condition: T, message: string | ((formatter: Intl.ListFormat) => string), error?: new (message: string) => Error): asserts condition;
2
+ type Invariant = <T>(condition: T, message: string | ((formatter: Intl.ListFormat) => string), error?: new (message: string) => Error) => asserts condition;
3
+ /**
4
+ * The default invariant function without a prefix.
5
+ */
6
+ declare const invariant: Invariant;
7
+ /**
8
+ * Creates a new invariant function with a prefix.
9
+ * @param prefix The prefix to add to the message.
10
+ * @returns The invariant function.
11
+ */
12
+ declare function createInvariant(prefix?: string): Invariant;
3
13
  //#endregion
4
- export { invariant };
14
+ export { Invariant, createInvariant, invariant };
5
15
  //# sourceMappingURL=invariant.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invariant.d.cts","names":[],"sources":["../../src/utils/invariant.ts"],"sourcesContent":[],"mappings":";iBAIgB,wBACH,kCACoB,IAAA,CAAK,yDACJ"}
1
+ {"version":3,"file":"invariant.d.cts","names":[],"sources":["../../src/utils/invariant.ts"],"sourcesContent":[],"mappings":";KAAY,SAAA,kBACC,kCACoB,IAAA,CAAK,yDACH;AAHnC;;;AAGmC,cAgBtB,SAhBsB,EAgBX,SAhBW;;AAgBnC;AAOA;;;iBAAgB,eAAA,mBAAkC"}
@@ -1,5 +1,15 @@
1
1
  //#region src/utils/invariant.d.ts
2
- declare function invariant<T>(condition: T, message: string | ((formatter: Intl.ListFormat) => string), error?: new (message: string) => Error): asserts condition;
2
+ type Invariant = <T>(condition: T, message: string | ((formatter: Intl.ListFormat) => string), error?: new (message: string) => Error) => asserts condition;
3
+ /**
4
+ * The default invariant function without a prefix.
5
+ */
6
+ declare const invariant: Invariant;
7
+ /**
8
+ * Creates a new invariant function with a prefix.
9
+ * @param prefix The prefix to add to the message.
10
+ * @returns The invariant function.
11
+ */
12
+ declare function createInvariant(prefix?: string): Invariant;
3
13
  //#endregion
4
- export { invariant };
14
+ export { Invariant, createInvariant, invariant };
5
15
  //# sourceMappingURL=invariant.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invariant.d.mts","names":[],"sources":["../../src/utils/invariant.ts"],"sourcesContent":[],"mappings":";iBAIgB,wBACH,kCACoB,IAAA,CAAK,yDACJ"}
1
+ {"version":3,"file":"invariant.d.mts","names":[],"sources":["../../src/utils/invariant.ts"],"sourcesContent":[],"mappings":";KAAY,SAAA,kBACC,kCACoB,IAAA,CAAK,yDACH;AAHnC;;;AAGmC,cAgBtB,SAhBsB,EAgBX,SAhBW;;AAgBnC;AAOA;;;iBAAgB,eAAA,mBAAkC"}
@@ -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
- function invariant(condition, message, error = Error) {
6
- if (!condition) {
7
- const formatter = new Intl.ListFormat("en", {
8
- style: "long",
9
- type: "conjunction"
10
- });
11
- throw new error(typeof message === "function" ? message(formatter) : lazy`${message}`());
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\nexport function invariant<T>(\n condition: T,\n message: string | ((formatter: Intl.ListFormat) => string),\n error: new (message: string) => Error = Error\n): asserts condition {\n if (!condition) {\n const formatter = new Intl.ListFormat('en', {\n style: 'long',\n type: 'conjunction',\n });\n const resolvedMessage =\n typeof message === 'function' ? message(formatter) : lazy`${message}`();\n\n throw new error(resolvedMessage);\n }\n}\n"],"mappings":";AAAA,SAAS,KAAK,SAA+B,GAAG,QAAe;AAC7D,cAAa,OAAO,IAAI,EAAE,KAAK,SAAS,EAAE,GAAG,OAAO;;AAGtD,SAAgB,UACd,WACA,SACA,QAAwC,OACrB;AACnB,KAAI,CAAC,WAAW;EACd,MAAM,YAAY,IAAI,KAAK,WAAW,MAAM;GAC1C,OAAO;GACP,MAAM;GACP,CAAC;AAIF,QAAM,IAAI,MAFR,OAAO,YAAY,aAAa,QAAQ,UAAU,GAAG,IAAI,GAAG,WAAW,CAEzC"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../src/utils/types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/utils/types.ts"],"sourcesContent":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jfdevelops/multi-step-form-core",
3
- "version": "1.0.0-alpha.23",
3
+ "version": "1.0.0-alpha.25",
4
4
  "description": "",
5
5
  "repository": "https://github.com/jfdevelops/multi-step-form",
6
6
  "type": "module",
@@ -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"}
@@ -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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"}
@@ -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
@@ -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"}