@lucas-barake/effect-form 0.5.0 → 0.7.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.
@@ -72,6 +72,7 @@ const make = config => {
72
72
  const combinedSchema = FormBuilder.buildSchema(formBuilder);
73
73
  const stateAtom = Atom.make(Option.none()).pipe(Atom.setIdleTTL(0));
74
74
  const crossFieldErrorsAtom = Atom.make(new Map()).pipe(Atom.setIdleTTL(0));
75
+ const valuesAtom = Atom.readable(get => Option.map(get(stateAtom), state => state.values)).pipe(Atom.setIdleTTL(0));
75
76
  const dirtyFieldsAtom = Atom.readable(get => Option.getOrThrow(get(stateAtom)).dirtyFields).pipe(Atom.setIdleTTL(0));
76
77
  const isDirtyAtom = Atom.readable(get => Option.getOrThrow(get(stateAtom)).dirtyFields.size > 0).pipe(Atom.setIdleTTL(0));
77
78
  const submitCountAtom = Atom.readable(get => Option.getOrThrow(get(stateAtom)).submitCount).pipe(Atom.setIdleTTL(0));
@@ -80,13 +81,13 @@ const make = config => {
80
81
  const state = Option.getOrThrow(get(stateAtom));
81
82
  return Option.match(state.lastSubmittedValues, {
82
83
  onNone: () => new Set(),
83
- onSome: lastSubmitted => (0, _dirty.recalculateDirtySubtree)(new Set(), lastSubmitted, state.values, "")
84
+ onSome: lastSubmitted => (0, _dirty.recalculateDirtySubtree)(new Set(), lastSubmitted.encoded, state.values, "")
84
85
  });
85
86
  }).pipe(Atom.setIdleTTL(0));
86
87
  const hasChangedSinceSubmitAtom = Atom.readable(get => {
87
88
  const state = Option.getOrThrow(get(stateAtom));
88
89
  if (Option.isNone(state.lastSubmittedValues)) return false;
89
- if (state.values === state.lastSubmittedValues.value) return false;
90
+ if (state.values === state.lastSubmittedValues.value.encoded) return false;
90
91
  return get(changedSinceSubmitFieldsAtom).size > 0;
91
92
  }).pipe(Atom.setIdleTTL(0));
92
93
  const validationAtomsRegistry = (0, _weakRegistry.createWeakRegistry)();
@@ -103,12 +104,7 @@ const make = config => {
103
104
  if (existing) return existing;
104
105
  const valueAtom = Atom.writable(get => (0, _path.getNestedValue)(Option.getOrThrow(get(stateAtom)).values, fieldPath), (ctx, value) => {
105
106
  const currentState = Option.getOrThrow(ctx.get(stateAtom));
106
- const newValues = (0, _path.setNestedValue)(currentState.values, fieldPath, value);
107
- ctx.set(stateAtom, Option.some({
108
- ...currentState,
109
- values: newValues,
110
- dirtyFields: (0, _dirty.recalculateDirtySubtree)(currentState.dirtyFields, currentState.initialValues, newValues, fieldPath)
111
- }));
107
+ ctx.set(stateAtom, Option.some(operations.setFieldValue(currentState, fieldPath, value)));
112
108
  }).pipe(Atom.setIdleTTL(0));
113
109
  const initialValueAtom = Atom.readable(get => (0, _path.getNestedValue)(Option.getOrThrow(get(stateAtom)).initialValues, fieldPath)).pipe(Atom.setIdleTTL(0));
114
110
  const touchedAtom = Atom.writable(get => (0, _path.getNestedValue)(Option.getOrThrow(get(stateAtom)).touched, fieldPath) ?? false, (ctx, value) => {
@@ -149,7 +145,14 @@ const make = config => {
149
145
  get.set(crossFieldErrorsAtom, routedErrors);
150
146
  get.set(stateAtom, Option.some(operations.createSubmitState(state.value)));
151
147
  })));
152
- get.set(stateAtom, Option.some(operations.createSubmitState(state.value)));
148
+ const submitState = operations.createSubmitState(state.value);
149
+ get.set(stateAtom, Option.some({
150
+ ...submitState,
151
+ lastSubmittedValues: Option.some({
152
+ encoded: values,
153
+ decoded
154
+ })
155
+ }));
153
156
  const result = config.onSubmit(decoded, get);
154
157
  if (Effect.isEffect(result)) {
155
158
  return yield* result;
@@ -176,7 +179,6 @@ const make = config => {
176
179
  }),
177
180
  createSubmitState: state => ({
178
181
  ...state,
179
- lastSubmittedValues: Option.some(state.values),
180
182
  touched: Field.createTouchedRecord(fields, true),
181
183
  submitCount: state.submitCount + 1
182
184
  }),
