@lucas-barake/effect-form 0.14.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.
@@ -110,11 +110,16 @@ const make = config => {
110
110
  const entry = errors.get(fieldPath);
111
111
  return entry ? Option.some(entry) : Option.none();
112
112
  }).pipe(Atom.setIdleTTL(0));
113
+ const isDirtyAtom = Atom.readable(get => (0, _Path.isPathOrParentDirty)(Option.match(get(stateAtom), {
114
+ onNone: () => new Set(),
115
+ onSome: state => state.dirtyFields
116
+ }), fieldPath)).pipe(Atom.setIdleTTL(0));
113
117
  const atoms = {
114
118
  valueAtom,
115
119
  initialValueAtom,
116
120
  touchedAtom,
117
- errorAtom
121
+ errorAtom,
122
+ isDirtyAtom
118
123
  };
119
124
  fieldAtomsRegistry.set(fieldPath, atoms);
120
125
  return atoms;
@@ -1 +1 @@
1
- {"version":3,"file":"FormAtoms.js","names":["Atom","_interopRequireWildcard","require","Effect","_Function","Option","Schema","Field","FormBuilder","_dirty","_weakRegistry","_Path","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","errorsAtom","Map","rootErrorAtom","readable","errors","entry","some","message","valuesAtom","map","state","values","dirtyFieldsAtom","match","onNone","Set","onSome","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","flatMap","lastSubmittedValues","changedSinceSubmitFieldsAtom","lastSubmitted","recalculateDirtySubtree","encoded","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","createWeakRegistry","fieldAtomsRegistry","publicFieldAtomRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","getOrCreateFieldAtoms","valueAtom","writable","getNestedValue","getOrThrow","ctx","currentState","operations","setFieldValue","initialValueAtom","initialValues","touchedAtom","touched","setNestedValue","errorAtom","atoms","resetValidationAtoms","Reset","clear","submitAtom","args","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrorsWithSource","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","undefined","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","getFieldAtom","safeAtom","mountAtom","keepAliveActiveAtom","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","_weakRegistry","_Path","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","errorsAtom","Map","rootErrorAtom","readable","errors","entry","some","message","valuesAtom","map","state","values","dirtyFieldsAtom","match","onNone","Set","onSome","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","flatMap","lastSubmittedValues","changedSinceSubmitFieldsAtom","lastSubmitted","recalculateDirtySubtree","encoded","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","createWeakRegistry","fieldAtomsRegistry","publicFieldAtomRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","getOrCreateFieldAtoms","valueAtom","writable","getNestedValue","getOrThrow","ctx","currentState","operations","setFieldValue","initialValueAtom","initialValues","touchedAtom","touched","setNestedValue","errorAtom","isPathOrParentDirty","atoms","resetValidationAtoms","Reset","clear","submitAtom","args","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrorsWithSource","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","undefined","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","getFieldAtom","safeAtom","mountAtom","keepAliveActiveAtom","exports"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,7 @@ export interface FieldAtoms {
12
12
  readonly initialValueAtom: Atom.Atom<unknown>;
13
13
  readonly touchedAtom: Atom.Writable<boolean, boolean>;
14
14
  readonly errorAtom: Atom.Atom<Option.Option<Validation.ErrorEntry>>;
15
+ readonly isDirtyAtom: Atom.Atom<boolean>;
15
16
  }
16
17
  export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = void> {
17
18
  readonly runtime: Atom.AtomRuntime<R, any>;
@@ -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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"}
@@ -7,7 +7,7 @@ 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
12
  export const make = config => {
13
13
  const {
@@ -84,11 +84,16 @@ export const make = config => {
84
84
  const entry = errors.get(fieldPath);
85
85
  return entry ? Option.some(entry) : Option.none();
86
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));
87
91
  const atoms = {
88
92
  valueAtom,
89
93
  initialValueAtom,
90
94
  touchedAtom,
91
- errorAtom
95
+ errorAtom,
96
+ isDirtyAtom
92
97
  };
93
98
  fieldAtomsRegistry.set(fieldPath, atoms);
94
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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucas-barake/effect-form",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "Type-safe form builder powered by Effect Schema",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/FormAtoms.ts CHANGED
@@ -1,85 +1,86 @@
1
- import * as Atom from "@effect-atom/atom/Atom"
2
- import * as Effect from "effect/Effect"
3
- import { pipe } from "effect/Function"
4
- import * as Option from "effect/Option"
5
- import type * as ParseResult from "effect/ParseResult"
6
- import * as Schema from "effect/Schema"
7
- import * as Field from "./Field.js"
8
- import * as FormBuilder from "./FormBuilder.js"
9
- import { recalculateDirtyFieldsForArray, recalculateDirtySubtree } from "./internal/dirty.js"
10
- import { createWeakRegistry, type WeakRegistry } from "./internal/weak-registry.js"
11
- import { getNestedValue, setNestedValue } from "./Path.js"
12
- import * as Validation from "./Validation.js"
1
+ import * as Atom from "@effect-atom/atom/Atom";
2
+ import * as Effect from "effect/Effect";
3
+ import { pipe } from "effect/Function";
4
+ import * as Option from "effect/Option";
5
+ import type * as ParseResult from "effect/ParseResult";
6
+ import * as Schema from "effect/Schema";
7
+ import * as Field from "./Field.js";
8
+ import * as FormBuilder from "./FormBuilder.js";
9
+ import { recalculateDirtyFieldsForArray, recalculateDirtySubtree } from "./internal/dirty.js";
10
+ import { createWeakRegistry, type WeakRegistry } from "./internal/weak-registry.js";
11
+ import { getNestedValue, isPathOrParentDirty, setNestedValue } from "./Path.js";
12
+ import * as Validation from "./Validation.js";
13
13
 
14
14
  export interface FieldAtoms {
15
- readonly valueAtom: Atom.Writable<unknown, unknown>
16
- readonly initialValueAtom: Atom.Atom<unknown>
17
- readonly touchedAtom: Atom.Writable<boolean, boolean>
18
- readonly errorAtom: Atom.Atom<Option.Option<Validation.ErrorEntry>>
15
+ readonly valueAtom: Atom.Writable<unknown, unknown>;
16
+ readonly initialValueAtom: Atom.Atom<unknown>;
17
+ readonly touchedAtom: Atom.Writable<boolean, boolean>;
18
+ readonly errorAtom: Atom.Atom<Option.Option<Validation.ErrorEntry>>;
19
+ readonly isDirtyAtom: Atom.Atom<boolean>;
19
20
  }
20
21
 
21
22
  export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = void> {
22
- readonly runtime: Atom.AtomRuntime<R, any>
23
- readonly formBuilder: FormBuilder.FormBuilder<TFields, R>
23
+ readonly runtime: Atom.AtomRuntime<R, any>;
24
+ readonly formBuilder: FormBuilder.FormBuilder<TFields, R>;
24
25
  readonly onSubmit: (
25
26
  args: SubmitArgs,
26
27
  ctx: {
27
- readonly decoded: Field.DecodedFromFields<TFields>
28
- readonly encoded: Field.EncodedFromFields<TFields>
29
- readonly get: Atom.FnContext
28
+ readonly decoded: Field.DecodedFromFields<TFields>;
29
+ readonly encoded: Field.EncodedFromFields<TFields>;
30
+ readonly get: Atom.FnContext;
30
31
  },
31
- ) => A | Effect.Effect<A, E, R>
32
+ ) => A | Effect.Effect<A, E, R>;
32
33
  }
33
34
 
34
35
  export type FieldRefs<TFields extends Field.FieldsRecord> = {
35
- readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ?
36
- FormBuilder.FieldRef<Schema.Schema.Encoded<S>>
37
- : TFields[K] extends Field.ArrayFieldDef<any, infer S> ?
38
- FormBuilder.FieldRef<ReadonlyArray<Schema.Schema.Encoded<S>>>
39
- : never
40
- }
36
+ readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S>
37
+ ? FormBuilder.FieldRef<Schema.Schema.Encoded<S>>
38
+ : TFields[K] extends Field.ArrayFieldDef<any, infer S>
39
+ ? FormBuilder.FieldRef<ReadonlyArray<Schema.Schema.Encoded<S>>>
40
+ : never;
41
+ };
41
42
 
42
43
  export interface FormAtoms<TFields extends Field.FieldsRecord, R, A = void, E = never, SubmitArgs = void> {
43
44
  readonly stateAtom: Atom.Writable<
44
45
  Option.Option<FormBuilder.FormState<TFields>>,
45
46
  Option.Option<FormBuilder.FormState<TFields>>
46
- >
47
- readonly errorsAtom: Atom.Writable<Map<string, Validation.ErrorEntry>, Map<string, Validation.ErrorEntry>>
48
- readonly rootErrorAtom: Atom.Atom<Option.Option<string>>
49
- readonly valuesAtom: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>
50
- readonly dirtyFieldsAtom: Atom.Atom<ReadonlySet<string>>
51
- readonly isDirtyAtom: Atom.Atom<boolean>
52
- readonly submitCountAtom: Atom.Atom<number>
53
- readonly lastSubmittedValuesAtom: Atom.Atom<Option.Option<FormBuilder.SubmittedValues<TFields>>>
54
- readonly changedSinceSubmitFieldsAtom: Atom.Atom<ReadonlySet<string>>
55
- readonly hasChangedSinceSubmitAtom: Atom.Atom<boolean>
47
+ >;
48
+ readonly errorsAtom: Atom.Writable<Map<string, Validation.ErrorEntry>, Map<string, Validation.ErrorEntry>>;
49
+ readonly rootErrorAtom: Atom.Atom<Option.Option<string>>;
50
+ readonly valuesAtom: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>;
51
+ readonly dirtyFieldsAtom: Atom.Atom<ReadonlySet<string>>;
52
+ readonly isDirtyAtom: Atom.Atom<boolean>;
53
+ readonly submitCountAtom: Atom.Atom<number>;
54
+ readonly lastSubmittedValuesAtom: Atom.Atom<Option.Option<FormBuilder.SubmittedValues<TFields>>>;
55
+ readonly changedSinceSubmitFieldsAtom: Atom.Atom<ReadonlySet<string>>;
56
+ readonly hasChangedSinceSubmitAtom: Atom.Atom<boolean>;
56
57
 
57
- readonly submitAtom: Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>
58
+ readonly submitAtom: Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>;
58
59
 
59
- readonly combinedSchema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>
60
+ readonly combinedSchema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>;
60
61
 
61
- readonly fieldRefs: FieldRefs<TFields>
62
+ readonly fieldRefs: FieldRefs<TFields>;
62
63
 
63
- readonly validationAtomsRegistry: WeakRegistry<Atom.AtomResultFn<unknown, void, ParseResult.ParseError>>
64
- readonly fieldAtomsRegistry: WeakRegistry<FieldAtoms>
64
+ readonly validationAtomsRegistry: WeakRegistry<Atom.AtomResultFn<unknown, void, ParseResult.ParseError>>;
65
+ readonly fieldAtomsRegistry: WeakRegistry<FieldAtoms>;
65
66
 
66
67
  readonly getOrCreateValidationAtom: (
67
68
  fieldPath: string,
68
69
  schema: Schema.Schema.Any,
69
- ) => Atom.AtomResultFn<unknown, void, ParseResult.ParseError>
70
+ ) => Atom.AtomResultFn<unknown, void, ParseResult.ParseError>;
70
71
 
71
- readonly getOrCreateFieldAtoms: (fieldPath: string) => FieldAtoms
72
+ readonly getOrCreateFieldAtoms: (fieldPath: string) => FieldAtoms;
72
73
 
73
- readonly resetValidationAtoms: (ctx: { set: <R, W>(atom: Atom.Writable<R, W>, value: W) => void }) => void
74
+ readonly resetValidationAtoms: (ctx: { set: <R, W>(atom: Atom.Writable<R, W>, value: W) => void; }) => void;
74
75
 
75
- readonly operations: FormOperations<TFields>
76
+ readonly operations: FormOperations<TFields>;
76
77
 
77
- readonly resetAtom: Atom.Writable<void, void>
78
- readonly revertToLastSubmitAtom: Atom.Writable<void, void>
79
- readonly setValuesAtom: Atom.Writable<void, Field.EncodedFromFields<TFields>>
80
- readonly setValue: <S>(field: FormBuilder.FieldRef<S>) => Atom.Writable<void, S | ((prev: S) => S)>
78
+ readonly resetAtom: Atom.Writable<void, void>;
79
+ readonly revertToLastSubmitAtom: Atom.Writable<void, void>;
80
+ readonly setValuesAtom: Atom.Writable<void, Field.EncodedFromFields<TFields>>;
81
+ readonly setValue: <S>(field: FormBuilder.FieldRef<S>) => Atom.Writable<void, S | ((prev: S) => S)>;
81
82
 
82
- readonly getFieldAtom: <S>(field: FormBuilder.FieldRef<S>) => Atom.Atom<Option.Option<S>>
83
+ readonly getFieldAtom: <S>(field: FormBuilder.FieldRef<S>) => Atom.Atom<Option.Option<S>>;
83
84
 
84
85
  /**
85
86
  * Root anchor atom for the form's dependency graph.
@@ -99,110 +100,110 @@ export interface FormAtoms<TFields extends Field.FieldsRecord, R, A = void, E =
99
100
  * }
100
101
  * ```
101
102
  */
102
- readonly mountAtom: Atom.Atom<void>
103
+ readonly mountAtom: Atom.Atom<void>;
103
104
 
104
- readonly keepAliveActiveAtom: Atom.Writable<boolean, boolean>
105
+ readonly keepAliveActiveAtom: Atom.Writable<boolean, boolean>;
105
106
  }
106
107
 
107
108
  export interface FormOperations<TFields extends Field.FieldsRecord> {
108
- readonly createInitialState: (defaultValues: Field.EncodedFromFields<TFields>) => FormBuilder.FormState<TFields>
109
+ readonly createInitialState: (defaultValues: Field.EncodedFromFields<TFields>) => FormBuilder.FormState<TFields>;
109
110
 
110
- readonly createResetState: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>
111
+ readonly createResetState: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
111
112
 
112
- readonly createSubmitState: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>
113
+ readonly createSubmitState: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
113
114
 
114
115
  readonly setFieldValue: (
115
116
  state: FormBuilder.FormState<TFields>,
116
117
  fieldPath: string,
117
118
  value: unknown,
118
- ) => FormBuilder.FormState<TFields>
119
+ ) => FormBuilder.FormState<TFields>;
119
120
 
120
121
  readonly setFormValues: (
121
122
  state: FormBuilder.FormState<TFields>,
122
123
  values: Field.EncodedFromFields<TFields>,
123
- ) => FormBuilder.FormState<TFields>
124
+ ) => FormBuilder.FormState<TFields>;
124
125
 
