@lucas-barake/effect-form 0.1.0 → 0.2.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.
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Field definitions for type-safe forms.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ /**
8
+ * Unique identifier for Field instances.
9
+ *
10
+ * @since 1.0.0
11
+ * @category Symbols
12
+ */
13
+ export declare const TypeId: unique symbol;
14
+ /**
15
+ * @since 1.0.0
16
+ * @category Symbols
17
+ */
18
+ export type TypeId = typeof TypeId;
19
+ /**
20
+ * A scalar field definition containing the key and schema.
21
+ *
22
+ * @since 1.0.0
23
+ * @category Models
24
+ */
25
+ export interface FieldDef<K extends string, S extends Schema.Schema.Any> {
26
+ readonly _tag: "field";
27
+ readonly key: K;
28
+ readonly schema: S;
29
+ }
30
+ /**
31
+ * An array field definition containing a schema for items.
32
+ *
33
+ * @since 1.0.0
34
+ * @category Models
35
+ */
36
+ export interface ArrayFieldDef<K extends string, S extends Schema.Schema.Any> {
37
+ readonly _tag: "array";
38
+ readonly key: K;
39
+ readonly itemSchema: S;
40
+ }
41
+ /**
42
+ * Union of all field definition types.
43
+ *
44
+ * @since 1.0.0
45
+ * @category Models
46
+ */
47
+ export type AnyFieldDef = FieldDef<string, Schema.Schema.Any> | ArrayFieldDef<string, Schema.Schema.Any>;
48
+ /**
49
+ * A record of field definitions.
50
+ *
51
+ * @since 1.0.0
52
+ * @category Models
53
+ */
54
+ export type FieldsRecord = Record<string, AnyFieldDef>;
55
+ /**
56
+ * Checks if a field definition is an array field.
57
+ *
58
+ * @since 1.0.0
59
+ * @category Guards
60
+ */
61
+ export declare const isArrayFieldDef: (def: AnyFieldDef) => def is ArrayFieldDef<string, Schema.Schema.Any>;
62
+ /**
63
+ * Checks if a field definition is a scalar field.
64
+ *
65
+ * @since 1.0.0
66
+ * @category Guards
67
+ */
68
+ export declare const isFieldDef: (def: AnyFieldDef) => def is FieldDef<string, Schema.Schema.Any>;
69
+ /**
70
+ * Creates a scalar field definition.
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * import * as Field from "@lucas-barake/effect-form/Field"
75
+ * import * as Schema from "effect/Schema"
76
+ *
77
+ * const NameField = Field.makeField("name", Schema.String)
78
+ * ```
79
+ *
80
+ * @since 1.0.0
81
+ * @category Constructors
82
+ */
83
+ export declare const makeField: <K extends string, S extends Schema.Schema.Any>(key: K, schema: S) => FieldDef<K, S>;
84
+ /**
85
+ * Creates an array field definition.
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * import * as Field from "@lucas-barake/effect-form/Field"
90
+ * import * as Schema from "effect/Schema"
91
+ *
92
+ * // Array of primitives
93
+ * const TagsField = Field.makeArrayField("tags", Schema.String)
94
+ *
95
+ * // Array of objects
96
+ * const ItemsField = Field.makeArrayField("items", Schema.Struct({
97
+ * name: Schema.String,
98
+ * quantity: Schema.Number
99
+ * }))
100
+ * ```
101
+ *
102
+ * @since 1.0.0
103
+ * @category Constructors
104
+ */
105
+ export declare const makeArrayField: <K extends string, S extends Schema.Schema.Any>(key: K, itemSchema: S) => ArrayFieldDef<K, S>;
106
+ /**
107
+ * Extracts the encoded (input) type from a fields record.
108
+ *
109
+ * @since 1.0.0
110
+ * @category Type Helpers
111
+ */
112
+ export type EncodedFromFields<T extends FieldsRecord> = {
113
+ 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;
114
+ };
115
+ /**
116
+ * Extracts the decoded (output) type from a fields record.
117
+ *
118
+ * @since 1.0.0
119
+ * @category Type Helpers
120
+ */
121
+ export type DecodedFromFields<T extends FieldsRecord> = {
122
+ 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;
123
+ };
124
+ /**
125
+ * Gets a default encoded value from a schema.
126
+ *
127
+ * @since 1.0.0
128
+ * @category Helpers
129
+ */
130
+ export declare const getDefaultFromSchema: (schema: Schema.Schema.Any) => unknown;
131
+ /**
132
+ * Gets default encoded values for a fields record.
133
+ *
134
+ * @since 1.0.0
135
+ * @category Helpers
136
+ */
137
+ export declare const getDefaultEncodedValues: (fields: FieldsRecord) => Record<string, unknown>;
138
+ /**
139
+ * Creates a touched record with all fields set to the given value.
140
+ *
141
+ * @since 1.0.0
142
+ * @category Helpers
143
+ */
144
+ export declare const createTouchedRecord: (fields: FieldsRecord, value: boolean) => Record<string, boolean>;
145
+ //# sourceMappingURL=Field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/Field.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,7 @@
3
3
  */
