fix(types): improve Schema type for useForm
				
					
				
			This commit is contained in:
		
							
								
								
									
										1012
									
								
								example/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1012
									
								
								example/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -11,26 +11,26 @@ | ||||
|     "test:dev": "start-server-and-test \"dev\" \"http://localhost:3000\" \"cypress open\"" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@sinclair/typebox": "0.24.28", | ||||
|     "@sinclair/typebox": "0.24.42", | ||||
|     "clsx": "1.2.1", | ||||
|     "next": "12.2.5", | ||||
|     "next-themes": "0.2.0", | ||||
|     "next-translate": "1.5.0", | ||||
|     "next": "12.3.1", | ||||
|     "next-themes": "0.2.1", | ||||
|     "next-translate": "1.6.0", | ||||
|     "react": "18.2.0", | ||||
|     "react-component-form": "file:..", | ||||
|     "react-dom": "18.2.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/node": "18.7.13", | ||||
|     "@types/react": "18.0.17", | ||||
|     "@types/node": "18.7.18", | ||||
|     "@types/react": "18.0.20", | ||||
|     "@types/react-dom": "18.0.6", | ||||
|     "autoprefixer": "10.4.8", | ||||
|     "cypress": "10.6.0", | ||||
|     "eslint": "8.22.0", | ||||
|     "eslint-config-next": "12.2.5", | ||||
|     "autoprefixer": "10.4.12", | ||||
|     "cypress": "10.8.0", | ||||
|     "eslint": "8.23.1", | ||||
|     "eslint-config-next": "12.3.1", | ||||
|     "postcss": "8.4.16", | ||||
|     "start-server-and-test": "1.14.0", | ||||
|     "tailwindcss": "3.1.8", | ||||
|     "typescript": "4.8.2" | ||||
|     "typescript": "4.8.3" | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| import type { AppProps } from 'next/app' | ||||
| import type { AppType } from 'next/app' | ||||
| import { ThemeProvider } from 'next-themes' | ||||
|  | ||||
| import '../styles/globals.css' | ||||
|  | ||||
| const MyApp = ({ Component, pageProps }: AppProps): JSX.Element => { | ||||
| const MyApp: AppType = ({ Component, pageProps }) => { | ||||
|   return ( | ||||
|     <ThemeProvider attribute='class' defaultTheme='dark'> | ||||
|       <Component {...pageProps} /> | ||||
|   | ||||
							
								
								
									
										8223
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8223
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										30
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								package.json
									
									
									
									
									
								
							| @@ -37,37 +37,37 @@ | ||||
|     "react": ">=16" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@sinclair/typebox": "0.24.28", | ||||
|     "@sinclair/typebox": "0.24.42", | ||||
|     "ajv": "8.11.0", | ||||
|     "ajv-formats": "2.1.1" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@commitlint/cli": "17.0.3", | ||||
|     "@commitlint/config-conventional": "17.0.3", | ||||
|     "@testing-library/react": "13.3.0", | ||||
|     "@types/jest": "28.1.8", | ||||
|     "@types/react": "18.0.17", | ||||
|     "@commitlint/cli": "17.1.2", | ||||
|     "@commitlint/config-conventional": "17.1.0", | ||||
|     "@testing-library/react": "13.4.0", | ||||
|     "@types/jest": "29.0.3", | ||||
|     "@types/react": "18.0.20", | ||||
|     "@types/react-dom": "18.0.6", | ||||
|     "@typescript-eslint/eslint-plugin": "5.35.1", | ||||
|     "@typescript-eslint/parser": "5.35.1", | ||||
|     "@typescript-eslint/eslint-plugin": "5.38.0", | ||||
|     "@typescript-eslint/parser": "5.38.0", | ||||
|     "editorconfig-checker": "4.0.2", | ||||
|     "esbuild": "0.15.5", | ||||
|     "esbuild": "0.15.8", | ||||
|     "esbuild-jest": "0.5.0", | ||||
|     "eslint": "8.22.0", | ||||
|     "eslint-config-conventions": "3.0.0", | ||||
|     "eslint": "8.23.1", | ||||
|     "eslint-config-conventions": "4.0.1", | ||||
|     "eslint-config-prettier": "8.5.0", | ||||
|     "eslint-plugin-import": "2.26.0", | ||||
|     "eslint-plugin-prettier": "4.2.1", | ||||
|     "eslint-plugin-promise": "6.0.1", | ||||
|     "eslint-plugin-unicorn": "43.0.2", | ||||
|     "jest": "29.0.0", | ||||
|     "jest-environment-jsdom": "29.0.0", | ||||
|     "jest": "29.0.3", | ||||
|     "jest-environment-jsdom": "29.0.3", | ||||
|     "markdownlint-cli2": "0.5.1", | ||||
|     "prettier": "2.7.1", | ||||
|     "react": "18.2.0", | ||||
|     "react-dom": "18.2.0", | ||||
|     "semantic-release": "19.0.5", | ||||
|     "tsup": "6.2.2", | ||||
|     "typescript": "4.7.4" | ||||
|     "tsup": "6.2.3", | ||||
|     "typescript": "4.8.3" | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,7 +1,8 @@ | ||||
| import React from 'react' | ||||
| import { render, cleanup, fireEvent } from '@testing-library/react' | ||||
|  | ||||
| import { Form, HandleForm } from '..' | ||||
| import type { HandleForm } from '..' | ||||
| import { Form } from '..' | ||||
|  | ||||
| afterEach(cleanup) | ||||
|  | ||||
|   | ||||
| @@ -1,14 +1,18 @@ | ||||
| import { useMemo, useState } from 'react' | ||||
| import { SchemaOptions, Static, TObject, Type } from '@sinclair/typebox' | ||||
| import type { Static, TObject } from '@sinclair/typebox' | ||||
| import { Type } from '@sinclair/typebox' | ||||
| import type { ErrorObject } from 'ajv' | ||||
|  | ||||
| import type { HandleForm } from '../components/Form' | ||||
| import { FetchState, useFetchState } from './useFetchState' | ||||
| import type { FetchState } from './useFetchState' | ||||
| import { useFetchState } from './useFetchState' | ||||
| import { ajv } from '../utils/ajv' | ||||
| import { handleCheckboxBoolean } from '../utils/handleCheckboxBoolean' | ||||
| import { handleOptionalEmptyStringToNull } from '../utils/handleOptionalEmptyStringToNull' | ||||
|  | ||||
| export type Schema = SchemaOptions | ||||
| export interface Schema { | ||||
|   [property: string]: any | ||||
| } | ||||
|  | ||||
| export type Error = ErrorObject | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user