@voila.dev/effect-form 0.27.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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -0
  3. package/dist/Field.d.ts +30 -0
  4. package/dist/Field.d.ts.map +1 -0
  5. package/dist/Field.js +86 -0
  6. package/dist/Field.js.map +1 -0
  7. package/dist/FieldState.d.ts +21 -0
  8. package/dist/FieldState.d.ts.map +1 -0
  9. package/dist/FieldState.js +2 -0
  10. package/dist/FieldState.js.map +1 -0
  11. package/dist/FormAtoms.d.ts +108 -0
  12. package/dist/FormAtoms.d.ts.map +1 -0
  13. package/dist/FormAtoms.js +620 -0
  14. package/dist/FormAtoms.js.map +1 -0
  15. package/dist/FormBuilder.d.ts +74 -0
  16. package/dist/FormBuilder.d.ts.map +1 -0
  17. package/dist/FormBuilder.js +86 -0
  18. package/dist/FormBuilder.js.map +1 -0
  19. package/dist/Mode.d.ts +34 -0
  20. package/dist/Mode.d.ts.map +1 -0
  21. package/dist/Mode.js +19 -0
  22. package/dist/Mode.js.map +1 -0
  23. package/dist/Path.d.ts +6 -0
  24. package/dist/Path.d.ts.map +1 -0
  25. package/dist/Path.js +69 -0
  26. package/dist/Path.js.map +1 -0
  27. package/dist/Validation.d.ts +11 -0
  28. package/dist/Validation.d.ts.map +1 -0
  29. package/dist/Validation.js +128 -0
  30. package/dist/Validation.js.map +1 -0
  31. package/dist/index.d.ts +8 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +8 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/internal/dirty.d.ts +3 -0
  36. package/dist/internal/dirty.d.ts.map +1 -0
  37. package/dist/internal/dirty.js +89 -0
  38. package/dist/internal/dirty.js.map +1 -0
  39. package/package.json +43 -0
  40. package/src/Field.ts +149 -0
  41. package/src/FieldState.ts +23 -0
  42. package/src/FormAtoms.ts +1202 -0
  43. package/src/FormBuilder.ts +235 -0
  44. package/src/Mode.ts +63 -0
  45. package/src/Path.ts +76 -0
  46. package/src/Validation.ts +167 -0
  47. package/src/index.ts +13 -0
  48. package/src/internal/dirty.ts +113 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormAtoms.js","sourceRoot":"","sources":["../src/FormAtoms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import type * as Option from "effect/Option";