4
4
  import type * as Effect from "effect/Effect";
5
5
  import * as Schema from "effect/Schema";
6
- /**
7
- * Unique identifier for FormBuilder instances.
8
- *
9
- * @since 1.0.0
10
- * @category Symbols
11
- */
12
- export declare const TypeId: unique symbol;
13
- /**
14
- * @since 1.0.0
15
- * @category Symbols
16
- */
17
- export type TypeId = typeof TypeId;
6
+ import type { ArrayFieldDef, DecodedFromFields, EncodedFromFields, FieldDef, FieldsRecord } from "./Field.js";
18
7
  /**
19
8
  * A field reference carrying type and path info for type-safe setValue operations.
20
9
  *
@@ -27,91 +16,17 @@ export interface Field<S> {
27
16
  readonly key: string;
28
17
  }
29
18
  /**
30
- * A scalar field definition containing the key and schema.
31
- *
32
- * @since 1.0.0
33
- * @category Models
34
- */
35
- export interface FieldDef<K extends string, S extends Schema.Schema.Any> {
36
- readonly _tag: "field";
37
- readonly key: K;
38
- readonly schema: S;
39
- }
40
- /**
41
- * An array field definition containing a schema for items.
42
- *
43
- * @since 1.0.0
44
- * @category Models
45
- */
46
- export interface ArrayFieldDef<K extends string, S extends Schema.Schema.Any> {
47
- readonly _tag: "array";
48
- readonly key: K;
49
- readonly itemSchema: S;
50
- }
51
- /**
52
- * Union of all field definition types.
53
- *
54
- * @since 1.0.0
55
- * @category Models
56
- */
57
- export type AnyFieldDef = FieldDef<string, Schema.Schema.Any> | ArrayFieldDef<string, Schema.Schema.Any>;
58
- /**
59
- * Creates a scalar field definition.
60
- *
61
- * @example
62
- * ```ts
63
- * const NameField = Form.makeField("name", Schema.String)
64
- * const form = Form.empty.addField(NameField)
65
- * ```
66
- *
67
- * @since 1.0.0
68
- * @category Constructors
69
- */
70
- export declare const makeField: <K extends string, S extends Schema.Schema.Any>(key: K, schema: S) => FieldDef<K, S>;
71
- /**
72
- * Creates an array field definition.
73
- *
74
- * @example
75
- * ```ts
76
- * // Array of primitives
77
- * const TagsField = Form.makeArrayField("tags", Schema.String)
78
- *
79
- * // Array of objects
80
- * const ItemsField = Form.makeArrayField("items", Schema.Struct({
81
- * name: Schema.String,
82
- * quantity: Schema.Number
83
- * }))
84
- * ```
85
- *
86
- * @since 1.0.0
87
- * @category Constructors
88
- */
89
- export declare const makeArrayField: <K extends string, S extends Schema.Schema.Any>(key: K, itemSchema: S) => ArrayFieldDef<K, S>;
90
- /**
91
- * A record of field definitions.
92
- *
93
- * @since 1.0.0
94
- * @category Models
95
- */
96
- export type FieldsRecord = Record<string, AnyFieldDef>;
97
- /**
98
- * Extracts the encoded (input) type from a fields record.
19
+ * Unique identifier for FormBuilder instances.
99
20
  *
100
21
  * @since 1.0.0
101
- * @category Type Helpers
22
+ * @category Symbols
102
23
  */
