@lucas-barake/effect-form 0.13.0 → 0.15.0

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 (62) hide show
  1. package/dist/cjs/Field.js +0 -67
  2. package/dist/cjs/Field.js.map +1 -1
  3. package/dist/cjs/FormAtoms.js +6 -26
  4. package/dist/cjs/FormAtoms.js.map +1 -1
  5. package/dist/cjs/FormBuilder.js +0 -66
  6. package/dist/cjs/FormBuilder.js.map +1 -1
  7. package/dist/cjs/Mode.js +0 -9
  8. package/dist/cjs/Mode.js.map +1 -1
  9. package/dist/cjs/Path.js +0 -34
  10. package/dist/cjs/Path.js.map +1 -1
  11. package/dist/cjs/Validation.js +0 -30
  12. package/dist/cjs/Validation.js.map +1 -1
  13. package/dist/cjs/internal/dirty.js +0 -16
  14. package/dist/cjs/internal/dirty.js.map +1 -1
  15. package/dist/cjs/internal/weak-registry.js +0 -11
  16. package/dist/cjs/internal/weak-registry.js.map +1 -1
  17. package/dist/dts/Field.d.ts +0 -99
  18. package/dist/dts/Field.d.ts.map +1 -1
  19. package/dist/dts/FormAtoms.d.ts +1 -54
  20. package/dist/dts/FormAtoms.d.ts.map +1 -1
  21. package/dist/dts/FormBuilder.d.ts +3 -152
  22. package/dist/dts/FormBuilder.d.ts.map +1 -1
  23. package/dist/dts/Mode.d.ts +0 -33
  24. package/dist/dts/Mode.d.ts.map +1 -1
  25. package/dist/dts/Path.d.ts +0 -34
  26. package/dist/dts/Path.d.ts.map +1 -1
  27. package/dist/dts/Validation.d.ts +0 -37
  28. package/dist/dts/Validation.d.ts.map +1 -1
  29. package/dist/dts/index.d.ts +17 -19
  30. package/dist/dts/index.d.ts.map +1 -1
  31. package/dist/dts/internal/dirty.d.ts +0 -10
  32. package/dist/dts/internal/dirty.d.ts.map +1 -1
  33. package/dist/dts/internal/weak-registry.d.ts +8 -6
  34. package/dist/dts/internal/weak-registry.d.ts.map +1 -1
  35. package/dist/esm/Field.js +0 -66
  36. package/dist/esm/Field.js.map +1 -1
  37. package/dist/esm/FormAtoms.js +7 -27
  38. package/dist/esm/FormAtoms.js.map +1 -1
  39. package/dist/esm/FormBuilder.js +0 -66
  40. package/dist/esm/FormBuilder.js.map +1 -1
  41. package/dist/esm/Mode.js +0 -8
  42. package/dist/esm/Mode.js.map +1 -1
  43. package/dist/esm/Path.js +0 -34
  44. package/dist/esm/Path.js.map +1 -1
  45. package/dist/esm/Validation.js +0 -29
  46. package/dist/esm/Validation.js.map +1 -1
  47. package/dist/esm/index.js +17 -19
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/internal/dirty.js +0 -15
  50. package/dist/esm/internal/dirty.js.map +1 -1
  51. package/dist/esm/internal/weak-registry.js +0 -11
  52. package/dist/esm/internal/weak-registry.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/Field.ts +0 -99
  55. package/src/FormAtoms.ts +277 -320
  56. package/src/FormBuilder.ts +0 -172
  57. package/src/Mode.ts +0 -33
  58. package/src/Path.ts +0 -35
  59. package/src/Validation.ts +0 -41
  60. package/src/index.ts +22 -19
  61. package/src/internal/dirty.ts +0 -15
  62. package/src/internal/weak-registry.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/Path.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,aAAa,CAAC,WAAW,CAAC,KAAG,MAaxE,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,OACwB,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,KAAG,OAgBpF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,EAAE,MAAM,MAAM,KAAG,OAS3D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,OAAO,OAAO,KAAG,CAkBxE,CAAA"}
