INNER CODE UNIT · TypeScript

autoValidateBody

rodyherrera/Quantum · packages/api/vite.config.ts:6

const autoValidateBody = (): Plugin => ({
    name: 'quantum:auto-validate-body',
    enforce: 'pre',
    transform(code, id){
        if(!/src\/modules\/[^/?]+\/controllers\/[^/?]+\.ts(\?.*)?$/.test(id)) return null;
        if(!code.includes('@Body()')) return null;

        let out = code.replace(
            /@Body\(\)(\s+)(\w+):(\s*)(\w+)/g,
            '@Body(typia.misc.createValidatePrune<$4>())$1$2:$3$4'
        );
        if(!/from 'typia'/.test(out)) out += "\nimport typia from 'typia';\n";
        return { code: out, map: null };
    }
});

export default defineConfig({
    plugins: [

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…