103
- export type EncodedFromFields<T extends FieldsRecord> = {
104
- 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;
105
- };
24
+ export declare const TypeId: unique symbol;
106
25
  /**
107
- * Extracts the decoded (output) type from a fields record.
108
- *
109
26
  * @since 1.0.0
110
- * @category Type Helpers
27
+ * @category Symbols
111
28
  */
112
- export type DecodedFromFields<T extends FieldsRecord> = {
113
- 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;
114
- };
29
+ export type TypeId = typeof TypeId;
115
30
  /**
116
31
  * The state of a form at runtime.
117
32
  *
@@ -246,27 +161,6 @@ export interface FormBuilder<TFields extends FieldsRecord, R> {
246
161
  * @category Guards
247
162
  */
248
163
  export declare const isFormBuilder: (u: unknown) => u is FormBuilder<any, any>;
249
- /**
250
- * Checks if a field definition is an array field.
251
- *
252
- * @since 1.0.0
253
- * @category Guards
254
- */
255
- export declare const isArrayFieldDef: (def: AnyFieldDef) => def is ArrayFieldDef<string, any>;
256
- /**
257
- * Checks if a field definition is a simple field.
258
- *
259
- * @since 1.0.0
260
- * @category Guards
261
- */
262
- export declare const isFieldDef: (def: AnyFieldDef) => def is FieldDef<string, Schema.Schema.Any>;
263
- /**
264
- * Gets a default encoded value from a schema.
265
- *
266
- * @since 1.0.0
267
- * @category Helpers
268
- */
269
- export declare const getDefaultFromSchema: (schema: Schema.Schema.Any) => unknown;
270
164
  /**
271
165
  * An empty `FormBuilder` to start building a form.
272
166
  *
@@ -299,19 +193,5 @@ export declare const empty: FormBuilder<{}, never>;
299
193
  * @category Schema
300
194
  */
301
195
  export declare const buildSchema: <TFields extends FieldsRecord, R>(self: FormBuilder<TFields, R>) => Schema.Schema<DecodedFromFields<TFields>, EncodedFromFields<TFields>, R>;
302
- /**
303
- * Gets default encoded values for a fields record.
304
- *
305
- * @since 1.0.0
306
- * @category Helpers
307
- */
308
- export declare const getDefaultEncodedValues: (fields: FieldsRecord) => Record<string, unknown>;
309
- /**
310
- * Creates a touched record with all fields set to the given value.
311
- *
312
- * @since 1.0.0
313
- * @category Helpers
314
- */
315
- export declare const createTouchedRecord: (fields: FieldsRecord, value: boolean) => Record<string, boolean>;
316
196
  export {};
317
197
  //# sourceMappingURL=Form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/Form.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAqD,CAAA;AAEjF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAkBlC;;;;;GAKG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IACnC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;IACd,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAeD;;;;;GAKG;AACH,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;;;;;GAKG;AACH,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;;;;;GAKG;AACH,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;;;;;;;;;;;GAWG;AACH,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;;;;;;;;;;;;;;;;;GAiBG;AACH,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;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,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;;;;;GAKG;AACH,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;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,YAAY;IACrD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAClD,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO;KAAE,CAAA;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC1C;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,YAAY,CAAA;CACtD;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;CACrF;AAED,KAAK,UAAU,GAAG,cAAc,GAAG,eAAe,CAAA;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,YAAY,EAAE,CAAC;IAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAC/C,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAEf;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EACpD,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAC7B,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,WAAW,CAAC,OAAO,GAAG;QAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;KAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/F;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EACpD,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAC7B,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GACzB,WAAW,CAAC,OAAO,GAAG;QAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;KAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpG;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,QAAQ,SAAS,YAAY,EAAE,EAAE,EACrC,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAC7B,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,GAC/B,WAAW,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;IAE1C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CACJ,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,YAAY,GACrE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAE1B;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,EACb,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,GAC/F,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;CAChC;AAgDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,CAAqC,CAAA;AAEzG;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,WAAW,KAAG,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,CAAyB,CAAA;AAE5G;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,WAAW,KAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAyB,CAAA;AAEhH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,KAAG,OA0BhE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,CAKrC,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,SAAS,YAAY,EAAE,CAAC,EACzD,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAyBzE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,YAAY,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAUpF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,YAAY,EAAE,OAAO,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAMhG,CAAA"}
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/Form.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ import type * as Registry from "@effect-atom/atom/Registry";
11
11
  import * as Option from "effect/Option";
