UNPKG

egg-typebox-validate

Version:
45 lines 2.56 kB
import addFormats from 'ajv-formats'; import { Ajv2019 as Ajv } from 'ajv/dist/2019.js'; import keyWords from 'ajv-keywords'; const getAjvInstance = () => { const ajv = new Ajv(); // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore keyWords(ajv, 'transform'); // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore addFormats(ajv, [ 'date-time', 'time', 'date', 'email', 'hostname', 'ipv4', 'ipv6', 'uri', 'uri-reference', 'uuid', 'uri-template', 'json-pointer', 'relative-json-pointer', 'regex', ]) .addKeyword('kind') .addKeyword('modifier'); return ajv; }; export default class AppBootHook { app; constructor(app) { this.app = app; this.app.ajv = getAjvInstance(); } async configDidLoad() { const config = this.app.config; const typeboxValidate = config.typeboxValidate; if (typeboxValidate) { typeboxValidate.patchAjv?.(this.app.ajv); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sSUFBSSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLFFBQVEsTUFBTSxjQUFjLENBQUM7QUFFcEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO0lBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDdEIsNkRBQTZEO0lBQzdELGFBQWE7SUFDYixRQUFRLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNCLDZEQUE2RDtJQUM3RCxhQUFhO0lBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLFdBQVc7UUFDWCxNQUFNO1FBQ04sTUFBTTtRQUNOLE9BQU87UUFDUCxVQUFVO1FBQ1YsTUFBTTtRQUNOLE1BQU07UUFDTixLQUFLO1FBQ0wsZUFBZTtRQUNmLE1BQU07UUFDTixjQUFjO1FBQ2QsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixPQUFPO0tBQ1IsQ0FBQztTQUNDLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDbEIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE9BQU8sT0FBTyxXQUFXO0lBQ3ZCLEdBQUcsQ0FBVTtJQUVwQixZQUFZLEdBQVk7UUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWE7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDL0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUMvQyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==