1
+ {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/Path.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,GAAI,MAAM,aAAa,CAAC,WAAW,CAAC,KAAG,MAaxE,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,OACwB,CAAA;AAEzF,eAAO,MAAM,mBAAmB,GAAI,aAAa,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,KAAG,OAgBpF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,EAAE,MAAM,MAAM,KAAG,OAS3D,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,OAAO,OAAO,KAAG,CAkBxE,CAAA"}
@@ -1,48 +1,11 @@
1
- /**
2
- * Validation utilities for form error handling.
3
- */
4
1
  import * as Option from "effect/Option";
5
2
  import * as ParseResult from "effect/ParseResult";
6
- /**
7
- * Source of a validation error.
8
- * - 'field': Error from field schema validation (e.g., minLength, pattern)
9
- * - 'refinement': Error from cross-field refinement (e.g., password !== confirm)
10
- *
11
- * @category Models
12
- */
13
3
  export type ErrorSource = "field" | "refinement";
14
- /**
15
- * A validation error entry with its source.
16
- *
17
- * @category Models
18
- */
19
4
  export interface ErrorEntry {
20
5
  readonly message: string;
21
6
  readonly source: ErrorSource;
22
7
  }
23
- /**
24
- * Extracts the first error message from a ParseError.
25
- *
26
- * @category Error Handling
27
- */
28
8
  export declare const extractFirstError: (error: ParseResult.ParseError) => Option.Option<string>;
29
- /**
30
- * Routes validation errors from a ParseError to a map of field paths to error messages.
31
- * Used for cross-field validation where schema errors need to be displayed on specific fields.
32
- *
33
- * @category Error Handling
34
- */
35
9
  export declare const routeErrors: (error: ParseResult.ParseError) => Map<string, string>;
36
- /**
37
- * Routes validation errors with source tracking.
38
- *
39
- * Source determination:
40
- * - `kind: "Predicate"` on composite types → "refinement" (cross-field validation)
41
- * - All other errors → "field" (per-field schema validation)
42
- *
43
- * Empty string key ("") stores root-level errors (refinements without specific paths).
44
- *
45
- * @category Error Handling
46
- */
47
10
  export declare const routeErrorsWithSource: (error: ParseResult.ParseError) => Map<string, ErrorEntry>;
48
11
  //# sourceMappingURL=Validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/Validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAIjD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,YAAY,CAAA;AAEhD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AA8BD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,WAAW,CAAC,UAAU,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAMrF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,CAAC,UAAU,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAY7E,CAAA;AAwDD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,WAAW,CAAC,UAAU,KAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAe3F,CAAA"}
1
+ {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../../src/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAIjD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,YAAY,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AA0BD,eAAO,MAAM,iBAAiB,GAAI,OAAO,WAAW,CAAC,UAAU,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAMrF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,CAAC,UAAU,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAY7E,CAAA;AAwDD,eAAO,MAAM,qBAAqB,GAAI,OAAO,WAAW,CAAC,UAAU,KAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAe3F,CAAA"}
@@ -1,27 +1,25 @@
1
- /**
2
- * Field definitions for type-safe forms.
3
- */
4
1
  export * as Field from "./Field.js";
5
2
  /**
6
- * Atoms for a single field.
7
- *
8
- * @category Models
9
- */
3
+ * Root anchor atom for the form's dependency graph.
4
+ * Mount this atom to keep all form state alive even when field components unmount.
5
+ *
6
+ * Useful for:
7
+ * - Multi-step wizards where steps unmount but state should persist
8
+ * - Conditional fields (toggles) where state should survive visibility changes
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Keep form state alive at wizard root level
13
+ * function Wizard() {
14
+ * useAtomMount(step1Form.mount)
15
+ * useAtomMount(step2Form.mount)
16
+ * return currentStep === 1 ? <Step1 /> : <Step2 />
17
+ * }
18
+ * ```
19
+ */
10
20
  export * as FormAtoms from "./FormAtoms.js";
11
- /**
12
- * @category Models
13
- */
14
21
  export * as FormBuilder from "./FormBuilder.js";
15
- /**
16
- * Form validation mode configuration.
17
- */
18
22
  export * as Mode from "./Mode.js";
19
- /**
20
- * Path utilities for form field operations.
21
- */
22
23
  export * as Path from "./Path.js";
23
- /**
24
- * Validation utilities for form error handling.
25
- */
26
24
  export * as Validation from "./Validation.js";
27
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;;;;;;;;;;;;;;;;KAiBK;AACL,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAG3C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAG/C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAGjC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAGjC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
@@ -1,13 +1,3 @@
1
- /**
2
- * Recalculates dirty fields for an array after mutation.
3
- * Clears all paths under the array and re-evaluates each item.
4
- */
5
1
  export declare const recalculateDirtyFieldsForArray: (dirtyFields: ReadonlySet<string>, initialValues: unknown, arrayPath: string, newItems: ReadonlyArray<unknown>) => ReadonlySet<string>;
6
- /**
7
- * Recalculates dirty fields for a subtree after value change.
8
- * Clears the rootPath and all children, then re-evaluates recursively.
9
- *
10
- * @param rootPath - Empty string for full form, or a specific path for targeted update
11
- */
12
2
  export declare const recalculateDirtySubtree: (currentDirty: ReadonlySet<string>, allInitial: unknown, allValues: unknown, rootPath?: string) => ReadonlySet<string>;
13
3
  //# sourceMappingURL=dirty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dirty.d.ts","sourceRoot":"","sources":["../../../src/internal/dirty.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GACzC,aAAa,WAAW,CAAC,MAAM,CAAC,EAChC,eAAe,OAAO,EACtB,WAAW,MAAM,EACjB,UAAU,aAAa,CAAC,OAAO,CAAC,KAC/B,WAAW,CAAC,MAAM,CAgCpB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,cAAc,WAAW,CAAC,MAAM,CAAC,EACjC,YAAY,OAAO,EACnB,WAAW,OAAO,EAClB,WAAU,MAAW,KACpB,WAAW,CAAC,MAAM,CA0DpB,CAAA"}
1
+ {"version":3,"file":"dirty.d.ts","sourceRoot":"","sources":["../../../src/internal/dirty.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,8BAA8B,GACzC,aAAa,WAAW,CAAC,MAAM,CAAC,EAChC,eAAe,OAAO,EACtB,WAAW,MAAM,EACjB,UAAU,aAAa,CAAC,OAAO,CAAC,KAC/B,WAAW,CAAC,MAAM,CAgCpB,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,cAAc,WAAW,CAAC,MAAM,CAAC,EACjC,YAAY,OAAO,EACnB,WAAW,OAAO,EAClB,WAAU,MAAW,KACpB,WAAW,CAAC,MAAM,CA0DpB,CAAA"}
@@ -1,7 +1,9 @@
1
- /**
2
- * Internal WeakRef-based registry for caching atoms.
3
- *
4
- * @internal
5
- */
6
- export {};
1
+ export interface WeakRegistry<V extends object> {
2
+ readonly get: (key: string) => V | undefined;
3
+ readonly set: (key: string, value: V) => void;
4
+ readonly delete: (key: string) => boolean;
5
+ readonly clear: () => void;
6
+ readonly values: () => IterableIterator<V>;
7
+ }
8
+ export declare const createWeakRegistry: <V extends object>() => WeakRegistry<V>;
7
9
  //# sourceMappingURL=weak-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weak-registry.d.ts","sourceRoot":"","sources":["../../../src/internal/weak-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"weak-registry.d.ts","sourceRoot":"","sources":["../../../src/internal/weak-registry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM;IAC5C,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAC3C;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,OAAK,YAAY,CAAC,CAAC,CAkCrE,CAAA"}
package/dist/esm/Field.js CHANGED
@@ -1,73 +1,17 @@
1
- /**
2
- * Field definitions for type-safe forms.
3
- */
4
1
  import * as Schema from "effect/Schema";
5
- /**
6
- * Unique identifier for Field instances.
7
- *
8
- * @category Symbols
9
- */
10
2
  export const TypeId = /*#__PURE__*/Symbol.for("@lucas-barake/effect-form/Field");
11
- /**
12
- * Checks if a field definition is an array field.
13
- *
14
- * @category Guards
15
- */
16
3
  export const isArrayFieldDef = def => def._tag === "array";
17
- /**
18
- * Checks if a field definition is a scalar field.
19
- *
20
- * @category Guards
21
- */
22
4
  export const isFieldDef = def => def._tag === "field";
23
- /**
24
- * Creates a scalar field definition.
25
- *
26
- * @example
27
- * ```ts
28
- * import * as Field from "@lucas-barake/effect-form/Field"
29
- * import * as Schema from "effect/Schema"
30
- *
31
- * const NameField = Field.makeField("name", Schema.String)
32
- * ```
33
- *
34
- * @category Constructors
35
- */
36
5
  export const makeField = (key, schema) => ({
37
6
  _tag: "field",
38
7
  key,
39
8
  schema
40
9
  });
41
- /**
42
- * Creates an array field definition.
43
- *
44
- * @example
45
- * ```ts
46
- * import * as Field from "@lucas-barake/effect-form/Field"
47
- * import * as Schema from "effect/Schema"
48
- *
49
- * // Array of primitives
50
- * const TagsField = Field.makeArrayField("tags", Schema.String)
51
- *
52
- * // Array of objects
53
- * const ItemsField = Field.makeArrayField("items", Schema.Struct({
54
- * name: Schema.String,
55
- * quantity: Schema.Number
56
- * }))
57
- * ```
58
- *
59
- * @category Constructors
60
- */
61
10
  export const makeArrayField = (key, itemSchema) => ({
62
11
  _tag: "array",
63
12
  key,
64
13
  itemSchema
65
14
  });
66
- /**
67
- * Gets a default encoded value from a schema.
68
- *
69
- * @category Helpers
70
- */
71
15
  export const getDefaultFromSchema = schema => {
72
16
  const ast = schema.ast;
73
17
  switch (ast._tag) {
@@ -96,11 +40,6 @@ export const getDefaultFromSchema = schema => {
96
40
  return "";
97
41
  }
98
42
  };
99
- /**
100
- * Gets default encoded values for a fields record.
101
- *
102
- * @category Helpers
103
- */
104
43
  export const getDefaultEncodedValues = fields => {
105
44
  const result = {};
106
45
  for (const [key, def] of Object.entries(fields)) {
@@ -112,11 +51,6 @@ export const getDefaultEncodedValues = fields => {
112
51
  }
113
52
  return result;
114
53
  };
115
- /**
116
- * Creates a touched record with all fields set to the given value.
117
- *
118
- * @category Helpers
119
- */
120
54
  export const createTouchedRecord = (fields, value) => {
121
55
  const result = {};
122
56
  for (const key of Object.keys(fields)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Field.js","names":["Schema","TypeId","Symbol","for","isArrayFieldDef","def","_tag","isFieldDef","makeField","key","schema","makeArrayField","itemSchema","getDefaultFromSchema","ast","result","prop","propertySignatures","name","make","type","from","f","getDefaultEncodedValues","fields","Object","entries","createTouchedRecord","value","keys"],"sources":["../../src/Field.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC;;;;;AAKA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC;AA2ClF;;;;;AAKA,OAAO,MAAMC,eAAe,GAAIC,GAAgB,IAC9CA,GAAG,CAACC,IAAI,KAAK,OAAO;AAEtB;;;;;AAKA,OAAO,MAAMC,UAAU,GAAIF,GAAgB,IAAiDA,GAAG,CAACC,IAAI,KAAK,OAAO;AAEhH;;;;;;;;;;;;;AAaA,OAAO,MAAME,SAAS,GAAGA,CACvBC,GAAM,EACNC,MAAS,MACW;EACpBJ,IAAI,EAAE,OAAO;EACbG,GAAG;EACHC;CACD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,MAAMC,cAAc,GAAGA,CAC5BF,GAAM,EACNG,UAAa,MACY;EACzBN,IAAI,EAAE,OAAO;EACbG,GAAG;EACHG;CACD,CAAC;AAwBF;;;;;AAKA,OAAO,MAAMC,oBAAoB,GAAIH,MAAyB,IAAa;EACzE,MAAMI,GAAG,GAAGJ,MAAM,CAACI,GAAG;EACtB,QAAQA,GAAG,CAACR,IAAI;IACd,KAAK,eAAe;IACpB,KAAK,iBAAiB;MACpB,OAAO,EAAE;IACX,KAAK,eAAe;MAClB,OAAO,CAAC;IACV,KAAK,gBAAgB;MACnB,OAAO,KAAK;IACd,KAAK,aAAa;MAAE;QAClB,MAAMS,MAAM,GAA4B,EAAE;QAC1C,KAAK,MAAMC,IAAI,IAAIF,GAAG,CAACG,kBAAkB,EAAE;UACzCF,MAAM,CAACC,IAAI,CAACE,IAAc,CAAC,GAAGL,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC;QAC5E;QACA,OAAOL,MAAM;MACf;IACA,KAAK,gBAAgB;MACnB,OAAOF,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACL,GAAG,CAACO,IAAI,CAAC,CAAC;IACpD,KAAK,YAAY;MACf,OAAOR,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACL,GAAG,CAACO,IAAI,CAAC,CAAC;IACpD,KAAK,SAAS;MACZ,OAAOR,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACL,GAAG,CAACQ,CAAC,EAAE,CAAC,CAAC;IACnD;MACE,OAAO,EAAE;EACb;AACF,CAAC;AAED;;;;;AAKA,OAAO,MAAMC,uBAAuB,GAAIC,MAAoB,IAA6B;EACvF,MAAMT,MAAM,GAA4B,EAAE;EAC1C,KAAK,MAAM,CAACN,GAAG,EAAEJ,GAAG,CAAC,IAAIoB,MAAM,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IAC/C,IAAIpB,eAAe,CAACC,GAAG,CAAC,EAAE;MACxBU,MAAM,CAACN,GAAG,CAAC,GAAG,EAAE;IAClB,CAAC,MAAM;MACLM,MAAM,CAACN,GAAG,CAAC,GAAG,EAAE;IAClB;EACF;EACA,OAAOM,MAAM;AACf,CAAC;AAED;;;;;AAKA,OAAO,MAAMY,mBAAmB,GAAGA,CAACH,MAAoB,EAAEI,KAAc,KAA6B;EACnG,MAAMb,MAAM,GAA4B,EAAE;EAC1C,KAAK,MAAMN,GAAG,IAAIgB,MAAM,CAACI,IAAI,CAACL,MAAM,CAAC,EAAE;IACrCT,MAAM,CAACN,GAAG,CAAC,GAAGmB,KAAK;EACrB;EACA,OAAOb,MAAM;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Field.js","names":["Schema","TypeId","Symbol","for","isArrayFieldDef","def","_tag","isFieldDef","makeField","key","schema","makeArrayField","itemSchema","getDefaultFromSchema","ast","result","prop","propertySignatures","name","make","type","from","f","getDefaultEncodedValues","fields","Object","entries","createTouchedRecord","value","keys"],"sources":["../../src/Field.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC;AAoBlF,OAAO,MAAMC,eAAe,GAAIC,GAAgB,IAC9CA,GAAG,CAACC,IAAI,KAAK,OAAO;AAEtB,OAAO,MAAMC,UAAU,GAAIF,GAAgB,IAAiDA,GAAG,CAACC,IAAI,KAAK,OAAO;AAEhH,OAAO,MAAME,SAAS,GAAGA,CACvBC,GAAM,EACNC,MAAS,MACW;EACpBJ,IAAI,EAAE,OAAO;EACbG,GAAG;EACHC;CACD,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAC5BF,GAAM,EACNG,UAAa,MACY;EACzBN,IAAI,EAAE,OAAO;EACbG,GAAG;EACHG;CACD,CAAC;AAcF,OAAO,MAAMC,oBAAoB,GAAIH,MAAyB,IAAa;EACzE,MAAMI,GAAG,GAAGJ,MAAM,CAACI,GAAG;EACtB,QAAQA,GAAG,CAACR,IAAI;IACd,KAAK,eAAe;IACpB,KAAK,iBAAiB;MACpB,OAAO,EAAE;IACX,KAAK,eAAe;MAClB,OAAO,CAAC;IACV,KAAK,gBAAgB;MACnB,OAAO,KAAK;IACd,KAAK,aAAa;MAAE;QAClB,MAAMS,MAAM,GAA4B,EAAE;QAC1C,KAAK,MAAMC,IAAI,IAAIF,GAAG,CAACG,kBAAkB,EAAE;UACzCF,MAAM,CAACC,IAAI,CAACE,IAAc,CAAC,GAAGL,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC;QAC5E;QACA,OAAOL,MAAM;MACf;IACA,KAAK,gBAAgB;MACnB,OAAOF,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACL,GAAG,CAACO,IAAI,CAAC,CAAC;IACpD,KAAK,YAAY;MACf,OAAOR,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACL,GAAG,CAACO,IAAI,CAAC,CAAC;IACpD,KAAK,SAAS;MACZ,OAAOR,oBAAoB,CAACb,MAAM,CAACmB,IAAI,CAACL,GAAG,CAACQ,CAAC,EAAE,CAAC,CAAC;IACnD;MACE,OAAO,EAAE;EACb;AACF,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAIC,MAAoB,IAA6B;EACvF,MAAMT,MAAM,GAA4B,EAAE;EAC1C,KAAK,MAAM,CAACN,GAAG,EAAEJ,GAAG,CAAC,IAAIoB,MAAM,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;IAC/C,IAAIpB,eAAe,CAACC,GAAG,CAAC,EAAE;MACxBU,MAAM,CAACN,GAAG,CAAC,GAAG,EAAE;IAClB,CAAC,MAAM;MACLM,MAAM,CAACN,GAAG,CAAC,GAAG,EAAE;IAClB;EACF;EACA,OAAOM,MAAM;AACf,CAAC;AAED,OAAO,MAAMY,mBAAmB,GAAGA,CAACH,MAAoB,EAAEI,KAAc,KAA6B;EACnG,MAAMb,MAAM,GAA4B,EAAE;EAC1C,KAAK,MAAMN,GAAG,IAAIgB,MAAM,CAACI,IAAI,CAACL,MAAM,CAAC,EAAE;IACrCT,MAAM,CAACN,GAAG,CAAC,GAAGmB,KAAK;EACrB;EACA,OAAOb,MAAM;AACf,CAAC","ignoreList":[]}
@@ -7,33 +7,8 @@ import * as Field from "./Field.js";
7
7
  import * as FormBuilder from "./FormBuilder.js";
8
8
  import { recalculateDirtyFieldsForArray, recalculateDirtySubtree } from "./internal/dirty.js";
9
9
  import { createWeakRegistry } from "./internal/weak-registry.js";
10
- import { getNestedValue, setNestedValue } from "./Path.js";
10
+ import { getNestedValue, isPathOrParentDirty, setNestedValue } from "./Path.js";
11
11
  import * as Validation from "./Validation.js";
12
- /**
13
- * Creates the complete form atoms infrastructure.
14
- *
15
- * @example
16
- * ```ts
17
- * import * as FormAtoms from "@lucas-barake/effect-form/FormAtoms"
18
- * import * as Form from "@lucas-barake/effect-form"
19
- * import * as Atom from "@effect-atom/atom/Atom"
20
- * import * as Layer from "effect/Layer"
21
- *
22
- * const runtime = Atom.runtime(Layer.empty)
23
- *
24
- * const loginForm = FormBuilder.empty
25
- * .addField(FormBuilder.makeField("email", Schema.String))
26
- * .addField(FormBuilder.makeField("password", Schema.String))
27
- *
28
- * const atoms = FormAtoms.make({
29
- * runtime,
30
- * formBuilder: loginForm,
31
- * parsedMode: { validation: "onChange", debounce: 300, autoSubmit: false }
32
- * })
33
- * ```
34
- *
35
- * @category Constructors
36
- */
37
12
  export const make = config => {
38
13
  const {
39
14
  formBuilder,
@@ -109,11 +84,16 @@ export const make = config => {
109
84
  const entry = errors.get(fieldPath);
110
85
  return entry ? Option.some(entry) : Option.none();
111
86
  }).pipe(Atom.setIdleTTL(0));
87
+ const isDirtyAtom = Atom.readable(get => isPathOrParentDirty(Option.match(get(stateAtom), {
88
+ onNone: () => new Set(),
89
+ onSome: state => state.dirtyFields
90
+ }), fieldPath)).pipe(Atom.setIdleTTL(0));
112
91
  const atoms = {
113
92
  valueAtom,
114
93
  initialValueAtom,
115
94
  touchedAtom,
116
- errorAtom
95
+ errorAtom,
96
+ isDirtyAtom
117
97
  };
118
98
  fieldAtomsRegistry.set(fieldPath, atoms);
119
99
  return atoms;
@@ -1 +1 @@
1
- {"version":3,"file":"FormAtoms.js","names":["Atom","Effect","pipe","Option","Schema","Field","FormBuilder","recalculateDirtyFieldsForArray","recalculateDirtySubtree","createWeakRegistry","getNestedValue","setNestedValue","Validation","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","setIdleTTL","errorsAtom","Map","rootErrorAtom","readable","get","errors","entry","some","message","valuesAtom","map","state","values","dirtyFieldsAtom","match","onNone","Set","onSome","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","flatMap","lastSubmittedValues","changedSinceSubmitFieldsAtom","lastSubmitted","encoded","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","fieldAtomsRegistry","publicFieldAtomRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","set","getOrCreateFieldAtoms","valueAtom","writable","getOrThrow","ctx","currentState","operations","setFieldValue","initialValueAtom","initialValues","touchedAtom","touched","errorAtom","atoms","resetValidationAtoms","Reset","clear","submitAtom","args","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrorsWithSource","createSubmitState","submitState","result","onSubmit","isEffect","fieldRefs","Object","fromEntries","keys","key","makeFieldRef","createInitialState","defaultValues","createTouchedRecord","createResetState","newValues","newDirtyFields","setFormValues","setFieldTouched","appendArrayItem","arrayPath","itemSchema","newItem","getDefaultFromSchema","currentItems","newItems","removeArrayItem","index","filter","_","i","swapArrayItems","indexA","indexB","length","temp","moveArrayItem","fromIndex","toIndex","item","splice","revertToLastSubmit","lastEncoded","resetAtom","fnSync","initialValue","undefined","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","getFieldAtom","safeAtom","mountAtom","keepAliveActiveAtom"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormAtoms.js","names":["Atom","Effect","pipe","Option","Schema","Field","FormBuilder","recalculateDirtyFieldsForArray","recalculateDirtySubtree","createWeakRegistry","getNestedValue","isPathOrParentDirty","setNestedValue","Validation","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","setIdleTTL","errorsAtom","Map","rootErrorAtom","readable","get","errors","entry","some","message","valuesAtom","map","state","values","dirtyFieldsAtom","match","onNone","Set","onSome","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","flatMap","lastSubmittedValues","changedSinceSubmitFieldsAtom","lastSubmitted","encoded","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","fieldAtomsRegistry","publicFieldAtomRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","set","getOrCreateFieldAtoms","valueAtom","writable","getOrThrow","ctx","currentState","operations","setFieldValue","initialValueAtom","initialValues","touchedAtom","touched","errorAtom","atoms","resetValidationAtoms","Reset","clear","submitAtom","args","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrorsWithSource","createSubmitState","submitState","result","onSubmit","isEffect","fieldRefs","Object","fromEntries","keys","key","makeFieldRef","createInitialState","defaultValues","createTouchedRecord","createResetState","newValues","newDirtyFields","setFormValues","setFieldTouched","appendArrayItem","arrayPath","itemSchema","newItem","getDefaultFromSchema","currentItems","newItems","removeArrayItem","index","filter","_","i","swapArrayItems","indexA","indexB","length","temp","moveArrayItem","fromIndex","toIndex","item","splice","revertToLastSubmit","lastEncoded","resetAtom","fnSync","initialValue","undefined","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","getFieldAtom","safeAtom","mountAtom","keepAliveActiveAtom"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,32 +1,12 @@
1
1
  import * as Predicate from "effect/Predicate";
2
2
  import * as Schema from "effect/Schema";
3
3
  import { isArrayFieldDef, isFieldDef, makeField } from "./Field.js";
4
- /**
5
- * Unique identifier for Field references.
6
- *
7
- * @category Symbols
8
- * @internal
9
- */
10
4
  export const FieldTypeId = /*#__PURE__*/Symbol.for("@lucas-barake/effect-form/Field");
11
- /**
12
- * Creates a field reference for type-safe setValue operations.
13
- *
14
- * @category Constructors
15
- * @internal
16
- */
17
5
  export const makeFieldRef = key => ({
18
6
  [FieldTypeId]: FieldTypeId,
19
7
  _S: undefined,
20
8
  key
21
9
  });
22
- // ================================
23
- // FormBuilder
24
- // ================================
25
- /**
26
- * Unique identifier for FormBuilder instances.
27
- *
28
- * @category Symbols
29
- */
30
10
  export const TypeId = /*#__PURE__*/Symbol.for("@lucas-barake/effect-form/Form");
31
11
  const FormBuilderProto = {
32
12
  [TypeId]: TypeId,
@@ -68,48 +48,7 @@ const FormBuilderProto = {
68
48
  return newSelf;
69
49
  }
70
50
  };
71
- /**
72
- * Checks if a value is a `FormBuilder`.
73
- *
74
- * @example
75
- * ```ts
76
- * import { FormBuilder } from "@lucas-barake/effect-form"
77
- *
78
- * const builder = FormBuilder.empty
79
- *
80
- * console.log(FormBuilder.isFormBuilder(builder))
81
- * // Output: true
82
- *
83
- * console.log(FormBuilder.isFormBuilder({}))
84
- * // Output: false
85
- * ```
86
- *
87
- * @category Guards
88
- */
89
51
  export const isFormBuilder = u => Predicate.hasProperty(u, TypeId);
90
- /**
91
- * An empty `FormBuilder` to start building a form.
92
- *
93
- * **Details**
94
- *
95
- * This is the entry point for building a form. Use method chaining to add
96
- * fields and then build the form with a React adapter.
97
- *
98
- * @example
99
- * ```ts
100
- * import { Field, FormBuilder } from "@lucas-barake/effect-form"
101
- * import * as Schema from "effect/Schema"
102
- *
103
- * const EmailField = Field.makeField("email", Schema.String)
104
- * const PasswordField = Field.makeField("password", Schema.String)
105
- *
106
- * const loginForm = FormBuilder.empty
107
- * .addField(EmailField)
108
- * .addField(PasswordField)
109
- * ```
110
- *
111
- * @category Constructors
112
- */
113
52
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
114
53
  export const empty = /*#__PURE__*/(() => {
115
54
  const self = /*#__PURE__*/Object.create(FormBuilderProto);
@@ -117,11 +56,6 @@ export const empty = /*#__PURE__*/(() => {
117
56
  self.refinements = [];
118
57
  return self;
119
58
  })();
120
- /**
121
- * Builds a combined Schema from a FormBuilder's field definitions.
122
- *
123
- * @category Schema
124
- */
125
59
  export const buildSchema = self => {
126
60
  const schemaFields = {};
127
61
  for (const [key, def] of Object.entries(self.fields)) {
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.js","names":["Predicate","Schema","isArrayFieldDef","isFieldDef","makeField","FieldTypeId","Symbol","for","makeFieldRef","key","_S","undefined","TypeId","FormBuilderProto","addField","keyOrField","schema","field","newSelf","Object","create","fields","refinements","merge","other","refine","predicate","_tag","fn","values","refineEffect","isFormBuilder","u","hasProperty","empty","self","buildSchema","schemaFields","def","entries","Array","itemSchema","Struct","refinement","pipe","filter","filterEffect"],"sources":["../../src/FormBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormBuilder.js","names":["Predicate","Schema","isArrayFieldDef","isFieldDef","makeField","FieldTypeId","Symbol","for","makeFieldRef","key","_S","undefined","TypeId","FormBuilderProto","addField","keyOrField","schema","field","newSelf","Object","create","fields","refinements","merge","other","refine","predicate","_tag","fn","values","refineEffect","isFormBuilder","u","hasProperty","empty","self","buildSchema","schemaFields","def","entries","Array","itemSchema","Struct","refinement","pipe","filter","filterEffect"],"sources":["../../src/FormBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/Mode.js CHANGED
@@ -1,12 +1,4 @@
1
- /**
2
- * Form validation mode configuration.
3
- */
4
1
  import * as Duration from "effect/Duration";
5
- /**
6
- * Parses a FormMode into a normalized ParsedMode.
7
- *
8
- * @category Parsing
9
- */
10
2
  export const parse = (mode = "onSubmit") => {
11
3
  if (typeof mode === "string") {
12
4
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"Mode.js","names":["Duration","parse","mode","validation","debounce","autoSubmit","debounceMs","toMillis","onChange"],"sources":["../../src/Mode.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AA+C3C;;;;;AAKA,OAAO,MAAMC,KAAK,GAAGA,CAACC,IAAA,GAAiB,UAAU,KAAgB;EAC/D,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAO;MAAEC,UAAU,EAAED,IAAI;MAAEE,QAAQ,EAAE,IAAI;MAAEC,UAAU,EAAE;IAAK,CAAE;EAChE;EACA,IAAI,QAAQ,IAAIH,IAAI,EAAE;IACpB,OAAO;MAAEC,UAAU,EAAE,QAAQ;MAAEC,QAAQ,EAAE,IAAI;MAAEC,UAAU,EAAE;IAAI,CAAE;EACnE;EACA,MAAMC,UAAU,GAAGN,QAAQ,CAACO,QAAQ,CAACL,IAAI,CAACM,QAAQ,CAACJ,QAAQ,CAAC;EAC5D,MAAMC,UAAU,GAAGH,IAAI,CAACM,QAAQ,CAACH,UAAU,KAAK,IAAI;EACpD,OAAO;IAAEF,UAAU,EAAE,UAAU;IAAEC,QAAQ,EAAEE,UAAU;IAAED;EAAU,CAAE;AACrE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Mode.js","names":["Duration","parse","mode","validation","debounce","autoSubmit","debounceMs","toMillis","onChange"],"sources":["../../src/Mode.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAsB3C,OAAO,MAAMC,KAAK,GAAGA,CAACC,IAAA,GAAiB,UAAU,KAAgB;EAC/D,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAO;MAAEC,UAAU,EAAED,IAAI;MAAEE,QAAQ,EAAE,IAAI;MAAEC,UAAU,EAAE;IAAK,CAAE;EAChE;EACA,IAAI,QAAQ,IAAIH,IAAI,EAAE;IACpB,OAAO;MAAEC,UAAU,EAAE,QAAQ;MAAEC,QAAQ,EAAE,IAAI;MAAEC,UAAU,EAAE;IAAI,CAAE;EACnE;EACA,MAAMC,UAAU,GAAGN,QAAQ,CAACO,QAAQ,CAACL,IAAI,CAACM,QAAQ,CAACJ,QAAQ,CAAC;EAC5D,MAAMC,UAAU,GAAGH,IAAI,CAACM,QAAQ,CAACH,UAAU,KAAK,IAAI;EACpD,OAAO;IAAEF,UAAU,EAAE,UAAU;IAAEC,QAAQ,EAAEE,UAAU;IAAED;EAAU,CAAE;AACrE,CAAC","ignoreList":[]}
package/dist/esm/Path.js CHANGED
@@ -1,13 +1,4 @@
1
- /**
2
- * Path utilities for form field operations.
3
- */
4
1
  const BRACKET_NOTATION_REGEX = /\[(\d+)\]/g;
5
- /**
6
- * Converts a schema path array to a dot/bracket notation string.
7
- *
8
- * @example
9
- * schemaPathToFieldPath(["items", 0, "name"]) // "items[0].name"
10
- */
11
2
  export const schemaPathToFieldPath = path => {
12
3
  if (path.length === 0) return "";
13
4
  let result = String(path[0]);
@@ -21,19 +12,7 @@ export const schemaPathToFieldPath = path => {
21
12
  }
22
13
  return result;
23
14
  };
24
- /**
25
- * Checks if a path matches a root path or is a descendant of it.
26
- * Handles both dot notation (root.child) and bracket notation (root[0]).
27
- *
28
- * @example
29
- * isPathUnderRoot("items[0].name", "items[0]") // true
30
- * isPathUnderRoot("items[0].name", "items") // true
31
- * isPathUnderRoot("other", "items") // false
32
- */
33
15
  export const isPathUnderRoot = (path, rootPath) => path === rootPath || path.startsWith(rootPath + ".") || path.startsWith(rootPath + "[");
34
- /**
35
- * Checks if a field path or any of its parent paths are in the dirty set.
36
- */
37
16
  export const isPathOrParentDirty = (dirtyFields, path) => {
38
17
  if (dirtyFields.has(path)) return true;
39
18
  let parent = path;
@@ -47,12 +26,6 @@ export const isPathOrParentDirty = (dirtyFields, path) => {
47
26
  }
48
27
  return false;
49
28
  };
50
- /**
51
- * Gets a nested value from an object using dot/bracket notation path.
52
- *
53
- * @example
54
- * getNestedValue({ items: [{ name: "A" }] }, "items[0].name") // "A"
55
- */
56
29
  export const getNestedValue = (obj, path) => {
57
30
  if (path === "") return obj;
58
31
  const parts = path.replace(BRACKET_NOTATION_REGEX, ".$1").split(".");
@@ -63,13 +36,6 @@ export const getNestedValue = (obj, path) => {
63
36
  }
64
37
  return current;
65
38
  };
66
- /**
67
- * Sets a nested value in an object immutably using dot/bracket notation path.
68
- *
69
- * @example
70
- * setNestedValue({ items: [{ name: "A" }] }, "items[0].name", "B")
71
- * // { items: [{ name: "B" }] }
72
- */
73
39
  export const setNestedValue = (obj, path, value) => {
74
40
  if (path === "") return value;
75
41
  const parts = path.replace(BRACKET_NOTATION_REGEX, ".$1").split(".");
@@ -1 +1 @@
1
- {"version":3,"file":"Path.js","names":["BRACKET_NOTATION_REGEX","schemaPathToFieldPath","path","length","result","String","i","segment","isPathUnderRoot","rootPath","startsWith","isPathOrParentDirty","dirtyFields","has","parent","lastDot","lastIndexOf","lastBracket","splitIndex","Math","max","substring","getNestedValue","obj","parts","replace","split","current","part","undefined","setNestedValue","value","Array","isArray"],"sources":["../../src/Path.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Path.js","names":["BRACKET_NOTATION_REGEX","schemaPathToFieldPath","path","length","result","String","i","segment","isPathUnderRoot","rootPath","startsWith","isPathOrParentDirty","dirtyFields","has","parent","lastDot","lastIndexOf","lastBracket","splitIndex","Math","max","substring","getNestedValue","obj","parts","replace","split","current","part","undefined","setNestedValue","value","Array","isArray"],"sources":["../../src/Path.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}