125
126
  readonly setFieldTouched: (
126
127
  state: FormBuilder.FormState<TFields>,
127
128
  fieldPath: string,
128
129
  touched: boolean,
129
- ) => FormBuilder.FormState<TFields>
130
+ ) => FormBuilder.FormState<TFields>;
130
131
 
131
132
  readonly appendArrayItem: (
132
133
  state: FormBuilder.FormState<TFields>,
133
134
  arrayPath: string,
134
135
  itemSchema: Schema.Schema.Any,
135
136
  value?: unknown,
136
- ) => FormBuilder.FormState<TFields>
137
+ ) => FormBuilder.FormState<TFields>;
137
138
 
138
139
  readonly removeArrayItem: (
139
140
  state: FormBuilder.FormState<TFields>,
140
141
  arrayPath: string,
141
142
  index: number,
142
- ) => FormBuilder.FormState<TFields>
143
+ ) => FormBuilder.FormState<TFields>;
143
144
 
144
145
  readonly swapArrayItems: (
145
146
  state: FormBuilder.FormState<TFields>,
146
147
  arrayPath: string,
147
148
  indexA: number,
148
149
  indexB: number,
149
- ) => FormBuilder.FormState<TFields>
150
+ ) => FormBuilder.FormState<TFields>;
150
151
 
