form-hook-kit 1.2.0 → 1.2.1
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/README.md +28 -372
- package/dist/devtools/FormContext.d.ts +8 -0
- package/dist/devtools/FormContext.d.ts.map +1 -0
- package/dist/devtools/FormDevTools.d.ts.map +1 -1
- package/dist/devtools/FormProvider.d.ts +33 -0
- package/dist/devtools/FormProvider.d.ts.map +1 -0
- package/dist/devtools/devtools/FormDevTools.d.ts +86 -0
- package/dist/devtools/devtools/FormDevTools.d.ts.map +1 -0
- package/dist/devtools/devtools/index.d.ts +3 -0
- package/dist/devtools/devtools/index.d.ts.map +1 -0
- package/dist/devtools/hooks/index.d.ts +4 -0
- package/dist/devtools/hooks/index.d.ts.map +1 -0
- package/dist/devtools/hooks/useForm.d.ts +30 -0
- package/dist/devtools/hooks/useForm.d.ts.map +1 -0
- package/dist/devtools/hooks/useFormField.d.ts +40 -0
- package/dist/devtools/hooks/useFormField.d.ts.map +1 -0
- package/dist/devtools/hooks/useFormPerformance.d.ts +57 -0
- package/dist/devtools/hooks/useFormPerformance.d.ts.map +1 -0
- package/dist/devtools/index.d.ts +11 -2
- package/dist/devtools/index.d.ts.map +1 -1
- package/dist/devtools/index.esm.js +203 -0
- package/dist/devtools/index.esm.js.map +1 -0
- package/dist/devtools/index.js +205 -0
- package/dist/devtools/index.js.map +1 -0
- package/dist/devtools/package.json +6 -0
- package/dist/devtools/types/index.d.ts +94 -0
- package/dist/devtools/types/index.d.ts.map +1 -0
- package/dist/devtools/utils/debounce.d.ts +6 -0
- package/dist/devtools/utils/debounce.d.ts.map +1 -0
- package/dist/devtools/utils/errors.d.ts +11 -0
- package/dist/devtools/utils/errors.d.ts.map +1 -0
- package/dist/devtools/utils/formActions.d.ts +57 -0
- package/dist/devtools/utils/formActions.d.ts.map +1 -0
- package/dist/devtools/utils/formReducer.d.ts +7 -0
- package/dist/devtools/utils/formReducer.d.ts.map +1 -0
- package/dist/devtools/utils/index.d.ts +7 -0
- package/dist/devtools/utils/index.d.ts.map +1 -0
- package/dist/devtools/utils/performance.d.ts +7 -0
- package/dist/devtools/utils/performance.d.ts.map +1 -0
- package/dist/devtools/utils/validation.d.ts +25 -0
- package/dist/devtools/utils/validation.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +128 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +128 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,KAAK,CAAC;AAE9B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAChE,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,wCAAwC;IACxC,MAAM,EAAE,UAAU,CAAC;IACnB,kCAAkC;IAClC,WAAW,EAAE,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAC,KAAK,IAAI,CAAC;IACrE,2CAA2C;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,uCAAuC;IACvC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI,CAAC;IAC1D,sDAAsD;IACtD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,KAAK,MAAM,GAAG,IAAI,CAAC;IACvE,oDAAoD;IACpD,YAAY,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,4BAA4B;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CACxC,GACD;IACE,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a debounced function that delays invoking func until after wait milliseconds
|
|
3
|
+
* have elapsed since the last time the debounced function was invoked.
|
|
4
|
+
*/
|
|
5
|
+
export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
|
|
6
|
+
//# sourceMappingURL=debounce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../src/utils/debounce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAYlC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced error messages with helpful suggestions
|
|
3
|
+
*/
|
|
4
|
+
export declare class FormHookKitError extends Error {
|
|
5
|
+
suggestion?: string | undefined;
|
|
6
|
+
constructor(message: string, suggestion?: string | undefined);
|
|
7
|
+
}
|
|
8
|
+
export declare function createContextError(): FormHookKitError;
|
|
9
|
+
export declare function createInvalidSchemaError(): FormHookKitError;
|
|
10
|
+
export declare function createValidationError(fieldName: string, error: string): FormHookKitError;
|
|
11
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,gBAAiB,SAAQ,KAAK;IACL,UAAU,CAAC,EAAE,MAAM;gBAA3C,OAAO,EAAE,MAAM,EAAS,UAAU,CAAC,EAAE,MAAM,YAAA;CAIxD;AAED,wBAAgB,kBAAkB,IAAI,gBAAgB,CAQrD;AAED,wBAAgB,wBAAwB,IAAI,gBAAgB,CAU3D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAKxF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Dispatch } from 'react';
|
|
2
|
+
import { AnySchema } from 'yup';
|
|
3
|
+
import { FormAction, FormValues, FormFieldValue } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* Generate changeValue function
|
|
6
|
+
* Updates a single field value
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateChangeValue({ dispatch, values, }: {
|
|
9
|
+
dispatch: Dispatch<FormAction>;
|
|
10
|
+
values: FormValues;
|
|
11
|
+
}): ({ name, value }: {
|
|
12
|
+
name: string;
|
|
13
|
+
value: FormFieldValue;
|
|
14
|
+
}) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Generate changeValues function
|
|
17
|
+
* Updates multiple field values at once
|
|
18
|
+
*/
|
|
19
|
+
export declare function generateChangeValues({ dispatch, }: {
|
|
20
|
+
dispatch: Dispatch<FormAction>;
|
|
21
|
+
}): (values: FormValues) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Generate clearError function
|
|
24
|
+
* Clears error for a specific field
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateClearError({ dispatch, }: {
|
|
27
|
+
dispatch: Dispatch<FormAction>;
|
|
28
|
+
}): (name: string) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Generate setError function
|
|
31
|
+
* Sets error for a specific field
|
|
32
|
+
*/
|
|
33
|
+
export declare function generateSetError({ dispatch, }: {
|
|
34
|
+
dispatch: Dispatch<FormAction>;
|
|
35
|
+
}): ({ error, name }: {
|
|
36
|
+
error: string;
|
|
37
|
+
name: string;
|
|
38
|
+
}) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Generate validateField function
|
|
41
|
+
* Validates a single field against the schema
|
|
42
|
+
*/
|
|
43
|
+
export declare function generateValidateField({ dispatch, schema, values, }: {
|
|
44
|
+
dispatch: Dispatch<FormAction>;
|
|
45
|
+
schema: AnySchema;
|
|
46
|
+
values: FormValues;
|
|
47
|
+
}): (name: string, value?: FormFieldValue) => string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Generate validateForm function
|
|
50
|
+
* Validates entire form against the schema
|
|
51
|
+
*/
|
|
52
|
+
export declare function generateValidateForm({ dispatch, schema, values, }: {
|
|
53
|
+
dispatch: Dispatch<FormAction>;
|
|
54
|
+
schema: AnySchema;
|
|
55
|
+
values: FormValues;
|
|
56
|
+
}): () => Record<string, string | null>;
|
|
57
|
+
//# sourceMappingURL=formActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formActions.d.ts","sourceRoot":"","sources":["../../../src/utils/formActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,SAAS,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAc,UAAU,EAAE,UAAU,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAG7E;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,EAAE,UAAU,CAAC;CACpB,IACS,iBAAe;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAC,UAS7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAChC,IACS,QAAQ,UAAU,UAM3B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAChC,IACS,MAAM,MAAM,UAMrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAChC,IACS,iBAAe;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,UAMrD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,MAAM,EACN,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB,IACS,MAAM,MAAM,EAAE,QAAQ,cAAc,KAAG,MAAM,GAAG,IAAI,CAe7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,EACN,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB,SACY,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAUzC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FormAction, FormState } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Form state reducer
|
|
4
|
+
* Manages form state updates for values and errors
|
|
5
|
+
*/
|
|
6
|
+
export declare function formReducer(state: FormState, action: FormAction): FormState;
|
|
7
|
+
//# sourceMappingURL=formReducer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formReducer.d.ts","sourceRoot":"","sources":["../../../src/utils/formReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,CAkB3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/performance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,GAAG,QAAO,MAKtB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AnySchema } from 'yup';
|
|
2
|
+
import { FormValues } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Get validation error for a specific field
|
|
5
|
+
* @param name - Field name
|
|
6
|
+
* @param schema - Yup schema
|
|
7
|
+
* @param values - Current form values
|
|
8
|
+
* @returns Error message or null if valid
|
|
9
|
+
*/
|
|
10
|
+
export declare function getFieldError({ name, schema, values, }: {
|
|
11
|
+
name: string;
|
|
12
|
+
schema: AnySchema;
|
|
13
|
+
values: FormValues;
|
|
14
|
+
}): string | null;
|
|
15
|
+
/**
|
|
16
|
+
* Get validation errors for entire form
|
|
17
|
+
* @param schema - Yup schema
|
|
18
|
+
* @param values - Current form values
|
|
19
|
+
* @returns Object with errors by field name
|
|
20
|
+
*/
|
|
21
|
+
export declare function getFormErrors({ schema, values, }: {
|
|
22
|
+
schema: AnySchema;
|
|
23
|
+
values: FormValues;
|
|
24
|
+
}): Record<string, string | null>;
|
|
25
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAgC,MAAM,KAAK,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,MAAM,EACN,MAAM,GACP,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB,GAAG,MAAM,GAAG,IAAI,CAUhB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,MAAM,GACP,EAAE;IACD,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAWhC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { FormProvider } from './FormProvider';
|
|
8
8
|
export { FormContext } from './FormContext';
|
|
9
|
-
export { useForm, useFormField } from './hooks';
|
|
9
|
+
export { useForm, useFormField, useFormPerformance, useValidationPerformance } from './hooks';
|
|
10
10
|
export type { FormContextValue, FormProviderProps, FormState, FormActions, FormAction, } from './types';
|
|
11
11
|
export { getFieldError, getFormErrors, formReducer, generateChangeValue, generateChangeValues, generateClearError, generateSetError, generateValidateField, generateValidateForm, } from './utils';
|
|
12
12
|
//# 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;;;;;GAKG;AAGH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,SAAS,CAAC;AAG5F,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { createContext, useRef, useReducer, useMemo, useContext, useCallback } from 'react';
|
|
1
|
+
import React, { createContext, useRef, useReducer, useMemo, useContext, useCallback, useState, useEffect } from 'react';
|
|
2
2
|
import { ValidationError } from 'yup';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -195,6 +195,20 @@ function createContextError() {
|
|
|
195
195
|
'</FormProvider>');
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
/**
|
|
199
|
+
* Cross-platform performance utilities
|
|
200
|
+
*
|
|
201
|
+
* Provides performance.now() polyfill for React Native
|
|
202
|
+
*/
|
|
203
|
+
// Check if performance.now is available (web)
|
|
204
|
+
// Otherwise use Date.now() (React Native)
|
|
205
|
+
const now = () => {
|
|
206
|
+
if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
|
|
207
|
+
return performance.now();
|
|
208
|
+
}
|
|
209
|
+
return Date.now();
|
|
210
|
+
};
|
|
211
|
+
|
|
198
212
|
/**
|
|
199
213
|
* Form Provider Component
|
|
200
214
|
*
|
|
@@ -390,5 +404,117 @@ function useFormField(name) {
|
|
|
390
404
|
};
|
|
391
405
|
}
|
|
392
406
|
|
|
393
|
-
|
|
407
|
+
/**
|
|
408
|
+
* Hook to monitor form performance metrics
|
|
409
|
+
*
|
|
410
|
+
* Useful for debugging and optimizing form performance.
|
|
411
|
+
*
|
|
412
|
+
* @returns Performance metrics object
|
|
413
|
+
*
|
|
414
|
+
* @example
|
|
415
|
+
* ```tsx
|
|
416
|
+
* function MyForm() {
|
|
417
|
+
* const metrics = useFormPerformance();
|
|
418
|
+
*
|
|
419
|
+
* console.log('Render count:', metrics.renderCount);
|
|
420
|
+
* console.log('Avg validation time:', metrics.averageValidationTime);
|
|
421
|
+
*
|
|
422
|
+
* return <div>...</div>;
|
|
423
|
+
* }
|
|
424
|
+
* ```
|
|
425
|
+
*/
|
|
426
|
+
function useFormPerformance() {
|
|
427
|
+
const { values } = useForm();
|
|
428
|
+
const renderCount = useRef(0);
|
|
429
|
+
const fieldChangeCount = useRef(0);
|
|
430
|
+
const lastRenderTime = useRef(Date.now());
|
|
431
|
+
const previousValues = useRef(values);
|
|
432
|
+
const [metrics, setMetrics] = useState({
|
|
433
|
+
renderCount: 0,
|
|
434
|
+
lastRenderTime: 0,
|
|
435
|
+
fieldChangeCount: 0,
|
|
436
|
+
});
|
|
437
|
+
useEffect(() => {
|
|
438
|
+
renderCount.current += 1;
|
|
439
|
+
const now = Date.now();
|
|
440
|
+
const renderTime = now - lastRenderTime.current;
|
|
441
|
+
lastRenderTime.current = now;
|
|
442
|
+
// Detect field changes
|
|
443
|
+
if (previousValues.current !== values) {
|
|
444
|
+
fieldChangeCount.current += 1;
|
|
445
|
+
previousValues.current = values;
|
|
446
|
+
}
|
|
447
|
+
setMetrics({
|
|
448
|
+
renderCount: renderCount.current,
|
|
449
|
+
lastRenderTime: renderTime,
|
|
450
|
+
fieldChangeCount: fieldChangeCount.current,
|
|
451
|
+
});
|
|
452
|
+
}, [values]);
|
|
453
|
+
return metrics;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Hook to track validation performance
|
|
457
|
+
*
|
|
458
|
+
* Wraps validation calls with timing metrics.
|
|
459
|
+
*
|
|
460
|
+
* @returns Object with tracked validateField and validateForm functions
|
|
461
|
+
*
|
|
462
|
+
* @example
|
|
463
|
+
* ```tsx
|
|
464
|
+
* function MyForm() {
|
|
465
|
+
* const {validateField, validateForm, metrics} = useValidationPerformance();
|
|
466
|
+
*
|
|
467
|
+
* const handleSubmit = () => {
|
|
468
|
+
* validateForm();
|
|
469
|
+
* console.log('Validation took:', metrics.lastValidationTime, 'ms');
|
|
470
|
+
* };
|
|
471
|
+
*
|
|
472
|
+
* return <button onClick={handleSubmit}>Submit</button>;
|
|
473
|
+
* }
|
|
474
|
+
* ```
|
|
475
|
+
*/
|
|
476
|
+
function useValidationPerformance() {
|
|
477
|
+
const { validateField: originalValidateField, validateForm: originalValidateForm } = useForm();
|
|
478
|
+
const [metrics, setMetrics] = useState({
|
|
479
|
+
lastValidationTime: 0,
|
|
480
|
+
totalValidations: 0,
|
|
481
|
+
averageValidationTime: 0,
|
|
482
|
+
});
|
|
483
|
+
const validationTimes = useRef([]);
|
|
484
|
+
const validateField = (name, value) => {
|
|
485
|
+
const start = now();
|
|
486
|
+
const result = originalValidateField(name, value);
|
|
487
|
+
const duration = now() - start;
|
|
488
|
+
validationTimes.current.push(duration);
|
|
489
|
+
const total = validationTimes.current.length;
|
|
490
|
+
const average = validationTimes.current.reduce((a, b) => a + b, 0) / total;
|
|
491
|
+
setMetrics({
|
|
492
|
+
lastValidationTime: duration,
|
|
493
|
+
totalValidations: total,
|
|
494
|
+
averageValidationTime: average,
|
|
495
|
+
});
|
|
496
|
+
return result;
|
|
497
|
+
};
|
|
498
|
+
const validateForm = () => {
|
|
499
|
+
const start = now();
|
|
500
|
+
const result = originalValidateForm();
|
|
501
|
+
const duration = now() - start;
|
|
502
|
+
validationTimes.current.push(duration);
|
|
503
|
+
const total = validationTimes.current.length;
|
|
504
|
+
const average = validationTimes.current.reduce((a, b) => a + b, 0) / total;
|
|
505
|
+
setMetrics({
|
|
506
|
+
lastValidationTime: duration,
|
|
507
|
+
totalValidations: total,
|
|
508
|
+
averageValidationTime: average,
|
|
509
|
+
});
|
|
510
|
+
return result;
|
|
511
|
+
};
|
|
512
|
+
return {
|
|
513
|
+
validateField,
|
|
514
|
+
validateForm,
|
|
515
|
+
metrics,
|
|
516
|
+
};
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
export { FormContext, FormProvider, formReducer, generateChangeValue, generateChangeValues, generateClearError, generateSetError, generateValidateField, generateValidateForm, getFieldError, getFormErrors, useForm, useFormField, useFormPerformance, useValidationPerformance };
|
|
394
520
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/FormContext.tsx","../src/utils/validation.ts","../src/types/index.ts","../src/utils/formReducer.ts","../src/utils/formActions.ts","../src/utils/debounce.ts","../src/utils/errors.ts","../src/FormProvider.tsx","../src/hooks/useForm.ts","../src/hooks/useFormField.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/FormContext.tsx","../src/utils/validation.ts","../src/types/index.ts","../src/utils/formReducer.ts","../src/utils/formActions.ts","../src/utils/debounce.ts","../src/utils/errors.ts","../src/utils/performance.ts","../src/FormProvider.tsx","../src/hooks/useForm.ts","../src/hooks/useFormField.ts","../src/hooks/useFormPerformance.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -197,6 +197,20 @@ function createContextError() {
|
|
|
197
197
|
'</FormProvider>');
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
+
/**
|
|
201
|
+
* Cross-platform performance utilities
|
|
202
|
+
*
|
|
203
|
+
* Provides performance.now() polyfill for React Native
|
|
204
|
+
*/
|
|
205
|
+
// Check if performance.now is available (web)
|
|
206
|
+
// Otherwise use Date.now() (React Native)
|
|
207
|
+
const now = () => {
|
|
208
|
+
if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
|
|
209
|
+
return performance.now();
|
|
210
|
+
}
|
|
211
|
+
return Date.now();
|
|
212
|
+
};
|
|
213
|
+
|
|
200
214
|
/**
|
|
201
215
|
* Form Provider Component
|
|
202
216
|
*
|
|
@@ -392,6 +406,118 @@ function useFormField(name) {
|
|
|
392
406
|
};
|
|
393
407
|
}
|
|
394
408
|
|
|
409
|
+
/**
|
|
410
|
+
* Hook to monitor form performance metrics
|
|
411
|
+
*
|
|
412
|
+
* Useful for debugging and optimizing form performance.
|
|
413
|
+
*
|
|
414
|
+
* @returns Performance metrics object
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```tsx
|
|
418
|
+
* function MyForm() {
|
|
419
|
+
* const metrics = useFormPerformance();
|
|
420
|
+
*
|
|
421
|
+
* console.log('Render count:', metrics.renderCount);
|
|
422
|
+
* console.log('Avg validation time:', metrics.averageValidationTime);
|
|
423
|
+
*
|
|
424
|
+
* return <div>...</div>;
|
|
425
|
+
* }
|
|
426
|
+
* ```
|
|
427
|
+
*/
|
|
428
|
+
function useFormPerformance() {
|
|
429
|
+
const { values } = useForm();
|
|
430
|
+
const renderCount = React.useRef(0);
|
|
431
|
+
const fieldChangeCount = React.useRef(0);
|
|
432
|
+
const lastRenderTime = React.useRef(Date.now());
|
|
433
|
+
const previousValues = React.useRef(values);
|
|
434
|
+
const [metrics, setMetrics] = React.useState({
|
|
435
|
+
renderCount: 0,
|
|
436
|
+
lastRenderTime: 0,
|
|
437
|
+
fieldChangeCount: 0,
|
|
438
|
+
});
|
|
439
|
+
React.useEffect(() => {
|
|
440
|
+
renderCount.current += 1;
|
|
441
|
+
const now = Date.now();
|
|
442
|
+
const renderTime = now - lastRenderTime.current;
|
|
443
|
+
lastRenderTime.current = now;
|
|
444
|
+
// Detect field changes
|
|
445
|
+
if (previousValues.current !== values) {
|
|
446
|
+
fieldChangeCount.current += 1;
|
|
447
|
+
previousValues.current = values;
|
|
448
|
+
}
|
|
449
|
+
setMetrics({
|
|
450
|
+
renderCount: renderCount.current,
|
|
451
|
+
lastRenderTime: renderTime,
|
|
452
|
+
fieldChangeCount: fieldChangeCount.current,
|
|
453
|
+
});
|
|
454
|
+
}, [values]);
|
|
455
|
+
return metrics;
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Hook to track validation performance
|
|
459
|
+
*
|
|
460
|
+
* Wraps validation calls with timing metrics.
|
|
461
|
+
*
|
|
462
|
+
* @returns Object with tracked validateField and validateForm functions
|
|
463
|
+
*
|
|
464
|
+
* @example
|
|
465
|
+
* ```tsx
|
|
466
|
+
* function MyForm() {
|
|
467
|
+
* const {validateField, validateForm, metrics} = useValidationPerformance();
|
|
468
|
+
*
|
|
469
|
+
* const handleSubmit = () => {
|
|
470
|
+
* validateForm();
|
|
471
|
+
* console.log('Validation took:', metrics.lastValidationTime, 'ms');
|
|
472
|
+
* };
|
|
473
|
+
*
|
|
474
|
+
* return <button onClick={handleSubmit}>Submit</button>;
|
|
475
|
+
* }
|
|
476
|
+
* ```
|
|
477
|
+
*/
|
|
478
|
+
function useValidationPerformance() {
|
|
479
|
+
const { validateField: originalValidateField, validateForm: originalValidateForm } = useForm();
|
|
480
|
+
const [metrics, setMetrics] = React.useState({
|
|
481
|
+
lastValidationTime: 0,
|
|
482
|
+
totalValidations: 0,
|
|
483
|
+
averageValidationTime: 0,
|
|
484
|
+
});
|
|
485
|
+
const validationTimes = React.useRef([]);
|
|
486
|
+
const validateField = (name, value) => {
|
|
487
|
+
const start = now();
|
|
488
|
+
const result = originalValidateField(name, value);
|
|
489
|
+
const duration = now() - start;
|
|
490
|
+
validationTimes.current.push(duration);
|
|
491
|
+
const total = validationTimes.current.length;
|
|
492
|
+
const average = validationTimes.current.reduce((a, b) => a + b, 0) / total;
|
|
493
|
+
setMetrics({
|
|
494
|
+
lastValidationTime: duration,
|
|
495
|
+
totalValidations: total,
|
|
496
|
+
averageValidationTime: average,
|
|
497
|
+
});
|
|
498
|
+
return result;
|
|
499
|
+
};
|
|
500
|
+
const validateForm = () => {
|
|
501
|
+
const start = now();
|
|
502
|
+
const result = originalValidateForm();
|
|
503
|
+
const duration = now() - start;
|
|
504
|
+
validationTimes.current.push(duration);
|
|
505
|
+
const total = validationTimes.current.length;
|
|
506
|
+
const average = validationTimes.current.reduce((a, b) => a + b, 0) / total;
|
|
507
|
+
setMetrics({
|
|
508
|
+
lastValidationTime: duration,
|
|
509
|
+
totalValidations: total,
|
|
510
|
+
averageValidationTime: average,
|
|
511
|
+
});
|
|
512
|
+
return result;
|
|
513
|
+
};
|
|
514
|
+
return {
|
|
515
|
+
validateField,
|
|
516
|
+
validateForm,
|
|
517
|
+
metrics,
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
|
|
395
521
|
exports.FormContext = FormContext;
|
|
396
522
|
exports.FormProvider = FormProvider;
|
|
397
523
|
exports.formReducer = formReducer;
|
|
@@ -405,4 +531,6 @@ exports.getFieldError = getFieldError;
|
|
|
405
531
|
exports.getFormErrors = getFormErrors;
|
|
406
532
|
exports.useForm = useForm;
|
|
407
533
|
exports.useFormField = useFormField;
|
|
534
|
+
exports.useFormPerformance = useFormPerformance;
|
|
535
|
+
exports.useValidationPerformance = useValidationPerformance;
|
|
408
536
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/FormContext.tsx","../src/utils/validation.ts","../src/types/index.ts","../src/utils/formReducer.ts","../src/utils/formActions.ts","../src/utils/debounce.ts","../src/utils/errors.ts","../src/FormProvider.tsx","../src/hooks/useForm.ts","../src/hooks/useFormField.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["createContext","ValidationError","useRef","useReducer","useMemo","useContext","useCallback"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/FormContext.tsx","../src/utils/validation.ts","../src/types/index.ts","../src/utils/formReducer.ts","../src/utils/formActions.ts","../src/utils/debounce.ts","../src/utils/errors.ts","../src/utils/performance.ts","../src/FormProvider.tsx","../src/hooks/useForm.ts","../src/hooks/useFormField.ts","../src/hooks/useFormPerformance.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["createContext","ValidationError","useRef","useReducer","useMemo","useContext","useCallback","useState","useEffect"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "form-hook-kit",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "A type-safe form management library for React and React Native with hooks-based API, Yup validation, and 100% test coverage",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"files": [
|
|
21
21
|
"dist",
|
|
22
|
+
"dist/devtools/package.json",
|
|
22
23
|
"README.md",
|
|
23
24
|
"LICENSE"
|
|
24
25
|
],
|