cdk-amazon-chime-resources
Version:

38 lines • 4.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.phoneNumberValidator = void 0;
var AREA_CODE = /^[^01][0-9]{2}$/;
var TOLL_FREE = /^8(33|44|55|66|77|88)$/;
function phoneNumberValidator(props) {
if (props.phoneCity && !props.phoneState) {
throw new Error('State must be included with City search');
}
if ((props.phoneCountry === 'US' || !props.phoneCountry) &&
!(props.phoneState ||
props.phoneAreaCode ||
props.phoneNumberTollFreePrefix)) {
throw new Error('Need a State, Area Code, or Toll Free Prefix');
}
if (props.phoneCountry &&
!(props.phoneCountry === 'US') &&
!props.phoneNumberType) {
throw new Error('Non US numbers must include Number Type');
}
if (props.phoneProductType === 'VoiceConnector' &&
!(props.phoneCountry === 'US')) {
throw new Error('Non US numbers must be SipMediaApplicationDialIn');
}
if (props.phoneNumberTollFreePrefix) {
if (!TOLL_FREE.test(props.phoneNumberTollFreePrefix.toString())) {
throw new Error('Invalid Toll Free Prefix');
}
}
if (props.phoneAreaCode) {
if (!AREA_CODE.test(props.phoneAreaCode.toString())) {
throw new Error('Invalid Area Code');
}
}
return true;
}
exports.phoneNumberValidator = phoneNumberValidator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmVOdW1iZXJWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHN0bi9waG9uZU51bWJlclZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFJLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztBQUNsQyxJQUFJLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQztBQUV6QyxTQUFnQixvQkFBb0IsQ0FBQyxLQUF1QjtJQUMxRCxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxJQUNFLENBQUMsS0FBSyxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3BELENBQUMsQ0FDQyxLQUFLLENBQUMsVUFBVTtZQUNoQixLQUFLLENBQUMsYUFBYTtZQUNuQixLQUFLLENBQUMseUJBQXlCLENBQ2hDLEVBQ0QsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFDRSxLQUFLLENBQUMsWUFBWTtRQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUM7UUFDOUIsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUN0QixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUNFLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxnQkFBZ0I7UUFDM0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLEVBQzlCLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoRSxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUExQ0Qsb0RBMENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGhvbmVOdW1iZXJQcm9wcyB9IGZyb20gJy4vcGhvbmVOdW1iZXInO1xuXG52YXIgQVJFQV9DT0RFID0gL15bXjAxXVswLTldezJ9JC87XG52YXIgVE9MTF9GUkVFID0gL144KDMzfDQ0fDU1fDY2fDc3fDg4KSQvO1xuXG5leHBvcnQgZnVuY3Rpb24gcGhvbmVOdW1iZXJWYWxpZGF0b3IocHJvcHM6IFBob25lTnVtYmVyUHJvcHMpIHtcbiAgaWYgKHByb3BzLnBob25lQ2l0eSAmJiAhcHJvcHMucGhvbmVTdGF0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignU3RhdGUgbXVzdCBiZSBpbmNsdWRlZCB3aXRoIENpdHkgc2VhcmNoJyk7XG4gIH1cbiAgaWYgKFxuICAgIChwcm9wcy5waG9uZUNvdW50cnkgPT09ICdVUycgfHwgIXByb3BzLnBob25lQ291bnRyeSkgJiZcbiAgICAhKFxuICAgICAgcHJvcHMucGhvbmVTdGF0ZSB8fFxuICAgICAgcHJvcHMucGhvbmVBcmVhQ29kZSB8fFxuICAgICAgcHJvcHMucGhvbmVOdW1iZXJUb2xsRnJlZVByZWZpeFxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOZWVkIGEgU3RhdGUsIEFyZWEgQ29kZSwgb3IgVG9sbCBGcmVlIFByZWZpeCcpO1xuICB9XG5cbiAgaWYgKFxuICAgIHByb3BzLnBob25lQ291bnRyeSAmJlxuICAgICEocHJvcHMucGhvbmVDb3VudHJ5ID09PSAnVVMnKSAmJlxuICAgICFwcm9wcy5waG9uZU51bWJlclR5cGVcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb24gVVMgbnVtYmVycyBtdXN0IGluY2x1ZGUgTnVtYmVyIFR5cGUnKTtcbiAgfVxuXG4gIGlmIChcbiAgICBwcm9wcy5waG9uZVByb2R1Y3RUeXBlID09PSAnVm9pY2VDb25uZWN0b3InICYmXG4gICAgIShwcm9wcy5waG9uZUNvdW50cnkgPT09ICdVUycpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm9uIFVTIG51bWJlcnMgbXVzdCBiZSBTaXBNZWRpYUFwcGxpY2F0aW9uRGlhbEluJyk7XG4gIH1cblxuICBpZiAocHJvcHMucGhvbmVOdW1iZXJUb2xsRnJlZVByZWZpeCkge1xuICAgIGlmICghVE9MTF9GUkVFLnRlc3QocHJvcHMucGhvbmVOdW1iZXJUb2xsRnJlZVByZWZpeC50b1N0cmluZygpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFRvbGwgRnJlZSBQcmVmaXgnKTtcbiAgICB9XG4gIH1cbiAgaWYgKHByb3BzLnBob25lQXJlYUNvZGUpIHtcbiAgICBpZiAoIUFSRUFfQ09ERS50ZXN0KHByb3BzLnBob25lQXJlYUNvZGUudG9TdHJpbmcoKSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBBcmVhIENvZGUnKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==