@lucas-barake/effect-form 0.25.0-beta.0 → 0.25.0-beta.2
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/FieldState.d.ts +1 -0
- package/dist/FieldState.d.ts.map +1 -1
- package/dist/Mode.d.ts +2 -2
- package/dist/Mode.d.ts.map +1 -1
- package/dist/Mode.js +1 -1
- package/dist/Mode.js.map +1 -1
- package/package.json +2 -2
- package/src/FieldState.ts +1 -0
- package/src/Mode.ts +3 -3
package/dist/FieldState.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type * as Option from "effect/Option";
|
|
|
2
2
|
import type * as Schema from "effect/Schema";
|
|
3
3
|
export type FieldValue<T> = T extends Schema.Top ? Schema.Codec.Encoded<T> : T;
|
|
4
4
|
export interface FieldState<E> {
|
|
5
|
+
readonly path: string;
|
|
5
6
|
readonly value: E;
|
|
6
7
|
readonly onChange: (value: E) => void;
|
|
7
8
|
readonly onBlur: () => void;
|
package/dist/FieldState.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldState.d.ts","sourceRoot":"","sources":["../src/FieldState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAK,CAAC,SAAS,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE/E,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAClD"}
|
|
1
|
+
{"version":3,"file":"FieldState.d.ts","sourceRoot":"","sources":["../src/FieldState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAK,CAAC,SAAS,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE/E,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;IACjB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAClD"}
|
package/dist/Mode.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export type FormMode = {
|
|
|
9
9
|
readonly debounce?: never;
|
|
10
10
|
} | {
|
|
11
11
|
readonly validation: "onChange";
|
|
12
|
-
readonly debounce?: Duration.
|
|
12
|
+
readonly debounce?: Duration.Input;
|
|
13
13
|
readonly autoSubmit?: boolean;
|
|
14
14
|
};
|
|
15
15
|
export type FormModeWithoutAutoSubmit = {
|
|
@@ -22,7 +22,7 @@ export type FormModeWithoutAutoSubmit = {
|
|
|
22
22
|
readonly debounce?: never;
|
|
23
23
|
} | {
|
|
24
24
|
readonly validation: "onChange";
|
|
25
|
-
readonly debounce?: Duration.
|
|
25
|
+
readonly debounce?: Duration.Input;
|
|
26
26
|
readonly autoSubmit?: false;
|
|
27
27
|
};
|
|
28
28
|
export interface ParsedMode {
|
package/dist/Mode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3F;IAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,
|
|
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;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3F;IAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE1G,MAAM,MAAM,yBAAyB,GACjC;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GACzF;IAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAExG,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,OAAO,QAAQ,KAAG,UAgBvC,CAAA"}
|
package/dist/Mode.js
CHANGED
|
@@ -9,7 +9,7 @@ export const parse = mode => {
|
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
if (validation === "onChange") {
|
|
12
|
-
const debounceMs = mode?.debounce === undefined ? null : Duration.toMillis(Duration.
|
|
12
|
+
const debounceMs = mode?.debounce === undefined ? null : Duration.toMillis(Duration.fromInputUnsafe(mode.debounce));
|
|
13
13
|
const autoSubmit = mode?.autoSubmit === true;
|
|
14
14
|
return {
|
|
15
15
|
validation: "onChange",
|
package/dist/Mode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mode.js","names":["Duration","parse","mode","validation","debounce","autoSubmit","debounceMs","undefined","toMillis","
|
|
1
|
+
{"version":3,"file":"Mode.js","names":["Duration","parse","mode","validation","debounce","autoSubmit","debounceMs","undefined","toMillis","fromInputUnsafe"],"sources":["../src/Mode.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAkB3C,OAAO,MAAMC,KAAK,GAAIC,IAAe,IAAgB;EACnD,MAAMC,UAAU,GAAGD,IAAI,EAAEC,UAAU,IAAI,UAAU;EAEjD,IAAIA,UAAU,KAAK,QAAQ,EAAE;IAC3B,OAAO;MAAEA,UAAU,EAAE,QAAQ;MAAEC,QAAQ,EAAE,IAAI;MAAEC,UAAU,EAAEH,IAAI,EAAEG,UAAU,KAAK;IAAI,CAAE;EACxF;EAEA,IAAIF,UAAU,KAAK,UAAU,EAAE;IAC7B,MAAMG,UAAU,GAAGJ,IAAI,EAAEE,QAAQ,KAAKG,SAAS,GAC3C,IAAI,GACJP,QAAQ,CAACQ,QAAQ,CAACR,QAAQ,CAACS,eAAe,CAACP,IAAI,CAACE,QAAQ,CAAC,CAAC;IAC9D,MAAMC,UAAU,GAAGH,IAAI,EAAEG,UAAU,KAAK,IAAI;IAC5C,OAAO;MAAEF,UAAU,EAAE,UAAU;MAAEC,QAAQ,EAAEE,UAAU;MAAED;IAAU,CAAE;EACrE;EAEA,OAAO;IAAEF,UAAU,EAAE,UAAU;IAAEC,QAAQ,EAAE,IAAI;IAAEC,UAAU,EAAE;EAAK,CAAE;AACtE,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucas-barake/effect-form",
|
|
3
|
-
"version": "0.25.0-beta.
|
|
3
|
+
"version": "0.25.0-beta.2",
|
|
4
4
|
"description": "Type-safe form builder powered by Effect Schema",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"sideEffects": [],
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"effect": "
|
|
39
|
+
"effect": "4.0.0-beta.14"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "tsc -b tsconfig.json && pnpm babel",
|
package/src/FieldState.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type * as Schema from "effect/Schema"
|
|
|
4
4
|
export type FieldValue<T,> = T extends Schema.Top ? Schema.Codec.Encoded<T> : T
|
|
5
5
|
|
|
6
6
|
export interface FieldState<E,> {
|
|
7
|
+
readonly path: string
|
|
7
8
|
readonly value: E
|
|
8
9
|
readonly onChange: (value: E) => void
|
|
9
10
|
readonly onBlur: () => void
|
package/src/Mode.ts
CHANGED
|
@@ -3,12 +3,12 @@ import * as Duration from "effect/Duration"
|
|
|
3
3
|
export type FormMode =
|
|
4
4
|
| { readonly validation?: "onSubmit"; readonly autoSubmit?: false; readonly debounce?: never }
|
|
5
5
|
| { readonly validation: "onBlur"; readonly autoSubmit?: boolean; readonly debounce?: never }
|
|
6
|
-
| { readonly validation: "onChange"; readonly debounce?: Duration.
|
|
6
|
+
| { readonly validation: "onChange"; readonly debounce?: Duration.Input; readonly autoSubmit?: boolean }
|
|
7
7
|
|
|
8
8
|
export type FormModeWithoutAutoSubmit =
|
|
9
9
|
| { readonly validation?: "onSubmit"; readonly autoSubmit?: false; readonly debounce?: never }
|
|
10
10
|
| { readonly validation: "onBlur"; readonly autoSubmit?: false; readonly debounce?: never }
|
|
11
|
-
| { readonly validation: "onChange"; readonly debounce?: Duration.
|
|
11
|
+
| { readonly validation: "onChange"; readonly debounce?: Duration.Input; readonly autoSubmit?: false }
|
|
12
12
|
|
|
13
13
|
export interface ParsedMode {
|
|
14
14
|
readonly validation: "onSubmit" | "onBlur" | "onChange"
|
|
@@ -26,7 +26,7 @@ export const parse = (mode?: FormMode): ParsedMode => {
|
|
|
26
26
|
if (validation === "onChange") {
|
|
27
27
|
const debounceMs = mode?.debounce === undefined
|
|
28
28
|
? null
|
|
29
|
-
: Duration.toMillis(Duration.
|
|
29
|
+
: Duration.toMillis(Duration.fromInputUnsafe(mode.debounce))
|
|
30
30
|
const autoSubmit = mode?.autoSubmit === true
|
|
31
31
|
return { validation: "onChange", debounce: debounceMs, autoSubmit }
|
|
32
32
|
}
|