@lucas-barake/effect-form 0.3.0 → 0.5.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/FormBuilder/package.json +6 -0
- package/dist/cjs/FormAtoms.js +83 -28
- package/dist/cjs/FormAtoms.js.map +1 -1
- package/dist/cjs/{Form.js → FormBuilder.js} +9 -9
- package/dist/cjs/FormBuilder.js.map +1 -0
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/internal/dirty.js +2 -2
- package/dist/cjs/internal/dirty.js.map +1 -1
- package/dist/cjs/internal/path.js +13 -2
- package/dist/cjs/internal/path.js.map +1 -1
- package/dist/dts/FormAtoms.d.ts +31 -33
- package/dist/dts/FormAtoms.d.ts.map +1 -1
- package/dist/dts/{Form.d.ts → FormBuilder.d.ts} +18 -18
- package/dist/dts/FormBuilder.d.ts.map +1 -0
- package/dist/dts/index.d.ts +5 -7
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/dirty.d.ts.map +1 -1
- package/dist/dts/internal/path.d.ts +10 -0
- package/dist/dts/internal/path.d.ts.map +1 -1
- package/dist/esm/FormAtoms.js +84 -28
- package/dist/esm/FormAtoms.js.map +1 -1
- package/dist/esm/{Form.js → FormBuilder.js} +9 -9
- package/dist/esm/FormBuilder.js.map +1 -0
- package/dist/esm/index.js +5 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/dirty.js +3 -3
- package/dist/esm/internal/dirty.js.map +1 -1
- package/dist/esm/internal/path.js +10 -0
- package/dist/esm/internal/path.js.map +1 -1
- package/package.json +9 -9
- package/src/FormAtoms.ts +139 -69
- package/src/{Form.ts → FormBuilder.ts} +18 -18
- package/src/index.ts +5 -7
- package/src/internal/dirty.ts +3 -5
- package/src/internal/path.ts +12 -0
- package/Form/package.json +0 -6
- package/dist/cjs/Form.js.map +0 -1
- package/dist/dts/Form.d.ts.map +0 -1
- package/dist/esm/Form.js.map +0 -1
package/dist/cjs/FormAtoms.js
CHANGED
|
@@ -10,10 +10,11 @@ var _Function = /*#__PURE__*/require("effect/Function");
|
|
|
10
10
|
var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
|
|
11
11
|
var Schema = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Schema"));
|
|
12
12
|
var Field = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Field.js"));
|
|
13
|
-
var
|
|
13
|
+
var FormBuilder = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./FormBuilder.js"));
|
|
14
14
|
var _dirty = /*#__PURE__*/require("./internal/dirty.js");
|
|
15
15
|
var _path = /*#__PURE__*/require("./internal/path.js");
|
|
16
16
|
var _weakRegistry = /*#__PURE__*/require("./internal/weak-registry.js");
|
|
17
|
+
var Validation = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Validation.js"));
|
|
17
18
|
function _interopRequireWildcard(e, t) {
|
|
18
19
|
if ("function" == typeof WeakMap) var r = new WeakMap(),
|
|
19
20
|
n = new WeakMap();
|
|
@@ -34,15 +35,6 @@ function _interopRequireWildcard(e, t) {
|
|
|
34
35
|
return f;
|
|
35
36
|
})(e, t);
|
|
36
37
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Atom infrastructure for form state management.
|
|
39
|
-
*
|
|
40
|
-
* This module provides the core atom infrastructure that framework adapters
|
|
41
|
-
* (React, Vue, Svelte, Solid) can use to build reactive form components.
|
|
42
|
-
*
|
|
43
|
-
* @since 1.0.0
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
38
|
/**
|
|
47
39
|
* Creates the complete form atoms infrastructure.
|
|
48
40
|
*
|
|
@@ -55,9 +47,9 @@ function _interopRequireWildcard(e, t) {
|
|
|
55
47
|
*
|
|
56
48
|
* const runtime = Atom.runtime(Layer.empty)
|
|
57
49
|
*
|
|
58
|
-
* const loginForm =
|
|
59
|
-
* .addField(
|
|
60
|
-
* .addField(
|
|
50
|
+
* const loginForm = FormBuilder.empty
|
|
51
|
+
* .addField(FormBuilder.makeField("email", Schema.String))
|
|
52
|
+
* .addField(FormBuilder.makeField("password", Schema.String))
|
|
61
53
|
*
|
|
62
54
|
* const atoms = FormAtoms.make({
|
|
63
55
|
* runtime,
|
|
@@ -77,7 +69,7 @@ const make = config => {
|
|
|
77
69
|
const {
|
|
78
70
|
fields
|
|
79
71
|
} = formBuilder;
|
|
80
|
-
const combinedSchema =
|
|
72
|
+
const combinedSchema = FormBuilder.buildSchema(formBuilder);
|
|
81
73
|
const stateAtom = Atom.make(Option.none()).pipe(Atom.setIdleTTL(0));
|
|
82
74
|
const crossFieldErrorsAtom = Atom.make(new Map()).pipe(Atom.setIdleTTL(0));
|
|
83
75
|
const dirtyFieldsAtom = Atom.readable(get => Option.getOrThrow(get(stateAtom)).dirtyFields).pipe(Atom.setIdleTTL(0));
|
|
@@ -97,7 +89,6 @@ const make = config => {
|
|
|
97
89
|
if (state.values === state.lastSubmittedValues.value) return false;
|
|
98
90
|
return get(changedSinceSubmitFieldsAtom).size > 0;
|
|
99
91
|
}).pipe(Atom.setIdleTTL(0));
|
|
100
|
-
const onSubmitAtom = Atom.make(null).pipe(Atom.setIdleTTL(0));
|
|
101
92
|
const validationAtomsRegistry = (0, _weakRegistry.createWeakRegistry)();
|
|
102
93
|
const fieldAtomsRegistry = (0, _weakRegistry.createWeakRegistry)();
|
|
103
94
|
const getOrCreateValidationAtom = (fieldPath, schema) => {
|
|
@@ -141,22 +132,31 @@ const make = config => {
|
|
|
141
132
|
fieldAtomsRegistry.set(fieldPath, atoms);
|
|
142
133
|
return atoms;
|
|
143
134
|
};
|
|
144
|
-
const resetValidationAtoms =
|
|
135
|
+
const resetValidationAtoms = ctx => {
|
|
145
136
|
for (const validationAtom of validationAtomsRegistry.values()) {
|
|
146
|
-
|
|
137
|
+
ctx.set(validationAtom, Atom.Reset);
|
|
147
138
|
}
|
|
148
139
|
validationAtomsRegistry.clear();
|
|
149
140
|
fieldAtomsRegistry.clear();
|
|
150
141
|
};
|
|
151
|
-
const
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
142
|
+
const submitAtom = runtime.fn()((_void, get) => Effect.gen(function* () {
|
|
143
|
+
const state = get(stateAtom);
|
|
144
|
+
if (Option.isNone(state)) return yield* Effect.die("Form not initialized");
|
|
145
|
+
const values = state.value.values;
|
|
146
|
+
get.set(crossFieldErrorsAtom, new Map());
|
|
147
|
+
const decoded = yield* (0, _Function.pipe)(Schema.decodeUnknown(combinedSchema)(values), Effect.tapError(parseError => Effect.sync(() => {
|
|
148
|
+
const routedErrors = Validation.routeErrors(parseError);
|
|
149
|
+
get.set(crossFieldErrorsAtom, routedErrors);
|
|
150
|
+
get.set(stateAtom, Option.some(operations.createSubmitState(state.value)));
|
|
151
|
+
})));
|
|
152
|
+
get.set(stateAtom, Option.some(operations.createSubmitState(state.value)));
|
|
153
|
+
const result = config.onSubmit(decoded, get);
|
|
154
|
+
if (Effect.isEffect(result)) {
|
|
155
|
+
return yield* result;
|
|
156
|
+
}
|
|
157
|
+
return result;
|
|
158
158
|
})).pipe(Atom.setIdleTTL(0));
|
|
159
|
-
const fieldRefs = Object.fromEntries(Object.keys(fields).map(key => [key,
|
|
159
|
+
const fieldRefs = Object.fromEntries(Object.keys(fields).map(key => [key, FormBuilder.makeFieldRef(key)]));
|
|
160
160
|
const operations = {
|
|
161
161
|
createInitialState: defaultValues => ({
|
|
162
162
|
values: defaultValues,
|
|
@@ -264,6 +264,58 @@ const make = config => {
|
|
|
264
264
|
};
|
|
265
265
|
}
|
|
266
266
|
};
|
|
267
|
+
const resetAtom = Atom.fnSync()((_, get) => {
|
|
268
|
+
const state = get(stateAtom);
|
|
269
|
+
if (Option.isNone(state)) return;
|
|
270
|
+
get.set(stateAtom, Option.some(operations.createResetState(state.value)));
|
|
271
|
+
get.set(crossFieldErrorsAtom, new Map());
|
|
272
|
+
resetValidationAtoms(get);
|
|
273
|
+
get.set(submitAtom, Atom.Reset);
|
|
274
|
+
}, {
|
|
275
|
+
initialValue: undefined
|
|
276
|
+
}).pipe(Atom.setIdleTTL(0));
|
|
277
|
+
const revertToLastSubmitAtom = Atom.fnSync()((_, get) => {
|
|
278
|
+
const state = get(stateAtom);
|
|
279
|
+
if (Option.isNone(state)) return;
|
|
280
|
+
get.set(stateAtom, Option.some(operations.revertToLastSubmit(state.value)));
|
|
281
|
+
get.set(crossFieldErrorsAtom, new Map());
|
|
282
|
+
}, {
|
|
283
|
+
initialValue: undefined
|
|
284
|
+
}).pipe(Atom.setIdleTTL(0));
|
|
285
|
+
const setValuesAtom = Atom.fnSync()((_values, get) => {
|
|
286
|
+
const state = get(stateAtom);
|
|
287
|
+
if (Option.isNone(state)) return;
|
|
288
|
+
get.set(stateAtom, Option.some(operations.setFormValues(state.value, _values)));
|
|
289
|
+
get.set(crossFieldErrorsAtom, new Map());
|
|
290
|
+
}, {
|
|
291
|
+
initialValue: undefined
|
|
292
|
+
}).pipe(Atom.setIdleTTL(0));
|
|
293
|
+
const setValueAtomsRegistry = (0, _weakRegistry.createWeakRegistry)();
|
|
294
|
+
const setValue = field => {
|
|
295
|
+
const cached = setValueAtomsRegistry.get(field.key);
|
|
296
|
+
if (cached) return cached;
|
|
297
|
+
const atom = Atom.fnSync()((update, get) => {
|
|
298
|
+
const state = get(stateAtom);
|
|
299
|
+
if (Option.isNone(state)) return;
|
|
300
|
+
const currentValue = (0, _path.getNestedValue)(state.value.values, field.key);
|
|
301
|
+
const newValue = typeof update === "function" ? update(currentValue) : update;
|
|
302
|
+
get.set(stateAtom, Option.some(operations.setFieldValue(state.value, field.key, newValue)));
|
|
303
|
+
const currentErrors = get(crossFieldErrorsAtom);
|
|
304
|
+
const nextErrors = new Map();
|
|
305
|
+
for (const [errorPath, message] of currentErrors) {
|
|
306
|
+
if (!(0, _path.isPathUnderRoot)(errorPath, field.key)) {
|
|
307
|
+
nextErrors.set(errorPath, message);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
if (nextErrors.size !== currentErrors.size) {
|
|
311
|
+
get.set(crossFieldErrorsAtom, nextErrors);
|
|
312
|
+
}
|
|
313
|
+
}, {
|
|
314
|
+
initialValue: undefined
|
|
315
|
+
}).pipe(Atom.setIdleTTL(0));
|
|
316
|
+
setValueAtomsRegistry.set(field.key, atom);
|
|
317
|
+
return atom;
|
|
318
|
+
};
|
|
267
319
|
return {
|
|
268
320
|
stateAtom,
|
|
269
321
|
crossFieldErrorsAtom,
|
|
@@ -273,8 +325,7 @@ const make = config => {
|
|
|
273
325
|
lastSubmittedValuesAtom,
|
|
274
326
|
changedSinceSubmitFieldsAtom,
|
|
275
327
|
hasChangedSinceSubmitAtom,
|
|
276
|
-
|
|
277
|
-
decodeAndSubmit,
|
|
328
|
+
submitAtom,
|
|
278
329
|
combinedSchema,
|
|
279
330
|
fieldRefs,
|
|
280
331
|
validationAtomsRegistry,
|
|
@@ -282,7 +333,11 @@ const make = config => {
|
|
|
282
333
|
getOrCreateValidationAtom,
|
|
283
334
|
getOrCreateFieldAtoms,
|
|
284
335
|
resetValidationAtoms,
|
|
285
|
-
operations
|
|
336
|
+
operations,
|
|
337
|
+
resetAtom,
|
|
338
|
+
revertToLastSubmitAtom,
|
|
339
|
+
setValuesAtom,
|
|
340
|
+
setValue
|
|
286
341
|
};
|
|
287
342
|
};
|
|
288
343
|
exports.make = make;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAtoms.js","names":["Atom","_interopRequireWildcard","require","Effect","_Function","Option","Schema","Field","Form","_dirty","_path","_weakRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","pipe","setIdleTTL","crossFieldErrorsAtom","Map","dirtyFieldsAtom","readable","getOrThrow","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","lastSubmittedValues","changedSinceSubmitFieldsAtom","state","match","onNone","Set","onSome","lastSubmitted","recalculateDirtySubtree","values","hasChangedSinceSubmitAtom","isNone","value","onSubmitAtom","validationAtomsRegistry","createWeakRegistry","fieldAtomsRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","getOrCreateFieldAtoms","valueAtom","writable","getNestedValue","ctx","currentState","newValues","setNestedValue","some","initialValues","initialValueAtom","touchedAtom","touched","crossFieldErrorAtom","errors","error","undefined","atoms","resetValidationAtoms","registry","Reset","clear","decodeAndSubmit","gen","decoded","onSubmit","result","suspendOnWaiting","fieldRefs","fromEntries","keys","map","key","makeFieldRef","operations","createInitialState","defaultValues","createTouchedRecord","createResetState","createSubmitState","setFieldValue","newDirtyFields","setFormValues","setFieldTouched","appendArrayItem","arrayPath","itemSchema","newItem","getDefaultFromSchema","currentItems","newItems","recalculateDirtyFieldsForArray","removeArrayItem","index","filter","_","swapArrayItems","indexA","indexB","length","temp","moveArrayItem","fromIndex","toIndex","item","splice","revertToLastSubmit","exports"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormAtoms.js","names":["Atom","_interopRequireWildcard","require","Effect","_Function","Option","Schema","Field","FormBuilder","_dirty","_path","_weakRegistry","Validation","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","config","formBuilder","runtime","fields","combinedSchema","buildSchema","stateAtom","none","pipe","setIdleTTL","crossFieldErrorsAtom","Map","dirtyFieldsAtom","readable","getOrThrow","dirtyFields","isDirtyAtom","size","submitCountAtom","submitCount","lastSubmittedValuesAtom","lastSubmittedValues","changedSinceSubmitFieldsAtom","state","match","onNone","Set","onSome","lastSubmitted","recalculateDirtySubtree","values","hasChangedSinceSubmitAtom","isNone","value","validationAtomsRegistry","createWeakRegistry","fieldAtomsRegistry","getOrCreateValidationAtom","fieldPath","schema","existing","validationAtom","fn","decodeUnknown","asVoid","getOrCreateFieldAtoms","valueAtom","writable","getNestedValue","ctx","currentState","newValues","setNestedValue","some","initialValues","initialValueAtom","touchedAtom","touched","crossFieldErrorAtom","errors","error","undefined","atoms","resetValidationAtoms","Reset","clear","submitAtom","_void","gen","die","decoded","tapError","parseError","sync","routedErrors","routeErrors","operations","createSubmitState","result","onSubmit","isEffect","fieldRefs","fromEntries","keys","map","key","makeFieldRef","createInitialState","defaultValues","createTouchedRecord","createResetState","setFieldValue","newDirtyFields","setFormValues","setFieldTouched","appendArrayItem","arrayPath","itemSchema","newItem","getDefaultFromSchema","currentItems","newItems","recalculateDirtyFieldsForArray","removeArrayItem","index","filter","_","swapArrayItems","indexA","indexB","length","temp","moveArrayItem","fromIndex","toIndex","item","splice","revertToLastSubmit","resetAtom","fnSync","initialValue","revertToLastSubmitAtom","setValuesAtom","_values","setValueAtomsRegistry","setValue","field","cached","atom","update","currentValue","newValue","currentErrors","nextErrors","errorPath","message","isPathUnderRoot","exports"],"sources":["../../src/FormAtoms.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -102,14 +102,14 @@ const FormBuilderProto = {
|
|
|
102
102
|
*
|
|
103
103
|
* @example
|
|
104
104
|
* ```ts
|
|
105
|
-
* import
|
|
105
|
+
* import { FormBuilder } from "@lucas-barake/effect-form"
|
|
106
106
|
*
|
|
107
|
-
* const builder =
|
|
107
|
+
* const builder = FormBuilder.empty
|
|
108
108
|
*
|
|
109
|
-
* console.log(
|
|
109
|
+
* console.log(FormBuilder.isFormBuilder(builder))
|
|
110
110
|
* // Output: true
|
|
111
111
|
*
|
|
112
|
-
* console.log(
|
|
112
|
+
* console.log(FormBuilder.isFormBuilder({}))
|
|
113
113
|
* // Output: false
|
|
114
114
|
* ```
|
|
115
115
|
*
|
|
@@ -127,13 +127,13 @@ const isFormBuilder = u => Predicate.hasProperty(u, TypeId);
|
|
|
127
127
|
*
|
|
128
128
|
* @example
|
|
129
129
|
* ```ts
|
|
130
|
-
* import
|
|
130
|
+
* import { Field, FormBuilder } from "@lucas-barake/effect-form"
|
|
131
131
|
* import * as Schema from "effect/Schema"
|
|
132
132
|
*
|
|
133
|
-
* const EmailField =
|
|
134
|
-
* const PasswordField =
|
|
133
|
+
* const EmailField = Field.makeField("email", Schema.String)
|
|
134
|
+
* const PasswordField = Field.makeField("password", Schema.String)
|
|
135
135
|
*
|
|
136
|
-
* const loginForm =
|
|
136
|
+
* const loginForm = FormBuilder.empty
|
|
137
137
|
* .addField(EmailField)
|
|
138
138
|
* .addField(PasswordField)
|
|
139
139
|
* ```
|
|
@@ -175,4 +175,4 @@ const buildSchema = self => {
|
|
|
175
175
|
return schema;
|
|
176
176
|
};
|
|
177
177
|
exports.buildSchema = buildSchema;
|
|
178
|
-
//# sourceMappingURL=
|
|
178
|
+
//# sourceMappingURL=FormBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormBuilder.js","names":["Predicate","_interopRequireWildcard","require","Schema","_Field","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FieldTypeId","exports","Symbol","for","makeFieldRef","key","_S","undefined","TypeId","FormBuilderProto","addField","field","newSelf","create","fields","refinements","merge","other","refine","predicate","_tag","fn","values","refineEffect","isFormBuilder","u","hasProperty","empty","self","buildSchema","schemaFields","def","entries","isArrayFieldDef","Array","itemSchema","isFieldDef","schema","Struct","refinement","pipe","filter","filterEffect"],"sources":["../../src/FormBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.Validation = exports.Mode = exports.
|
|
6
|
+
exports.Validation = exports.Mode = exports.FormBuilder = exports.FormAtoms = exports.Field = void 0;
|
|
7
7
|
var _Field = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Field.js"));
|
|
8
8
|
exports.Field = _Field;
|
|
9
|
-
var _Form = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Form.js"));
|
|
10
|
-
exports.Form = _Form;
|
|
11
9
|
var _FormAtoms = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./FormAtoms.js"));
|
|
12
10
|
exports.FormAtoms = _FormAtoms;
|
|
11
|
+
var _FormBuilder = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./FormBuilder.js"));
|
|
12
|
+
exports.FormBuilder = _FormBuilder;
|
|
13
13
|
var _Mode = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Mode.js"));
|
|
14
14
|
exports.Mode = _Mode;
|
|
15
15
|
var _Validation = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Validation.js"));
|
|
@@ -38,7 +38,7 @@ function _interopRequireWildcard(e, t) {
|
|
|
38
38
|
* Clears all paths under the array and re-evaluates each item.
|
|
39
39
|
*/
|
|
40
40
|
const recalculateDirtyFieldsForArray = (dirtyFields, initialValues, arrayPath, newItems) => {
|
|
41
|
-
const nextDirty = new Set(Array.from(dirtyFields).filter(path =>
|
|
41
|
+
const nextDirty = new Set(Array.from(dirtyFields).filter(path => !(0, _path.isPathUnderRoot)(path, arrayPath)));
|
|
42
42
|
const initialItems = (0, _path.getNestedValue)(initialValues, arrayPath) ?? [];
|
|
43
43
|
const loopLength = Math.max(newItems.length, initialItems.length);
|
|
44
44
|
for (let i = 0; i < loopLength; i++) {
|
|
@@ -70,7 +70,7 @@ const recalculateDirtySubtree = (currentDirty, allInitial, allValues, rootPath =
|
|
|
70
70
|
nextDirty.clear();
|
|
71
71
|
} else {
|
|
72
72
|
for (const path of nextDirty) {
|
|
73
|
-
if (
|
|
73
|
+
if ((0, _path.isPathUnderRoot)(path, rootPath)) {
|
|
74
74
|
nextDirty.delete(path);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dirty.js","names":["Equal","_interopRequireWildcard","require","Utils","_path","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","recalculateDirtyFieldsForArray","dirtyFields","initialValues","arrayPath","newItems","nextDirty","Set","Array","from","filter","path","
|
|
1
|
+
{"version":3,"file":"dirty.js","names":["Equal","_interopRequireWildcard","require","Utils","_path","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","recalculateDirtyFieldsForArray","dirtyFields","initialValues","arrayPath","newItems","nextDirty","Set","Array","from","filter","path","isPathUnderRoot","initialItems","getNestedValue","loopLength","Math","max","length","itemPath","newItem","initialItem","isEqual","structuralRegion","equals","add","delete","exports","recalculateDirtySubtree","currentDirty","allInitial","allValues","rootPath","clear","targetValue","targetInitial","recurse","current","initial","isArray","initialArr","initialObj","allKeys","keys","key"],"sources":["../../../src/internal/dirty.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.setNestedValue = exports.schemaPathToFieldPath = exports.isPathOrParentDirty = exports.getNestedValue = void 0;
|
|
6
|
+
exports.setNestedValue = exports.schemaPathToFieldPath = exports.isPathUnderRoot = exports.isPathOrParentDirty = exports.getNestedValue = void 0;
|
|
7
7
|
/**
|
|
8
8
|
* Internal path utilities for form field operations.
|
|
9
9
|
*
|
|
@@ -30,9 +30,20 @@ const schemaPathToFieldPath = path => {
|
|
|
30
30
|
return result;
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
|
-
* Checks if a
|
|
33
|
+
* Checks if a path matches a root path or is a descendant of it.
|
|
34
|
+
* Handles both dot notation (root.child) and bracket notation (root[0]).
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* isPathUnderRoot("items[0].name", "items[0]") // true
|
|
38
|
+
* isPathUnderRoot("items[0].name", "items") // true
|
|
39
|
+
* isPathUnderRoot("other", "items") // false
|
|
34
40
|
*/
|
|
35
41
|
exports.schemaPathToFieldPath = schemaPathToFieldPath;
|
|
42
|
+
const isPathUnderRoot = (path, rootPath) => path === rootPath || path.startsWith(rootPath + ".") || path.startsWith(rootPath + "[");
|
|
43
|
+
/**
|
|
44
|
+
* Checks if a field path or any of its parent paths are in the dirty set.
|
|
45
|
+
*/
|
|
46
|
+
exports.isPathUnderRoot = isPathUnderRoot;
|
|
36
47
|
const isPathOrParentDirty = (dirtyFields, path) => {
|
|
37
48
|
if (dirtyFields.has(path)) return true;
|
|
38
49
|
let parent = path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","names":["BRACKET_NOTATION_REGEX","schemaPathToFieldPath","path","length","result","String","i","segment","exports","isPathOrParentDirty","dirtyFields","has","parent","lastDot","lastIndexOf","lastBracket","splitIndex","Math","max","substring","getNestedValue","obj","parts","replace","split","current","part","undefined","setNestedValue","value","Array","isArray"],"sources":["../../../src/internal/path.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA;;;;;AAMA,MAAMA,sBAAsB,GAAG,YAAY;AAE3C;;;;;;AAMO,MAAMC,qBAAqB,GAAIC,IAAgC,IAAY;EAChF,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAEhC,IAAIC,MAAM,GAAGC,MAAM,CAACH,IAAI,CAAC,CAAC,CAAC,CAAC;EAC5B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,IAAI,CAACC,MAAM,EAAEG,CAAC,EAAE,EAAE;IACpC,MAAMC,OAAO,GAAGL,IAAI,CAACI,CAAC,CAAC;IACvB,IAAI,OAAOC,OAAO,KAAK,QAAQ,EAAE;MAC/BH,MAAM,IAAI,IAAIG,OAAO,GAAG;IAC1B,CAAC,MAAM;MACLH,MAAM,IAAI,IAAIC,MAAM,CAACE,OAAO,CAAC,EAAE;IACjC;EACF;EACA,OAAOH,MAAM;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"path.js","names":["BRACKET_NOTATION_REGEX","schemaPathToFieldPath","path","length","result","String","i","segment","exports","isPathUnderRoot","rootPath","startsWith","isPathOrParentDirty","dirtyFields","has","parent","lastDot","lastIndexOf","lastBracket","splitIndex","Math","max","substring","getNestedValue","obj","parts","replace","split","current","part","undefined","setNestedValue","value","Array","isArray"],"sources":["../../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/FormAtoms.d.ts
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Atom infrastructure for form state management.
|
|
3
|
-
*
|
|
4
|
-
* This module provides the core atom infrastructure that framework adapters
|
|
5
|
-
* (React, Vue, Svelte, Solid) can use to build reactive form components.
|
|
6
|
-
*
|
|
7
|
-
* @since 1.0.0
|
|
8
|
-
*/
|
|
9
1
|
import * as Atom from "@effect-atom/atom/Atom";
|
|
10
|
-
import
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
11
3
|
import * as Option from "effect/Option";
|
|
12
4
|
import type * as ParseResult from "effect/ParseResult";
|
|
13
5
|
import * as Schema from "effect/Schema";
|
|
14
6
|
import * as Field from "./Field.js";
|
|
15
|
-
import * as
|
|
7
|
+
import * as FormBuilder from "./FormBuilder.js";
|
|
16
8
|
import { type WeakRegistry } from "./internal/weak-registry.js";
|
|
17
9
|
/**
|
|
18
10
|
* Atoms for a single field.
|
|
@@ -32,9 +24,10 @@ export interface FieldAtoms {
|
|
|
32
24
|
* @since 1.0.0
|
|
33
25
|
* @category Models
|
|
34
26
|
*/
|
|
35
|
-
export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R> {
|
|
27
|
+
export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R, A, E> {
|
|
36
28
|
readonly runtime: Atom.AtomRuntime<R, any>;
|
|
37
|
-
readonly formBuilder:
|
|
29
|
+
readonly formBuilder: FormBuilder.FormBuilder<TFields, R>;
|
|
30
|
+
readonly onSubmit: (decoded: Field.DecodedFromFields<TFields>, get: Atom.FnContext) => A | Effect.Effect<A, E, R>;
|
|
38
31
|
}
|
|
39
32
|
/**
|
|
40
33
|
* Maps field names to their type-safe Field references for setValue operations.
|
|
@@ -43,7 +36,7 @@ export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R> {
|
|
|
43
36
|
* @category Models
|
|
44
37
|
*/
|
|
45
38
|
export type FieldRefs<TFields extends Field.FieldsRecord> = {
|
|
46
|
-
readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ?
|
|
39
|
+
readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ? FormBuilder.FieldRef<Schema.Schema.Encoded<S>> : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? FormBuilder.FieldRef<ReadonlyArray<Schema.Schema.Encoded<S>>> : never;
|
|
47
40
|
};
|
|
48
41
|
/**
|
|
49
42
|
* The complete form atoms infrastructure.
|
|
@@ -51,8 +44,8 @@ export type FieldRefs<TFields extends Field.FieldsRecord> = {
|
|
|
51
44
|
* @since 1.0.0
|
|
52
45
|
* @category Models
|
|
53
46
|
*/
|
|
54
|
-
export interface FormAtoms<TFields extends Field.FieldsRecord, R> {
|
|
55
|
-
readonly stateAtom: Atom.Writable<Option.Option<
|
|
47
|
+
export interface FormAtoms<TFields extends Field.FieldsRecord, R, A = void, E = never> {
|
|
48
|
+
readonly stateAtom: Atom.Writable<Option.Option<FormBuilder.FormState<TFields>>, Option.Option<FormBuilder.FormState<TFields>>>;
|
|
56
49
|
readonly crossFieldErrorsAtom: Atom.Writable<Map<string, string>, Map<string, string>>;
|
|
57
50
|
readonly dirtyFieldsAtom: Atom.Atom<ReadonlySet<string>>;
|
|
58
51
|
readonly isDirtyAtom: Atom.Atom<boolean>;
|
|
@@ -60,16 +53,21 @@ export interface FormAtoms<TFields extends Field.FieldsRecord, R> {
|
|
|
60
53
|
readonly lastSubmittedValuesAtom: Atom.Atom<Option.Option<Field.EncodedFromFields<TFields>>>;
|
|
61
54
|
readonly changedSinceSubmitFieldsAtom: Atom.Atom<ReadonlySet<string>>;
|
|
62
55
|
readonly hasChangedSinceSubmitAtom: Atom.Atom<boolean>;
|
|
63
|
-
readonly
|
|
64
|
-
readonly decodeAndSubmit: Atom.AtomResultFn<Field.EncodedFromFields<TFields>, unknown, unknown>;
|
|
56
|
+
readonly submitAtom: Atom.AtomResultFn<void, A, E | ParseResult.ParseError>;
|
|
65
57
|
readonly combinedSchema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>;
|
|
66
58
|
readonly fieldRefs: FieldRefs<TFields>;
|
|
67
59
|
readonly validationAtomsRegistry: WeakRegistry<Atom.AtomResultFn<unknown, void, ParseResult.ParseError>>;
|
|
68
60
|
readonly fieldAtomsRegistry: WeakRegistry<FieldAtoms>;
|
|
69
61
|
readonly getOrCreateValidationAtom: (fieldPath: string, schema: Schema.Schema.Any) => Atom.AtomResultFn<unknown, void, ParseResult.ParseError>;
|
|
70
62
|
readonly getOrCreateFieldAtoms: (fieldPath: string) => FieldAtoms;
|
|
71
|
-
readonly resetValidationAtoms: (
|
|
63
|
+
readonly resetValidationAtoms: (ctx: {
|
|
64
|
+
set: <R, W>(atom: Atom.Writable<R, W>, value: W) => void;
|
|
65
|
+
}) => void;
|
|
72
66
|
readonly operations: FormOperations<TFields>;
|
|
67
|
+
readonly resetAtom: Atom.Writable<void, void>;
|
|
68
|
+
readonly revertToLastSubmitAtom: Atom.Writable<void, void>;
|
|
69
|
+
readonly setValuesAtom: Atom.Writable<void, Field.EncodedFromFields<TFields>>;
|
|
70
|
+
readonly setValue: <S>(field: FormBuilder.FieldRef<S>) => Atom.Writable<void, S | ((prev: S) => S)>;
|
|
73
71
|
}
|
|
74
72
|
/**
|
|
75
73
|
* Pure state operations for form manipulation.
|
|
@@ -78,21 +76,21 @@ export interface FormAtoms<TFields extends Field.FieldsRecord, R> {
|
|
|
78
76
|
* @category Models
|
|
79
77
|
*/
|
|
80
78
|
export interface FormOperations<TFields extends Field.FieldsRecord> {
|
|
81
|
-
readonly createInitialState: (defaultValues: Field.EncodedFromFields<TFields>) =>
|
|
82
|
-
readonly createResetState: (state:
|
|
83
|
-
readonly createSubmitState: (state:
|
|
84
|
-
readonly setFieldValue: (state:
|
|
85
|
-
readonly setFormValues: (state:
|
|
86
|
-
readonly setFieldTouched: (state:
|
|
87
|
-
readonly appendArrayItem: (state:
|
|
88
|
-
readonly removeArrayItem: (state:
|
|
89
|
-
readonly swapArrayItems: (state:
|
|
90
|
-
readonly moveArrayItem: (state:
|
|
79
|
+
readonly createInitialState: (defaultValues: Field.EncodedFromFields<TFields>) => FormBuilder.FormState<TFields>;
|
|
80
|
+
readonly createResetState: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
|
|
81
|
+
readonly createSubmitState: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
|
|
82
|
+
readonly setFieldValue: (state: FormBuilder.FormState<TFields>, fieldPath: string, value: unknown) => FormBuilder.FormState<TFields>;
|
|
83
|
+
readonly setFormValues: (state: FormBuilder.FormState<TFields>, values: Field.EncodedFromFields<TFields>) => FormBuilder.FormState<TFields>;
|
|
84
|
+
readonly setFieldTouched: (state: FormBuilder.FormState<TFields>, fieldPath: string, touched: boolean) => FormBuilder.FormState<TFields>;
|
|
85
|
+
readonly appendArrayItem: (state: FormBuilder.FormState<TFields>, arrayPath: string, itemSchema: Schema.Schema.Any, value?: unknown) => FormBuilder.FormState<TFields>;
|
|
86
|
+
readonly removeArrayItem: (state: FormBuilder.FormState<TFields>, arrayPath: string, index: number) => FormBuilder.FormState<TFields>;
|
|
87
|
+
readonly swapArrayItems: (state: FormBuilder.FormState<TFields>, arrayPath: string, indexA: number, indexB: number) => FormBuilder.FormState<TFields>;
|
|
88
|
+
readonly moveArrayItem: (state: FormBuilder.FormState<TFields>, arrayPath: string, fromIndex: number, toIndex: number) => FormBuilder.FormState<TFields>;
|
|
91
89
|
/**
|
|
92
90
|
* Reverts values to the last submitted state.
|
|
93
91
|
* No-op if form has never been submitted or is already in sync.
|
|
94
92
|
*/
|
|
95
|
-
readonly revertToLastSubmit: (state:
|
|
93
|
+
readonly revertToLastSubmit: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
|
|
96
94
|
}
|
|
97
95
|
/**
|
|
98
96
|
* Creates the complete form atoms infrastructure.
|
|
@@ -106,9 +104,9 @@ export interface FormOperations<TFields extends Field.FieldsRecord> {
|
|
|
106
104
|
*
|
|
107
105
|
* const runtime = Atom.runtime(Layer.empty)
|
|
108
106
|
*
|
|
109
|
-
* const loginForm =
|
|
110
|
-
* .addField(
|
|
111
|
-
* .addField(
|
|
107
|
+
* const loginForm = FormBuilder.empty
|
|
108
|
+
* .addField(FormBuilder.makeField("email", Schema.String))
|
|
109
|
+
* .addField(FormBuilder.makeField("password", Schema.String))
|
|
112
110
|
*
|
|
113
111
|
* const atoms = FormAtoms.make({
|
|
114
112
|
* runtime,
|
|
@@ -120,5 +118,5 @@ export interface FormOperations<TFields extends Field.FieldsRecord> {
|
|
|
120
118
|
* @since 1.0.0
|
|
121
119
|
* @category Constructors
|
|
122
120
|
*/
|
|
123
|
-
export declare const make: <TFields extends Field.FieldsRecord, R>(config: FormAtomsConfig<TFields, R>) => FormAtoms<TFields, R>;
|
|
121
|
+
export declare const make: <TFields extends Field.FieldsRecord, R, A, E>(config: FormAtomsConfig<TFields, R, A, E>) => FormAtoms<TFields, R, A, E>;
|
|
124
122
|
//# sourceMappingURL=FormAtoms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAtoms.d.ts","sourceRoot":"","sources":["../../src/FormAtoms.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"FormAtoms.d.ts","sourceRoot":"","sources":["../../src/FormAtoms.ts"],"names":[],"mappings":"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"}
|