12
12
  import type * as ParseResult from "effect/ParseResult";
13
13
  import * as Schema from "effect/Schema";
14
- import type * as Form from "./Form.js";
14
+ import * as Field from "./Field.js";
15
+ import * as Form from "./Form.js";
15
16
  import { type WeakRegistry } from "./internal/weak-registry.js";
16
17
  /**
17
18
  * Atoms for a single field.
@@ -31,7 +32,7 @@ export interface FieldAtoms {
31
32
  * @since 1.0.0
32
33
  * @category Models
33
34
  */
34
- export interface FormAtomsConfig<TFields extends Form.FieldsRecord, R> {
35
+ export interface FormAtomsConfig<TFields extends Field.FieldsRecord, R> {
35
36
  readonly runtime: Atom.AtomRuntime<R, any>;
36
37
  readonly formBuilder: Form.FormBuilder<TFields, R>;
37
38
  }
@@ -41,8 +42,8 @@ export interface FormAtomsConfig<TFields extends Form.FieldsRecord, R> {
41
42
  * @since 1.0.0
42
43
  * @category Models
43
44
  */
44
- export type FieldRefs<TFields extends Form.FieldsRecord> = {
45
- readonly [K in keyof TFields]: TFields[K] extends Form.FieldDef<any, infer S> ? Form.Field<Schema.Schema.Encoded<S>> : TFields[K] extends Form.ArrayFieldDef<any, infer S> ? Form.Field<ReadonlyArray<Schema.Schema.Encoded<S>>> : never;
45
+ export type FieldRefs<TFields extends Field.FieldsRecord> = {
46
+ readonly [K in keyof TFields]: TFields[K] extends Field.FieldDef<any, infer S> ? Form.Field<Schema.Schema.Encoded<S>> : TFields[K] extends Field.ArrayFieldDef<any, infer S> ? Form.Field<ReadonlyArray<Schema.Schema.Encoded<S>>> : never;
46
47
  };
47
48
  /**
48
49
  * The complete form atoms infrastructure.
@@ -50,15 +51,15 @@ export type FieldRefs<TFields extends Form.FieldsRecord> = {
50
51
  * @since 1.0.0
51
52
  * @category Models
52
53
  */
53
- export interface FormAtoms<TFields extends Form.FieldsRecord, R> {
54
+ export interface FormAtoms<TFields extends Field.FieldsRecord, R> {
54
55
  readonly stateAtom: Atom.Writable<Option.Option<Form.FormState<TFields>>, Option.Option<Form.FormState<TFields>>>;
55
56
  readonly crossFieldErrorsAtom: Atom.Writable<Map<string, string>, Map<string, string>>;
56
57
  readonly dirtyFieldsAtom: Atom.Atom<ReadonlySet<string>>;
57
58
  readonly isDirtyAtom: Atom.Atom<boolean>;
58
59
  readonly submitCountAtom: Atom.Atom<number>;
59
- readonly onSubmitAtom: Atom.Writable<Atom.AtomResultFn<Form.DecodedFromFields<TFields>, unknown, unknown> | null, Atom.AtomResultFn<Form.DecodedFromFields<TFields>, unknown, unknown> | null>;
60
- readonly decodeAndSubmit: Atom.AtomResultFn<Form.EncodedFromFields<TFields>, unknown, unknown>;
61
- readonly combinedSchema: Schema.Schema<Form.DecodedFromFields<TFields>, Form.EncodedFromFields<TFields>, R>;
60
+ readonly onSubmitAtom: Atom.Writable<Atom.AtomResultFn<Field.DecodedFromFields<TFields>, unknown, unknown> | null, Atom.AtomResultFn<Field.DecodedFromFields<TFields>, unknown, unknown> | null>;
61
+ readonly decodeAndSubmit: Atom.AtomResultFn<Field.EncodedFromFields<TFields>, unknown, unknown>;
62
+ readonly combinedSchema: Schema.Schema<Field.DecodedFromFields<TFields>, Field.EncodedFromFields<TFields>, R>;
62
63
  readonly fieldRefs: FieldRefs<TFields>;
63
64
  readonly validationAtomsRegistry: WeakRegistry<Atom.AtomResultFn<unknown, void, ParseResult.ParseError>>;
64
65
  readonly fieldAtomsRegistry: WeakRegistry<FieldAtoms>;
@@ -73,11 +74,11 @@ export interface FormAtoms<TFields extends Form.FieldsRecord, R> {
73
74
  * @since 1.0.0
74
75
  * @category Models
75
76
  */
76
- export interface FormOperations<TFields extends Form.FieldsRecord> {
77
+ export interface FormOperations<TFields extends Field.FieldsRecord> {
77
78
  /**
78
79
  * Creates the initial form state from default values.
79
80
  */
80
- readonly createInitialState: (defaultValues: Form.EncodedFromFields<TFields>) => Form.FormState<TFields>;
81
+ readonly createInitialState: (defaultValues: Field.EncodedFromFields<TFields>) => Form.FormState<TFields>;
81
82
  /**
82
83
  * Creates a reset state (back to initial values).
83
84
  */
@@ -93,7 +94,7 @@ export interface FormOperations<TFields extends Form.FieldsRecord> {
93
94
  /**
94
95
  * Sets all form values, recalculating dirty fields.
95
96
  */
96
- readonly setFormValues: (state: Form.FormState<TFields>, values: Form.EncodedFromFields<TFields>) => Form.FormState<TFields>;
97
+ readonly setFormValues: (state: Form.FormState<TFields>, values: Field.EncodedFromFields<TFields>) => Form.FormState<TFields>;
97
98
  /**
98
99
  * Sets a field as touched.
99
100
  */
@@ -141,5 +142,5 @@ export interface FormOperations<TFields extends Form.FieldsRecord> {
141
142
  * @since 1.0.0
142
143
  * @category Constructors
143
144
  */
144
- export declare const make: <TFields extends Form.FieldsRecord, R>(config: FormAtomsConfig<TFields, R>) => FormAtoms<TFields, R>;
145
+ export declare const make: <TFields extends Field.FieldsRecord, R>(config: FormAtomsConfig<TFields, R>) => FormAtoms<TFields, R>;
145
146
  //# 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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"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Field definitions for type-safe forms.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ export * as Field from "./Field.js";
1
7
  /**
2
8
  * @since 1.0.0
3
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;GAOG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;GAIG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;GAOG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;GAIG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Field definitions for type-safe forms.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import * as Schema from "effect/Schema";
7
+ /**
8
+ * Unique identifier for Field instances.
9
+ *
10
+ * @since 1.0.0
11
+ * @category Symbols
12
+ */
13
+ export const TypeId = /*#__PURE__*/Symbol.for("@lucas-barake/effect-form/Field");
14
+ /**
15
+ * Checks if a field definition is an array field.
16
+ *
17
+ * @since 1.0.0
18
+ * @category Guards
19
+ */
20
+ export const isArrayFieldDef = def => def._tag === "array";
21
+ /**
22
+ * Checks if a field definition is a scalar field.
23
+ *
24
+ * @since 1.0.0
25
+ * @category Guards
26
+ */
27
+ export const isFieldDef = def => def._tag === "field";
28
+ /**
29
+ * Creates a scalar field definition.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * import * as Field from "@lucas-barake/effect-form/Field"
34
+ * import * as Schema from "effect/Schema"
35
+ *
36
+ * const NameField = Field.makeField("name", Schema.String)
37
+ * ```
38
+ *
39
+ * @since 1.0.0
40
+ * @category Constructors
41
+ */
42
+ export const makeField = (key, schema) => ({
43
+ _tag: "field",
44
+ key,
45
+ schema
46
+ });
47
+ /**
48
+ * Creates an array field definition.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * import * as Field from "@lucas-barake/effect-form/Field"
53
+ * import * as Schema from "effect/Schema"
54
+ *
55
+ * // Array of primitives
56
+ * const TagsField = Field.makeArrayField("tags", Schema.String)
57
+ *
58
+ * // Array of objects
59
+ * const ItemsField = Field.makeArrayField("items", Schema.Struct({
60
+ * name: Schema.String,
61
+ * quantity: Schema.Number
62
+ * }))
63
+ * ```
64
+ *
65
+ * @since 1.0.0
66
+ * @category Constructors
67
+ */
68
+ export const makeArrayField = (key, itemSchema) => ({
69
+ _tag: "array",
70
+ key,
71
+ itemSchema
72
+ });
73
+ /**
74
+ * Gets a default encoded value from a schema.
75
+ *
76
+ * @since 1.0.0
77
+ * @category Helpers
78
+ */
79
+ export const getDefaultFromSchema = schema => {
80
+ const ast = schema.ast;
81
+ switch (ast._tag) {
82
+ case "StringKeyword":
83
+ case "TemplateLiteral":
84
+ return "";
85
+ case "NumberKeyword":
86
+ return 0;
87
+ case "BooleanKeyword":
88
+ return false;
89
+ case "TypeLiteral":
90
+ {
91
+ const result = {};
92
+ for (const prop of ast.propertySignatures) {
93
+ result[prop.name] = getDefaultFromSchema(Schema.make(prop.type));
94
+ }
95
+ return result;
96
+ }
97
+ case "Transformation":
98
+ return getDefaultFromSchema(Schema.make(ast.from));
99
+ case "Refinement":
100
+ return getDefaultFromSchema(Schema.make(ast.from));
101
+ case "Suspend":
102
+ return getDefaultFromSchema(Schema.make(ast.f()));
103
+ default:
104
+ return "";
105
+ }
106
+ };
107
+ /**
108
+ * Gets default encoded values for a fields record.
109
+ *
110
+ * @since 1.0.0
111
+ * @category Helpers
112
+ */
113
+ export const getDefaultEncodedValues = fields => {
114
+ const result = {};
115
+ for (const [key, def] of Object.entries(fields)) {
116
+ if (isArrayFieldDef(def)) {
117
+ result[key] = [];
118
+ } else {
119
+ result[key] = "";
120
+ }
121
+ }
122
+ return result;
123
+ };
124
+ /**
125
+ * Creates a touched record with all fields set to the given value.
126
+ *
127
+ * @since 1.0.0
128
+ * @category Helpers
129
+ */
130
+ export const createTouchedRecord = (fields, value) => {
131
+ const result = {};
132
+ for (const key of Object.keys(fields)) {
133
+ result[key] = value;
134
+ }
135
+ return result;
136
+ };
137
+ //# sourceMappingURL=Field.js.map
@@ -0,0 +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;;;;;AAKA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC;;;;;;AAMA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC;AAgDlF;;;;;;AAMA,OAAO,MAAMC,eAAe,GAAIC,GAAgB,IAC9CA,GAAG,CAACC,IAAI,KAAK,OAAO;AAEtB;;;;;;AAMA,OAAO,MAAMC,UAAU,GAAIF,GAAgB,IAAiDA,GAAG,CAACC,IAAI,KAAK,OAAO;AAEhH;;;;;;;;;;;;;;AAcA,OAAO,MAAME,SAAS,GAAGA,CACvBC,GAAM,EACNC,MAAS,MACW;EACpBJ,IAAI,EAAE,OAAO;EACbG,GAAG;EACHC;CACD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,MAAMC,cAAc,GAAGA,CAC5BF,GAAM,EACNG,UAAa,MACY;EACzBN,IAAI,EAAE,OAAO;EACbG,GAAG;EACHG;CACD,CAAC;AA0BF;;;;;;AAMA,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;;;;;;AAMA,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;;;;;;AAMA,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":[]}