From 25ef75ce61530b82d5b4e7664c109e1ee3bc0c34 Mon Sep 17 00:00:00 2001 From: Ilya Mochalov Date: Mon, 25 Jan 2016 03:01:30 +0500 Subject: [PATCH] validator: updated to v4.5.1 --- sequelize/sequelize.d.ts | 2 +- validator/validator-tests.ts | 192 +++++++++++++------ validator/validator.d.ts | 359 ++++++++++++++++++++++------------- 3 files changed, 367 insertions(+), 186 deletions(-) diff --git a/sequelize/sequelize.d.ts b/sequelize/sequelize.d.ts index fda6503a59..a7a085e205 100644 --- a/sequelize/sequelize.d.ts +++ b/sequelize/sequelize.d.ts @@ -5666,7 +5666,7 @@ declare module "sequelize" { /** * Validator Interface */ - interface Validator extends IValidatorStatic { + interface Validator extends ValidatorJS.ValidatorStatic { notEmpty( str : string ) : boolean; len( str : string, min : number, max : number ) : boolean; diff --git a/validator/validator-tests.ts b/validator/validator-tests.ts index c5a55f59c2..8afabc2099 100644 --- a/validator/validator-tests.ts +++ b/validator/validator-tests.ts @@ -1,108 +1,190 @@ -/// +/// -import validator = require("validator"); +import * as validator from 'validator'; +let any: any; -validator.extend("isTest", function(str) { - return !str; -}); +/************** + * Validators * + **************/ -validator.equals("abc", "Abc"); +{ + let result: boolean; -validator.contains("foo", "foobar"); + result = validator.contains('sample', 'sample'); -validator.matches("foobar", "foo/i"); + result = validator.equals('sample', 'sample'); -validator.isEmail("sample"); + result = validator.isAfter('sample'); + result = validator.isAfter('sample', new Date()); -validator.isURL("sample"); + result = validator.isAlpha('sample'); -validator.isFQDN("sample"); + result = validator.isAlphanumeric('sample'); -validator.isMACAddress("sample"); + result = validator.isAscii('sample'); -validator.isIP("sample"); + result = validator.isBase64('sample'); -validator.isAlpha("sample"); + result = validator.isBefore('sample'); + result = validator.isBefore('sample', new Date()); -validator.isNumeric("sample"); + result = validator.isBoolean('sample'); -validator.isAlphanumeric("sample"); + let isByteLengthOptions: ValidatorJS.IsByteLengthOptions; + result = validator.isByteLength('sample', isByteLengthOptions); + result = validator.isByteLength('sample', 0); + result = validator.isByteLength('sample', 0, 42); -validator.isBase64("sample"); + result = validator.isCreditCard('sample'); -validator.isHexadecimal("sample"); + let isCurrencyOptions: ValidatorJS.IsCurrencyOptions; + result = validator.isCurrency('sample'); + result = validator.isCurrency('sample', isCurrencyOptions); -validator.isHexColor("sample"); + result = validator.isDate('sample'); -validator.isLowercase("sample"); + result = validator.isDecimal('sample'); -validator.isUppercase("sample"); + result = validator.isDivisibleBy('sample', 2); -validator.isInt("sample"); + let isEmailOptions: ValidatorJS.IsEmailOptions; + result = validator.isEmail('sample'); + result = validator.isEmail('sample', isEmailOptions); -validator.isFloat("sample"); + let isFQDNOptions: ValidatorJS.IsFQDNOptions; + result = validator.isFQDN('sample'); + result = validator.isFQDN('sample', isFQDNOptions); -validator.isDivisibleBy("sample", 2); + let isFloatOptions: ValidatorJS.IsFloatOptions; + result = validator.isFloat('sample'); + result = validator.isFloat('sample', isFloatOptions); -validator.isNull("sample"); + result = validator.isFullWidth('sample'); -validator.isLength("sample", 3, 5); + result = validator.isHalfWidth('sample'); -validator.isByteLength("sample", 3); + result = validator.isHexColor('sample'); -validator.isUUID("sample"); + result = validator.isHexadecimal('sample'); -validator.isDate("sample"); + result = validator.isIP('sample'); + result = validator.isIP('sample', 6); -validator.isAfter("sample"); + result = validator.isISBN('sample'); + result = validator.isISBN('sample', 13); -validator.isBefore("sample"); + result = validator.isISIN('sample'); -validator.isIn("sample", []); + result = validator.isISO8601('sample'); -validator.isCreditCard("sample"); + result = validator.isIn('sample', []); -validator.isISBN("sample"); + let isIntOptions: ValidatorJS.IsIntOptions; + result = validator.isInt('sample'); + result = validator.isInt('sample', isIntOptions); -validator.isJSON("sample"); + result = validator.isJSON('sample'); -validator.isMultibyte("sample"); + let isLengthOptions: ValidatorJS.IsLengthOptions; + result = validator.isLength('sample', isLengthOptions); + result = validator.isLength('sample', 3); + result = validator.isLength('sample', 3, 5); -validator.isAscii("sample"); + result = validator.isLowercase('sample'); -validator.isFullWidth("sample"); + result = validator.isMACAddress('sample'); -validator.isHalfWidth("sample"); + result = validator.isMobilePhone('sample', 'en-US'); -validator.isVariableWidth("sample"); + result = validator.isMongoId('sample'); -validator.isSurrogatePair("sample"); + result = validator.isMultibyte('sample'); -validator.isMongoId("sample"); + result = validator.isNull('sample'); -validator.toString(123); + result = validator.isNumeric('sample'); -validator.toDate(1225); + result = validator.isSurrogatePair('sample'); -validator.toFloat('011'); + let isURLOptions: ValidatorJS.IsURLOptions; + result = validator.isURL('sample'); + result = validator.isURL('sample', isURLOptions); -validator.toInt('aa'); + result = validator.isUUID('sample'); + result = validator.isUUID('sample', 5); -validator.toBoolean('yes!'); + result = validator.isUppercase('sample'); -validator.trim(' triming '); + result = validator.isVariableWidth('sample'); -validator.ltrim(' triming '); + result = validator.isWhitelisted('sample', 'abc'); + result = validator.isWhitelisted('sample', ['a', 'b', 'c']); -validator.rtrim(' triming '); + result = validator.matches('foobar', 'foo/i'); + result = validator.matches('foobar', 'foo', 'i'); +} -validator.escape('