151
152
  readonly moveArrayItem: (
152
153
  state: FormBuilder.FormState<TFields>,
153
154
  arrayPath: string,
154
155
  fromIndex: number,
155
156
  toIndex: number,
156
- ) => FormBuilder.FormState<TFields>
157
+ ) => FormBuilder.FormState<TFields>;
157
158
 
158
- readonly revertToLastSubmit: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>
159
+ readonly revertToLastSubmit: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
159
160
  }
160
161
 
161
162
  export const make = <TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = void>(
162
163
  config: FormAtomsConfig<TFields, R, A, E, SubmitArgs>,
163
164
  ): FormAtoms<TFields, R, A, E, SubmitArgs> => {
164
- const { formBuilder, runtime } = config
165
- const { fields } = formBuilder
165
+ const { formBuilder, runtime } = config;
166
+ const { fields } = formBuilder;
166
167
 
167
- const combinedSchema = FormBuilder.buildSchema(formBuilder)
168
+ const combinedSchema = FormBuilder.buildSchema(formBuilder);
168
169
 
169
- const stateAtom = Atom.make(Option.none<FormBuilder.FormState<TFields>>()).pipe(Atom.setIdleTTL(0))
170
- const errorsAtom = Atom.make<Map<string, Validation.ErrorEntry>>(new Map()).pipe(Atom.setIdleTTL(0))
170
+ const stateAtom = Atom.make(Option.none<FormBuilder.FormState<TFields>>()).pipe(Atom.setIdleTTL(0));
171
+ const errorsAtom = Atom.make<Map<string, Validation.ErrorEntry>>(new Map()).pipe(Atom.setIdleTTL(0));
171
172
 
172
173
  const rootErrorAtom = Atom.readable((get) => {
173
- const errors = get(errorsAtom)
174
- const entry = errors.get("")
175
- return entry ? Option.some(entry.message) : Option.none<string>()
176
- }).pipe(Atom.setIdleTTL(0))
174
+ const errors = get(errorsAtom);
175
+ const entry = errors.get("");
176
+ return entry ? Option.some(entry.message) : Option.none<string>();
177
+ }).pipe(Atom.setIdleTTL(0));
177
178
 
