UNPKG

cdk-amazon-chime-resources

Version:

![Experimental](https://img.shields.io/badge/experimental-important.svg?style=for-the-badge)

38 lines 4.91 kB
"use strict"; 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==