10d1342294
* 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
12 lines
402 B
TypeScript
12 lines
402 B
TypeScript
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)),
|
|
});
|