nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
36 lines (35 loc) • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const index_1 = require("../index");
const index_2 = require("./index");
exports.VALIDATOR_ALPHABET_METADATA_KEY = Symbol('validation:validator:isAlphabet');
function isAlphabet(styles = ['universal'], errorMessage) {
return (target, propertyKey, descriptor) => {
const original = descriptor.value;
Reflect.defineMetadata(exports.VALIDATOR_ALPHABET_METADATA_KEY, null, target, propertyKey);
Reflect.defineMetadata(index_1.VALIDATOR_METADATA_KEY, new AlphabetValidator(styles, errorMessage), target, propertyKey);
};
}
exports.isAlphabet = isAlphabet;
exports.PATTERN_ALPHABET_UNIVERSAL = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/gi;
exports.PATTERN_ALPHABET_US = /((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}/gi;
exports.PATTERN_ALPHABET_IR = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/gi;
exports.PATTERN_ALPHABET_EN = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/gi;
exports.PATTERN_ALPHABET_UE = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/gi;
exports.PATTERN_ALPHABET_SA = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/gi;
exports.PATTERN_ALPHABET_IQ = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/gi;
exports.PATTERN_ALPHABET_AF = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/gi;
class AlphabetValidator extends index_2.PatternValidatorBase {
constructor(styles = ['universal'], errorMessage = 'The value of ${DisplayName} must have alphabet pattern : ${Pattern} .') {
super('Alphabet', /^/, errorMessage);
this.styles = styles;
this.setPattern(this.buildPattern());
}
buildPattern() {
return exports.PATTERN_ALPHABET_UNIVERSAL;
}
get Styles() {
return this.styles;
}
}
exports.AlphabetValidator = AlphabetValidator;