Skip to content

Commit

Permalink
start adding validators
Browse files Browse the repository at this point in the history
  • Loading branch information
jerrywithaz committed Sep 12, 2022
1 parent 8b27161 commit 6892e39
Show file tree
Hide file tree
Showing 89 changed files with 1,536 additions and 54 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ custom_edit_url: null

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:63](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L63)
[packages/react-formz/src/components/Form/Form.types.ts:69](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L69)

___

Expand All @@ -45,4 +45,4 @@ ___

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:64](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L64)
[packages/react-formz/src/components/Form/Form.types.ts:70](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L70)
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ custom_edit_url: null

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:27](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L27)
[packages/react-formz/src/components/Form/Form.types.ts:28](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L28)

___

Expand All @@ -48,7 +48,7 @@ Example Usage:

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:43](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L43)
[packages/react-formz/src/components/Form/Form.types.ts:44](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L44)

___

Expand All @@ -62,7 +62,7 @@ ___

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:12](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L12)
[packages/react-formz/src/hooks/forms/useForm.ts:14](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L14)

___

Expand All @@ -78,7 +78,7 @@ The initial values of the form.

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:16](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L16)
[packages/react-formz/src/hooks/forms/useForm.ts:18](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L18)

___

Expand All @@ -94,7 +94,7 @@ A unique name for the form. If `saveDrafts` is enabled, a name is required.

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:11](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L11)
[packages/react-formz/src/hooks/forms/useForm.ts:13](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L13)

___

Expand All @@ -118,7 +118,7 @@ Example Usage:

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:59](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L59)
[packages/react-formz/src/components/Form/Form.types.ts:60](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L60)

___

Expand All @@ -131,7 +131,7 @@ the form is not in an invalid state.

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:32](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L32)
[packages/react-formz/src/components/Form/Form.types.ts:33](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L33)

___

Expand All @@ -143,7 +143,7 @@ If true, the form state will reset after a successful submission.

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:47](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L47)
[packages/react-formz/src/components/Form/Form.types.ts:48](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L48)

___

Expand All @@ -159,4 +159,21 @@ If true, the form state will be saved to localstorage as the user updates values

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:20](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L20)
[packages/react-formz/src/hooks/forms/useForm.ts:22](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L22)

___

### schemaValidator

`Optional` **schemaValidator**: `SchemaValidator`<`Values`\>

Validates the form data against a schema. Could be `zod` or `yup` or any custom
schema validator.

#### Overrides

[UseFormOptions](hooks_forms_useForm.UseFormOptions.md).[schemaValidator](hooks_forms_useForm.UseFormOptions.md#schemavalidator)

#### Defined in

[packages/react-formz/src/components/Form/Form.types.ts:65](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.types.ts#L65)
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ custom_edit_url: null

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:12](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L12)
[packages/react-formz/src/hooks/forms/useForm.ts:14](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L14)

___

Expand All @@ -39,7 +39,7 @@ The initial values of the form.

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:16](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L16)
[packages/react-formz/src/hooks/forms/useForm.ts:18](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L18)

___

Expand All @@ -51,7 +51,7 @@ A unique name for the form. If `saveDrafts` is enabled, a name is required.

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:11](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L11)
[packages/react-formz/src/hooks/forms/useForm.ts:13](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L13)

___

Expand All @@ -73,7 +73,7 @@ useForm({

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:34](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L34)
[packages/react-formz/src/hooks/forms/useForm.ts:36](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L36)

___

Expand All @@ -85,4 +85,14 @@ If true, the form state will be saved to localstorage as the user updates values

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:20](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L20)
[packages/react-formz/src/hooks/forms/useForm.ts:22](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L22)

___

### schemaValidator

`Optional` **schemaValidator**: `SchemaValidator`<`Values`\>

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:37](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L37)
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ custom_edit_url: null

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:43](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L43)
[packages/react-formz/src/hooks/forms/useForm.ts:46](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L46)

___

Expand All @@ -45,7 +45,7 @@ ___

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:41](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L41)
[packages/react-formz/src/hooks/forms/useForm.ts:44](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L44)

___

Expand All @@ -55,7 +55,7 @@ ___

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:38](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L38)
[packages/react-formz/src/hooks/forms/useForm.ts:41](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L41)

___

Expand All @@ -65,7 +65,7 @@ ___

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:39](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L39)
[packages/react-formz/src/hooks/forms/useForm.ts:42](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L42)

___

Expand All @@ -75,7 +75,7 @@ ___

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:42](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L42)
[packages/react-formz/src/hooks/forms/useForm.ts:45](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L45)

___

