@goodie-forms/core 1.1.5-alpha → 1.2.0-alpha
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/LICENSE +426 -426
- package/dist/field/FieldPath.d.ts +32 -0
- package/dist/field/FieldPath.d.ts.map +1 -0
- package/dist/field/FieldPathBuilder.d.ts +25 -0
- package/dist/field/FieldPathBuilder.d.ts.map +1 -0
- package/dist/field/Reconcile.d.ts +9 -0
- package/dist/field/Reconcile.d.ts.map +1 -0
- package/dist/form/FormController.d.ts +35 -39
- package/dist/form/FormController.d.ts.map +1 -1
- package/dist/form/FormField.d.ts +12 -10
- package/dist/form/FormField.d.ts.map +1 -1
- package/dist/form/NonullFormField.d.ts +3 -4
- package/dist/form/NonullFormField.d.ts.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +615 -881
- package/dist/index.js.map +1 -1
- package/dist/validation/CustomValidation.d.ts +10 -0
- package/dist/validation/CustomValidation.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/field/FieldPath.ts +292 -0
- package/src/field/FieldPathBuilder.ts +132 -0
- package/src/field/Reconcile.ts +99 -0
- package/src/form/FormController.ts +342 -310
- package/src/form/FormField.ts +200 -202
- package/src/form/NonullFormField.ts +15 -21
- package/src/index.ts +12 -5
- package/src/types/DeepPartial.ts +7 -7
- package/src/types/Mixin.ts +2 -2
- package/src/utils/ensureImmerability.ts +30 -30
- package/src/utils/getId.ts +5 -5
- package/src/utils/removeBy.ts +11 -11
- package/src/{form → validation}/CustomValidation.ts +52 -52
- package/tsconfig.json +8 -7
- package/vite.config.ts +18 -18
- package/dist/form/CustomValidation.d.ts +0 -10
- package/dist/form/CustomValidation.d.ts.map +0 -1
- package/dist/form/Field.d.ts +0 -31
- package/dist/form/Field.d.ts.map +0 -1
- package/src/form/Field.ts +0 -334
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormController.d.ts","sourceRoot":"","sources":["../../src/form/FormController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FormController.d.ts","sourceRoot":"","sources":["../../src/form/FormController.ts"],"names":[],"mappings":"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"}
|
package/dist/form/FormField.d.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FormController } from '
|
|
3
|
-
export declare class FormField<
|
|
4
|
-
readonly controller: FormController<
|
|
5
|
-
readonly path:
|
|
1
|
+
import { FieldPath } from '../field/FieldPath';
|
|
2
|
+
import { FormController } from '../form/FormController';
|
|
3
|
+
export declare class FormField<TOutput extends object, TValue> {
|
|
4
|
+
readonly controller: FormController<TOutput>;
|
|
5
|
+
readonly path: FieldPath.Segments;
|
|
6
6
|
readonly id: number;
|
|
7
7
|
protected target?: HTMLElement;
|
|
8
8
|
protected _isTouched: boolean;
|
|
9
9
|
protected _isDirty: boolean;
|
|
10
|
-
constructor(controller: FormController<
|
|
10
|
+
constructor(controller: FormController<TOutput>, path: FieldPath.Segments, initialState?: {
|
|
11
11
|
isTouched?: boolean;
|
|
12
12
|
isDirty?: boolean;
|
|
13
13
|
});
|
|
14
|
-
get
|
|
15
|
-
get
|
|
14
|
+
get canonicalPath(): string;
|
|
15
|
+
get stringPath(): string;
|
|
16
|
+
get value(): TValue | undefined;
|
|
17
|
+
get initialValue(): TValue | undefined;
|
|
16
18
|
get boundElement(): HTMLElement | undefined;
|
|
17
19
|
get issues(): import("@standard-schema/spec").StandardSchemaV1.Issue[];
|
|
18
20
|
get isTouched(): boolean;
|
|
@@ -21,8 +23,8 @@ export declare class FormField<TShape extends object, TPath extends Field.Paths<
|
|
|
21
23
|
protected _setTouched(isTouched: boolean): void;
|
|
22
24
|
protected _setDirty(isDirty: boolean): void;
|
|
23
25
|
bindElement(el: HTMLElement | undefined): void;
|
|
24
|
-
setValue(value:
|
|
25
|
-
modifyValue(modifier: (currentValue:
|
|
26
|
+
setValue(value: TValue, opts?: Parameters<typeof this.modifyValue>[1]): void;
|
|
27
|
+
modifyValue(modifier: (currentValue: TValue | undefined) => TValue | void, opts?: {
|
|
26
28
|
shouldTouch?: boolean;
|
|
27
29
|
shouldMarkDirty?: boolean;
|
|
28
30
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../src/form/FormField.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../src/form/FormField.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,qBAAa,SAAS,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM;aASjC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC;aACnC,IAAI,EAAE,SAAS,CAAC,QAAQ;IAT1C,SAAgB,EAAE,SAAW;IAE7B,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE/B,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,QAAQ,UAAS;gBAGT,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,EACnC,IAAI,EAAE,SAAS,CAAC,QAAQ,EACxC,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;IAMH,IAAI,aAAa,WAEhB;IAED,IAAI,UAAU,WAEb;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAI,YAAY,4BAEf;IAED,IAAI,MAAM,6DAIT;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO;IAcxC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO;IAcpC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS;IASvC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAIrE,WAAW,CACT,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,EAC7D,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GACA,IAAI;IA2DP,KAAK;IAKL,KAAK;IAIL,SAAS;IAKT,iBAAiB;IAIjB,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;CAUvC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FormField } from '../form/FormField';
|
|
1
|
+
import { FormField } from './FormField';
|
|
3
2
|
import { Mixin } from '../types/Mixin';
|
|
4
|
-
export type NonnullFormField<
|
|
5
|
-
modifyValue: (modifier: (currentValue:
|
|
3
|
+
export type NonnullFormField<TOutput extends object, TValue> = Mixin<FormField<TOutput, TValue>, {
|
|
4
|
+
modifyValue: (modifier: (currentValue: TValue) => TValue | void, opts?: {
|
|
6
5
|
shouldTouch?: boolean;
|
|
7
6
|
shouldMarkDirty?: boolean;
|
|
8
7
|
}) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonullFormField.d.ts","sourceRoot":"","sources":["../../src/form/NonullFormField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"NonullFormField.d.ts","sourceRoot":"","sources":["../../src/form/NonullFormField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,IAAI,KAAK,CAClE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAC1B;IACE,WAAW,EAAE,CACX,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACjD,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,KACE,IAAI,CAAC;CACX,CACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './field/FieldPath';
|
|
2
|
+
export * from './field/FieldPathBuilder';
|
|
3
|
+
export * from './field/Reconcile';
|
|
4
|
+
export * from './form/FormController';
|
|
2
5
|
export * from './form/FormField';
|
|
3
6
|
export * from './form/NonullFormField';
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
7
|
+
export * from './validation/CustomValidation';
|
|
8
|
+
export * from './types/DeepPartial';
|
|
9
|
+
export * from './types/Mixin';
|
|
6
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|