@goodie-forms/core 1.0.0-alpha → 1.1.0-alpha

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 (52) hide show
  1. package/dist/index.js +757 -646
  2. package/dist/index.js.map +1 -1
  3. package/dist/src/form/CustomValidation.d.ts +10 -0
  4. package/dist/src/form/CustomValidation.d.ts.map +1 -0
  5. package/dist/src/form/Field.d.ts +31 -0
  6. package/dist/src/form/Field.d.ts.map +1 -0
  7. package/dist/src/form/FormController.d.ts +68 -0
  8. package/dist/src/form/FormController.d.ts.map +1 -0
  9. package/dist/{form → src/form}/FormField.d.ts +6 -3
  10. package/dist/src/form/FormField.d.ts.map +1 -0
  11. package/dist/src/form/NonullFormField.d.ts +10 -0
  12. package/dist/src/form/NonullFormField.d.ts.map +1 -0
  13. package/dist/src/index.d.ts +6 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/types/DeepPartial.d.ts +6 -0
  16. package/dist/src/types/DeepPartial.d.ts.map +1 -0
  17. package/dist/src/types/Mixin.d.ts +2 -0
  18. package/dist/src/types/Mixin.d.ts.map +1 -0
  19. package/dist/src/utils/ensureImmerability.d.ts +2 -0
  20. package/dist/src/utils/ensureImmerability.d.ts.map +1 -0
  21. package/dist/src/utils/getId.d.ts.map +1 -0
  22. package/dist/src/utils/removeBy.d.ts.map +1 -0
  23. package/dist/test/test1.d.ts +2 -0
  24. package/dist/test/test1.d.ts.map +1 -0
  25. package/package.json +27 -27
  26. package/src/form/CustomValidation.ts +52 -0
  27. package/src/form/Field.ts +334 -194
  28. package/src/form/FormController.ts +310 -290
  29. package/src/form/FormField.ts +202 -199
  30. package/src/form/NonullFormField.ts +21 -0
  31. package/src/index.ts +5 -3
  32. package/src/types/DeepPartial.ts +7 -3
  33. package/src/types/Mixin.ts +2 -0
  34. package/src/utils/ensureImmerability.ts +30 -0
  35. package/src/utils/getId.ts +5 -5
  36. package/src/utils/removeBy.ts +11 -11
  37. package/test/test1.ts +52 -0
  38. package/tsconfig.json +7 -7
  39. package/vite.config.ts +18 -18
  40. package/dist/form/Field.d.ts +0 -17
  41. package/dist/form/Field.d.ts.map +0 -1
  42. package/dist/form/FormController.d.ts +0 -62
  43. package/dist/form/FormController.d.ts.map +0 -1
  44. package/dist/form/FormField.d.ts.map +0 -1
  45. package/dist/index.d.ts +0 -4
  46. package/dist/index.d.ts.map +0 -1
  47. package/dist/types/DeepPartial.d.ts +0 -4
  48. package/dist/types/DeepPartial.d.ts.map +0 -1
  49. package/dist/utils/getId.d.ts.map +0 -1
  50. package/dist/utils/removeBy.d.ts.map +0 -1
  51. /package/dist/{utils → src/utils}/getId.d.ts +0 -0
  52. /package/dist/{utils → src/utils}/removeBy.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomValidation.d.ts","sourceRoot":"","sources":["../../../src/form/CustomValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,CAAC,MAAM,SAAS,MAAM,IAAI;IACzD,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,MAAM,IAAI,CAC5D,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,KAEvB,IAAI,GACJ,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAC/B,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAEpD,wBAAgB,gBAAgB,CAAC,MAAM,SAAS,MAAM,EACpD,QAAQ,EAAE,wBAAwB,CAAC,MAAM,CAAC,GACzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAiClC"}
@@ -0,0 +1,31 @@
1
+ import { StandardSchemaV1 } from '@standard-schema/spec';
2
+ export declare namespace Field {
3
+ type Unfoldable<T> = T & {
4
+ _____foldMark?: never;
5
+ } & {};
6
+ export type Paths<TShape extends object> = PathsImpl<CanonicalPaths<TShape>>;
7
+ type PathsImpl<T> = T extends string ? T extends `${string}[*]${string}` ? ReplaceAll<T, "[*]", "[0]"> | Unfoldable<ReplaceAll<T, "[*]", `[${number}]`>> : T : never;
8
+ type CanonicalPaths<TShape extends object> = {
9
+ [K in keyof TShape & string]: NonNullable<TShape[K]> extends (...args: any[]) => any ? never : NonNullable<TShape[K]> extends (infer U)[] ? U extends object ? K | `${K}[*]` | `${K}[*].${CanonicalPaths<NonNullable<U>>}` : K | `${K}[*]` : NonNullable<TShape[K]> extends object ? K | `${K}.${CanonicalPaths<NonNullable<TShape[K]>>}` : K;
10
+ }[keyof TShape & string];
11
+ type ReplaceAll<TString extends string, TMatch extends string, TReplace extends string | number> = TString extends `${infer A}${TMatch}${infer B}` ? `${A}${TReplace}${ReplaceAll<B, TMatch, TReplace>}` : TString;
12
+ export type GetValue<TShape, TPath extends string> = GetValueImpl<TShape, NormalizePath<TPath>>;
13
+ type GetValueImpl<TShape, TPath extends string> = TPath extends `${infer Head}.${infer Tail}` ? GetValueImpl<ResolveFragment<NonNullable<TShape>, Head>, Tail> : ResolveFragment<NonNullable<TShape>, TPath>;
14
+ type NormalizePath<TPath extends string> = TPath extends `${infer A}[${infer B}]${infer Rest}` ? NormalizePath<`${A}.${B}${Rest}`> : TPath extends `.${infer R}` ? NormalizePath<R> : TPath;
15
+ type ResolveFragment<TShape, TFragment extends string> = TFragment extends `${number}` ? TShape extends readonly (infer U)[] ? U : never : TFragment extends keyof TShape ? TShape[TFragment] : never;
16
+ export function deepEqual(a: any, b: any, customComparator?: (a: any, b: any) => boolean | undefined): boolean;
17
+ export function diff<T>(prev: readonly T[], next: readonly T[], equals: (a: T, b: T) => boolean, filter?: (a: T) => boolean): {
18
+ added: T[];
19
+ removed: T[];
20
+ unchanged: T[];
21
+ };
22
+ export function parsePathFragments(path: string): (string | number)[];
23
+ export function parsePath(fragments: readonly (PropertyKey | StandardSchemaV1.PathSegment)[]): string;
24
+ export function isDescendant(parentPath: string, childPath: string): boolean;
25
+ export function getValue<TShape extends object, TPath extends Field.Paths<TShape>>(data: TShape, path: TPath): Field.GetValue<TShape, TPath> | undefined;
26
+ export function setValue<TShape extends object, TPath extends Field.Paths<TShape>>(data: TShape, key: TPath, value: Field.GetValue<TShape, TPath>): void;
27
+ export function modifyValue<TShape extends object, TPath extends Field.Paths<TShape>>(data: TShape, path: TPath, modifier: (currentValue: Field.GetValue<TShape, TPath>) => Field.GetValue<TShape, TPath> | void): void;
28
+ export function deleteValue<TShape extends object, TPath extends Field.Paths<TShape>>(data: TShape, path: TPath): void;
29
+ export {};
30
+ }
31
+ //# sourceMappingURL=Field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/form/Field.ts"],"names":[],"mappings":"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"}