@lucas-barake/effect-form 0.12.0 → 0.14.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.
Files changed (62) hide show
  1. package/dist/cjs/Field.js +0 -67
  2. package/dist/cjs/Field.js.map +1 -1
  3. package/dist/cjs/FormAtoms.js +0 -25
  4. package/dist/cjs/FormAtoms.js.map +1 -1
  5. package/dist/cjs/FormBuilder.js +0 -66
  6. package/dist/cjs/FormBuilder.js.map +1 -1
  7. package/dist/cjs/Mode.js +0 -9
  8. package/dist/cjs/Mode.js.map +1 -1
  9. package/dist/cjs/Path.js +0 -34
  10. package/dist/cjs/Path.js.map +1 -1
  11. package/dist/cjs/Validation.js +2 -33
  12. package/dist/cjs/Validation.js.map +1 -1
  13. package/dist/cjs/internal/dirty.js +0 -16
  14. package/dist/cjs/internal/dirty.js.map +1 -1
  15. package/dist/cjs/internal/weak-registry.js +0 -11
  16. package/dist/cjs/internal/weak-registry.js.map +1 -1
  17. package/dist/dts/Field.d.ts +0 -99
  18. package/dist/dts/Field.d.ts.map +1 -1
  19. package/dist/dts/FormAtoms.d.ts +0 -54
  20. package/dist/dts/FormAtoms.d.ts.map +1 -1
  21. package/dist/dts/FormBuilder.d.ts +3 -152
  22. package/dist/dts/FormBuilder.d.ts.map +1 -1
  23. package/dist/dts/Mode.d.ts +0 -33
  24. package/dist/dts/Mode.d.ts.map +1 -1
  25. package/dist/dts/Path.d.ts +0 -34
  26. package/dist/dts/Path.d.ts.map +1 -1
  27. package/dist/dts/Validation.d.ts +0 -37
  28. package/dist/dts/Validation.d.ts.map +1 -1
  29. package/dist/dts/index.d.ts +17 -19
  30. package/dist/dts/index.d.ts.map +1 -1
  31. package/dist/dts/internal/dirty.d.ts +0 -10
  32. package/dist/dts/internal/dirty.d.ts.map +1 -1
  33. package/dist/dts/internal/weak-registry.d.ts +8 -6
  34. package/dist/dts/internal/weak-registry.d.ts.map +1 -1
  35. package/dist/esm/Field.js +0 -66
  36. package/dist/esm/Field.js.map +1 -1
  37. package/dist/esm/FormAtoms.js +0 -25
  38. package/dist/esm/FormAtoms.js.map +1 -1
  39. package/dist/esm/FormBuilder.js +0 -66
  40. package/dist/esm/FormBuilder.js.map +1 -1
  41. package/dist/esm/Mode.js +0 -8
  42. package/dist/esm/Mode.js.map +1 -1
  43. package/dist/esm/Path.js +0 -34
  44. package/dist/esm/Path.js.map +1 -1
  45. package/dist/esm/Validation.js +2 -32
  46. package/dist/esm/Validation.js.map +1 -1
  47. package/dist/esm/index.js +17 -19
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/internal/dirty.js +0 -15
  50. package/dist/esm/internal/dirty.js.map +1 -1
  51. package/dist/esm/internal/weak-registry.js +0 -11
  52. package/dist/esm/internal/weak-registry.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/Field.ts +0 -99
  55. package/src/FormAtoms.ts +0 -54
  56. package/src/FormBuilder.ts +0 -172
  57. package/src/Mode.ts +0 -33
  58. package/src/Path.ts +0 -35
  59. package/src/Validation.ts +3 -44
  60. package/src/index.ts +22 -19
  61. package/src/internal/dirty.ts +0 -15
  62. package/src/internal/weak-registry.ts +0 -17