@@ -253,13 +255,14 @@ const make = config => {
253
255
  if (Option.isNone(state.lastSubmittedValues)) {
254
256
  return state;
255
257
  }
256
- if (state.values === state.lastSubmittedValues.value) {
258
+ const lastEncoded = state.lastSubmittedValues.value.encoded;
259
+ if (state.values === lastEncoded) {
257
260
  return state;
258
261
  }
259
- const newDirtyFields = (0, _dirty.recalculateDirtySubtree)(state.dirtyFields, state.initialValues, state.lastSubmittedValues.value, "");
262
+ const newDirtyFields = (0, _dirty.recalculateDirtySubtree)(state.dirtyFields, state.initialValues, lastEncoded, "");
260
263
  return {
261
264
  ...state,
262
- values: state.lastSubmittedValues.value,
265
+ values: lastEncoded,
263
266
  dirtyFields: newDirtyFields
264
267
  };
265
268
  }
@@ -319,6 +322,7 @@ const make = config => {
319
322
  return {
320
323
  stateAtom,
321
324
  crossFieldErrorsAtom,
325
+ valuesAtom,
322
326
  dirtyFieldsAtom,
323
327
  isDirtyAtom,
324
328
  submitCountAtom,
@@ -1 +1 @@
1
- {"version":3,"file":"FormAtoms.js","names":["Atom","_interopRequireWildcard","require","Effect","_Function","Option","Schema","Field","FormBuilder","_dirty","_path","_weakRegistry","Validation","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","pipe","setIdleTTL","crossFieldErrorsAtom","Map","dirtyFieldsAtom","readable","getOrThrow","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","lastSubmittedValues","changedSinceSubmitFieldsAtom","state","match","onNone","Set","onSome","lastSubmitted","recalculateDirtySubtree","values","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","createWeakRegistry","fieldAtomsRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","getOrCreateFieldAtoms","valueAtom","writable","getNestedValue","ctx","currentState","newValues","setNestedValue","some","initialValues","initialValueAtom","touchedAtom","touched","crossFieldErrorAtom","errors","error","undefined","atoms","resetValidationAtoms","Reset","clear","submitAtom","_void","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrors","operations","createSubmitState","result","onSubmit","isEffect","fieldRefs","fromEntries","keys","map","key","makeFieldRef","createInitialState","defaultValues","createTouchedRecord","createResetState","setFieldValue","newDirtyFields","setFormValues","setFieldTouched","appendArrayItem","arrayPath","itemSchema","newItem","getDefaultFromSchema","currentItems","newItems","recalculateDirtyFieldsForArray","removeArrayItem","index","filter","_","swapArrayItems","indexA","indexB","length","temp","moveArrayItem","fromIndex","toIndex","item","splice","revertToLastSubmit","resetAtom","fnSync","initialValue","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","currentErrors","nextErrors","errorPath","message","isPathUnderRoot","exports"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormAtoms.js","names":["Atom","_interopRequireWildcard","require","Effect","_Function","Option","Schema","Field","FormBuilder","_dirty","_path","_weakRegistry","Validation","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","pipe","setIdleTTL","crossFieldErrorsAtom","Map","valuesAtom","readable","map","state","values","dirtyFieldsAtom","getOrThrow","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","lastSubmittedValues","changedSinceSubmitFieldsAtom","match","onNone","Set","onSome","lastSubmitted","recalculateDirtySubtree","encoded","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","createWeakRegistry","fieldAtomsRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","getOrCreateFieldAtoms","valueAtom","writable","getNestedValue","ctx","currentState","some","operations","setFieldValue","initialValueAtom","initialValues","touchedAtom","touched","setNestedValue","crossFieldErrorAtom","errors","error","undefined","atoms","resetValidationAtoms","Reset","clear","submitAtom","_void","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrors","createSubmitState","submitState","result","onSubmit","isEffect","fieldRefs","fromEntries","keys","key","makeFieldRef","createInitialState","defaultValues","createTouchedRecord","createResetState","newValues","newDirtyFields","setFormValues","setFieldTouched","appendArrayItem","arrayPath","itemSchema","newItem","getDefaultFromSchema","currentItems","newItems","recalculateDirtyFieldsForArray","removeArrayItem","index","filter","_","swapArrayItems","indexA","indexB","length","temp","moveArrayItem","fromIndex","toIndex","item","splice","revertToLastSubmit","lastEncoded","resetAtom","fnSync","initialValue","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","currentErrors","nextErrors","errorPath","message","isPathUnderRoot","exports"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.js","names":["Predicate","_interopRequireWildcard","require","Schema","_Field","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FieldTypeId","exports","Symbol","for","makeFieldRef","key","_S","undefined","TypeId","FormBuilderProto","addField","field","newSelf","create","fields","refinements","merge","other","refine","predicate","_tag","fn","values","refineEffect","isFormBuilder","u","hasProperty","empty","self","buildSchema","schemaFields","def","entries","isArrayFieldDef","Array","itemSchema","isFieldDef","schema","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","_interopRequireWildcard","require","Schema","_Field","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FieldTypeId","exports","Symbol","for","makeFieldRef","key","_S","undefined","TypeId","FormBuilderProto","addField","field","newSelf","create","fields","refinements","merge","other","refine","predicate","_tag","fn","values","refineEffect","isFormBuilder","u","hasProperty","empty","self","buildSchema","schemaFields","def","entries","isArrayFieldDef","Array","itemSchema","isFieldDef","schema","Struct","refinement","pipe","filter","filterEffect"],"sources":["../../src/FormBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -38,13 +38,17 @@ function _interopRequireWildcard(e, t) {
38
38
  * Clears all paths under the array and re-evaluates each item.
39
39
  */
40
40
  const recalculateDirtyFieldsForArray = (dirtyFields, initialValues, arrayPath, newItems) => {
41
- const nextDirty = new Set(Array.from(dirtyFields).filter(path => !(0, _path.isPathUnderRoot)(path, arrayPath)));
42
41
  const initialItems = (0, _path.getNestedValue)(initialValues, arrayPath) ?? [];
42
+ if (newItems === initialItems) {
43
+ return dirtyFields;
44
+ }
45
+ const nextDirty = new Set(Array.from(dirtyFields).filter(path => !(0, _path.isPathUnderRoot)(path, arrayPath)));
43
46
  const loopLength = Math.max(newItems.length, initialItems.length);
44
47
  for (let i = 0; i < loopLength; i++) {
45
48
  const itemPath = `${arrayPath}[${i}]`;
46
49
  const newItem = newItems[i];
47
50
  const initialItem = initialItems[i];
51
+ if (newItem === initialItem) continue;
48
52
  const isEqual = Utils.structuralRegion(() => Equal.equals(newItem, initialItem));
49
53
  if (!isEqual) {
50
54
  nextDirty.add(itemPath);
@@ -65,6 +69,22 @@ const recalculateDirtyFieldsForArray = (dirtyFields, initialValues, arrayPath, n
65
69
  */
66
70
  exports.recalculateDirtyFieldsForArray = recalculateDirtyFieldsForArray;
67
71
  const recalculateDirtySubtree = (currentDirty, allInitial, allValues, rootPath = "") => {
72
+ const targetValue = rootPath ? (0, _path.getNestedValue)(allValues, rootPath) : allValues;
73
+ const targetInitial = rootPath ? (0, _path.getNestedValue)(allInitial, rootPath) : allInitial;
74
+ if (targetValue === targetInitial) {
75
+ if (rootPath === "") {
76
+ return new Set();
77
+ }
78
+ let changed = false;
79
+ const nextDirty = new Set(currentDirty);
80
+ for (const path of currentDirty) {
81
+ if ((0, _path.isPathUnderRoot)(path, rootPath)) {
82
+ nextDirty.delete(path);
83
+ changed = true;
84
+ }
85
+ }
86
+ return changed ? nextDirty : currentDirty;
87
+ }
68
88
  const nextDirty = new Set(currentDirty);
69
89
  if (rootPath === "") {
70
90
  nextDirty.clear();
@@ -75,9 +95,8 @@ const recalculateDirtySubtree = (currentDirty, allInitial, allValues, rootPath =
75
95
  }
76
96
  }
77
97
  }
78
- const targetValue = rootPath ? (0, _path.getNestedValue)(allValues, rootPath) : allValues;
79
- const targetInitial = rootPath ? (0, _path.getNestedValue)(allInitial, rootPath) : allInitial;
80
98
  const recurse = (current, initial, path) => {
99
+ if (current === initial) return;
81
100
  if (Array.isArray(current)) {
82
101
  const initialArr = initial ?? [];
83
102
  for (let i = 0; i < Math.max(current.length, initialArr.length); i++) {
@@ -85,10 +104,14 @@ const recalculateDirtySubtree = (currentDirty, allInitial, allValues, rootPath =
85
104
  }
86
105
  } else if (current !== null && typeof current === "object") {
87
106
  const initialObj = initial ?? {};
88
- const allKeys = new Set([...Object.keys(current), ...Object.keys(initialObj)]);
89
- for (const key of allKeys) {
107
+ for (const key in current) {
90
108
  recurse(current[key], initialObj[key], path ? `${path}.${key}` : key);
91
109
  }
110
+ for (const key in initialObj) {
111
+ if (!(key in current)) {
112
+ recurse(undefined, initialObj[key], path ? `${path}.${key}` : key);
113
+ }
114
+ }
92
115
  } else {
93
116
  const isEqual = Utils.structuralRegion(() => Equal.equals(current, initial));
94
117
  if (!isEqual && path) nextDirty.add(path);
@@ -1 +1 @@
1
- {"version":3,"file":"dirty.js","names":["Equal","_interopRequireWildcard","require","Utils","_path","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","recalculateDirtyFieldsForArray","dirtyFields","initialValues","arrayPath","newItems","nextDirty","Set","Array","from","filter","path","isPathUnderRoot","initialItems","getNestedValue","loopLength","Math","max","length","itemPath","newItem","initialItem","isEqual","structuralRegion","equals","add","delete","exports","recalculateDirtySubtree","currentDirty","allInitial","allValues","rootPath","clear","targetValue","targetInitial","recurse","current","initial","isArray","initialArr","initialObj","allKeys","keys","key"],"sources":["../../../src/internal/dirty.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dirty.js","names":["Equal","_interopRequireWildcard","require","Utils","_path","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","recalculateDirtyFieldsForArray","dirtyFields","initialValues","arrayPath","newItems","initialItems","getNestedValue","nextDirty","Set","Array","from","filter","path","isPathUnderRoot","loopLength","Math","max","length","itemPath","newItem","initialItem","isEqual","structuralRegion","equals","add","delete","exports","recalculateDirtySubtree","currentDirty","allInitial","allValues","rootPath","targetValue","targetInitial","changed","clear","recurse","current","initial","isArray","initialArr","initialObj","key","undefined"],"sources":["../../../src/internal/dirty.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -47,10 +47,11 @@ export type FieldRefs<TFields extends Field.FieldsRecord> = {
47
47
  export interface FormAtoms<TFields extends Field.FieldsRecord, R, A = void, E = never> {
48
48
  readonly stateAtom: Atom.Writable<Option.Option<FormBuilder.FormState<TFields>>, Option.Option<FormBuilder.FormState<TFields>>>;
49
49
  readonly crossFieldErrorsAtom: Atom.Writable<Map<string, string>, Map<string, string>>;
50
+ readonly valuesAtom: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>;
50
51
  readonly dirtyFieldsAtom: Atom.Atom<ReadonlySet<string>>;
51
52
  readonly isDirtyAtom: Atom.Atom<boolean>;
52
53
  readonly submitCountAtom: Atom.Atom<number>;
53
- readonly lastSubmittedValuesAtom: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>;
54
+ readonly lastSubmittedValuesAtom: Atom.Atom<Option.Option<FormBuilder.SubmittedValues<TFields>>>;
54
55
  readonly changedSinceSubmitFieldsAtom: Atom.Atom<ReadonlySet<string>>;
55
56
  readonly hasChangedSinceSubmitAtom: Atom.Atom<boolean>;
56
57
  readonly submitAtom: Atom.AtomResultFn<void, A, E | ParseResult.ParseError>;
@@ -1 +1 @@
1
- {"version":3,"file":"FormAtoms.d.ts","sourceRoot":"","sources":["../../src/FormAtoms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormAtoms.d.ts","sourceRoot":"","sources":["../../src/FormAtoms.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import type * as Registry from "@effect-atom/atom/Registry";
4
5
  import type * as Effect from "effect/Effect";
5
6
  import type * as Option from "effect/Option";
6
7
  import * as Schema from "effect/Schema";
7
8
  import type { ArrayFieldDef, DecodedFromFields, EncodedFromFields, FieldDef, FieldsRecord } from "./Field.js";
9
+ /**
10
+ * @since 1.0.0
11
+ * @category Models
12
+ */
13
+ export interface SubmittedValues<TFields extends FieldsRecord> {
14
+ readonly encoded: EncodedFromFields<TFields>;
15
+ readonly decoded: DecodedFromFields<TFields>;
16
+ }
8
17
  /**
9
18
  * A field reference carrying type and path info for type-safe setValue operations.
10
19
  *
@@ -37,7 +46,7 @@ export type TypeId = typeof TypeId;
37
46
  export interface FormState<TFields extends FieldsRecord> {
38
47
  readonly values: EncodedFromFields<TFields>;
39
48
  readonly initialValues: EncodedFromFields<TFields>;
40
- readonly lastSubmittedValues: Option.Option<EncodedFromFields<TFields>>;
49
+ readonly lastSubmittedValues: Option.Option<SubmittedValues<TFields>>;
41
50
  readonly touched: {
42
51
  readonly [K in keyof TFields]: boolean;
43
52
  };
@@ -141,7 +150,7 @@ export interface FormBuilder<TFields extends FieldsRecord, R> {
141
150
  * )
142
151
  * ```
143
152
  */
144
- refineEffect<RD>(this: FormBuilder<TFields, R>, predicate: (values: DecodedFromFields<TFields>) => Effect.Effect<Schema.FilterOutput, never, RD>): FormBuilder<TFields, R | RD>;
153
+ refineEffect<RD>(this: FormBuilder<TFields, R>, predicate: (values: DecodedFromFields<TFields>) => Effect.Effect<Schema.FilterOutput, never, RD>): FormBuilder<TFields, R | Exclude<RD, Registry.AtomRegistry>>;
145
154
  }
146
155
  /**
147
156
  * Checks if a value is a `FormBuilder`.
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../src/FormBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../src/FormBuilder.ts"],"names":[],"mappings":"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"}
@@ -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,CA0BpB,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,CAoCpB,CAAA"}
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"}
@@ -46,6 +46,7 @@ export const make = config => {
46
46
  const combinedSchema = FormBuilder.buildSchema(formBuilder);
47
47
  const stateAtom = Atom.make(Option.none()).pipe(Atom.setIdleTTL(0));
48
48
  const crossFieldErrorsAtom = Atom.make(new Map()).pipe(Atom.setIdleTTL(0));
49
+ const valuesAtom = Atom.readable(get => Option.map(get(stateAtom), state => state.values)).pipe(Atom.setIdleTTL(0));
49
50
  const dirtyFieldsAtom = Atom.readable(get => Option.getOrThrow(get(stateAtom)).dirtyFields).pipe(Atom.setIdleTTL(0));
50
51
  const isDirtyAtom = Atom.readable(get => Option.getOrThrow(get(stateAtom)).dirtyFields.size > 0).pipe(Atom.setIdleTTL(0));
51
52
  const submitCountAtom = Atom.readable(get => Option.getOrThrow(get(stateAtom)).submitCount).pipe(Atom.setIdleTTL(0));
@@ -54,13 +55,13 @@ export const make = config => {
54
55
  const state = Option.getOrThrow(get(stateAtom));
55
56
  return Option.match(state.lastSubmittedValues, {
56
57
  onNone: () => new Set(),
57
- onSome: lastSubmitted => recalculateDirtySubtree(new Set(), lastSubmitted, state.values, "")
58
+ onSome: lastSubmitted => recalculateDirtySubtree(new Set(), lastSubmitted.encoded, state.values, "")
58
59
  });
59
60
  }).pipe(Atom.setIdleTTL(0));
60
61
  const hasChangedSinceSubmitAtom = Atom.readable(get => {
61
62
  const state = Option.getOrThrow(get(stateAtom));
62
63
  if (Option.isNone(state.lastSubmittedValues)) return false;
63
- if (state.values === state.lastSubmittedValues.value) return false;
64
+ if (state.values === state.lastSubmittedValues.value.encoded) return false;
64
65
  return get(changedSinceSubmitFieldsAtom).size > 0;
65
66
  }).pipe(Atom.setIdleTTL(0));
66
67
  const validationAtomsRegistry = createWeakRegistry();
@@ -77,12 +78,7 @@ export const make = config => {
77
78
  if (existing) return existing;
78
79
  const valueAtom = Atom.writable(get => getNestedValue(Option.getOrThrow(get(stateAtom)).values, fieldPath), (ctx, value) => {
79
80
  const currentState = Option.getOrThrow(ctx.get(stateAtom));
80
- const newValues = setNestedValue(currentState.values, fieldPath, value);
81
- ctx.set(stateAtom, Option.some({
82
- ...currentState,
83
- values: newValues,
84
- dirtyFields: recalculateDirtySubtree(currentState.dirtyFields, currentState.initialValues, newValues, fieldPath)
85
- }));
81
+ ctx.set(stateAtom, Option.some(operations.setFieldValue(currentState, fieldPath, value)));
86
82
  }).pipe(Atom.setIdleTTL(0));
87
83
  const initialValueAtom = Atom.readable(get => getNestedValue(Option.getOrThrow(get(stateAtom)).initialValues, fieldPath)).pipe(Atom.setIdleTTL(0));
88
84
  const touchedAtom = Atom.writable(get => getNestedValue(Option.getOrThrow(get(stateAtom)).touched, fieldPath) ?? false, (ctx, value) => {
@@ -123,7 +119,14 @@ export const make = config => {
123
119
  get.set(crossFieldErrorsAtom, routedErrors);
124
120
  get.set(stateAtom, Option.some(operations.createSubmitState(state.value)));
125
121
  })));
126
- get.set(stateAtom, Option.some(operations.createSubmitState(state.value)));
122
+ const submitState = operations.createSubmitState(state.value);
123
+ get.set(stateAtom, Option.some({
124
+ ...submitState,
125
+ lastSubmittedValues: Option.some({
126
+ encoded: values,
127
+ decoded
128
+ })
129
+ }));
127
130
  const result = config.onSubmit(decoded, get);
128
131
  if (Effect.isEffect(result)) {
129
132
  return yield* result;
@@ -150,7 +153,6 @@ export const make = config => {
150
153
  }),
151
154
  createSubmitState: state => ({
152
155
  ...state,
153
- lastSubmittedValues: Option.some(state.values),
154
156
  touched: Field.createTouchedRecord(fields, true),
155
157
  submitCount: state.submitCount + 1
156
158
  }),
@@ -227,13 +229,14 @@ export const make = config => {
227
229
  if (Option.isNone(state.lastSubmittedValues)) {
228
230
  return state;
229
231
  }
230
- if (state.values === state.lastSubmittedValues.value) {
232
+ const lastEncoded = state.lastSubmittedValues.value.encoded;
233
+ if (state.values === lastEncoded) {
231
234
  return state;
232
235
  }
233
- const newDirtyFields = recalculateDirtySubtree(state.dirtyFields, state.initialValues, state.lastSubmittedValues.value, "");
236
+ const newDirtyFields = recalculateDirtySubtree(state.dirtyFields, state.initialValues, lastEncoded, "");
234
237
  return {
235
238
  ...state,
236
- values: state.lastSubmittedValues.value,
239
+ values: lastEncoded,
237
240
  dirtyFields: newDirtyFields
238
241
  };
239
242
  }
@@ -293,6 +296,7 @@ export const make = config => {
293
296
  return {
294
297
  stateAtom,
295
298
  crossFieldErrorsAtom,
299
+ valuesAtom,
296
300
  dirtyFieldsAtom,
297
301
  isDirtyAtom,
298
302
  submitCountAtom,
@@ -1 +1 @@
1
- {"version":3,"file":"FormAtoms.js","names":["Atom","Effect","pipe","Option","Schema","Field","FormBuilder","recalculateDirtyFieldsForArray","recalculateDirtySubtree","getNestedValue","isPathUnderRoot","setNestedValue","createWeakRegistry","Validation","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","setIdleTTL","crossFieldErrorsAtom","Map","dirtyFieldsAtom","readable","get","getOrThrow","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","lastSubmittedValues","changedSinceSubmitFieldsAtom","state","match","onNone","Set","onSome","lastSubmitted","values","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","fieldAtomsRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","set","getOrCreateFieldAtoms","valueAtom","writable","ctx","currentState","newValues","some","initialValues","initialValueAtom","touchedAtom","touched","crossFieldErrorAtom","errors","error","undefined","atoms","resetValidationAtoms","Reset","clear","submitAtom","_void","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrors","operations","createSubmitState","result","onSubmit","isEffect","fieldRefs","Object","fromEntries","keys","map","key","makeFieldRef","createInitialState","defaultValues","createTouchedRecord","createResetState","setFieldValue","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","resetAtom","fnSync","initialValue","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","currentErrors","nextErrors","errorPath","message"],"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","getNestedValue","isPathUnderRoot","setNestedValue","createWeakRegistry","Validation","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","setIdleTTL","crossFieldErrorsAtom","Map","valuesAtom","readable","get","map","state","values","dirtyFieldsAtom","getOrThrow","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","lastSubmittedValues","changedSinceSubmitFieldsAtom","match","onNone","Set","onSome","lastSubmitted","encoded","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","fieldAtomsRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","set","getOrCreateFieldAtoms","valueAtom","writable","ctx","currentState","some","operations","setFieldValue","initialValueAtom","initialValues","touchedAtom","touched","crossFieldErrorAtom","errors","error","undefined","atoms","resetValidationAtoms","Reset","clear","submitAtom","_void","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrors","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","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","currentErrors","nextErrors","errorPath","message"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,wBAAwB;AAC9C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,YAAY;AACnC,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAC/C,SAASC,8BAA8B,EAAEC,uBAAuB,QAAQ,qBAAqB;AAC7F,SAASC,cAAc,EAAEC,eAAe,EAAEC,cAAc,QAAQ,oBAAoB;AACpF,SAASC,kBAAkB,QAA2B,6BAA6B;AACnF,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAuJ7C;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,MAAMC,IAAI,GACfC,MAAyC,IACV;EAC/B,MAAM;IAAEC,WAAW;IAAEC;EAAO,CAAE,GAAGF,MAAM;EACvC,MAAM;IAAEG;EAAM,CAAE,GAAGF,WAAW;EAE9B,MAAMG,cAAc,GAAGb,WAAW,CAACc,WAAW,CAACJ,WAAW,CAAC;EAE3D,MAAMK,SAAS,GAAGrB,IAAI,CAACc,IAAI,CAACX,MAAM,CAACmB,IAAI,EAAkC,CAAC,CAACpB,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EACnG,MAAMC,oBAAoB,GAAGxB,IAAI,CAACc,IAAI,CAAsB,IAAIW,GAAG,EAAE,CAAC,CAACvB,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EAE/F,MAAMG,UAAU,GAAG1B,IAAI,CAAC2B,QAAQ,CAAEC,GAAG,IAAKzB,MAAM,CAAC0B,GAAG,CAACD,GAAG,CAACP,SAAS,CAAC,EAAGS,KAAK,IAAKA,KAAK,CAACC,MAAM,CAAC,CAAC,CAAC7B,IAAI,CACjGF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CACnB;EAED,MAAMS,eAAe,GAAGhC,IAAI,CAAC2B,QAAQ,CAAEC,GAAG,IAAKzB,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC,CAACa,WAAW,CAAC,CAAChC,IAAI,CAChGF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CACnB;EAED,MAAMY,WAAW,GAAGnC,IAAI,CAAC2B,QAAQ,CAAEC,GAAG,IAAKzB,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC,CAACa,WAAW,CAACE,IAAI,GAAG,CAAC,CAAC,CAAClC,IAAI,CACrGF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CACnB;EAED,MAAMc,eAAe,GAAGrC,IAAI,CAAC2B,QAAQ,CAAEC,GAAG,IAAKzB,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC,CAACiB,WAAW,CAAC,CAACpC,IAAI,CAChGF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CACnB;EAED,MAAMgB,uBAAuB,GAAGvC,IAAI,CAAC2B,QAAQ,CAC1CC,GAAG,IAAKzB,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC,CAACmB,mBAAmB,CAC/D,CAACtC,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EAE1B,MAAMkB,4BAA4B,GAAGzC,IAAI,CAAC2B,QAAQ,CAAEC,GAAG,IAAI;IACzD,MAAME,KAAK,GAAG3B,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC;IAC/C,OAAOlB,MAAM,CAACuC,KAAK,CAACZ,KAAK,CAACU,mBAAmB,EAAE;MAC7CG,MAAM,EAAEA,CAAA,KAAM,IAAIC,GAAG,EAAU;MAC/BC,MAAM,EAAGC,aAAa,IAAKtC,uBAAuB,CAAC,IAAIoC,GAAG,EAAE,EAAEE,aAAa,CAACC,OAAO,EAAEjB,KAAK,CAACC,MAAM,EAAE,EAAE;KACtG,CAAC;EACJ,CAAC,CAAC,CAAC7B,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EAE3B,MAAMyB,yBAAyB,GAAGhD,IAAI,CAAC2B,QAAQ,CAAEC,GAAG,IAAI;IACtD,MAAME,KAAK,GAAG3B,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC;IAC/C,IAAIlB,MAAM,CAAC8C,MAAM,CAACnB,KAAK,CAACU,mBAAmB,CAAC,EAAE,OAAO,KAAK;IAC1D,IAAIV,KAAK,CAACC,MAAM,KAAKD,KAAK,CAACU,mBAAmB,CAACU,KAAK,CAACH,OAAO,EAAE,OAAO,KAAK;IAC1E,OAAOnB,GAAG,CAACa,4BAA4B,CAAC,CAACL,IAAI,GAAG,CAAC;EACnD,CAAC,CAAC,CAAClC,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EAE3B,MAAM4B,uBAAuB,GAAGvC,kBAAkB,EAA4D;EAC9G,MAAMwC,kBAAkB,GAAGxC,kBAAkB,EAAc;EAE3D,MAAMyC,yBAAyB,GAAGA,CAChCC,SAAiB,EACjBC,MAAyB,KACmC;IAC5D,MAAMC,QAAQ,GAAGL,uBAAuB,CAACvB,GAAG,CAAC0B,SAAS,CAAC;IACvD,IAAIE,QAAQ,EAAE,OAAOA,QAAQ;IAE7B,MAAMC,cAAc,GAAGxC,OAAO,CAACyC,EAAE,EAAW,CAAER,KAAc,IAC1DhD,IAAI,CACFE,MAAM,CAACuD,aAAa,CAACJ,MAAM,CAAC,CAACL,KAAK,CAAsD,EACxFjD,MAAM,CAAC2D,MAAM,CACd,CACF,CAAC1D,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAA6D;IAEtF4B,uBAAuB,CAACU,GAAG,CAACP,SAAS,EAAEG,cAAc,CAAC;IACtD,OAAOA,cAAc;EACvB,CAAC;EAED,MAAMK,qBAAqB,GAAIR,SAAiB,IAAgB;IAC9D,MAAME,QAAQ,GAAGJ,kBAAkB,CAACxB,GAAG,CAAC0B,SAAS,CAAC;IAClD,IAAIE,QAAQ,EAAE,OAAOA,QAAQ;IAE7B,MAAMO,SAAS,GAAG/D,IAAI,CAACgE,QAAQ,CAC5BpC,GAAG,IAAKnB,cAAc,CAACN,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC,CAACU,MAAM,EAAEuB,SAAS,CAAC,EAC5E,CAACW,GAAG,EAAEf,KAAK,KAAI;MACb,MAAMgB,YAAY,GAAG/D,MAAM,CAAC8B,UAAU,CAACgC,GAAG,CAACrC,GAAG,CAACP,SAAS,CAAC,CAAC;MAC1D4C,GAAG,CAACJ,GAAG,CAACxC,SAAS,EAAElB,MAAM,CAACgE,IAAI,CAACC,UAAU,CAACC,aAAa,CAACH,YAAY,EAAEZ,SAAS,EAAEJ,KAAK,CAAC,CAAC,CAAC;IAC3F,CAAC,CACF,CAAChD,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAM+C,gBAAgB,GAAGtE,IAAI,CAAC2B,QAAQ,CACnCC,GAAG,IAAKnB,cAAc,CAACN,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC,CAACkD,aAAa,EAAEjB,SAAS,CAAC,CACpF,CAACpD,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAMiD,WAAW,GAAGxE,IAAI,CAACgE,QAAQ,CAC9BpC,GAAG,IAAMnB,cAAc,CAACN,MAAM,CAAC8B,UAAU,CAACL,GAAG,CAACP,SAAS,CAAC,CAAC,CAACoD,OAAO,EAAEnB,SAAS,CAAC,IAAI,KAAiB,EACnG,CAACW,GAAG,EAAEf,KAAK,KAAI;MACb,MAAMgB,YAAY,GAAG/D,MAAM,CAAC8B,UAAU,CAACgC,GAAG,CAACrC,GAAG,CAACP,SAAS,CAAC,CAAC;MAC1D4C,GAAG,CAACJ,GAAG,CACLxC,SAAS,EACTlB,MAAM,CAACgE,IAAI,CAAC;QACV,GAAGD,YAAY;QACfO,OAAO,EAAE9D,cAAc,CAACuD,YAAY,CAACO,OAAO,EAAEnB,SAAS,EAAEJ,KAAK;OAC/D,CAAC,CACH;IACH,CAAC,CACF,CAAChD,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAMmD,mBAAmB,GAAG1E,IAAI,CAAC2B,QAAQ,CAAEC,GAAG,IAAI;MAChD,MAAM+C,MAAM,GAAG/C,GAAG,CAACJ,oBAAoB,CAAC;MACxC,MAAMoD,KAAK,GAAGD,MAAM,CAAC/C,GAAG,CAAC0B,SAAS,CAAC;MACnC,OAAOsB,KAAK,KAAKC,SAAS,GAAG1E,MAAM,CAACgE,IAAI,CAACS,KAAK,CAAC,GAAGzE,MAAM,CAACmB,IAAI,EAAU;IACzE,CAAC,CAAC,CAACpB,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;IAE3B,MAAMuD,KAAK,GAAe;MAAEf,SAAS;MAAEO,gBAAgB;MAAEE,WAAW;MAAEE;IAAmB,CAAE;IAC3FtB,kBAAkB,CAACS,GAAG,CAACP,SAAS,EAAEwB,KAAK,CAAC;IACxC,OAAOA,KAAK;EACd,CAAC;EAED,MAAMC,oBAAoB,GAAId,GAAiE,IAAI;IACjG,KAAK,MAAMR,cAAc,IAAIN,uBAAuB,CAACpB,MAAM,EAAE,EAAE;MAC7DkC,GAAG,CAACJ,GAAG,CAACJ,cAAc,EAAEzD,IAAI,CAACgF,KAAK,CAAC;IACrC;IACA7B,uBAAuB,CAAC8B,KAAK,EAAE;IAC/B7B,kBAAkB,CAAC6B,KAAK,EAAE;EAC5B,CAAC;EAED,MAAMC,UAAU,GAAGjE,OAAO,CAACyC,EAAE,EAAQ,CAAC,CAACyB,KAAK,EAAEvD,GAAG,KAC/C3B,MAAM,CAACmF,GAAG,CAAC,aAAS;IAClB,MAAMtD,KAAK,GAAGF,GAAG,CAACP,SAAS,CAAC;IAC5B,IAAIlB,MAAM,CAAC8C,MAAM,CAACnB,KAAK,CAAC,EAAE,OAAO,OAAO7B,MAAM,CAACoF,GAAG,CAAC,sBAAsB,CAAC;IAC1E,MAAMtD,MAAM,GAAGD,KAAK,CAACoB,KAAK,CAACnB,MAAM;IACjCH,GAAG,CAACiC,GAAG,CAACrC,oBAAoB,EAAE,IAAIC,GAAG,EAAE,CAAC;IACxC,MAAM6D,OAAO,GAAG,OAAOpF,IAAI,CACzBE,MAAM,CAACuD,aAAa,CAACxC,cAAc,CAAC,CAACY,MAAM,CAI1C,EACD9B,MAAM,CAACsF,QAAQ,CAAEC,UAAU,IACzBvF,MAAM,CAACwF,IAAI,CAAC,MAAK;MACf,MAAMC,YAAY,GAAG7E,UAAU,CAAC8E,WAAW,CAACH,UAAU,CAAC;MACvD5D,GAAG,CAACiC,GAAG,CAACrC,oBAAoB,EAAEkE,YAAY,CAAC;MAC3C9D,GAAG,CAACiC,GAAG,CAACxC,SAAS,EAAElB,MAAM,CAACgE,IAAI,CAACC,UAAU,CAACwB,iBAAiB,CAAC9D,KAAK,CAACoB,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CACH,CACF;IACD,MAAM2C,WAAW,GAAGzB,UAAU,CAACwB,iBAAiB,CAAC9D,KAAK,CAACoB,KAAK,CAAC;IAC7DtB,GAAG,CAACiC,GAAG,CACLxC,SAAS,EACTlB,MAAM,CAACgE,IAAI,CAAC;MACV,GAAG0B,WAAW;MACdrD,mBAAmB,EAAErC,MAAM,CAACgE,IAAI,CAAC;QAAEpB,OAAO,EAAEhB,MAAM;QAAEuD;MAAO,CAAE;KAC9D,CAAC,CACH;IACD,MAAMQ,MAAM,GAAG/E,MAAM,CAACgF,QAAQ,CAACT,OAAO,EAAE1D,GAAG,CAAC;IAC5C,IAAI3B,MAAM,CAAC+F,QAAQ,CAACF,MAAM,CAAC,EAAE;MAC3B,OAAO,OAAQA,MAAiC;IAClD;IACA,OAAOA,MAAW;EACpB,CAAC,CAAC,CACH,CAAC5F,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAA2D;EAEpF,MAAM0E,SAAS,GAAGC,MAAM,CAACC,WAAW,CAClCD,MAAM,CAACE,IAAI,CAAClF,MAAM,CAAC,CAACW,GAAG,CAAEwE,GAAG,IAAK,CAACA,GAAG,EAAE/F,WAAW,CAACgG,YAAY,CAACD,GAAG,CAAC,CAAC,CAAC,CACjD;EAEvB,MAAMjC,UAAU,GAA4B;IAC1CmC,kBAAkB,EAAGC,aAAa,KAAM;MACtCzE,MAAM,EAAEyE,aAAa;MACrBjC,aAAa,EAAEiC,aAAa;MAC5BhE,mBAAmB,EAAErC,MAAM,CAACmB,IAAI,EAAE;MAClCmD,OAAO,EAAEpE,KAAK,CAACoG,mBAAmB,CAACvF,MAAM,EAAE,KAAK,CAA+C;MAC/FoB,WAAW,EAAE,CAAC;MACdJ,WAAW,EAAE,IAAIU,GAAG;KACrB,CAAC;IAEF8D,gBAAgB,EAAG5E,KAAK,KAAM;MAC5BC,MAAM,EAAED,KAAK,CAACyC,aAAa;MAC3BA,aAAa,EAAEzC,KAAK,CAACyC,aAAa;MAClC/B,mBAAmB,EAAErC,MAAM,CAACmB,IAAI,EAAE;MAClCmD,OAAO,EAAEpE,KAAK,CAACoG,mBAAmB,CAACvF,MAAM,EAAE,KAAK,CAA+C;MAC/FoB,WAAW,EAAE,CAAC;MACdJ,WAAW,EAAE,IAAIU,GAAG;KACrB,CAAC;IAEFgD,iBAAiB,EAAG9D,KAAK,KAAM;MAC7B,GAAGA,KAAK;MACR2C,OAAO,EAAEpE,KAAK,CAACoG,mBAAmB,CAACvF,MAAM,EAAE,IAAI,CAA+C;MAC9FoB,WAAW,EAAER,KAAK,CAACQ,WAAW,GAAG;KAClC,CAAC;IAEF+B,aAAa,EAAEA,CAACvC,KAAK,EAAEwB,SAAS,EAAEJ,KAAK,KAAI;MACzC,MAAMyD,SAAS,GAAGhG,cAAc,CAACmB,KAAK,CAACC,MAAM,EAAEuB,SAAS,EAAEJ,KAAK,CAAC;MAChE,MAAM0D,cAAc,GAAGpG,uBAAuB,CAC5CsB,KAAK,CAACI,WAAW,EACjBJ,KAAK,CAACyC,aAAa,EACnBoC,SAAS,EACTrD,SAAS,CACV;MACD,OAAO;QACL,GAAGxB,KAAK;QACRC,MAAM,EAAE4E,SAA6C;QACrDzE,WAAW,EAAE0E;OACd;IACH,CAAC;IAEDC,aAAa,EAAEA,CAAC/E,KAAK,EAAEC,MAAM,KAAI;MAC/B,MAAM6E,cAAc,GAAGpG,uBAAuB,CAC5CsB,KAAK,CAACI,WAAW,EACjBJ,KAAK,CAACyC,aAAa,EACnBxC,MAAM,EACN,EAAE,CACH;MACD,OAAO;QACL,GAAGD,KAAK;QACRC,MAAM;QACNG,WAAW,EAAE0E;OACd;IACH,CAAC;IAEDE,eAAe,EAAEA,CAAChF,KAAK,EAAEwB,SAAS,EAAEmB,OAAO,MAAM;MAC/C,GAAG3C,KAAK;MACR2C,OAAO,EAAE9D,cAAc,CAACmB,KAAK,CAAC2C,OAAO,EAAEnB,SAAS,EAAEmB,OAAO;KAC1D,CAAC;IAEFsC,eAAe,EAAEA,CAACjF,KAAK,EAAEkF,SAAS,EAAEC,UAAU,EAAE/D,KAAK,KAAI;MACvD,MAAMgE,OAAO,GAAGhE,KAAK,IAAI7C,KAAK,CAAC8G,oBAAoB,CAACF,UAAU,CAAC;MAC/D,MAAMG,YAAY,GAAI3G,cAAc,CAACqB,KAAK,CAACC,MAAM,EAAEiF,SAAS,CAAC,IAAI,EAA6B;MAC9F,MAAMK,QAAQ,GAAG,CAAC,GAAGD,YAAY,EAAEF,OAAO,CAAC;MAC3C,OAAO;QACL,GAAGpF,KAAK;QACRC,MAAM,EAAEpB,cAAc,CAACmB,KAAK,CAACC,MAAM,EAAEiF,SAAS,EAAEK,QAAQ,CAAqC;QAC7FnF,WAAW,EAAE3B,8BAA8B,CAACuB,KAAK,CAACI,WAAW,EAAEJ,KAAK,CAACyC,aAAa,EAAEyC,SAAS,EAAEK,QAAQ;OACxG;IACH,CAAC;IAEDC,eAAe,EAAEA,CAACxF,KAAK,EAAEkF,SAAS,EAAEO,KAAK,KAAI;MAC3C,MAAMH,YAAY,GAAI3G,cAAc,CAACqB,KAAK,CAACC,MAAM,EAAEiF,SAAS,CAAC,IAAI,EAA6B;MAC9F,MAAMK,QAAQ,GAAGD,YAAY,CAACI,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,KAAKH,KAAK,CAAC;MAC3D,OAAO;QACL,GAAGzF,KAAK;QACRC,MAAM,EAAEpB,cAAc,CAACmB,KAAK,CAACC,MAAM,EAAEiF,SAAS,EAAEK,QAAQ,CAAqC;QAC7FnF,WAAW,EAAE3B,8BAA8B,CAACuB,KAAK,CAACI,WAAW,EAAEJ,KAAK,CAACyC,aAAa,EAAEyC,SAAS,EAAEK,QAAQ;OACxG;IACH,CAAC;IAEDM,cAAc,EAAEA,CAAC7F,KAAK,EAAEkF,SAAS,EAAEY,MAAM,EAAEC,MAAM,KAAI;MACnD,MAAMT,YAAY,GAAI3G,cAAc,CAACqB,KAAK,CAACC,MAAM,EAAEiF,SAAS,CAAC,IAAI,EAA6B;MAC9F,IACEY,MAAM,GAAG,CAAC,IAAIA,MAAM,IAAIR,YAAY,CAACU,MAAM,IAC3CD,MAAM,GAAG,CAAC,IAAIA,MAAM,IAAIT,YAAY,CAACU,MAAM,IAC3CF,MAAM,KAAKC,MAAM,EACjB;QACA,OAAO/F,KAAK;MACd;MACA,MAAMuF,QAAQ,GAAG,CAAC,GAAGD,YAAY,CAAC;MAClC,MAAMW,IAAI,GAAGV,QAAQ,CAACO,MAAM,CAAC;MAC7BP,QAAQ,CAACO,MAAM,CAAC,GAAGP,QAAQ,CAACQ,MAAM,CAAC;MACnCR,QAAQ,CAACQ,MAAM,CAAC,GAAGE,IAAI;MACvB,OAAO;QACL,GAAGjG,KAAK;QACRC,MAAM,EAAEpB,cAAc,CAACmB,KAAK,CAACC,MAAM,EAAEiF,SAAS,EAAEK,QAAQ,CAAqC;QAC7FnF,WAAW,EAAE3B,8BAA8B,CAACuB,KAAK,CAACI,WAAW,EAAEJ,KAAK,CAACyC,aAAa,EAAEyC,SAAS,EAAEK,QAAQ;OACxG;IACH,CAAC;IAEDW,aAAa,EAAEA,CAAClG,KAAK,EAAEkF,SAAS,EAAEiB,SAAS,EAAEC,OAAO,KAAI;MACtD,MAAMd,YAAY,GAAI3G,cAAc,CAACqB,KAAK,CAACC,MAAM,EAAEiF,SAAS,CAAC,IAAI,EAA6B;MAC9F,IACEiB,SAAS,GAAG,CAAC,IAAIA,SAAS,IAAIb,YAAY,CAACU,MAAM,IACjDI,OAAO,GAAG,CAAC,IAAIA,OAAO,GAAGd,YAAY,CAACU,MAAM,IAC5CG,SAAS,KAAKC,OAAO,EACrB;QACA,OAAOpG,KAAK;MACd;MACA,MAAMuF,QAAQ,GAAG,CAAC,GAAGD,YAAY,CAAC;MAClC,MAAM,CAACe,IAAI,CAAC,GAAGd,QAAQ,CAACe,MAAM,CAACH,SAAS,EAAE,CAAC,CAAC;MAC5CZ,QAAQ,CAACe,MAAM,CAACF,OAAO,EAAE,CAAC,EAAEC,IAAI,CAAC;MACjC,OAAO;QACL,GAAGrG,KAAK;QACRC,MAAM,EAAEpB,cAAc,CAACmB,KAAK,CAACC,MAAM,EAAEiF,SAAS,EAAEK,QAAQ,CAAqC;QAC7FnF,WAAW,EAAE3B,8BAA8B,CAACuB,KAAK,CAACI,WAAW,EAAEJ,KAAK,CAACyC,aAAa,EAAEyC,SAAS,EAAEK,QAAQ;OACxG;IACH,CAAC;IAEDgB,kBAAkB,EAAGvG,KAAK,IAAI;MAC5B,IAAI3B,MAAM,CAAC8C,MAAM,CAACnB,KAAK,CAACU,mBAAmB,CAAC,EAAE;QAC5C,OAAOV,KAAK;MACd;MAEA,MAAMwG,WAAW,GAAGxG,KAAK,CAACU,mBAAmB,CAACU,KAAK,CAACH,OAAO;MAC3D,IAAIjB,KAAK,CAACC,MAAM,KAAKuG,WAAW,EAAE;QAChC,OAAOxG,KAAK;MACd;MAEA,MAAM8E,cAAc,GAAGpG,uBAAuB,CAC5CsB,KAAK,CAACI,WAAW,EACjBJ,KAAK,CAACyC,aAAa,EACnB+D,WAAW,EACX,EAAE,CACH;MAED,OAAO;QACL,GAAGxG,KAAK;QACRC,MAAM,EAAEuG,WAAW;QACnBpG,WAAW,EAAE0E;OACd;IACH;GACD;EAED,MAAM2B,SAAS,GAAGvI,IAAI,CAACwI,MAAM,EAAQ,CAAC,CAACf,CAAO,EAAE7F,GAAG,KAAI;IACrD,MAAME,KAAK,GAAGF,GAAG,CAACP,SAAS,CAAC;IAC5B,IAAIlB,MAAM,CAAC8C,MAAM,CAACnB,KAAK,CAAC,EAAE;IAC1BF,GAAG,CAACiC,GAAG,CAACxC,SAAS,EAAElB,MAAM,CAACgE,IAAI,CAACC,UAAU,CAACsC,gBAAgB,CAAC5E,KAAK,CAACoB,KAAK,CAAC,CAAC,CAAC;IACzEtB,GAAG,CAACiC,GAAG,CAACrC,oBAAoB,EAAE,IAAIC,GAAG,EAAE,CAAC;IACxCsD,oBAAoB,CAACnD,GAAG,CAAC;IACzBA,GAAG,CAACiC,GAAG,CAACqB,UAAU,EAAElF,IAAI,CAACgF,KAAK,CAAC;EACjC,CAAC,EAAE;IAAEyD,YAAY,EAAE5D;EAAiB,CAAE,CAAC,CAAC3E,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EAEhE,MAAMmH,sBAAsB,GAAG1I,IAAI,CAACwI,MAAM,EAAQ,CAAC,CAACf,CAAO,EAAE7F,GAAG,KAAI;IAClE,MAAME,KAAK,GAAGF,GAAG,CAACP,SAAS,CAAC;IAC5B,IAAIlB,MAAM,CAAC8C,MAAM,CAACnB,KAAK,CAAC,EAAE;IAC1BF,GAAG,CAACiC,GAAG,CAACxC,SAAS,EAAElB,MAAM,CAACgE,IAAI,CAACC,UAAU,CAACiE,kBAAkB,CAACvG,KAAK,CAACoB,KAAK,CAAC,CAAC,CAAC;IAC3EtB,GAAG,CAACiC,GAAG,CAACrC,oBAAoB,EAAE,IAAIC,GAAG,EAAE,CAAC;EAC1C,CAAC,EAAE;IAAEgH,YAAY,EAAE5D;EAAiB,CAAE,CAAC,CAAC3E,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EAEhE,MAAMoH,aAAa,GAAG3I,IAAI,CAACwI,MAAM,EAAoC,CAAC,CAACI,OAAO,EAAEhH,GAAG,KAAI;IACrF,MAAME,KAAK,GAAGF,GAAG,CAACP,SAAS,CAAC;IAC5B,IAAIlB,MAAM,CAAC8C,MAAM,CAACnB,KAAK,CAAC,EAAE;IAC1BF,GAAG,CAACiC,GAAG,CAACxC,SAAS,EAAElB,MAAM,CAACgE,IAAI,CAACC,UAAU,CAACyC,aAAa,CAAC/E,KAAK,CAACoB,KAAK,EAAE0F,OAAO,CAAC,CAAC,CAAC;IAC/EhH,GAAG,CAACiC,GAAG,CAACrC,oBAAoB,EAAE,IAAIC,GAAG,EAAE,CAAC;EAC1C,CAAC,EAAE;IAAEgH,YAAY,EAAE5D;EAAiB,CAAE,CAAC,CAAC3E,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;EAEhE,MAAMsH,qBAAqB,GAAGjI,kBAAkB,EAA4B;EAE5E,MAAMkI,QAAQ,GAAOC,KAA8B,IAA+C;IAChG,MAAMC,MAAM,GAAGH,qBAAqB,CAACjH,GAAG,CAACmH,KAAK,CAAC1C,GAAG,CAAC;IACnD,IAAI2C,MAAM,EAAE,OAAOA,MAAM;IAEzB,MAAMC,IAAI,GAAGjJ,IAAI,CAACwI,MAAM,EAAwB,CAAC,CAACU,MAAM,EAAEtH,GAAG,KAAI;MAC/D,MAAME,KAAK,GAAGF,GAAG,CAACP,SAAS,CAAC;MAC5B,IAAIlB,MAAM,CAAC8C,MAAM,CAACnB,KAAK,CAAC,EAAE;MAE1B,MAAMqH,YAAY,GAAG1I,cAAc,CAACqB,KAAK,CAACoB,KAAK,CAACnB,MAAM,EAAEgH,KAAK,CAAC1C,GAAG,CAAM;MACvE,MAAM+C,QAAQ,GAAG,OAAOF,MAAM,KAAK,UAAU,GACxCA,MAAyB,CAACC,YAAY,CAAC,GACxCD,MAAM;MAEVtH,GAAG,CAACiC,GAAG,CAACxC,SAAS,EAAElB,MAAM,CAACgE,IAAI,CAACC,UAAU,CAACC,aAAa,CAACvC,KAAK,CAACoB,KAAK,EAAE6F,KAAK,CAAC1C,GAAG,EAAE+C,QAAQ,CAAC,CAAC,CAAC;MAE3F,MAAMC,aAAa,GAAGzH,GAAG,CAACJ,oBAAoB,CAAC;MAC/C,MAAM8H,UAAU,GAAG,IAAI7H,GAAG,EAAkB;MAC5C,KAAK,MAAM,CAAC8H,SAAS,EAAEC,OAAO,CAAC,IAAIH,aAAa,EAAE;QAChD,IAAI,CAAC3I,eAAe,CAAC6I,SAAS,EAAER,KAAK,CAAC1C,GAAG,CAAC,EAAE;UAC1CiD,UAAU,CAACzF,GAAG,CAAC0F,SAAS,EAAEC,OAAO,CAAC;QACpC;MACF;MACA,IAAIF,UAAU,CAAClH,IAAI,KAAKiH,aAAa,CAACjH,IAAI,EAAE;QAC1CR,GAAG,CAACiC,GAAG,CAACrC,oBAAoB,EAAE8H,UAAU,CAAC;MAC3C;IACF,CAAC,EAAE;MAAEb,YAAY,EAAE5D;IAAiB,CAAE,CAAC,CAAC3E,IAAI,CAACF,IAAI,CAACuB,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhEsH,qBAAqB,CAAChF,GAAG,CAACkF,KAAK,CAAC1C,GAAG,EAAE4C,IAAI,CAAC;IAC1C,OAAOA,IAAI;EACb,CAAC;EAED,OAAO;IACL5H,SAAS;IACTG,oBAAoB;IACpBE,UAAU;IACVM,eAAe;IACfG,WAAW;IACXE,eAAe;IACfE,uBAAuB;IACvBE,4BAA4B;IAC5BO,yBAAyB;IACzBkC,UAAU;IACV/D,cAAc;IACd8E,SAAS;IACT9C,uBAAuB;IACvBC,kBAAkB;IAClBC,yBAAyB;IACzBS,qBAAqB;IACrBiB,oBAAoB;IACpBX,UAAU;IACVmE,SAAS;IACTG,sBAAsB;IACtBC,aAAa;IACbG;GAC8B;AAClC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.js","names":["Predicate","Schema","isArrayFieldDef","isFieldDef","FieldTypeId","Symbol","for","makeFieldRef","key","_S","undefined","TypeId","FormBuilderProto","addField","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","schema","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","FieldTypeId","Symbol","for","makeFieldRef","key","_S","undefined","TypeId","FormBuilderProto","addField","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","schema","Struct","refinement","pipe","filter","filterEffect"],"sources":["../../src/FormBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,13 +11,17 @@ import { getNestedValue, isPathUnderRoot } from "./path.js";
11
11
  * Clears all paths under the array and re-evaluates each item.
12
12
  */
13
13
  export const recalculateDirtyFieldsForArray = (dirtyFields, initialValues, arrayPath, newItems) => {
14
- const nextDirty = new Set(Array.from(dirtyFields).filter(path => !isPathUnderRoot(path, arrayPath)));
15
14
  const initialItems = getNestedValue(initialValues, arrayPath) ?? [];
15
+ if (newItems === initialItems) {
16
+ return dirtyFields;
17
+ }
18
+ const nextDirty = new Set(Array.from(dirtyFields).filter(path => !isPathUnderRoot(path, arrayPath)));
16
19
  const loopLength = Math.max(newItems.length, initialItems.length);
17
20
  for (let i = 0; i < loopLength; i++) {
18
21
  const itemPath = `${arrayPath}[${i}]`;
19
22
  const newItem = newItems[i];
20
23
  const initialItem = initialItems[i];
24
+ if (newItem === initialItem) continue;
21
25
  const isEqual = Utils.structuralRegion(() => Equal.equals(newItem, initialItem));
22
26
  if (!isEqual) {
23
27
  nextDirty.add(itemPath);
@@ -37,6 +41,22 @@ export const recalculateDirtyFieldsForArray = (dirtyFields, initialValues, array
37
41
  * @param rootPath - Empty string for full form, or a specific path for targeted update
38
42
  */
39
43
  export const recalculateDirtySubtree = (currentDirty, allInitial, allValues, rootPath = "") => {
44
+ const targetValue = rootPath ? getNestedValue(allValues, rootPath) : allValues;
45
+ const targetInitial = rootPath ? getNestedValue(allInitial, rootPath) : allInitial;
46
+ if (targetValue === targetInitial) {
47
+ if (rootPath === "") {
48
+ return new Set();
49
+ }
50
+ let changed = false;
51
+ const nextDirty = new Set(currentDirty);
52
+ for (const path of currentDirty) {
53
+ if (isPathUnderRoot(path, rootPath)) {
54
+ nextDirty.delete(path);
55
+ changed = true;
56
+ }
57
+ }
58
+ return changed ? nextDirty : currentDirty;
59
+ }
40
60
  const nextDirty = new Set(currentDirty);
41
61
  if (rootPath === "") {
42
62
  nextDirty.clear();
@@ -47,9 +67,8 @@ export const recalculateDirtySubtree = (currentDirty, allInitial, allValues, roo
47
67
  }
48
68
  }
49
69
  }
50
- const targetValue = rootPath ? getNestedValue(allValues, rootPath) : allValues;
51
- const targetInitial = rootPath ? getNestedValue(allInitial, rootPath) : allInitial;
52
70
  const recurse = (current, initial, path) => {
71
+ if (current === initial) return;
53
72
  if (Array.isArray(current)) {
54
73
  const initialArr = initial ?? [];
55
74
  for (let i = 0; i < Math.max(current.length, initialArr.length); i++) {
@@ -57,10 +76,14 @@ export const recalculateDirtySubtree = (currentDirty, allInitial, allValues, roo
57
76
  }
58
77
  } else if (current !== null && typeof current === "object") {
59
78
  const initialObj = initial ?? {};
60
- const allKeys = new Set([...Object.keys(current), ...Object.keys(initialObj)]);
61
- for (const key of allKeys) {
79
+ for (const key in current) {
62
80
  recurse(current[key], initialObj[key], path ? `${path}.${key}` : key);
63
81
  }
82
+ for (const key in initialObj) {
83
+ if (!(key in current)) {
84
+ recurse(undefined, initialObj[key], path ? `${path}.${key}` : key);
85
+ }
86
+ }
64
87
  } else {
65
88
  const isEqual = Utils.structuralRegion(() => Equal.equals(current, initial));
66
89
  if (!isEqual && path) nextDirty.add(path);
@@ -1 +1 @@
1
- {"version":3,"file":"dirty.js","names":["Equal","Utils","getNestedValue","isPathUnderRoot","recalculateDirtyFieldsForArray","dirtyFields","initialValues","arrayPath","newItems","nextDirty","Set","Array","from","filter","path","initialItems","loopLength","Math","max","length","i","itemPath","newItem","initialItem","isEqual","structuralRegion","equals","add","delete","recalculateDirtySubtree","currentDirty","allInitial","allValues","rootPath","clear","targetValue","targetInitial","recurse","current","initial","isArray","initialArr","initialObj","allKeys","Object","keys","key"],"sources":["../../../src/internal/dirty.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dirty.js","names":["Equal","Utils","getNestedValue","isPathUnderRoot","recalculateDirtyFieldsForArray","dirtyFields","initialValues","arrayPath","newItems","initialItems","nextDirty","Set","Array","from","filter","path","loopLength","Math","max","length","i","itemPath","newItem","initialItem","isEqual","structuralRegion","equals","add","delete","recalculateDirtySubtree","currentDirty","allInitial","allValues","rootPath","targetValue","targetInitial","changed","clear","recurse","current","initial","isArray","initialArr","initialObj","key","undefined"],"sources":["../../../src/internal/dirty.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucas-barake/effect-form",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Type-safe form builder powered by Effect Schema",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/FormAtoms.ts CHANGED
@@ -62,10 +62,11 @@ export interface FormAtoms<TFields extends Field.FieldsRecord, R, A = void, E =
62
62
  Option.Option<FormBuilder.FormState<TFields>>
63
63
  >
64
64
  readonly crossFieldErrorsAtom: Atom.Writable<Map<string, string>, Map<string, string>>
65
+ readonly valuesAtom: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>
65
66
  readonly dirtyFieldsAtom: Atom.Atom<ReadonlySet<string>>
66
67
  readonly isDirtyAtom: Atom.Atom<boolean>
67
68
  readonly submitCountAtom: Atom.Atom<number>
68
- readonly lastSubmittedValuesAtom: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>
69
+ readonly lastSubmittedValuesAtom: Atom.Atom<Option.Option<FormBuilder.SubmittedValues<TFields>>>
69
70
  readonly changedSinceSubmitFieldsAtom: Atom.Atom<ReadonlySet<string>>
70
71
  readonly hasChangedSinceSubmitAtom: Atom.Atom<boolean>
71
72
 
@@ -196,6 +197,10 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E>(
196
197
  const stateAtom = Atom.make(Option.none<FormBuilder.FormState<TFields>>()).pipe(Atom.setIdleTTL(0))
197
198
  const crossFieldErrorsAtom = Atom.make<Map<string, string>>(new Map()).pipe(Atom.setIdleTTL(0))
198
199
 
200
+ const valuesAtom = Atom.readable((get) => Option.map(get(stateAtom), (state) => state.values)).pipe(
201
+ Atom.setIdleTTL(0),
202
+ )
203
+
199
204
  const dirtyFieldsAtom = Atom.readable((get) => Option.getOrThrow(get(stateAtom)).dirtyFields).pipe(
200
205
  Atom.setIdleTTL(0),
201
206
  )
@@ -216,14 +221,14 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E>(
216
221
  const state = Option.getOrThrow(get(stateAtom))
217
222
  return Option.match(state.lastSubmittedValues, {
218
223
  onNone: () => new Set<string>(),
219
- onSome: (lastSubmitted) => recalculateDirtySubtree(new Set(), lastSubmitted, state.values, ""),
224
+ onSome: (lastSubmitted) => recalculateDirtySubtree(new Set(), lastSubmitted.encoded, state.values, ""),
220
225
  })
221
226
  }).pipe(Atom.setIdleTTL(0))
222
227
 
223
228
  const hasChangedSinceSubmitAtom = Atom.readable((get) => {
224
229
  const state = Option.getOrThrow(get(stateAtom))
225
230
  if (Option.isNone(state.lastSubmittedValues)) return false
226
- if (state.values === state.lastSubmittedValues.value) return false
231
+ if (state.values === state.lastSubmittedValues.value.encoded) return false
227
232
  return get(changedSinceSubmitFieldsAtom).size > 0
228
233
  }).pipe(Atom.setIdleTTL(0))
229
234
 
@@ -256,20 +261,7 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E>(
256
261
  (get) => getNestedValue(Option.getOrThrow(get(stateAtom)).values, fieldPath),
257
262
  (ctx, value) => {
258
263
  const currentState = Option.getOrThrow(ctx.get(stateAtom))
259
- const newValues = setNestedValue(currentState.values, fieldPath, value)
260
- ctx.set(
261
- stateAtom,
262
- Option.some({
263
- ...currentState,
264
- values: newValues,
265
- dirtyFields: recalculateDirtySubtree(
266
- currentState.dirtyFields,
267
- currentState.initialValues,
268
- newValues,
269
- fieldPath,
270
- ),
271
- }),
272
- )
264
+ ctx.set(stateAtom, Option.some(operations.setFieldValue(currentState, fieldPath, value)))
273
265
  },
274
266
  ).pipe(Atom.setIdleTTL(0))
275
267
 
@@ -330,7 +322,14 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E>(
330
322
  })
331
323
  ),
332
324
  )
333
- get.set(stateAtom, Option.some(operations.createSubmitState(state.value)))
325
+ const submitState = operations.createSubmitState(state.value)
326
+ get.set(
327
+ stateAtom,
328
+ Option.some({
329
+ ...submitState,
330
+ lastSubmittedValues: Option.some({ encoded: values, decoded }),
331
+ }),
332
+ )
334
333
  const result = config.onSubmit(decoded, get)
335
334
  if (Effect.isEffect(result)) {
336
335
  return yield* (result as Effect.Effect<A, E, R>)
@@ -364,7 +363,6 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E>(
364
363
 
365
364
  createSubmitState: (state) => ({
366
365
  ...state,
367
- lastSubmittedValues: Option.some(state.values),
368
366
  touched: Field.createTouchedRecord(fields, true) as { readonly [K in keyof TFields]: boolean },
369
367
  submitCount: state.submitCount + 1,
370
368
  }),
@@ -468,20 +466,21 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E>(
468
466
  return state
469
467
  }
470
468
 
471
- if (state.values === state.lastSubmittedValues.value) {
469
+ const lastEncoded = state.lastSubmittedValues.value.encoded
470
+ if (state.values === lastEncoded) {
472
471
  return state
473
472
  }
474
473
 
475
474
  const newDirtyFields = recalculateDirtySubtree(
476
475
  state.dirtyFields,
477
476
  state.initialValues,
478
- state.lastSubmittedValues.value,
477
+ lastEncoded,
479
478
  "",
480
479
  )
481
480
 
482
481
  return {
483
482
  ...state,
484
- values: state.lastSubmittedValues.value,
483
+ values: lastEncoded,
485
484
  dirtyFields: newDirtyFields,
486
485
  }
487
486
  },
@@ -546,6 +545,7 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E>(
546
545
  return {
547
546
  stateAtom,
548
547
  crossFieldErrorsAtom,
548
+ valuesAtom,
549
549
  dirtyFieldsAtom,
550
550
  isDirtyAtom,
551
551
  submitCountAtom,
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import type * as Registry from "@effect-atom/atom/Registry"
4
5
  import type * as Effect from "effect/Effect"
5
6
  import type * as Option from "effect/Option"
6
7
  import * as Predicate from "effect/Predicate"
@@ -16,6 +17,15 @@ import type {
16
17
  } from "./Field.js"
17
18
  import { isArrayFieldDef, isFieldDef } from "./Field.js"
18
19
 
20
+ /**
21
+ * @since 1.0.0
22
+ * @category Models
23
+ */
24
+ export interface SubmittedValues<TFields extends FieldsRecord> {
25
+ readonly encoded: EncodedFromFields<TFields>
26
+ readonly decoded: DecodedFromFields<TFields>
27
+ }
28
+
19
29
  /**
20
30
  * Unique identifier for Field references.
21
31
  *
@@ -84,7 +94,7 @@ export type TypeId = typeof TypeId
84
94
  export interface FormState<TFields extends FieldsRecord> {
85
95
  readonly values: EncodedFromFields<TFields>
86
96
  readonly initialValues: EncodedFromFields<TFields>
87
- readonly lastSubmittedValues: Option.Option<EncodedFromFields<TFields>>
97
+ readonly lastSubmittedValues: Option.Option<SubmittedValues<TFields>>
88
98
  readonly touched: { readonly [K in keyof TFields]: boolean }
89
99
  readonly submitCount: number
90
100
  readonly dirtyFields: ReadonlySet<string>
@@ -206,7 +216,7 @@ export interface FormBuilder<TFields extends FieldsRecord, R> {
206
216
  refineEffect<RD>(
207
217
  this: FormBuilder<TFields, R>,
208
218
  predicate: (values: DecodedFromFields<TFields>) => Effect.Effect<Schema.FilterOutput, never, RD>,
209
- ): FormBuilder<TFields, R | RD>
219
+ ): FormBuilder<TFields, R | Exclude<RD, Registry.AtomRegistry>>
210
220
  }
211
221
 
212
222
  const FormBuilderProto = {
@@ -244,7 +254,7 @@ const FormBuilderProto = {
244
254
  refineEffect<TFields extends FieldsRecord, R, RD>(
245
255
  this: FormBuilder<TFields, R>,
246
256
  predicate: (values: DecodedFromFields<TFields>) => Effect.Effect<Schema.FilterOutput, never, RD>,
247
- ): FormBuilder<TFields, R | RD> {
257
+ ): FormBuilder<TFields, R | Exclude<RD, Registry.AtomRegistry>> {
248
258
  const newSelf = Object.create(FormBuilderProto)
249
259
  newSelf.fields = this.fields
250
260
  newSelf.refinements = [
@@ -17,18 +17,24 @@ export const recalculateDirtyFieldsForArray = (
17
17
  arrayPath: string,
18
18
  newItems: ReadonlyArray<unknown>,
19
19
  ): ReadonlySet<string> => {
20
+ const initialItems = (getNestedValue(initialValues, arrayPath) ?? []) as ReadonlyArray<unknown>
21
+
22
+ if (newItems === initialItems) {
23
+ return dirtyFields
24
+ }
25
+
20
26
  const nextDirty = new Set(
21
27
  Array.from(dirtyFields).filter((path) => !isPathUnderRoot(path, arrayPath)),
22
28
  )
23
29
 
24
- const initialItems = (getNestedValue(initialValues, arrayPath) ?? []) as ReadonlyArray<unknown>
25
-
26
30
  const loopLength = Math.max(newItems.length, initialItems.length)
27
31
  for (let i = 0; i < loopLength; i++) {
28
32
  const itemPath = `${arrayPath}[${i}]`
29
33
  const newItem = newItems[i]
30
34
  const initialItem = initialItems[i]
31
35
 
36
+ if (newItem === initialItem) continue
37
+
32
38
  const isEqual = Utils.structuralRegion(() => Equal.equals(newItem, initialItem))
33
39
  if (!isEqual) {
34
40
  nextDirty.add(itemPath)
@@ -56,6 +62,25 @@ export const recalculateDirtySubtree = (
56
62
  allValues: unknown,
57
63
  rootPath: string = "",
58
64
  ): ReadonlySet<string> => {
65
+ const targetValue = rootPath ? getNestedValue(allValues, rootPath) : allValues
66
+ const targetInitial = rootPath ? getNestedValue(allInitial, rootPath) : allInitial
67
+
68
+ if (targetValue === targetInitial) {
69
+ if (rootPath === "") {
70
+ return new Set()
71
+ }
72
+
73
+ let changed = false
74
+ const nextDirty = new Set(currentDirty)
75
+ for (const path of currentDirty) {
76
+ if (isPathUnderRoot(path, rootPath)) {
77
+ nextDirty.delete(path)
78
+ changed = true
79
+ }
80
+ }
81
+ return changed ? nextDirty : currentDirty
82
+ }
83
+
59
84
  const nextDirty = new Set(currentDirty)
60
85
 
61
86
  if (rootPath === "") {
@@ -68,10 +93,9 @@ export const recalculateDirtySubtree = (
68
93
  }
69
94
  }
70
95
 
71
- const targetValue = rootPath ? getNestedValue(allValues, rootPath) : allValues
72
- const targetInitial = rootPath ? getNestedValue(allInitial, rootPath) : allInitial
73
-
74
96
  const recurse = (current: unknown, initial: unknown, path: string): void => {
97
+ if (current === initial) return
98
+
75
99
  if (Array.isArray(current)) {
76
100
  const initialArr = (initial ?? []) as ReadonlyArray<unknown>
77
101
  for (let i = 0; i < Math.max(current.length, initialArr.length); i++) {
@@ -79,10 +103,14 @@ export const recalculateDirtySubtree = (
79
103
  }
80
104
  } else if (current !== null && typeof current === "object") {
81
105
  const initialObj = (initial ?? {}) as Record<string, unknown>
82
- const allKeys = new Set([...Object.keys(current as object), ...Object.keys(initialObj)])
83
- for (const key of allKeys) {
106
+ for (const key in current as object) {
84
107
  recurse((current as Record<string, unknown>)[key], initialObj[key], path ? `${path}.${key}` : key)
85
108
  }
109
+ for (const key in initialObj) {
110
+ if (!(key in (current as object))) {
111
+ recurse(undefined, initialObj[key], path ? `${path}.${key}` : key)
112
+ }
113
+ }
86
114
  } else {
87
115
  const isEqual = Utils.structuralRegion(() => Equal.equals(current, initial))
88
116
  if (!isEqual && path) nextDirty.add(path)