Expand All @@ -85,4 +85,4 @@ ___

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:40](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L40)
[packages/react-formz/src/hooks/forms/useForm.ts:43](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L43)
1 change: 1 addition & 0 deletions packages/documentation/docs/api/generated/modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ custom_edit_url: null
- [hooks/forms/useFormLastPersistedAt](modules/hooks_forms_useFormLastPersistedAt.md)
- [hooks/forms/useFormStateInitialized](modules/hooks_forms_useFormStateInitialized.md)
- [hooks/forms/useFormSubmission](modules/hooks_forms_useFormSubmission.md)
- [hooks/forms/useValidateFormSchema](modules/hooks_forms_useValidateFormSchema.md)
- [hooks/utils/useComponentDidMount](modules/hooks_utils_useComponentDidMount.md)
- [hooks/utils/useIsomorphicLayoutEffect](modules/hooks_utils_useIsomorphicLayoutEffect.md)
- [hooks/utils/useSelector](modules/hooks_utils_useSelector.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ function UserProfile() {

#### Defined in

[packages/react-formz/src/components/Form/Form.tsx:53](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.tsx#L53)
[packages/react-formz/src/components/Form/Form.tsx:52](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/components/Form/Form.tsx#L52)
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ custom_edit_url: null

#### Defined in

[packages/react-formz/src/hooks/forms/useForm.ts:46](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L46)
[packages/react-formz/src/hooks/forms/useForm.ts:49](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useForm.ts#L49)
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ will handle running validations, error catching and state management.

#### Defined in

[packages/react-formz/src/hooks/forms/useFormSubmission.ts:14](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useFormSubmission.ts#L14)
[packages/react-formz/src/hooks/forms/useFormSubmission.ts:15](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/hooks/forms/useFormSubmission.ts#L15)
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
id: "hooks_forms_useValidateFormSchema"
title: "Module: hooks/forms/useValidateFormSchema"
sidebar_label: "hooks/forms/useValidateFormSchema"
sidebar_position: 0
custom_edit_url: null
---

## Functions

### useValidateFormSchema

**useValidateFormSchema**<`Values`\>(`formId`): () => `Promise`<`boolean`\>

Custom hook to return a function that validates a form using an instance of a schema validator.

#### Type parameters

| Name | Type |
| :------ | :------ |
| `Values` | extends [`FormzValues`](types_form.md#formzvalues) |

#### Parameters

| Name | Type | Description |
| :------ | :------ | :------ |
| `formId` | `string` | The id of the form. |

#### Returns

`fn`

▸ (): `Promise`<`boolean`\>

##### Returns

`Promise`<`boolean`\>

#### Defined in

packages/react-formz/src/hooks/forms/useValidateFormSchema.ts:9
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,4 @@ Creates a form api for interacting with a form.

#### Defined in

[packages/react-formz/src/providers/FormProvider/FormProvider.tsx:32](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/providers/FormProvider/FormProvider.tsx#L32)
[packages/react-formz/src/providers/FormProvider/FormProvider.tsx:33](https://github.com/ZerryStack/react-formz/blob/main/packages/react-formz/src/providers/FormProvider/FormProvider.tsx#L33)
6 changes: 6 additions & 0 deletions packages/react-formz-validators/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
presets: [
["@babel/preset-env", { targets: { node: "current" } }],
"@babel/preset-typescript",
],
};
27 changes: 27 additions & 0 deletions packages/react-formz-validators/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
const { defaults } = require("jest-config");
const path = require("path");

const workspaceNodeModules = path.resolve(__dirname, "../../", "node_modules");
const rootNodeModules = path.resolve(__dirname, "node_modules");

/** @type {import('jest').Config} */
const config = {
testMatch: ["<rootDir>/**/__tests__/**/*.[jt]s?(x)"],
verbose: true,
transform: {
"\\.[jt]sx?$": path.resolve(workspaceNodeModules, "babel-jest"),
},
moduleDirectories: [
workspaceNodeModules,
rootNodeModules,
"src",
],
collectCoverageFrom: [
'<rootDir>/**/*.{js,jsx,ts,tsx}',
'!<rootDir>/**/index.{js,jsx,ts,tsx}',
'!**/node_modules/**',
'!**/vendor/**',
],
};

module.exports = config;
43 changes: 43 additions & 0 deletions packages/react-formz-validators/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"name": "@zerry/react-formz-validators",
"version": "0.0.1-beta",
"scripts": {
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook",
"typecheck": "tsc --noEmit",
"build": "yarn typecheck && yarn build:zod",
"build:zod": "LIB=zod vite build && tsc zod/zod.ts --allowSyntheticDefaultImports --target es2016 --moduleResolution node --declaration --emitDeclarationOnly --declarationDir zod/dist/",
"prepublishOnly": "yarn test && yarn build",
"test": "jest",
"test:watch": "jest --watch",
"test:generate-output": "jest --json --outputFile=.jest-test-results.json",
"test:coverage": "jest --coverage=true"
},
"devDependencies": {
"@babel/core": "^7.19.0",
"@babel/preset-env": "^7.19.0",
"@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.18.6",
"@vitejs/plugin-react": "^2.1.0",
"@zerry/react-formz": "workspace:^",
"babel-jest": "^29.0.2",
"babel-loader": "^8.2.5",
"jest": "^29.0.3",
"jest-environment-jsdom": "^29.0.2",
"ts-node": "^10.9.1",
"typescript": "^4.8.3",
"vite": "^3.1.0",
"yup": "^0.32.11",
"zod": "^3.19.1"
},
"peerDependencies": {
"@zerry/react-formz": "^0.1.0-beta"
},
"exports": {
"./zod": {
"umd": "./zod/dist/zod.umd.js",
"import": "./zod/dist/zod.mjs",
"require": "./zod/dist/zod.js"
}
}
}
Loading

0 comments on commit 6892e39

Please sign in to comment.