3
+ import * as Schema from "effect/Schema";
4
+ import type * as AtomRegistry from "effect/unstable/reactivity/AtomRegistry";
5
+ import type { ArrayFieldDef, DecodedFromFields, EncodedFromFields, FieldDef, FieldsRecord } from "./Field.ts";
6
+ /**
7
+ * Flattens an intersection of field records into a single object type so that
8
+ * hover types and error messages display as `{ email: ...; password: ... }`
9
+ * instead of `{ email: ... } & { password: ... } & ...`.
10
+ *
11
+ * Note: `Types.Simplify` from effect is not used here because its
12
+ * `extends infer B ? B : never` indirection erases the `FieldsRecord`
13
+ * constraint in generic positions.
14
+ */
15
+ type Simplify<T> = {
16
+ readonly [K in keyof T]: T[K];
17
+ } & {};
18
+ export interface SubmittedValues<TFields extends FieldsRecord> {
19
+ readonly encoded: EncodedFromFields<TFields>;
20
+ readonly decoded: DecodedFromFields<TFields>;
21
+ }
22
+ export declare const FieldTypeId: unique symbol;
23
+ export type FieldTypeId = typeof FieldTypeId;
24
+ export interface FieldRef<S> {
25
+ readonly [FieldTypeId]: FieldTypeId;
26
+ readonly _S: S;
27
+ readonly key: string;
28
+ }
29
+ export declare const makeFieldRef: <S>(key: string) => FieldRef<S>;
30
+ export declare const TypeId: unique symbol;
31
+ export type TypeId = typeof TypeId;
32
+ export interface FormState<TFields extends FieldsRecord> {
33
+ readonly values: EncodedFromFields<TFields>;
34
+ readonly initialValues: EncodedFromFields<TFields>;
35
+ readonly lastSubmittedValues: Option.Option<SubmittedValues<TFields>>;
36
+ readonly touched: {
37
+ readonly [K in keyof TFields]: boolean;
38
+ };
39
+ readonly submitCount: number;
40
+ readonly validationCount: number;
41
+ readonly dirtyFields: ReadonlySet<string>;
42
+ }
43
+ interface SyncRefinement {
44
+ readonly _tag: "sync";
45
+ readonly fn: (values: unknown) => Schema.FilterOutput;
46
+ }
47
+ interface AsyncRefinement {
48
+ readonly _tag: "async";
49
+ readonly fn: (values: unknown) => Effect.Effect<undefined | boolean | Schema.FilterIssue, never, unknown>;
50
+ }
51
+ type Refinement = SyncRefinement | AsyncRefinement;
52
+ export interface FormBuilder<TFields extends FieldsRecord, R> {
53
+ readonly [TypeId]: TypeId;
54
+ readonly fields: TFields;
55
+ readonly refinements: ReadonlyArray<Refinement>;
56
+ readonly _R?: R;
57
+ addField<K extends string, S extends Schema.Top>(this: FormBuilder<TFields, R>, field: FieldDef<K, S>): FormBuilder<Simplify<TFields & {
58
+ readonly [key in K]: FieldDef<K, S>;
59
+ }>, R | Schema.Codec.DecodingServices<S>>;
60
+ addField<K extends string, S extends Schema.Top>(this: FormBuilder<TFields, R>, field: ArrayFieldDef<K, S>): FormBuilder<Simplify<TFields & {
61
+ readonly [key in K]: ArrayFieldDef<K, S>;
62
+ }>, R | Schema.Codec.DecodingServices<S>>;
63
+ addField<K extends string, S extends Schema.Top>(this: FormBuilder<TFields, R>, key: K, schema: S): FormBuilder<Simplify<TFields & {
64
+ readonly [key in K]: FieldDef<K, S>;
65
+ }>, R | Schema.Codec.DecodingServices<S>>;
66
+ merge<TFields2 extends FieldsRecord, R2>(this: FormBuilder<TFields, R>, other: FormBuilder<TFields2, R2>): FormBuilder<Simplify<TFields & TFields2>, R | R2>;
67
+ refine(this: FormBuilder<TFields, R>, predicate: (values: DecodedFromFields<TFields>) => Schema.FilterOutput): FormBuilder<TFields, R>;
68
+ refineEffect<RD>(this: FormBuilder<TFields, R>, predicate: (values: DecodedFromFields<TFields>) => Effect.Effect<Schema.FilterOutput, never, RD>): FormBuilder<TFields, R | Exclude<RD, AtomRegistry.AtomRegistry>>;
69
+ }
70
+ export declare const isFormBuilder: (u: unknown) => u is FormBuilder<any, any>;
71
+ export declare const empty: FormBuilder<{}, never>;
72
+ export declare const buildSchema: <TFields extends FieldsRecord, R>(self: FormBuilder<TFields, R>) => Schema.Codec<DecodedFromFields<TFields>, EncodedFromFields<TFields>, R>;
73
+ export {};
74
+ //# sourceMappingURL=FormBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../src/FormBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import * as Predicate from "effect/Predicate";
2
+ import * as Schema from "effect/Schema";
3
+ import * as SchemaGetter from "effect/SchemaGetter";
4
+ import { isArrayFieldDef, isFieldDef, makeField } from "./Field.js";
5
+ export const FieldTypeId = Symbol.for("@voila.dev/effect-form/Field");
6
+ export const makeFieldRef = (key) => ({
7
+ [FieldTypeId]: FieldTypeId,
8
+ _S: undefined,
9
+ key,
10
+ });
11
+ export const TypeId = Symbol.for("@voila.dev/effect-form/Form");
12
+ const FormBuilderProto = {
13
+ [TypeId]: TypeId,
14
+ addField(keyOrField, schema) {
15
+ const field = typeof keyOrField === "string"
16
+ ? makeField(keyOrField, schema)
17
+ : keyOrField;
18
+ const newSelf = Object.create(FormBuilderProto);
19
+ newSelf.fields = { ...this.fields, [field.key]: field };
20
+ newSelf.refinements = this.refinements;
21
+ return newSelf;
22
+ },
23
+ merge(other) {
24
+ const newSelf = Object.create(FormBuilderProto);
25
+ newSelf.fields = { ...this.fields, ...other.fields };
26
+ newSelf.refinements = [...this.refinements, ...other.refinements];
27
+ return newSelf;
28
+ },
29
+ refine(predicate) {
30
+ const newSelf = Object.create(FormBuilderProto);
31
+ newSelf.fields = this.fields;
32
+ newSelf.refinements = [
33
+ ...this.refinements,
34
+ {
35
+ _tag: "sync",
36
+ fn: (values) => predicate(values),
37
+ },
38
+ ];
39
+ return newSelf;
40
+ },
41
+ refineEffect(predicate) {
42
+ const newSelf = Object.create(FormBuilderProto);
43
+ newSelf.fields = this.fields;
44
+ newSelf.refinements = [
45
+ ...this.refinements,
46
+ {
47
+ _tag: "async",
48
+ fn: (values) => predicate(values),
49
+ },
50
+ ];
51
+ return newSelf;
52
+ },
53
+ };
54
+ export const isFormBuilder = (u) => Predicate.hasProperty(u, TypeId);
55
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
56
+ export const empty = (() => {
57
+ const self = Object.create(FormBuilderProto);
58
+ self.fields = {};
59
+ self.refinements = [];
60
+ return self;
61
+ })();
62
+ export const buildSchema = (self) => {
63
+ const schemaFields = {};
64
+ for (const [key, def] of Object.entries(self.fields)) {
65
+ if (isArrayFieldDef(def)) {
66
+ schemaFields[key] = Schema.Array(def.itemSchema);
67
+ }
68
+ else if (isFieldDef(def)) {
69
+ schemaFields[key] = def.schema;
70
+ }
71
+ }
72
+ let schema = Schema.Struct(schemaFields);
73
+ for (const refinement of self.refinements) {
74
+ if (refinement._tag === "sync") {
75
+ schema = schema.pipe(Schema.check(Schema.makeFilter((input) => refinement.fn(input))));
76
+ }
77
+ else {
78
+ schema = schema.pipe(Schema.decode({
79
+ decode: SchemaGetter.checkEffect((input) => refinement.fn(input)),
80
+ encode: SchemaGetter.passthrough(),
81
+ }));
82
+ }
83
+ }
84
+ return schema;
85
+ };
86
+ //# sourceMappingURL=FormBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormBuilder.js","sourceRoot":"","sources":["../src/FormBuilder.ts"],"names":[],"mappings":"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"}
package/dist/Mode.d.ts ADDED
@@ -0,0 +1,34 @@
1
+ import type * as Duration from "effect/Duration";
2
+ export type FormMode = {
3
+ readonly validation?: "onSubmit";
4
+ readonly autoSubmit?: false;
5
+ readonly debounce?: never;
6
+ } | {
7
+ readonly validation: "onBlur";
8
+ readonly autoSubmit?: boolean;
9
+ readonly debounce?: never;
10
+ } | {
11
+ readonly validation: "onChange";
12
+ readonly debounce?: Duration.Input;
13
+ readonly autoSubmit?: boolean;
14
+ };
15
+ export type FormModeWithoutAutoSubmit = {
16
+ readonly validation?: "onSubmit";
17
+ readonly autoSubmit?: false;
18
+ readonly debounce?: never;
19
+ } | {
20
+ readonly validation: "onBlur";
21
+ readonly autoSubmit?: false;
22
+ readonly debounce?: never;
23
+ } | {
24
+ readonly validation: "onChange";
25
+ readonly debounce?: Duration.Input;
26
+ readonly autoSubmit?: false;
27
+ };
28
+ export interface ParsedMode {
29
+ readonly validation: "onSubmit" | "onBlur" | "onChange";
30
+ readonly debounce: Duration.Input | null;
31
+ readonly autoSubmit: boolean;
32
+ }
33
+ export declare const parse: (mode?: FormMode) => ParsedMode;
34
+ //# sourceMappingURL=Mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mode.d.ts","sourceRoot":"","sources":["../src/Mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,QAAQ,GACjB;IACA,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACA,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACA,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEL,MAAM,MAAM,yBAAyB,GAClC;IACA,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACA,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACA,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEL,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,KAAK,GAAI,OAAO,QAAQ,KAAG,UAoBvC,CAAC"}
package/dist/Mode.js ADDED
@@ -0,0 +1,19 @@
1
+ export const parse = (mode) => {
2
+ const validation = mode?.validation ?? "onSubmit";
3
+ if (validation === "onBlur") {
4
+ return {
5
+ validation: "onBlur",
6
+ debounce: null,
7
+ autoSubmit: mode?.autoSubmit === true,
8
+ };
9
+ }
10
+ if (validation === "onChange") {
11
+ return {
12
+ validation: "onChange",
13
+ debounce: mode?.debounce ?? null,
14
+ autoSubmit: mode?.autoSubmit === true,
15
+ };
16
+ }
17
+ return { validation: "onSubmit", debounce: null, autoSubmit: false };
18
+ };
19
+ //# sourceMappingURL=Mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mode.js","sourceRoot":"","sources":["../src/Mode.ts"],"names":[],"mappings":"AA0CA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAe,EAAc,EAAE;IACpD,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,UAAU,CAAC;IAElD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACN,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;SACrC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO;YACN,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;YAChC,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;SACrC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACtE,CAAC,CAAC"}
package/dist/Path.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export declare const schemaPathToFieldPath: (path: ReadonlyArray<PropertyKey>) => string;
2
+ export declare const isPathUnderRoot: (path: string, rootPath: string) => boolean;
3
+ export declare const isPathOrParentDirty: (dirtyFields: ReadonlySet<string>, path: string) => boolean;
4
+ export declare const getNestedValue: (obj: unknown, path: string) => unknown;
5
+ export declare const setNestedValue: <T>(obj: T, path: string, value: unknown) => T;
6
+ //# sourceMappingURL=Path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../src/Path.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,GACjC,MAAM,aAAa,CAAC,WAAW,CAAC,KAC9B,MAaF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,OAGjC,CAAC;AAEjC,eAAO,MAAM,mBAAmB,GAC/B,aAAa,WAAW,CAAC,MAAM,CAAC,EAChC,MAAM,MAAM,KACV,OAgBF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,EAAE,MAAM,MAAM,KAAG,OAS3D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,OAAO,OAAO,KAAG,CAmBxE,CAAC"}
package/dist/Path.js ADDED
@@ -0,0 +1,69 @@
1
+ const BRACKET_NOTATION_REGEX = /\[(\d+)\]/g;
2
+ export const schemaPathToFieldPath = (path) => {
3
+ if (path.length === 0)
4
+ return "";
5
+ let result = String(path[0]);
6
+ for (let i = 1; i < path.length; i++) {
7
+ const segment = path[i];
8
+ if (typeof segment === "number") {
9
+ result += `[${segment}]`;
10
+ }
11
+ else {
12
+ result += `.${String(segment)}`;
13
+ }
14
+ }
15
+ return result;
16
+ };
17
+ export const isPathUnderRoot = (path, rootPath) => path === rootPath ||
18
+ path.startsWith(rootPath + ".") ||
19
+ path.startsWith(rootPath + "[");
20
+ export const isPathOrParentDirty = (dirtyFields, path) => {
21
+ if (dirtyFields.has(path))
22
+ return true;
23
+ let parent = path;
24
+ while (true) {
25
+ const lastDot = parent.lastIndexOf(".");
26
+ const lastBracket = parent.lastIndexOf("[");
27
+ const splitIndex = Math.max(lastDot, lastBracket);
28
+ if (splitIndex === -1)
29
+ break;
30
+ parent = parent.substring(0, splitIndex);
31
+ if (dirtyFields.has(parent))
32
+ return true;
33
+ }
34
+ return false;
35
+ };
36
+ export const getNestedValue = (obj, path) => {
37
+ if (path === "")
38
+ return obj;
39
+ const parts = path.replace(BRACKET_NOTATION_REGEX, ".$1").split(".");
40
+ let current = obj;
41
+ for (const part of parts) {
42
+ if (current == null || typeof current !== "object")
43
+ return undefined;
44
+ current = current[part];
45
+ }
46
+ return current;
47
+ };
48
+ export const setNestedValue = (obj, path, value) => {
49
+ if (path === "")
50
+ return value;
51
+ const parts = path.replace(BRACKET_NOTATION_REGEX, ".$1").split(".");
52
+ const result = { ...obj };
53
+ const lastPart = parts[parts.length - 1];
54
+ if (lastPart === undefined)
55
+ return result;
56
+ let current = result;
57
+ for (const part of parts.slice(0, -1)) {
58
+ if (Array.isArray(current[part])) {
59
+ current[part] = [...current[part]];
60
+ }
61
+ else {
62
+ current[part] = { ...current[part] };
63
+ }
64
+ current = current[part];
65
+ }
66
+ current[lastPart] = value;
67
+ return result;
68
+ };
69
+ //# sourceMappingURL=Path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../src/Path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as Option from "effect/Option";
2
+ import type * as Schema from "effect/Schema";
3
+ export type ErrorSource = "field" | "refinement";
4
+ export interface ErrorEntry {
5
+ readonly message: string;
6
+ readonly source: ErrorSource;
7
+ }
8
+ export declare const extractFirstError: (error: Schema.SchemaError) => Option.Option<string>;
9
+ export declare const routeErrors: (error: Schema.SchemaError) => Map<string, string>;
10
+ export declare const routeErrorsWithSource: (error: Schema.SchemaError) => Map<string, ErrorEntry>;
11
+ //# sourceMappingURL=Validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAI7C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC;AAEjD,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC7B;AAoED,eAAO,MAAM,iBAAiB,GAC7B,OAAO,MAAM,CAAC,WAAW,KACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAOtB,CAAC;AAaF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,CAAC,WAAW,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAYzE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,OAAO,MAAM,CAAC,WAAW,KACvB,GAAG,CAAC,MAAM,EAAE,UAAU,CAkDxB,CAAC"}
@@ -0,0 +1,128 @@
1
+ import * as Option from "effect/Option";
2
+ import * as SchemaIssue from "effect/SchemaIssue";
3
+ import { schemaPathToFieldPath } from "./Path.js";
4
+ const standardFormatter = SchemaIssue.makeFormatterStandardSchemaV1();
5
+ const collectIssueSources = (error) => {
6
+ const entries = [];
7
+ const walk = (issue, path, source) => {
8
+ switch (issue._tag) {
9
+ case "Filter":
10
+ if (path.length === 0) {
11
+ walk(issue.issue, path, "refinement");
12
+ }
13
+ else {
14
+ walk(issue.issue, path, source);
15
+ }
16
+ break;
17
+ case "Encoding":
18
+ if (path.length === 0) {
19
+ walk(issue.issue, path, "refinement");
20
+ }
21
+ else {
22
+ walk(issue.issue, path, source);
23
+ }
24
+ break;
25
+ case "Pointer":
26
+ walk(issue.issue, [...path, ...issue.path], source);
27
+ break;
28
+ case "Composite":
29
+ for (const sub of issue.issues) {
30
+ walk(sub, path, source);
31
+ }
32
+ break;
33
+ case "AnyOf":
34
+ for (const sub of issue.issues) {
35
+ walk(sub, path, source);
36
+ }
37
+ break;
38
+ case "InvalidType":
39
+ case "InvalidValue":
40
+ case "MissingKey":
41
+ case "UnexpectedKey":
42
+ case "Forbidden":
43
+ case "OneOf":
44
+ entries.push({ path, source, issue });
45
+ break;
46
+ }
47
+ };
48
+ walk(error.issue, [], "field");
49
+ return entries;
50
+ };
51
+ const getIssueMessage = (issue) => {
52
+ const formatted = standardFormatter(issue);
53
+ return formatted.issues[0]?.message;
54
+ };
55
+ export const extractFirstError = (error) => {
56
+ const formatted = standardFormatter(error.issue);
57
+ if (formatted.issues.length === 0) {
58
+ return Option.none();
59
+ }
60
+ const issue = formatted.issues[0];
61
+ return issue === undefined ? Option.none() : Option.some(issue.message);
62
+ };
63
+ const normalizePath = (path) => {
64
+ if (!path)
65
+ return [];
66
+ return path.map((segment) => typeof segment === "object" && segment !== null && "key" in segment
67
+ ? segment.key
68
+ : segment);
69
+ };
70
+ export const routeErrors = (error) => {
71
+ const result = new Map();
72
+ const formatted = standardFormatter(error.issue);
73
+ for (const issue of formatted.issues) {
74
+ const fieldPath = schemaPathToFieldPath(normalizePath(issue.path));
75
+ if (fieldPath && !result.has(fieldPath)) {
76
+ result.set(fieldPath, issue.message);
77
+ }
78
+ }
79
+ return result;
80
+ };
81
+ export const routeErrorsWithSource = (error) => {
82
+ const result = new Map();
83
+ const formattedIssues = standardFormatter(error.issue).issues;
84
+ const issueSources = collectIssueSources(error);
85
+ const messageSources = new Map();
86
+ const refinementPaths = new Set();
87
+ for (const entry of issueSources) {
88
+ const fieldPath = schemaPathToFieldPath(entry.path) ?? "";
89
+ const message = getIssueMessage(entry.issue);
90
+ if (message !== undefined) {
91
+ const messageKey = `${fieldPath}::${message}`;
92
+ const existing = messageSources.get(messageKey);
93
+ if (!existing ||
94
+ (existing === "field" && entry.source === "refinement")) {
95
+ messageSources.set(messageKey, entry.source);
96
+ }
97
+ }
98
+ if (entry.source === "refinement") {
99
+ refinementPaths.add(fieldPath);
100
+ }
101
+ }
102
+ for (const issue of formattedIssues) {
103
+ const fieldPath = schemaPathToFieldPath(normalizePath(issue.path)) ?? "";
104
+ if (result.has(fieldPath))
105
+ continue;
106
+ const preferredSource = refinementPaths.has(fieldPath)
107
+ ? "refinement"
108
+ : "field";
109
+ const messageKey = `${fieldPath}::${issue.message}`;
110
+ const issueSource = messageSources.get(messageKey) ?? "field";
111
+ if (preferredSource === "refinement" && issueSource !== "refinement") {
112
+ continue;
113
+ }
114
+ result.set(fieldPath, { message: issue.message, source: issueSource });
115
+ }
116
+ if (result.size < formattedIssues.length) {
117
+ for (const issue of formattedIssues) {
118
+ const fieldPath = schemaPathToFieldPath(normalizePath(issue.path)) ?? "";
119
+ if (result.has(fieldPath))
120
+ continue;
121
+ const messageKey = `${fieldPath}::${issue.message}`;
122
+ const issueSource = messageSources.get(messageKey) ?? "field";
123
+ result.set(fieldPath, { message: issue.message, source: issueSource });
124
+ }
125
+ }
126
+ return result;
127
+ };
128
+ //# sourceMappingURL=Validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validation.js","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * as Field from "./Field.ts";
2
+ export * as FieldState from "./FieldState.ts";
3
+ export * as FormAtoms from "./FormAtoms.ts";
4
+ export * as FormBuilder from "./FormBuilder.ts";
5
+ export * as Mode from "./Mode.ts";
6
+ export * as Path from "./Path.ts";
7
+ export * as Validation from "./Validation.ts";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ export * as Field from "./Field.js";
2
+ export * as FieldState from "./FieldState.js";
3
+ export * as FormAtoms from "./FormAtoms.js";
4
+ export * as FormBuilder from "./FormBuilder.js";
5
+ export * as Mode from "./Mode.js";
6
+ export * as Path from "./Path.js";
7
+ export * as Validation from "./Validation.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const recalculateDirtyFieldsForArray: (dirtyFields: ReadonlySet<string>, initialValues: unknown, arrayPath: string, newItems: ReadonlyArray<unknown>) => ReadonlySet<string>;
2
+ export declare const recalculateDirtySubtree: (currentDirty: ReadonlySet<string>, allInitial: unknown, allValues: unknown, rootPath?: string) => ReadonlySet<string>;
3
+ //# sourceMappingURL=dirty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dirty.d.ts","sourceRoot":"","sources":["../../src/internal/dirty.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,8BAA8B,GAC1C,aAAa,WAAW,CAAC,MAAM,CAAC,EAChC,eAAe,OAAO,EACtB,WAAW,MAAM,EACjB,UAAU,aAAa,CAAC,OAAO,CAAC,KAC9B,WAAW,CAAC,MAAM,CAgCpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GACnC,cAAc,WAAW,CAAC,MAAM,CAAC,EACjC,YAAY,OAAO,EACnB,WAAW,OAAO,EAClB,WAAU,MAAW,KACnB,WAAW,CAAC,MAAM,CAiEpB,CAAC"}