178
179
  const valuesAtom = Atom.readable((get) => Option.map(get(stateAtom), (state) => state.values)).pipe(
179
180
  Atom.setIdleTTL(0),
180
- )
181
+ );
181
182
 
182
183
  const dirtyFieldsAtom = Atom.readable((get) =>
183
184
  Option.match(get(stateAtom), {
184
185
  onNone: () => new Set<string>(),
185
186
  onSome: (state) => state.dirtyFields,
186
187
  })
187
- ).pipe(Atom.setIdleTTL(0))
188
+ ).pipe(Atom.setIdleTTL(0));
188
189
 
189
190
  const isDirtyAtom = Atom.readable((get) =>
190
191
  Option.match(get(stateAtom), {
191
192
  onNone: () => false,
192
193
  onSome: (state) => state.dirtyFields.size > 0,
193
194
  })
194
- ).pipe(Atom.setIdleTTL(0))
195
+ ).pipe(Atom.setIdleTTL(0));
195
196
 
196
197
  const submitCountAtom = Atom.readable((get) =>
197
198
  Option.match(get(stateAtom), {
198
199
  onNone: () => 0,
199
200
  onSome: (state) => state.submitCount,
200
201
  })
201
- ).pipe(Atom.setIdleTTL(0))
202
+ ).pipe(Atom.setIdleTTL(0));
202
203
 
203
204
  const lastSubmittedValuesAtom = Atom.readable((get) =>
204
205
  Option.flatMap(get(stateAtom), (state) => state.lastSubmittedValues)
205
- ).pipe(Atom.setIdleTTL(0))
206
+ ).pipe(Atom.setIdleTTL(0));
206
207
 
207
208
  const changedSinceSubmitFieldsAtom = Atom.readable((get) =>
208
209
  Option.match(get(stateAtom), {
@@ -213,136 +214,147 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = v
213
214
  onSome: (lastSubmitted) => recalculateDirtySubtree(new Set(), lastSubmitted.encoded, state.values, ""),
214
215
  }),
215
216
  })
216
- ).pipe(Atom.setIdleTTL(0))
217
+ ).pipe(Atom.setIdleTTL(0));
217
218
 
218
219
  const hasChangedSinceSubmitAtom = Atom.readable((get) =>
219
220
  Option.match(get(stateAtom), {
220
221
  onNone: () => false,
221
222
  onSome: (state) => {
222
- if (Option.isNone(state.lastSubmittedValues)) return false
223
- if (state.values === state.lastSubmittedValues.value.encoded) return false
224
- return get(changedSinceSubmitFieldsAtom).size > 0
223
+ if (Option.isNone(state.lastSubmittedValues)) return false;
224
+ if (state.values === state.lastSubmittedValues.value.encoded) return false;
225
+ return get(changedSinceSubmitFieldsAtom).size > 0;
225
226
  },
226
227
  })
227
- ).pipe(Atom.setIdleTTL(0))
228
+ ).pipe(Atom.setIdleTTL(0));
228
229
 
229
- const validationAtomsRegistry = createWeakRegistry<Atom.AtomResultFn<unknown, void, ParseResult.ParseError>>()
230
- const fieldAtomsRegistry = createWeakRegistry<FieldAtoms>()
231
- const publicFieldAtomRegistry = createWeakRegistry<Atom.Atom<Option.Option<unknown>>>()
230
+ const validationAtomsRegistry = createWeakRegistry<Atom.AtomResultFn<unknown, void, ParseResult.ParseError>>();
231
+ const fieldAtomsRegistry = createWeakRegistry<FieldAtoms>();
232
+ const publicFieldAtomRegistry = createWeakRegistry<Atom.Atom<Option.Option<unknown>>>();
232
233
 
233
234
  const getOrCreateValidationAtom = (
234
235
  fieldPath: string,
235
236
  schema: Schema.Schema.Any,
236
237
  ): Atom.AtomResultFn<unknown, void, ParseResult.ParseError> => {
237
- const existing = validationAtomsRegistry.get(fieldPath)
238
- if (existing) return existing
238
+ const existing = validationAtomsRegistry.get(fieldPath);
239
+ if (existing) return existing;
239
240
 
240
- const validationAtom = runtime.fn<unknown>()((value: unknown) =>
241
- pipe(
242
- Schema.decodeUnknown(schema)(value) as Effect.Effect<unknown, ParseResult.ParseError, R>,
243
- Effect.asVoid,
241
+ const validationAtom = runtime
242
+ .fn<unknown>()((value: unknown) =>
243
+ pipe(Schema.decodeUnknown(schema)(value) as Effect.Effect<unknown, ParseResult.ParseError, R>, Effect.asVoid)
244
244
  )
245
- ).pipe(Atom.setIdleTTL(0)) as Atom.AtomResultFn<unknown, void, ParseResult.ParseError>
245
+ .pipe(Atom.setIdleTTL(0)) as Atom.AtomResultFn<unknown, void, ParseResult.ParseError>;
246
246
 
247
- validationAtomsRegistry.set(fieldPath, validationAtom)
248
- return validationAtom
249
- }
247
+ validationAtomsRegistry.set(fieldPath, validationAtom);
248
+ return validationAtom;
249
+ };
250
250
 