@@ -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","initialItems","getNestedValue","nextDirty","Set","Array","from","filter","path","isPathUnderRoot","loopLength","Math","max","length","itemPath","newItem","initialItem","isEqual","structuralRegion","equals","add","delete","exports","recalculateDirtySubtree","currentDirty","allInitial","allValues","rootPath","targetValue","targetInitial","changed","clear","recurse","current","initial","isArray","initialArr","initialObj","key","undefined"],"sources":["../../../src/internal/dirty.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dirty.js","names":["Equal","_interopRequireWildcard","require","Utils","_Path","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","recalculateDirtyFieldsForArray","dirtyFields","initialValues","arrayPath","newItems","initialItems","getNestedValue","nextDirty","Set","Array","from","filter","path","isPathUnderRoot","loopLength","Math","max","length","itemPath","newItem","initialItem","isEqual","structuralRegion","equals","add","delete","exports","recalculateDirtySubtree","currentDirty","allInitial","allValues","rootPath","targetValue","targetInitial","changed","clear","recurse","current","initial","isArray","initialArr","initialObj","key","undefined"],"sources":["../../../src/internal/dirty.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,17 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createWeakRegistry = void 0;
7
- /**
8
- * Internal WeakRef-based registry for caching atoms.
9
- *
10
- * @internal
11
- */
12
- /**
13
- * Creates a WeakRef-based registry with automatic cleanup via FinalizationRegistry.
14
- * Falls back to a regular Map in environments without WeakRef support.
15
- *
16
- * @internal
17
- */
18
7
  const createWeakRegistry = () => {
19
8
  if (typeof WeakRef === "undefined" || typeof FinalizationRegistry === "undefined") {
20
9
  const map = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"weak-registry.js","names":["createWeakRegistry","WeakRef","FinalizationRegistry","map","Map","get","key","set","value","delete","clear","values","registry","deref","register","ref","undefined","exports"],"sources":["../../../src/internal/weak-registry.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA;;;;;AAmBA;;;;;;AAMO,MAAMA,kBAAkB,GAAGA,CAAA,KAAwC;EACxE,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAI,OAAOC,oBAAoB,KAAK,WAAW,EAAE;IACjF,MAAMC,GAAG,GAAG,IAAIC,GAAG,EAAa;IAChC,OAAO;MACLC,GAAG,EAAGC,GAAG,IAAKH,GAAG,CAACE,GAAG,CAACC,GAAG,CAAC;MAC1BC,GAAG,EAAEA,CAACD,GAAG,EAAEE,KAAK,KAAI;QAClBL,GAAG,CAACI,GAAG,CAACD,GAAG,EAAEE,KAAK,CAAC;MACrB,CAAC;MACDC,MAAM,EAAGH,GAAG,IAAKH,GAAG,CAACM,MAAM,CAACH,GAAG,CAAC;MAChCI,KAAK,EAAEA,CAAA,KAAMP,GAAG,CAACO,KAAK,EAAE;MACxBC,MAAM,EAAEA,CAAA,KAAMR,GAAG,CAACQ,MAAM;KACzB;EACH;EAEA,MAAMR,GAAG,GAAG,IAAIC,GAAG,EAAsB;EACzC,MAAMQ,QAAQ,GAAG,IAAIV,oBAAoB,CAAUI,GAAG,IAAI;IACxDH,GAAG,CAACM,MAAM,CAACH,GAAG,CAAC;EACjB,CAAC,CAAC;EAEF,OAAO;IACLD,GAAG,EAAGC,GAAG,IAAKH,GAAG,CAACE,GAAG,CAACC,GAAG,CAAC,EAAEO,KAAK,EAAE;IACnCN,GAAG,EAAEA,CAACD,GAAG,EAAEE,KAAK,KAAI;MAClBL,GAAG,CAACI,GAAG,CAACD,GAAG,EAAE,IAAIL,OAAO,CAACO,KAAK,CAAC,CAAC;MAChCI,QAAQ,CAACE,QAAQ,CAACN,KAAK,EAAEF,GAAG,CAAC;IAC/B,CAAC;IACDG,MAAM,EAAGH,GAAG,IAAKH,GAAG,CAACM,MAAM,CAACH,GAAG,CAAC;IAChCI,KAAK,EAAEA,CAAA,KAAMP,GAAG,CAACO,KAAK,EAAE;IACxB,CAACC,MAAMA,CAAA;MACL,KAAK,MAAMI,GAAG,IAAIZ,GAAG,CAACQ,MAAM,EAAE,EAAE;QAC9B,MAAMH,KAAK,GAAGO,GAAG,CAACF,KAAK,EAAE;QACzB,IAAIL,KAAK,KAAKQ,SAAS,EAAE,MAAMR,KAAK;MACtC;IACF;GACD;AACH,CAAC;AAAAS,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"file":"weak-registry.js","names":["createWeakRegistry","WeakRef","FinalizationRegistry","map","Map","get","key","set","value","delete","clear","values","registry","deref","register","ref","undefined","exports"],"sources":["../../../src/internal/weak-registry.ts"],"sourcesContent":[null],"mappings":";;;;;;AAQO,MAAMA,kBAAkB,GAAGA,CAAA,KAAwC;EACxE,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAI,OAAOC,oBAAoB,KAAK,WAAW,EAAE;IACjF,MAAMC,GAAG,GAAG,IAAIC,GAAG,EAAa;IAChC,OAAO;MACLC,GAAG,EAAGC,GAAG,IAAKH,GAAG,CAACE,GAAG,CAACC,GAAG,CAAC;MAC1BC,GAAG,EAAEA,CAACD,GAAG,EAAEE,KAAK,KAAI;QAClBL,GAAG,CAACI,GAAG,CAACD,GAAG,EAAEE,KAAK,CAAC;MACrB,CAAC;MACDC,MAAM,EAAGH,GAAG,IAAKH,GAAG,CAACM,MAAM,CAACH,GAAG,CAAC;MAChCI,KAAK,EAAEA,CAAA,KAAMP,GAAG,CAACO,KAAK,EAAE;MACxBC,MAAM,EAAEA,CAAA,KAAMR,GAAG,CAACQ,MAAM;KACzB;EACH;EAEA,MAAMR,GAAG,GAAG,IAAIC,GAAG,EAAsB;EACzC,MAAMQ,QAAQ,GAAG,IAAIV,oBAAoB,CAAUI,GAAG,IAAI;IACxDH,GAAG,CAACM,MAAM,CAACH,GAAG,CAAC;EACjB,CAAC,CAAC;EAEF,OAAO;IACLD,GAAG,EAAGC,GAAG,IAAKH,GAAG,CAACE,GAAG,CAACC,GAAG,CAAC,EAAEO,KAAK,EAAE;IACnCN,GAAG,EAAEA,CAACD,GAAG,EAAEE,KAAK,KAAI;MAClBL,GAAG,CAACI,GAAG,CAACD,GAAG,EAAE,IAAIL,OAAO,CAACO,KAAK,CAAC,CAAC;MAChCI,QAAQ,CAACE,QAAQ,CAACN,KAAK,EAAEF,GAAG,CAAC;IAC/B,CAAC;IACDG,MAAM,EAAGH,GAAG,IAAKH,GAAG,CAACM,MAAM,CAACH,GAAG,CAAC;IAChCI,KAAK,EAAEA,CAAA,KAAMP,GAAG,CAACO,KAAK,EAAE;IACxB,CAACC,MAAMA,CAAA;MACL,KAAK,MAAMI,GAAG,IAAIZ,GAAG,CAACQ,MAAM,EAAE,EAAE;QAC9B,MAAMH,KAAK,GAAGO,GAAG,CAACF,KAAK,EAAE;QACzB,IAAIL,KAAK,KAAKQ,SAAS,EAAE,MAAMR,KAAK;MACtC;IACF;GACD;AACH,CAAC;AAAAS,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,128 +1,29 @@
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 declare const TypeId: unique symbol;
11
- /**
12
- * @category Symbols
13
- */
14
3
  export type TypeId = typeof TypeId;
15
- /**
16
- * A scalar field definition containing the key and schema.
17
- *
18
- * @category Models
19
- */
20
4
  export interface FieldDef<K extends string, S extends Schema.Schema.Any> {
21
5
  readonly _tag: "field";
22
6
  readonly key: K;
23
7
  readonly schema: S;
24
8
  }
25
- /**
26
- * An array field definition containing a schema for items.
27
- *
28
- * @category Models
29
- */
30
9
  export interface ArrayFieldDef<K extends string, S extends Schema.Schema.Any> {
31
10
  readonly _tag: "array";
32
11
  readonly key: K;
33
12
  readonly itemSchema: S;
34
13
  }
35
- /**
36
- * Union of all field definition types.
37
- *
38
- * @category Models
39
- */
40
14
  export type AnyFieldDef = FieldDef<string, Schema.Schema.Any> | ArrayFieldDef<string, Schema.Schema.Any>;
41
- /**
42
- * A record of field definitions.
43
- *
44
- * @category Models
45
- */
46
15
  export type FieldsRecord = Record<string, AnyFieldDef>;
47
- /**
48
- * Checks if a field definition is an array field.
49
- *
50
- * @category Guards
51
- */
52
16
  export declare const isArrayFieldDef: (def: AnyFieldDef) => def is ArrayFieldDef<string, Schema.Schema.Any>;
53
- /**
54
- * Checks if a field definition is a scalar field.
55
- *
56
- * @category Guards
57
- */
58
17
  export declare const isFieldDef: (def: AnyFieldDef) => def is FieldDef<string, Schema.Schema.Any>;
59
- /**
60
- * Creates a scalar field definition.
61
- *
62
- * @example
63
- * ```ts
64
- * import * as Field from "@lucas-barake/effect-form/Field"
65
- * import * as Schema from "effect/Schema"
66
- *
67
- * const NameField = Field.makeField("name", Schema.String)
68
- * ```
69
- *
70
- * @category Constructors
71
- */
72
18
  export declare const makeField: <K extends string, S extends Schema.Schema.Any>(key: K, schema: S) => FieldDef<K, S>;
73
- /**
74
- * Creates an array field definition.
75
- *
76
- * @example
77
- * ```ts
78
- * import * as Field from "@lucas-barake/effect-form/Field"
79
- * import * as Schema from "effect/Schema"
80
- *
81
- * // Array of primitives
82
- * const TagsField = Field.makeArrayField("tags", Schema.String)
83
- *
84
- * // Array of objects
85
- * const ItemsField = Field.makeArrayField("items", Schema.Struct({
86
- * name: Schema.String,
87
- * quantity: Schema.Number
88
- * }))
89
- * ```
90
- *
91
- * @category Constructors
92
- */
93
19
  export declare const makeArrayField: <K extends string, S extends Schema.Schema.Any>(key: K, itemSchema: S) => ArrayFieldDef<K, S>;
94
- /**
95
- * Extracts the encoded (input) type from a fields record.
96
- *
97
- * @category Type Helpers
98
- */
99
20
  export type EncodedFromFields<T extends FieldsRecord> = {
100
21
  readonly [K in keyof T]: T[K] extends FieldDef<any, infer S> ? Schema.Schema.Encoded<S> : T[K] extends ArrayFieldDef<any, infer S> ? ReadonlyArray<Schema.Schema.Encoded<S>> : never;
101
22
  };
102
- /**
103
- * Extracts the decoded (output) type from a fields record.
104
- *
105
- * @category Type Helpers
106
- */
107
23
  export type DecodedFromFields<T extends FieldsRecord> = {
108
24
  readonly [K in keyof T]: T[K] extends FieldDef<any, infer S> ? Schema.Schema.Type<S> : T[K] extends ArrayFieldDef<any, infer S> ? ReadonlyArray<Schema.Schema.Type<S>> : never;
109
25
  };
110
- /**
111
- * Gets a default encoded value from a schema.
112
- *
113
- * @category Helpers
114
- */
115
26
  export declare const getDefaultFromSchema: (schema: Schema.Schema.Any) => unknown;
116
- /**
117
- * Gets default encoded values for a fields record.
118
- *
119
- * @category Helpers
120
- */
121
27
  export declare const getDefaultEncodedValues: (fields: FieldsRecord) => Record<string, unknown>;
122
- /**
123
- * Creates a touched record with all fields set to the given value.
124
- *
125
- * @category Helpers
126
- */
127
28
  export declare const createTouchedRecord: (fields: FieldsRecord, value: boolean) => Record<string, boolean>;
128
29
  //# sourceMappingURL=Field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/Field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/Field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,MAAM,EAAE,OAAO,MAAsD,CAAA;AAElF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG;IACrE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAExG,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAEtD,eAAO,MAAM,eAAe,GAAI,KAAK,WAAW,KAAG,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAC3E,CAAA;AAEtB,eAAO,MAAM,UAAU,GAAI,KAAK,WAAW,KAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAyB,CAAA;AAEhH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EACrE,KAAK,CAAC,EACN,QAAQ,CAAC,KACR,QAAQ,CAAC,CAAC,EAAE,CAAC,CAId,CAAA;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC1E,KAAK,CAAC,EACN,YAAY,CAAC,KACZ,aAAa,CAAC,CAAC,EAAE,CAAC,CAInB,CAAA;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,YAAY,IAAI;IACtD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GACnF,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAClF,KAAK;CACV,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,YAAY,IAAI;IACtD,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAChF,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAC/E,KAAK;CACV,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,KAAG,OA0BhE,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,QAAQ,YAAY,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAUpF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,QAAQ,YAAY,EAAE,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAMhG,CAAA"}
@@ -7,22 +7,12 @@ import * as Field from "./Field.js";
7
7
  import * as FormBuilder from "./FormBuilder.js";
8
8
  import { type WeakRegistry } from "./internal/weak-registry.js";
9
9
  import * as Validation from "./Validation.js";
10
- /**
11
- * Atoms for a single field.
12
- *
13
- * @category Models
14
- */
15
10
  export interface FieldAtoms {
16
11
  readonly valueAtom: Atom.Writable<unknown, unknown>;
17
12
  readonly initialValueAtom: Atom.Atom<unknown>;
18
13
  readonly touchedAtom: Atom.Writable<boolean, boolean>;
19
14
  readonly errorAtom: Atom.Atom<Option.Option<Validation.ErrorEntry>>;
20
15
  }
21
- /**
22
- * Configuration for creating form atoms.
23
- *
24
- * @category Models
25
- */
26
16
  export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = void> {
27
17
  readonly runtime: Atom.AtomRuntime<R, any>;
28
18
  readonly formBuilder: FormBuilder.FormBuilder<TFields, R>;
@@ -32,19 +22,9 @@ export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R, A, E, Su
32
22
  readonly get: Atom.FnContext;
33
23
  }) => A | Effect.Effect<A, E, R>;
34
24
  }
35
- /**
36
- * Maps field names to their type-safe Field references for setValue operations.
37
- *
38
- * @category Models
39
- */
40
25
  export type FieldRefs<TFields extends Field.FieldsRecord> = {
41
26
  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;
42
27
  };
43
- /**
44
- * The complete form atoms infrastructure.
45
- *
46
- * @category Models
47
- */
48
28
  export interface FormAtoms<TFields extends Field.FieldsRecord, R, A = void, E = never, SubmitArgs = void> {
49
29
  readonly stateAtom: Atom.Writable<Option.Option<FormBuilder.FormState<TFields>>, Option.Option<FormBuilder.FormState<TFields>>>;
50
30
  readonly errorsAtom: Atom.Writable<Map<string, Validation.ErrorEntry>, Map<string, Validation.ErrorEntry>>;
@@ -93,11 +73,6 @@ export interface FormAtoms<TFields extends Field.FieldsRecord, R, A = void, E =
93
73
  readonly mountAtom: Atom.Atom<void>;
94
74
  readonly keepAliveActiveAtom: Atom.Writable<boolean, boolean>;
95
75
  }
96
- /**
97
- * Pure state operations for form manipulation.
98
- *
99
- * @category Models
100
- */
101
76
  export interface FormOperations<TFields extends Field.FieldsRecord> {
102
77
  readonly createInitialState: (defaultValues: Field.EncodedFromFields<TFields>) => FormBuilder.FormState<TFields>;
103
78
  readonly createResetState: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
@@ -109,36 +84,7 @@ export interface FormOperations<TFields extends Field.FieldsRecord> {
109
84
  readonly removeArrayItem: (state: FormBuilder.FormState<TFields>, arrayPath: string, index: number) => FormBuilder.FormState<TFields>;
110
85
  readonly swapArrayItems: (state: FormBuilder.FormState<TFields>, arrayPath: string, indexA: number, indexB: number) => FormBuilder.FormState<TFields>;
111
86
  readonly moveArrayItem: (state: FormBuilder.FormState<TFields>, arrayPath: string, fromIndex: number, toIndex: number) => FormBuilder.FormState<TFields>;
112
- /**
113
- * Reverts values to the last submitted state.
114
- * No-op if form has never been submitted or is already in sync.
115
- */
116
87
  readonly revertToLastSubmit: (state: FormBuilder.FormState<TFields>) => FormBuilder.FormState<TFields>;
117
88
  }
118
- /**
119
- * Creates the complete form atoms infrastructure.
120
- *
121
- * @example
122
- * ```ts
123
- * import * as FormAtoms from "@lucas-barake/effect-form/FormAtoms"
124
- * import * as Form from "@lucas-barake/effect-form"
125
- * import * as Atom from "@effect-atom/atom/Atom"
126
- * import * as Layer from "effect/Layer"
127
- *
128
- * const runtime = Atom.runtime(Layer.empty)
129
- *
130
- * const loginForm = FormBuilder.empty
131
- * .addField(FormBuilder.makeField("email", Schema.String))
132
- * .addField(FormBuilder.makeField("password", Schema.String))
133
- *
134
- * const atoms = FormAtoms.make({
135
- * runtime,
136
- * formBuilder: loginForm,
137
- * parsedMode: { validation: "onChange", debounce: 300, autoSubmit: false }
138
- * })
139
- * ```
140
- *
141
- * @category Constructors
142
- */
143
89
  export declare const make: <TFields extends Field.FieldsRecord, R, A, E, SubmitArgs = void>(config: FormAtomsConfig<TFields, R, A, E, SubmitArgs>) => FormAtoms<TFields, R, A, E, SubmitArgs>;
144
90
  //# sourceMappingURL=FormAtoms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormAtoms.d.ts","sourceRoot":"","sources":["../../src/FormAtoms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormAtoms.d.ts","sourceRoot":"","sources":["../../src/FormAtoms.ts"],"names":[],"mappings":"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"}
@@ -3,38 +3,20 @@ import type * as Effect from "effect/Effect";
3
3
  import type * as Option from "effect/Option";
4
4
  import * as Schema from "effect/Schema";
5
5
  import type { ArrayFieldDef, DecodedFromFields, EncodedFromFields, FieldDef, FieldsRecord } from "./Field.js";
6
- /**
7
- * @category Models
8
- */
9
6
  export interface SubmittedValues<TFields extends FieldsRecord> {
10
7
  readonly encoded: EncodedFromFields<TFields>;
11
8
  readonly decoded: DecodedFromFields<TFields>;
12
9
  }
13
- /**
14
- * A field reference carrying type and path info for type-safe setValue operations.
15
- *
16
- * @category Models
17
- */
10
+ export declare const FieldTypeId: unique symbol;
11
+ export type FieldTypeId = typeof FieldTypeId;
18
12
  export interface FieldRef<S> {
19
13
  readonly [FieldTypeId]: FieldTypeId;
20
14
  readonly _S: S;
21
15
  readonly key: string;
22
16
  }
23
- /**
24
- * Unique identifier for FormBuilder instances.
25
- *
26
- * @category Symbols
27
- */
17
+ export declare const makeFieldRef: <S>(key: string) => FieldRef<S>;
28
18
  export declare const TypeId: unique symbol;
29
- /**
30
- * @category Symbols
31
- */
32
19
  export type TypeId = typeof TypeId;
33
- /**
34
- * The state of a form at runtime.
35
- *
36
- * @category Models
37
- */
38
20
  export interface FormState<TFields extends FieldsRecord> {
39
21
  readonly values: EncodedFromFields<TFields>;
40
22
  readonly initialValues: EncodedFromFields<TFields>;
@@ -54,157 +36,26 @@ interface AsyncRefinement {
54
36
  readonly fn: (values: unknown) => Effect.Effect<Schema.FilterOutput, never, unknown>;
55
37
  }
56
38
  type Refinement = SyncRefinement | AsyncRefinement;
57
- /**
58
- * A builder for constructing type-safe forms with Effect Schema validation.
59
- *
60
- * **Details**
61
- *
62
- * FormBuilder uses a fluent API pattern to define form fields. Each field
63
- * includes a Schema for validation. The builder accumulates field definitions
64
- * and context requirements (`R`) from schemas that use Effect services.
65
- *
66
- * @category Models
67
- */
68
39
  export interface FormBuilder<TFields extends FieldsRecord, R> {
69
40
  readonly [TypeId]: TypeId;
70
41
  readonly fields: TFields;
71
42
  readonly refinements: ReadonlyArray<Refinement>;
72
43
  readonly _R?: R;
73
- /**
74
- * Adds a scalar field to the form builder.
75
- *
76
- * @example
77
- * ```ts
78
- * const NameField = Field.makeField("name", Schema.String)
79
- * const form = FormBuilder.empty.addField(NameField)
80
- * ```
81
- */
82
44
  addField<K extends string, S extends Schema.Schema.Any>(this: FormBuilder<TFields, R>, field: FieldDef<K, S>): FormBuilder<TFields & {
83
45
  readonly [key in K]: FieldDef<K, S>;
84
46
  }, R | Schema.Schema.Context<S>>;
85
- /**
86
- * Adds an array field to the form builder.
87
- *
88
- * @example
89
- * ```ts
90
- * const ItemsField = Field.makeArrayField("items", Schema.Struct({ name: Schema.String }))
91
- * const form = FormBuilder.empty.addField(ItemsField)
92
- * ```
93
- */
94
47
  addField<K extends string, S extends Schema.Schema.Any>(this: FormBuilder<TFields, R>, field: ArrayFieldDef<K, S>): FormBuilder<TFields & {
95
48
  readonly [key in K]: ArrayFieldDef<K, S>;
96
49
  }, R | Schema.Schema.Context<S>>;
97
- /**
98
- * Adds a scalar field using inline key and schema.
99
- * Shorthand for `Field.makeField(key, schema)` when field reuse is not needed.
100
- *
101
- * @example
102
- * ```ts
103
- * const form = FormBuilder.empty
104
- * .addField("email", Schema.String)
105
- * .addField("age", Schema.Number)
106
- * ```
107
- */
108
50
  addField<K extends string, S extends Schema.Schema.Any>(this: FormBuilder<TFields, R>, key: K, schema: S): FormBuilder<TFields & {
109
51
  readonly [key in K]: FieldDef<K, S>;
110
52
  }, R | Schema.Schema.Context<S>>;
111
- /**
112
- * Merges another FormBuilder's fields into this one.
113
- * Useful for composing reusable field groups.
114
- *
115
- * @example
116
- * ```ts
117
- * const addressFields = FormBuilder.empty
118
- * .addField("street", Schema.String)
119
- * .addField("city", Schema.String)
120
- *
121
- * const userForm = FormBuilder.empty
122
- * .addField("name", Schema.String)
123
- * .merge(addressFields)
124
- * ```
125
- */
126
53
  merge<TFields2 extends FieldsRecord, R2>(this: FormBuilder<TFields, R>, other: FormBuilder<TFields2, R2>): FormBuilder<TFields & TFields2, R | R2>;
127
- /**
128
- * Adds a synchronous cross-field validation refinement to the form.
129
- *
130
- * @example
131
- * ```ts
132
- * const form = FormBuilder.empty
133
- * .addField("password", Schema.String)
134
- * .addField("confirmPassword", Schema.String)
135
- * .refine((values) => {
136
- * if (values.password !== values.confirmPassword) {
137
- * return { path: ["confirmPassword"], message: "Passwords must match" }
138
- * }
139
- * })
140
- * ```
141
- */
142
54
  refine(this: FormBuilder<TFields, R>, predicate: (values: DecodedFromFields<TFields>) => Schema.FilterOutput): FormBuilder<TFields, R>;
143
- /**
144
- * Adds an asynchronous cross-field validation refinement to the form.
145
- *
146
- * @example
147
- * ```ts
148
- * const form = FormBuilder.empty
149
- * .addField("username", Schema.String)
150
- * .refineEffect((values) =>
151
- * Effect.gen(function* () {
152
- * const taken = yield* checkUsername(values.username)
153
- * if (taken) return { path: ["username"], message: "Already taken" }
154
- * })
155
- * )
156
- * ```
157
- */
158
55
  refineEffect<RD>(this: FormBuilder<TFields, R>, predicate: (values: DecodedFromFields<TFields>) => Effect.Effect<Schema.FilterOutput, never, RD>): FormBuilder<TFields, R | Exclude<RD, Registry.AtomRegistry>>;
159
56
  }
160
- /**
161
- * Checks if a value is a `FormBuilder`.
162
- *
163
- * @example
164
- * ```ts
165
- * import { FormBuilder } from "@lucas-barake/effect-form"
166
- *
167
- * const builder = FormBuilder.empty
168
- *
169
- * console.log(FormBuilder.isFormBuilder(builder))
170
- * // Output: true
171
- *
172
- * console.log(FormBuilder.isFormBuilder({}))
173
- * // Output: false
174
- * ```
175
- *
176
- * @category Guards
177
- */
178
57
  export declare const isFormBuilder: (u: unknown) => u is FormBuilder<any, any>;
179
- /**
180
- * An empty `FormBuilder` to start building a form.
181
- *
182
- * **Details**
183
- *
184
- * This is the entry point for building a form. Use method chaining to add
185
- * fields and then build the form with a React adapter.
186
- *
187
- * @example
188
- * ```ts
189
- * import { Field, FormBuilder } from "@lucas-barake/effect-form"
190
- * import * as Schema from "effect/Schema"
191
- *
192
- * const EmailField = Field.makeField("email", Schema.String)
193
- * const PasswordField = Field.makeField("password", Schema.String)
194
- *
195
- * const loginForm = FormBuilder.empty
196
- * .addField(EmailField)
197
- * .addField(PasswordField)
198
- * ```
199
- *
200
- * @category Constructors
201
- */
202
58
  export declare const empty: FormBuilder<{}, never>;
203
- /**
204
- * Builds a combined Schema from a FormBuilder's field definitions.
205
- *
206
- * @category Schema
207
- */
208
59
  export declare const buildSchema: <TFields extends FieldsRecord, R>(self: FormBuilder<TFields, R>) => Schema.Schema<DecodedFromFields<TFields>, EncodedFromFields<TFields>, R>;
209
60
  export {};
210
61
  //# sourceMappingURL=FormBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../src/FormBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../src/FormBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,4 @@
1
- /**
2
- * Form validation mode configuration.
3
- */
4
1
  import * as Duration from "effect/Duration";
5
- /**
6
- * Controls when field validation is triggered and whether form auto-submits.
7
- *
8
- * Simple modes (string):
9
- * - `"onSubmit"`: Validation only runs when the form is submitted (default)
10
- * - `"onBlur"`: Validation runs when a field loses focus
11
- * - `"onChange"`: Validation runs on every value change (sync)
12
- *
13
- * Object modes (with options):
14
- * - `{ onChange: { debounce, autoSubmit? } }`: Debounced validation, optional auto-submit
15
- * - `{ onBlur: { autoSubmit: true } }`: Validate on blur, auto-submit when valid
16
- *
17
- * @category Models
18
- */
19
2
  export type FormMode = "onSubmit" | "onBlur" | "onChange" | {
20
3
  readonly onChange: {
21
4
  readonly debounce: Duration.DurationInput;
@@ -31,32 +14,16 @@ export type FormMode = "onSubmit" | "onBlur" | "onChange" | {
31
14
  readonly autoSubmit: true;
32
15
  };
33
16
  };
34
- /**
35
- * Form mode without auto-submit options.
36
- * Used when SubmitArgs is not void, since auto-submit cannot provide custom arguments.
37
- *
38
- * @category Models
39
- */
40
17
  export type FormModeWithoutAutoSubmit = "onSubmit" | "onBlur" | "onChange" | {
41
18
  readonly onChange: {
42
19
  readonly debounce: Duration.DurationInput;
43
20
  readonly autoSubmit?: false;
44
21
  };
45
22
  };
46
- /**
47
- * Parsed form mode with resolved values.
48
- *
49
- * @category Models
50
- */
51
23
  export interface ParsedMode {
52
24
  readonly validation: "onSubmit" | "onBlur" | "onChange";
53
25
  readonly debounce: number | null;
54
26
  readonly autoSubmit: boolean;
55
27
  }
56
- /**
57
- * Parses a FormMode into a normalized ParsedMode.
58
- *
59
- * @category Parsing
60
- */
61
28
  export declare const parse: (mode?: FormMode) => ParsedMode;
62
29
  //# sourceMappingURL=Mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mode.d.ts","sourceRoot":"","sources":["../../src/Mode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,QAAQ,GACR,UAAU,GACV;IAAE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE,GACjG;IAAE,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAA;CAAE,CAAA;AAEnG;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GACjC,UAAU,GACV,QAAQ,GACR,UAAU,GACV;IAAE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE,CAAA;AAErG;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,OAAM,QAAqB,KAAG,UAUnD,CAAA"}
1
+ {"version":3,"file":"Mode.d.ts","sourceRoot":"","sources":["../../src/Mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,QAAQ,GACR,UAAU,GACV;IAAE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE,GACjG;IAAE,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAA;CAAE,CAAA;AAEnG,MAAM,MAAM,yBAAyB,GACjC,UAAU,GACV,QAAQ,GACR,UAAU,GACV;IAAE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE,CAAA;AAErG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED,eAAO,MAAM,KAAK,GAAI,OAAM,QAAqB,KAAG,UAUnD,CAAA"}
@@ -1,40 +1,6 @@
1
- /**
2
- * Path utilities for form field operations.
3
- */
4
- /**
5
- * Converts a schema path array to a dot/bracket notation string.
6
- *
7
- * @example
8
- * schemaPathToFieldPath(["items", 0, "name"]) // "items[0].name"
9
- */
10
1
  export declare const schemaPathToFieldPath: (path: ReadonlyArray<PropertyKey>) => string;
11
- /**
12
- * Checks if a path matches a root path or is a descendant of it.
13
- * Handles both dot notation (root.child) and bracket notation (root[0]).
14
- *
15
- * @example
16
- * isPathUnderRoot("items[0].name", "items[0]") // true
17
- * isPathUnderRoot("items[0].name", "items") // true
18
- * isPathUnderRoot("other", "items") // false
19
- */
20
2
  export declare const isPathUnderRoot: (path: string, rootPath: string) => boolean;
21
- /**
22
- * Checks if a field path or any of its parent paths are in the dirty set.
23
- */
24
3
  export declare const isPathOrParentDirty: (dirtyFields: ReadonlySet<string>, path: string) => boolean;
25
- /**
26
- * Gets a nested value from an object using dot/bracket notation path.
27
- *
28
- * @example
29
- * getNestedValue({ items: [{ name: "A" }] }, "items[0].name") // "A"
30
- */
31
4
  export declare const getNestedValue: (obj: unknown, path: string) => unknown;
32
- /**
33
- * Sets a nested value in an object immutably using dot/bracket notation path.
34
- *
35
- * @example
36
- * setNestedValue({ items: [{ name: "A" }] }, "items[0].name", "B")
37
- * // { items: [{ name: "B" }] }
38
- */
39
5
  export declare const setNestedValue: <T>(obj: T, path: string, value: unknown) => T;
40
6
  //# sourceMappingURL=Path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/Path.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,aAAa,CAAC,WAAW,CAAC,KAAG,MAaxE,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,OACwB,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,KAAG,OAgBpF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,EAAE,MAAM,MAAM,KAAG,OAS3D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,OAAO,OAAO,KAAG,CAkBxE,CAAA"}
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"}