From 7e9f8baca4e307555ade863df0369e5c89cf6465 Mon Sep 17 00:00:00 2001 From: Naoto Yokoyama Date: Tue, 20 Feb 2018 23:18:37 +0900 Subject: [PATCH] validator: add isISSN() --- types/validator/index.d.ts | 14 ++++++++++++++ types/validator/validator-tests.ts | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/types/validator/index.d.ts b/types/validator/index.d.ts index 228090f62c..0806d34f2a 100644 --- a/types/validator/index.d.ts +++ b/types/validator/index.d.ts @@ -113,6 +113,9 @@ declare namespace ValidatorJS { // check if the string is an ISBN (version 10 or 13). isISBN(str: string, version?: number): boolean; + // check if the string is an ISSN (https://en.wikipedia.org/wiki/International_Standard_Serial_Number). + isISSN(str: string, options?: IsISSNOptions): boolean; + // check if the string is an ISIN (https://en.wikipedia.org/wiki/International_Securities_Identification_Number) // (stock/security identifier). isISIN(str: string): boolean; @@ -325,6 +328,12 @@ declare namespace ValidatorJS { locale?: FloatLocale; } + // options for isISSN + interface IsISSNOptions { + case_sensitive?: boolean; + require_hyphen?: boolean; + } + // options for IsInt interface IsIntOptions { min?: number; @@ -516,6 +525,11 @@ declare module "validator/lib/isISBN" { export = isISBN; } +declare module "validator/lib/isISSN" { + const isISSN: typeof validator.isISSN; + export = isISSN; +} + declare module "validator/lib/isISIN" { const isISIN: typeof validator.isISIN; export = isISIN; diff --git a/types/validator/validator-tests.ts b/types/validator/validator-tests.ts index 626f51671e..0aaf7f1f10 100644 --- a/types/validator/validator-tests.ts +++ b/types/validator/validator-tests.ts @@ -33,6 +33,7 @@ import isHexColorFunc = require('validator/lib/isHexColor'); import isHexadecimalFunc = require('validator/lib/isHexadecimal'); import isIPFunc = require('validator/lib/isIP'); import isISBNFunc = require('validator/lib/isISBN'); +import isISSNFunc = require('validator/lib/isISSN'); import isISINFunc = require('validator/lib/isISIN'); import isISO8601Func = require('validator/lib/isISO8601'); import isISO31661Alpha2Func = require('validator/lib/isISO31661Alpha2'); @@ -157,6 +158,9 @@ import whitelistFunc = require('validator/lib/whitelist'); let _isISBN = validator.isISBN; _isISBN = isISBNFunc; + let _isISSN = validator.isISSN; + _isISSN = isISSNFunc; + let _isISIN = validator.isISIN; _isISIN = isISINFunc; @@ -463,6 +467,10 @@ let any: any; result = validator.isISBN('sample'); result = validator.isISBN('sample', 13); + let isISSNOptions: ValidatorJS.IsISSNOptions; + result = validator.isISSN('sample'); + result = validator.isISSN('sample', isISSNOptions); + result = validator.isISIN('sample'); result = validator.isISO8601('sample');