251
251
  const getOrCreateFieldAtoms = (fieldPath: string): FieldAtoms => {
252
- const existing = fieldAtomsRegistry.get(fieldPath)
253
- if (existing) return existing
252
+ const existing = fieldAtomsRegistry.get(fieldPath);
253
+ if (existing) return existing;
254
254
 
255
255
  const valueAtom = Atom.writable(
256
256
  (get) => getNestedValue(Option.getOrThrow(get(stateAtom)).values, fieldPath),
257
257
  (ctx, value) => {
258
- const currentState = Option.getOrThrow(ctx.get(stateAtom))
259
- ctx.set(stateAtom, Option.some(operations.setFieldValue(currentState, fieldPath, value)))
258
+ const currentState = Option.getOrThrow(ctx.get(stateAtom));
259
+ ctx.set(stateAtom, Option.some(operations.setFieldValue(currentState, fieldPath, value)));
260
260
  },
261
- ).pipe(Atom.setIdleTTL(0))
261
+ ).pipe(Atom.setIdleTTL(0));
262
262
 
263
- const initialValueAtom = Atom.readable(
264
- (get) => getNestedValue(Option.getOrThrow(get(stateAtom)).initialValues, fieldPath),
265
- ).pipe(Atom.setIdleTTL(0))
263
+ const initialValueAtom = Atom.readable((get) =>
264
+ getNestedValue(Option.getOrThrow(get(stateAtom)).initialValues, fieldPath)
265
+ ).pipe(Atom.setIdleTTL(0));
266
266
 
267
267
  const touchedAtom = Atom.writable(
268
268
  (get) => (getNestedValue(Option.getOrThrow(get(stateAtom)).touched, fieldPath) ?? false) as boolean,
269
269
  (ctx, value) => {
270
- const currentState = Option.getOrThrow(ctx.get(stateAtom))
270
+ const currentState = Option.getOrThrow(ctx.get(stateAtom));
271
271
  ctx.set(
272
272
  stateAtom,
273
273
  Option.some({
274
274
  ...currentState,
275
275
  touched: setNestedValue(currentState.touched, fieldPath, value),
276
276
  }),
277
- )
277
+ );
278
278
  },
279
- ).pipe(Atom.setIdleTTL(0))
279
+ ).pipe(Atom.setIdleTTL(0));
280
280
 
281
281
  const errorAtom = Atom.readable((get) => {
282
- const errors = get(errorsAtom)
283
- const entry = errors.get(fieldPath)
284
- return entry ? Option.some(entry) : Option.none<Validation.ErrorEntry>()
285
- }).pipe(Atom.setIdleTTL(0))
282
+ const errors = get(errorsAtom);
283
+ const entry = errors.get(fieldPath);
284
+ return entry ? Option.some(entry) : Option.none<Validation.ErrorEntry>();
285
+ }).pipe(Atom.setIdleTTL(0));
286
+
287
+ const isDirtyAtom = Atom.readable((get) =>
288
+ isPathOrParentDirty(
289
+ Option.match(get(stateAtom), {
290
+ onNone: () => new Set<string>(),
291
+ onSome: (state) => state.dirtyFields,
292
+ }),
293
+ fieldPath,
294
+ )
295
+ ).pipe(Atom.setIdleTTL(0));
286
296
 
287
- const atoms: FieldAtoms = { valueAtom, initialValueAtom, touchedAtom, errorAtom }
288
- fieldAtomsRegistry.set(fieldPath, atoms)
289
- return atoms
290
- }
297
+ const atoms: FieldAtoms = { valueAtom, initialValueAtom, touchedAtom, errorAtom, isDirtyAtom };
298
+ fieldAtomsRegistry.set(fieldPath, atoms);
299
+ return atoms;
300
+ };
291
301
 
