Skip to content

Commit 9dd79c7

Browse files
committed
chore: types
1 parent 734705a commit 9dd79c7

File tree

7 files changed

+80
-79
lines changed

7 files changed

+80
-79
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"name": "@lifespikes/laravel-precognition-react",
3-
"version": "0.0.5",
3+
"version": "0.0.6",
44
"description": "Laravel Precognition React Hooks",
5+
"source": "./src/index.ts",
56
"main": "./dist/cjs/index.js",
67
"module": "./dist/esm/index.js",
78
"types": "./dist/esm/index.d.ts",

src/hooks/useInertiaPrecognitionForm.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { useForm } from '@inertiajs/inertia-react';
22
import { useMemo } from 'react';
33
import {
4-
UseInertiaPrecognitionForm,
5-
UsePrecognitionFormOptions,
4+
UseInertiaPrecognitionFormReturn,
5+
UsePrecognitionFormProps,
66
} from '../types';
77
import { usePrecognition } from './usePrecognition';
88
import { patchInertiaForm } from '../helpers/patchInertiaForm';
99

10-
export const useInertiaPrecognitionForm = <TForm = Record<string, any>>({
10+
export function useInertiaPrecognitionForm<TForm = Record<string, any>>({
1111
precognition: { method, url, config },
1212
form: { initialValues },
13-
}: UsePrecognitionFormOptions<TForm>): UseInertiaPrecognitionForm<TForm> => {
13+
}: UsePrecognitionFormProps<TForm>): UseInertiaPrecognitionFormReturn<TForm> {
1414
const inertia = useForm<TForm>(initialValues);
1515
const { touched, validator, setLastTouched, ...rest } =
1616
usePrecognition<TForm>(method, url, inertia.data, config);
@@ -37,4 +37,4 @@ export const useInertiaPrecognitionForm = <TForm = Record<string, any>>({
3737
passed,
3838
setLastTouched,
3939
});
40-
};
40+
}

src/hooks/usePrecognition.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ import {
99
RequestMethods,
1010
Timeout,
1111
} from 'laravel-precognition/dist/types';
12-
import { UsePrecognition } from '../types';
12+
import { UsePrecognitionReturn } from '../types';
1313

14-
export const usePrecognition = <TForm = Record<string, any>>(
14+
export function usePrecognition<TForm = Record<string, any>>(
1515
method: RequestMethods,
1616
url: string,
1717
data: TForm,
1818
config?: Config
19-
): UsePrecognition<TForm> => {
19+
): UsePrecognitionReturn<TForm> {
2020
const [isValidating, setIsValidating] = useState<string | null>(null);
2121
const [isProcessingValidation, setIsProcessingValidation] = useState(false);
2222
const [touched, setTouched] = useState<Array<keyof TForm>>([]);
@@ -76,4 +76,4 @@ export const usePrecognition = <TForm = Record<string, any>>(
7676
return this;
7777
},
7878
};
79-
};
79+
}

src/hooks/usePrecognitionForm.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { useMemo, useState } from 'react';
22
import { toSimpleValidationErrors } from 'laravel-precognition';
3-
import { UsePrecognitionForm, UsePrecognitionFormOptions } from '../types';
3+
import { UsePrecognitionFormReturn, UsePrecognitionFormProps } from '../types';
44
import { usePrecognition } from './usePrecognition';
55

