@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.
- package/dist/cjs/FormAtoms.js +6 -1
- package/dist/cjs/FormAtoms.js.map +1 -1
- package/dist/dts/FormAtoms.d.ts +1 -0
- package/dist/dts/FormAtoms.d.ts.map +1 -1
- package/dist/esm/FormAtoms.js +7 -2
- package/dist/esm/FormAtoms.js.map +1 -1
- package/package.json +1 -1
- package/src/FormAtoms.ts +276 -265
package/dist/cjs/FormAtoms.js
CHANGED
|
@@ -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":[]}
|
package/dist/dts/FormAtoms.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,IAAI,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"FormAtoms.d.ts","sourceRoot":"","sources":["../../src/FormAtoms.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/FormAtoms.js
CHANGED
|
@@ -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
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
|
|
241
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
Effect.
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
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 ||
|
|
424
|
-
|
|
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 ||
|
|
444
|
-
|
|
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
|
-
|
|
485
|
-
|
|
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)>()(
|
|
514
|
-
|
|
515
|
-
|
|
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
|
-
|
|
518
|
-
|
|
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
|
-
|
|
523
|
-
|
|
524
|
-
|
|
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
|
+
};
|