mirror of
https://github.com/Nezumi-2711/react-training.git
synced 2026-09-22 20:01:59 +00:00
Add comments section for function
This commit is contained in:
@@ -6,6 +6,13 @@ import { TResponse } from '../globals/types';
|
|||||||
|
|
||||||
type TMethodRequest = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
type TMethodRequest = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The send request method to the server
|
||||||
|
* @param path The path of URL
|
||||||
|
* @param body The content will push on
|
||||||
|
* @param method HTTP method
|
||||||
|
* @returns The status code and message from server
|
||||||
|
*/
|
||||||
export const sendRequest = async (
|
export const sendRequest = async (
|
||||||
path: string,
|
path: string,
|
||||||
body: BodyInit | null | undefined,
|
body: BodyInit | null | undefined,
|
||||||
|
|||||||
@@ -9,19 +9,41 @@ import {
|
|||||||
TStateSchema,
|
TStateSchema,
|
||||||
} from '../globals/types';
|
} from '../globals/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The function check value has type boolean or not
|
||||||
|
* @param value The value need to checked
|
||||||
|
* @returns A boolean indicating whether or not the argument has type boolean
|
||||||
|
*/
|
||||||
const isBool = (value: unknown) => {
|
const isBool = (value: unknown) => {
|
||||||
return typeof value === 'boolean';
|
return typeof value === 'boolean';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The function check value has type object or not
|
||||||
|
* @param value The value need to checked
|
||||||
|
* @returns A boolean indicating whether or not the argument has type object.
|
||||||
|
*/
|
||||||
const isObject = (value: unknown) => {
|
const isObject = (value: unknown) => {
|
||||||
return typeof value === 'object' && value !== null;
|
return typeof value === 'object' && value !== null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set required error for value
|
||||||
|
* @param value The value set required or not
|
||||||
|
* @param isRequired Set required for value
|
||||||
|
* @returns Return error text if value has required
|
||||||
|
*/
|
||||||
const isRequired = (value: string | number, isRequired: unknown) => {
|
const isRequired = (value: string | number, isRequired: unknown) => {
|
||||||
if (!value && isRequired) return REQUIRED_FIELD_ERROR;
|
if (!value && isRequired) return REQUIRED_FIELD_ERROR;
|
||||||
return '';
|
return '';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get values from props
|
||||||
|
* @param stateSchema StateSchema value
|
||||||
|
* @param prop Prop value (Has 3 type: boolean | "value" | "error")
|
||||||
|
* @returns Return value object depend on props
|
||||||
|
*/
|
||||||
const getPropValues = (stateSchema: TStateSchema, prop?: TPropValues) => {
|
const getPropValues = (stateSchema: TStateSchema, prop?: TPropValues) => {
|
||||||
return Object.keys(stateSchema).reduce((field, key) => {
|
return Object.keys(stateSchema).reduce((field, key) => {
|
||||||
field[key] = isBool(prop)
|
field[key] = isBool(prop)
|
||||||
@@ -38,6 +60,11 @@ type TValidator = {
|
|||||||
required?: boolean;
|
required?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create validator object
|
||||||
|
* @param param0 Pass TValidator object
|
||||||
|
* @returns An object contains condition validator
|
||||||
|
*/
|
||||||
const addValidator = ({ validatorFunc, prop, required = true }: TValidator) => {
|
const addValidator = ({ validatorFunc, prop, required = true }: TValidator) => {
|
||||||
return {
|
return {
|
||||||
required,
|
required,
|
||||||
@@ -48,6 +75,11 @@ const addValidator = ({ validatorFunc, prop, required = true }: TValidator) => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the object contains values of object pass
|
||||||
|
* @param obj Object need to get value
|
||||||
|
* @returns The object contains value of object
|
||||||
|
*/
|
||||||
const getValueFromObj = <T>(obj: T | null = null): TKeyString => {
|
const getValueFromObj = <T>(obj: T | null = null): TKeyString => {
|
||||||
let result = {};
|
let result = {};
|
||||||
|
|
||||||
@@ -66,15 +98,23 @@ const getValueFromObj = <T>(obj: T | null = null): TKeyString => {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create query url for search
|
||||||
|
* @param columnSearch Column want to search
|
||||||
|
* @param keySearch Keyword search
|
||||||
|
* @param sort Sort by
|
||||||
|
* @param order Order by
|
||||||
|
* @returns Return query url
|
||||||
|
*/
|
||||||
const searchQuery = (
|
const searchQuery = (
|
||||||
columnSearch: string,
|
columnSearch: string,
|
||||||
phone: string,
|
keySearch: string,
|
||||||
sort: string,
|
sort: string,
|
||||||
order: string,
|
order: string,
|
||||||
) => {
|
) => {
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
const phoneParams = phone
|
const phoneParams = keySearch
|
||||||
? `${columnSearch}_like=` + phone
|
? `${columnSearch}_like=` + keySearch
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
|
|||||||
@@ -1,19 +1,43 @@
|
|||||||
|
/**
|
||||||
|
* Check value is valid name or not
|
||||||
|
* @param value Values need to be checked
|
||||||
|
* @returns A boolean indicating whether or not the argument has valid
|
||||||
|
*/
|
||||||
const isValidName = (value: string): boolean => {
|
const isValidName = (value: string): boolean => {
|
||||||
return /^[a-zA-Z]{2,}(?: [a-zA-Z]+){0,2}$/gm.test(value);
|
return /^[a-zA-Z]{2,}(?: [a-zA-Z]+){0,2}$/gm.test(value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check value is valid number or not
|
||||||
|
* @param value Value need to be checked
|
||||||
|
* @returns A boolean indicating whether or not the argument has valid
|
||||||
|
*/
|
||||||
const isValidNumber = (value: string): boolean => {
|
const isValidNumber = (value: string): boolean => {
|
||||||
return /^[0-9]*$/.test(value);
|
return /^[0-9]*$/.test(value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check value is valid phone number or not
|
||||||
|
* @param value Value need to be checked
|
||||||
|
* @returns A boolean indicating whether or not the argument has valid
|
||||||
|
*/
|
||||||
const isValidPhoneNumber = (value: string): boolean => {
|
const isValidPhoneNumber = (value: string): boolean => {
|
||||||
return /(84|0[3|5|7|8|9])+([0-9]{8})\b/g.test(value);
|
return /(84|0[3|5|7|8|9])+([0-9]{8})\b/g.test(value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check value is valid string or not
|
||||||
|
* @param value Value need to be checked
|
||||||
|
* @returns A boolean indicating whether or not the argument has valid
|
||||||
|
*/
|
||||||
const isValidString = (value: string): boolean => {
|
const isValidString = (value: string): boolean => {
|
||||||
return value.trim().length >= 5;
|
return value.trim().length >= 5;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A method skip check value
|
||||||
|
* @returns Return true
|
||||||
|
*/
|
||||||
const skipCheck = () => true;
|
const skipCheck = () => true;
|
||||||
|
|
||||||
export {
|
export {
|
||||||
|
|||||||
Reference in New Issue
Block a user