UNPKG

nowjs-core

Version:

NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence

58 lines (57 loc) 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = require("../index"); const index_2 = require("./index"); exports.VALIDATOR_MOBILE_METADATA_KEY = Symbol('validation:validator:isMobile'); function isMobile(style = 'universal', errorMessage) { return (target, propertyKey, descriptor) => { const original = descriptor.value; Reflect.defineMetadata(exports.VALIDATOR_MOBILE_METADATA_KEY, null, target, propertyKey); Reflect.defineMetadata(index_1.VALIDATOR_METADATA_KEY, new MobileValidator(style, errorMessage), target, propertyKey); }; } exports.isMobile = isMobile; exports.PATTERN_MOBILE_UNIVERSAL = /^(\+\d{1,3}[- ]?)?\d{10}$/gi; exports.PATTERN_MOBILE_US = /^(\+\d{1,3}[- ]?)?\d{10}$/gi; exports.PATTERN_MOBILE_IR = /^(\+\d{1,3}[- ]?)?\d{10}$/; exports.PATTERN_MOBILE_EN = /^(\+\d{1,3}[- ]?)?\d{10}$/; exports.PATTERN_MOBILE_UE = /^(\+\d{1,3}[- ]?)?\d{10}$/; exports.PATTERN_MOBILE_SA = /^(\+\d{1,3}[- ]?)?\d{10}$/; exports.PATTERN_MOBILE_IQ = /^(\+\d{1,3}[- ]?)?\d{10}$/; exports.PATTERN_MOBILE_AF = /^(\+\d{1,3}[- ]?)?\d{10}$/; class MobileValidator extends index_2.PatternValidatorBase { constructor(style = 'universal', errorMessage = 'The value of ${DisplayName} must have mobile pattern : ${Pattern} .') { super('Mobile', /^/, errorMessage); this.style = style; switch (style.toLocaleLowerCase()) { case 'universal': this.setPattern(exports.PATTERN_MOBILE_UNIVERSAL); break; case 'ir': this.setPattern(exports.PATTERN_MOBILE_IR); break; case 'iq': this.setPattern(exports.PATTERN_MOBILE_IQ); break; case 'sa': this.setPattern(exports.PATTERN_MOBILE_EN); break; case 'af': this.setPattern(exports.PATTERN_MOBILE_AF); break; case 'ue': this.setPattern(exports.PATTERN_MOBILE_UE); break; case 'en': this.setPattern(exports.PATTERN_MOBILE_EN); break; default: this.setPattern(exports.PATTERN_MOBILE_UNIVERSAL); break; } } get Style() { return this.style; } } exports.MobileValidator = MobileValidator;