292
- const resetValidationAtoms = (ctx: { set: <R, W>(atom: Atom.Writable<R, W>, value: W) => void }) => {
302
+ const resetValidationAtoms = (ctx: { set: <R, W>(atom: Atom.Writable<R, W>, value: W) => void; }) => {
293
303
  for (const validationAtom of validationAtomsRegistry.values()) {
294
- ctx.set(validationAtom, Atom.Reset)
304
+ ctx.set(validationAtom, Atom.Reset);
295
305
  }
296
- validationAtomsRegistry.clear()
297
- fieldAtomsRegistry.clear()
298
- }
299
-
300
- const submitAtom = runtime.fn<SubmitArgs>()((args, get) =>
301
- Effect.gen(function*() {
302
- const state = get(stateAtom)
303
- if (Option.isNone(state)) return yield* Effect.die("Form not initialized")
304
- const values = state.value.values
305
- get.set(errorsAtom, new Map())
306
- const decoded = yield* pipe(
307
- Schema.decodeUnknown(combinedSchema, { errors: "all" })(values) as Effect.Effect<
308
- Field.DecodedFromFields<TFields>,
309
- ParseResult.ParseError,
310
- R
311
- >,
312
- Effect.tapError((parseError) =>
313
- Effect.sync(() => {
314
- const routedErrors = Validation.routeErrorsWithSource(parseError)
315
- get.set(errorsAtom, routedErrors)
316
- get.set(stateAtom, Option.some(operations.createSubmitState(state.value)))
317
- })
318
- ),
319
- )
320
- const submitState = operations.createSubmitState(state.value)
321
- get.set(
322
- stateAtom,
323
- Option.some({
324
- ...submitState,
325
- lastSubmittedValues: Option.some({ encoded: values, decoded }),
326
- }),
327
- )
328
- const result = config.onSubmit(args, { decoded, encoded: values, get })
329
- if (Effect.isEffect(result)) {
330
- return yield* (result as Effect.Effect<A, E, R>)
331
- }
332
- return result as A
333
- })
334
- ).pipe(Atom.setIdleTTL(0)) as Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>
306
+ validationAtomsRegistry.clear();
307
+ fieldAtomsRegistry.clear();
308
+ };
309
+
310
+ const submitAtom = runtime
311
+ .fn<SubmitArgs>()((args, get) =>
312
+ Effect.gen(function*() {
313
+ const state = get(stateAtom);
314
+ if (Option.isNone(state)) return yield* Effect.die("Form not initialized");
315
+ const values = state.value.values;
316
+ get.set(errorsAtom, new Map());
317
+ const decoded = yield* pipe(
318
+ Schema.decodeUnknown(combinedSchema, { errors: "all" })(values) as Effect.Effect<
319
+ Field.DecodedFromFields<TFields>,
320
+ ParseResult.ParseError,
321
+ R
322
+ >,
323
+ Effect.tapError((parseError) =>
324
+ Effect.sync(() => {
325
+ const routedErrors = Validation.routeErrorsWithSource(parseError);
326
+ get.set(errorsAtom, routedErrors);
327
+ get.set(stateAtom, Option.some(operations.createSubmitState(state.value)));
328
+ })
329
+ ),
330
+ );
331
+ const submitState = operations.createSubmitState(state.value);
332
+ get.set(
333
+ stateAtom,
334
+ Option.some({
335
+ ...submitState,
336
+ lastSubmittedValues: Option.some({ encoded: values, decoded }),
337
+ }),
338
+ );
339
+ const result = config.onSubmit(args, { decoded, encoded: values, get });
340
+ if (Effect.isEffect(result)) {
341
+ return yield* result as Effect.Effect<A, E, R>;
342
+ }
343
+ return result as A;
344
+ })
345
+ )
346
+ .pipe(Atom.setIdleTTL(0)) as Atom.AtomResultFn<SubmitArgs, A, E | ParseResult.ParseError>;
335
347
 
336
348
  const fieldRefs = Object.fromEntries(
337
349
  Object.keys(fields).map((key) => [key, FormBuilder.makeFieldRef(key)]),
338
- ) as FieldRefs<TFields>
350
+ ) as FieldRefs<TFields>;
339
351
 
340
352
  const operations: FormOperations<TFields> = {
341
353
  createInitialState: (defaultValues) => ({
342
354
  values: defaultValues,
343
355
  initialValues: defaultValues,
344
356
  lastSubmittedValues: Option.none(),
345
- touched: Field.createTouchedRecord(fields, false) as { readonly [K in keyof TFields]: boolean },
357
+ touched: Field.createTouchedRecord(fields, false) as { readonly [K in keyof TFields]: boolean; },
346
358
  submitCount: 0,
347
359
  dirtyFields: new Set(),
348
360
  }),
@@ -351,201 +363,200 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = v
351
363
  values: state.initialValues,
352
364
  initialValues: state.initialValues,
353
365
  lastSubmittedValues: Option.none(),
354
- touched: Field.createTouchedRecord(fields, false) as { readonly [K in keyof TFields]: boolean },
366
+ touched: Field.createTouchedRecord(fields, false) as { readonly [K in keyof TFields]: boolean; },
355
367
  submitCount: 0,
356
368
  dirtyFields: new Set(),
357
369
  }),
358
370
 
359
371
  createSubmitState: (state) => ({
360
372
  ...state,
361
- touched: Field.createTouchedRecord(fields, true) as { readonly [K in keyof TFields]: boolean },
373
+ touched: Field.createTouchedRecord(fields, true) as { readonly [K in keyof TFields]: boolean; },
362
374
  submitCount: state.submitCount + 1,
363
375
  }),
364
376
 
365
377
  setFieldValue: (state, fieldPath, value) => {
366
- const newValues = setNestedValue(state.values, fieldPath, value)
367
- const newDirtyFields = recalculateDirtySubtree(
368
- state.dirtyFields,
369
- state.initialValues,
370
- newValues,
371
- fieldPath,
372
- )
378
+ const newValues = setNestedValue(state.values, fieldPath, value);
379
+ const newDirtyFields = recalculateDirtySubtree(state.dirtyFields, state.initialValues, newValues, fieldPath);
373
380
  return {
374
381
  ...state,
375
382
  values: newValues as Field.EncodedFromFields<TFields>,
376
383
  dirtyFields: newDirtyFields,
377
- }
384
+ };
378
385
  },
379
386
 
380
387
  setFormValues: (state, values) => {
381
- const newDirtyFields = recalculateDirtySubtree(
382
- state.dirtyFields,
383
- state.initialValues,
384
- values,
385
- "",
386
- )
388
+ const newDirtyFields = recalculateDirtySubtree(state.dirtyFields, state.initialValues, values, "");
387
389
  return {
388
390
  ...state,
389
391
  values,
390
392
  dirtyFields: newDirtyFields,
391
- }
393
+ };
392
394
  },
393
395
 
394
396
  setFieldTouched: (state, fieldPath, touched) => ({
395
397
  ...state,
396
- touched: setNestedValue(state.touched, fieldPath, touched) as { readonly [K in keyof TFields]: boolean },
398
+ touched: setNestedValue(state.touched, fieldPath, touched) as { readonly [K in keyof TFields]: boolean; },
397
399
  }),
398
400
 
399
401
  appendArrayItem: (state, arrayPath, itemSchema, value) => {
400
- const newItem = value ?? Field.getDefaultFromSchema(itemSchema)
401
- const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>
402
- const newItems = [...currentItems, newItem]
402
+ const newItem = value ?? Field.getDefaultFromSchema(itemSchema);
403
+ const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>;
404
+ const newItems = [...currentItems, newItem];
403
405
  return {
404
406
  ...state,
405
407
  values: setNestedValue(state.values, arrayPath, newItems) as Field.EncodedFromFields<TFields>,
406
408
  dirtyFields: recalculateDirtyFieldsForArray(state.dirtyFields, state.initialValues, arrayPath, newItems),
407
- }
409
+ };
408
410
  },
409
411
 
410
412
  removeArrayItem: (state, arrayPath, index) => {
411
- const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>
412
- const newItems = currentItems.filter((_, i) => i !== index)
413
+ const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>;
414
+ const newItems = currentItems.filter((_, i) => i !== index);
413
415
  return {
414
416
  ...state,
415
417
  values: setNestedValue(state.values, arrayPath, newItems) as Field.EncodedFromFields<TFields>,
416
418
  dirtyFields: recalculateDirtyFieldsForArray(state.dirtyFields, state.initialValues, arrayPath, newItems),
417
- }
419
+ };
418
420
  },
419
421
 
420
422
  swapArrayItems: (state, arrayPath, indexA, indexB) => {
421
- const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>
423
+ const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>;
422
424
  if (
423
- indexA < 0 || indexA >= currentItems.length ||
424
- indexB < 0 || indexB >= currentItems.length ||
425
+ indexA < 0 ||
426
+ indexA >= currentItems.length ||
427
+ indexB < 0 ||
428
+ indexB >= currentItems.length ||
425
429
  indexA === indexB
426
430
  ) {
427
- return state
431
+ return state;
428
432
  }
429
- const newItems = [...currentItems]
430
- const temp = newItems[indexA]
431
- newItems[indexA] = newItems[indexB]
432
- newItems[indexB] = temp
433
+ const newItems = [...currentItems];
434
+ const temp = newItems[indexA];
435
+ newItems[indexA] = newItems[indexB];
436
+ newItems[indexB] = temp;
433
437
  return {
434
438
  ...state,
435
439
  values: setNestedValue(state.values, arrayPath, newItems) as Field.EncodedFromFields<TFields>,
436
440
  dirtyFields: recalculateDirtyFieldsForArray(state.dirtyFields, state.initialValues, arrayPath, newItems),
437
- }
441
+ };
438
442
  },
439
443
 
440
444
  moveArrayItem: (state, arrayPath, fromIndex, toIndex) => {
441
- const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>
445
+ const currentItems = (getNestedValue(state.values, arrayPath) ?? []) as ReadonlyArray<unknown>;
442
446
  if (
443
- fromIndex < 0 || fromIndex >= currentItems.length ||
444
- toIndex < 0 || toIndex > currentItems.length ||
447
+ fromIndex < 0 ||
448
+ fromIndex >= currentItems.length ||
449
+ toIndex < 0 ||
450
+ toIndex > currentItems.length ||
445
451
  fromIndex === toIndex
446
452
  ) {
447
- return state
453
+ return state;
448
454
  }
449
- const newItems = [...currentItems]
450
- const [item] = newItems.splice(fromIndex, 1)
451
- newItems.splice(toIndex, 0, item)
455
+ const newItems = [...currentItems];
456
+ const [item] = newItems.splice(fromIndex, 1);
457
+ newItems.splice(toIndex, 0, item);
452
458
  return {
453
459
  ...state,
454
460
  values: setNestedValue(state.values, arrayPath, newItems) as Field.EncodedFromFields<TFields>,
455
461
  dirtyFields: recalculateDirtyFieldsForArray(state.dirtyFields, state.initialValues, arrayPath, newItems),
456
- }
462
+ };
457
463
  },
458
464
 
459
465
  revertToLastSubmit: (state) => {
460
466
  if (Option.isNone(state.lastSubmittedValues)) {
461
- return state
467
+ return state;
462
468
  }
463
469
 
464
- const lastEncoded = state.lastSubmittedValues.value.encoded
470
+ const lastEncoded = state.lastSubmittedValues.value.encoded;
465
471
  if (state.values === lastEncoded) {
466
- return state
472
+ return state;
467
473
  }
468
474
 
469
- const newDirtyFields = recalculateDirtySubtree(
470
- state.dirtyFields,
471
- state.initialValues,
472
- lastEncoded,
473
- "",
474
- )
475
+ const newDirtyFields = recalculateDirtySubtree(state.dirtyFields, state.initialValues, lastEncoded, "");
475
476
 
476
477
  return {
477
478
  ...state,
478
479
  values: lastEncoded,
479
480
  dirtyFields: newDirtyFields,
480
- }
481
+ };
482
+ },
483
+ };
484
+
485
+ const resetAtom = Atom.fnSync<void>()(
486
+ (_: void, get) => {
487
+ const state = get(stateAtom);
488
+ if (Option.isNone(state)) return;
489
+ get.set(stateAtom, Option.some(operations.createResetState(state.value)));
490
+ get.set(errorsAtom, new Map());
491
+ resetValidationAtoms(get);
492
+ get.set(submitAtom, Atom.Reset);
493
+ },
494
+ { initialValue: undefined as void },
495
+ ).pipe(Atom.setIdleTTL(0));
496
+
497
+ const revertToLastSubmitAtom = Atom.fnSync<void>()(
498
+ (_: void, get) => {
499
+ const state = get(stateAtom);
500
+ if (Option.isNone(state)) return;
501
+ get.set(stateAtom, Option.some(operations.revertToLastSubmit(state.value)));
502
+ get.set(errorsAtom, new Map());
503
+ },
504
+ { initialValue: undefined as void },
505
+ ).pipe(Atom.setIdleTTL(0));
506
+
507
+ const setValuesAtom = Atom.fnSync<Field.EncodedFromFields<TFields>>()(
508
+ (_values, get) => {
509
+ const state = get(stateAtom);
510
+ if (Option.isNone(state)) return;
511
+ get.set(stateAtom, Option.some(operations.setFormValues(state.value, _values)));
512
+ get.set(errorsAtom, new Map());
481
513
  },
482
- }
483
-
484
- const resetAtom = Atom.fnSync<void>()((_: void, get) => {
485
- const state = get(stateAtom)
486
- if (Option.isNone(state)) return
487
- get.set(stateAtom, Option.some(operations.createResetState(state.value)))
488
- get.set(errorsAtom, new Map())
489
- resetValidationAtoms(get)
490
- get.set(submitAtom, Atom.Reset)
491
- }, { initialValue: undefined as void }).pipe(Atom.setIdleTTL(0))
492
-
493
- const revertToLastSubmitAtom = Atom.fnSync<void>()((_: void, get) => {
494
- const state = get(stateAtom)
495
- if (Option.isNone(state)) return
496
- get.set(stateAtom, Option.some(operations.revertToLastSubmit(state.value)))
497
- get.set(errorsAtom, new Map())
498
- }, { initialValue: undefined as void }).pipe(Atom.setIdleTTL(0))
499
-
500
- const setValuesAtom = Atom.fnSync<Field.EncodedFromFields<TFields>>()((_values, get) => {
501
- const state = get(stateAtom)
502
- if (Option.isNone(state)) return
503
- get.set(stateAtom, Option.some(operations.setFormValues(state.value, _values)))
504
- get.set(errorsAtom, new Map())
505
- }, { initialValue: undefined as void }).pipe(Atom.setIdleTTL(0))
506
-
507
- const setValueAtomsRegistry = createWeakRegistry<Atom.Writable<void, any>>()
514
+ { initialValue: undefined as void },
515
+ ).pipe(Atom.setIdleTTL(0));
516
+
517
+ const setValueAtomsRegistry = createWeakRegistry<Atom.Writable<void, any>>();
508
518
 
