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