Front: Api models validation (#245)

* Front: Model: Write Validators

* Front: Plage response validator

* Front: API: Typing 'fetch' return

* Front: Basic Models: Response Handlers

* Front: API: Validate authentication response

* Front: Validate Search History

* Front: Validate Responses of User updates

* Front: On Validation Error, more verbose console error
This commit is contained in:
Arthur Jamet
2023-07-05 09:22:55 +01:00
committed by GitHub
parent 350a4870cd
commit 10d1342294
20 changed files with 575 additions and 287 deletions
+11
View File
@@ -0,0 +1,11 @@
import * as yup from 'yup';
import ResponseHandler from './ResponseHandler';
const ListValidator = <T>(itemType: yup.Schema<T>) => yup.array(itemType).required();
export const ListHandler = <A, R>(
itemHandler: ResponseHandler<A, R>
): ResponseHandler<A[], R[]> => ({
validator: ListValidator(itemHandler.validator),
transformer: (plage) => plage.map((item) => itemHandler.transformer(item)),
});