509
519
  const setValue = <S>(field: FormBuilder.FieldRef<S>): Atom.Writable<void, S | ((prev: S) => S)> => {
510
- const cached = setValueAtomsRegistry.get(field.key)
511
- if (cached) return cached
520
+ const cached = setValueAtomsRegistry.get(field.key);
521
+ if (cached) return cached;
512
522
 
513
- const atom = Atom.fnSync<S | ((prev: S) => S)>()((update, get) => {
514
- const state = get(stateAtom)
515
- if (Option.isNone(state)) return
523
+ const atom = Atom.fnSync<S | ((prev: S) => S)>()(
524
+ (update, get) => {
525
+ const state = get(stateAtom);
526
+ if (Option.isNone(state)) return;
516
527
 
517
- const currentValue = getNestedValue(state.value.values, field.key) as S
518
- const newValue = typeof update === "function"
519
- ? (update as (prev: S) => S)(currentValue)
520
- : update
528
+ const currentValue = getNestedValue(state.value.values, field.key) as S;
529
+ const newValue = typeof update === "function" ? (update as (prev: S) => S)(currentValue) : update;
521
530
 
522
- get.set(stateAtom, Option.some(operations.setFieldValue(state.value, field.key, newValue)))
523
- // Don't clear errors - display logic handles showing/hiding based on source + validation state
524
- }, { initialValue: undefined as void }).pipe(Atom.setIdleTTL(0))
531
+ get.set(stateAtom, Option.some(operations.setFieldValue(state.value, field.key, newValue)));
532
+ // Don't clear errors - display logic handles showing/hiding based on source + validation state
533
+ },
534
+ { initialValue: undefined as void },
535
+ ).pipe(Atom.setIdleTTL(0));
525
536
 
526
- setValueAtomsRegistry.set(field.key, atom)
527
- return atom
528
- }
537
+ setValueAtomsRegistry.set(field.key, atom);
538
+ return atom;
539
+ };
529
540
 
530
541
  const getFieldAtom = <S>(field: FormBuilder.FieldRef<S>): Atom.Atom<Option.Option<S>> => {
531
- const existing = publicFieldAtomRegistry.get(field.key)
532
- if (existing) return existing as Atom.Atom<Option.Option<S>>
542
+ const existing = publicFieldAtomRegistry.get(field.key);
543
+ if (existing) return existing as Atom.Atom<Option.Option<S>>;
533
544
 
534
545
  const safeAtom = Atom.readable((get) =>
535
546
  Option.map(get(stateAtom), (state) => getNestedValue(state.values, field.key) as S)
536
- ).pipe(Atom.setIdleTTL(0))
547
+ ).pipe(Atom.setIdleTTL(0));
537
548
 
538
- publicFieldAtomRegistry.set(field.key, safeAtom)
539
- return safeAtom
540
- }
549
+ publicFieldAtomRegistry.set(field.key, safeAtom);
550
+ return safeAtom;
551
+ };
541
552
 
542
553
  const mountAtom = Atom.readable((get) => {
543
- get(stateAtom)
544
- get(errorsAtom)
545
- get(submitAtom)
546
- }).pipe(Atom.setIdleTTL(0))
554
+ get(stateAtom);
555
+ get(errorsAtom);
556
+ get(submitAtom);
557
+ }).pipe(Atom.setIdleTTL(0));
547
558
 
548
- const keepAliveActiveAtom = Atom.make(false).pipe(Atom.setIdleTTL(0))
559
+ const keepAliveActiveAtom = Atom.make(false).pipe(Atom.setIdleTTL(0));
549
560
 
550
561
  return {
551
562
  stateAtom,
@@ -574,5 +585,5 @@ export const make = <TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = v
574
585
  getFieldAtom,
575
586
  mountAtom,
576
587
  keepAliveActiveAtom,
577
- } as FormAtoms<TFields, R, A, E, SubmitArgs>
578
- }
588
+ } as FormAtoms<TFields, R, A, E, SubmitArgs>;
589
+ };