6-
export const usePrecognitionForm = <TForm = Record<string, any>>({
6+
export function usePrecognitionForm<TForm = Record<string, any>>({
77
precognition: { method, url, config },
88
form: { initialValues },
9-
}: UsePrecognitionFormOptions<TForm>): UsePrecognitionForm<TForm> => {
9+
}: UsePrecognitionFormProps<TForm>): UsePrecognitionFormReturn<TForm> {
1010
const [data, setData] = useState<TForm>(initialValues);
1111
const [errors, setErrors] = useState<Record<keyof TForm, string> | null>(
1212
null
@@ -59,4 +59,4 @@ export const usePrecognitionForm = <TForm = Record<string, any>>({
5959
},
6060
passed,
6161
};
62-
};
62+
}

src/index.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { usePrecognition } from './hooks/usePrecognition';
2-
import { useInertiaPrecognitionForm } from './hooks/useInertiaPrecognitionForm';
3-
import { usePrecognitionForm } from './hooks/usePrecognitionForm';
4-
5-
export { usePrecognition, useInertiaPrecognitionForm, usePrecognitionForm };
1+
export * from './hooks/useInertiaPrecognitionForm';
2+
export * from './hooks/usePrecognition';
3+
export * from './hooks/usePrecognitionForm';
4+
export * from './types';

src/types/hooks.ts

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import {
2+
Config,
3+
RequestMethods,
4+
Timeout,
5+
Validator,
6+
} from 'laravel-precognition/dist/types';
7+
import React from 'react';
8+
import { InertiaFormProps } from '@inertiajs/inertia-react';
9+
10+
export type UsePrecognitionFormProps<TForm = Record<string, any>> = {
11+
precognition: {
12+
method: RequestMethods;
13+
url: string;
14+
config?: Config;
15+
};
16+
17+
form: {
18+
initialValues: TForm;
19+
};
20+
};
21+
22+
export type UsePrecognitionReturn<TForm = Record<string, any>> = {
23+
validator: Validator;
24+
validate(name: keyof TForm): UsePrecognitionReturn<TForm>;
25+
isValidating: string | null;
26+
isProcessingValidation: boolean;
27+
lastTouched: keyof TForm | null;
28+
setLastTouched: React.Dispatch<React.SetStateAction<keyof TForm | null>>;
29+
touched: Array<keyof TForm>;
30+
31+
setValidatorTimeout(duration: Timeout): UsePrecognitionReturn<TForm>;
32+
};
33+
34+
export type InertiaPrecognitionFormProps<TForm = Record<string, any>> =
35+
InertiaFormProps<TForm> & UsePrecognitionReturn<TForm>;
36+
37+
export interface UseInertiaPrecognitionFormReturn<TForm = Record<string, any>>
38+
extends InertiaPrecognitionFormProps<TForm> {
39+
validateAndSetDataByKeyValuePair(
40+
name: keyof TForm,
41+
value: any
42+
): UsePrecognitionReturn<TForm>;
43+
passed: Array<keyof TForm>;
44+
}
45+
46+
export type UsePrecognitionFormReturn<TForm = Record<string, any>> =
47+
UsePrecognitionReturn<TForm> & {
48+
data: TForm;
49+
setData: React.Dispatch<React.SetStateAction<TForm>>;
50+
errors: Record<keyof TForm, string> | null;
51+
setErrors: React.Dispatch<
52+
React.SetStateAction<Record<keyof TForm, string> | null>
53+
>;
54+
clearErrors: () => void;
55+
validateAndSetDataByKeyValuePair(
56+
key: keyof TForm,
57+
value: any
58+
): UsePrecognitionFormReturn<TForm>;
59+
passed: Array<keyof TForm>;
60+
};

src/types/index.ts

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1 @@
1-
import {
2-
Config,
3-
RequestMethods,
4-
Timeout,
5-
Validator,
6-
} from 'laravel-precognition/dist/types';
7-
import React from 'react';
8-
import { InertiaFormProps } from '@inertiajs/inertia-react';
9-
10-
export type UsePrecognitionFormOptions<TForm = Record<string, any>> = {
11-
precognition: {
12-
method: RequestMethods;
13-
url: string;
14-
config?: Config;
15-
};
16-
17-
form: {
18-
initialValues: TForm;
19-
};
20-
};
21-
22-
export type UsePrecognition<TForm = Record<string, any>> = {
23-
validator: Validator;
24-
validate(name: keyof TForm): UsePrecognition<TForm>;
25-
isValidating: string | null;
26-
isProcessingValidation: boolean;
27-
lastTouched: keyof TForm | null;
28-
setLastTouched: React.Dispatch<React.SetStateAction<keyof TForm | null>>;
29-
touched: Array<keyof TForm>;
30-
31-
setValidatorTimeout(duration: Timeout): UsePrecognition<TForm>;
32-
};
33-
34-
export type InertiaPrecognitionFormProps<TForm = Record<string, any>> =
35-
InertiaFormProps<TForm> & UsePrecognition<TForm>;
36-
37-
export interface UseInertiaPrecognitionForm<TForm = Record<string, any>>
38-
extends InertiaPrecognitionFormProps<TForm> {
39-
validateAndSetDataByKeyValuePair(
40-
name: keyof TForm,
41-
value: any
42-
): UsePrecognition<TForm>;
43-
passed: Array<keyof TForm>;
44-
}
45-
46-
export type UsePrecognitionForm<TForm = Record<string, any>> =
47-
UsePrecognition<TForm> & {
48-
data: TForm;
49-
setData: React.Dispatch<React.SetStateAction<TForm>>;
50-
errors: Record<keyof TForm, string> | null;
51-
setErrors: React.Dispatch<
52-
React.SetStateAction<Record<keyof TForm, string> | null>
53-
>;
54-
clearErrors: () => void;
55-
validateAndSetDataByKeyValuePair(
56-
key: keyof TForm,
57-
value: any
58-
): UsePrecognitionForm<TForm>;
59-
passed: Array<keyof TForm>;
60-
};
1+
export * from './hooks';

0 commit comments

Comments
 (0)