New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

egg-typebox-validate

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

egg-typebox-validate - npm Package Compare versions

Comparing version 2.1.0 to 2.2.0

5

decorator.d.ts
import { Context } from 'egg';
import { TSchema } from "@sinclair/typebox";
export declare type ValidateRule = [TSchema, (ctx: Context, args: unknown[]) => unknown];
import { ErrorObject } from 'ajv/dist/2019';
declare type CustomErrorMessage = (ctx: Context, errors: ErrorObject[]) => string;
declare type GetData = (ctx: Context, args: unknown[]) => unknown;
export declare type ValidateRule = [TSchema, GetData, CustomErrorMessage?];
export declare function Validate(rules: ValidateRule[]): MethodDecorator;

18

decorator.js

@@ -8,6 +8,16 @@ "use strict";

descriptor.value = async function (...args) {
const { ctx } = this;
const { ctx, app } = this;
for (const rule of rules) {
const getData = rule[1];
ctx.tValidate(rule[0], getData(ctx, args));
const [schema, getData, customError] = rule;
const data = getData(ctx, args);
const valid = ctx.tValidateWithoutThrow(schema, data);
if (!valid) {
const message = customError ? customError(ctx, app.ajv.errors) : 'Validation Failed';
ctx.throw(422, message, {
code: 'invalid_param',
errorData: data,
currentSchema: JSON.stringify(schema),
errors: app.ajv.errors,
});
}
}

@@ -20,2 +30,2 @@ return await fn.apply(this, args);

exports.Validate = Validate;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLFNBQWdCLFFBQVEsQ0FBQyxLQUFxQjtJQUM1QyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUE4QixFQUFzQixFQUFFO1FBQ2pGLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDNUIsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLFdBQVUsR0FBRyxJQUFJO1lBQ3ZDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDckIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1lBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztRQUNGLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFiRCw0QkFhQyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLFNBQWdCLFFBQVEsQ0FBQyxLQUFxQjtJQUM1QyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUE4QixFQUFzQixFQUFFO1FBQ2pGLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDNUIsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLFdBQVUsR0FBRyxJQUFJO1lBQ3ZDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO2dCQUN4QixNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzVDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1YsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO29CQUNyRixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxlQUFlO3dCQUNyQixTQUFTLEVBQUUsSUFBSTt3QkFDZixhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7d0JBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU07cUJBQ3ZCLENBQUMsQ0FBQztpQkFDSjthQUNGO1lBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztRQUNGLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztBQUNKLENBQUM7QUF2QkQsNEJBdUJDIn0=
{
"name": "egg-typebox-validate",
"version": "2.1.0",
"version": "2.2.0",
"description": "another validate for typescript egg projects",

@@ -5,0 +5,0 @@ "eggPlugin": {

@@ -324,3 +324,3 @@ # egg-typebox-validate

+ [paramsSchema, ctx => ctx.params],
+ [bodySchema, ctx => ctx.request.body],
+ [bodySchema, ctx => ctx.request.body, (ctx, errors) => 'MyErrorPrefix: ' + errors.map(e => e.message).join(', ')],
+ ])

@@ -327,0 +327,0 @@ async index() {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc