UNPKG

moh-common-lib

Version:

A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).

109 lines 8.58 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * Address class, each project can extend this address class */ export class Address { // TODO: Why do we need this? - Remove - breaking change // For backward compatibilty with applications that use street. /** * @return {?} */ get street() { return this.addressLine1; } /** * @param {?} val * @return {?} */ set street(val) { this.addressLine1 = val; } /** * Overwrite the native JavaScript toString method to determine how the * object should be printed, instead of [object Object]. This provides a * standard way to print out an address. If you need something specific you * should access the properties directly. We omit Province/Country because of * PharmaCare's BC focus. * @return {?} */ toString() { return `${this.addressLine1}, ${this.city}`; } /** * Address must have all fields filled out to be considered * complete * @return {?} */ isComplete() { // All fields have data - not empty return !!(this.addressLine1 && this.city && this.country && this.province && this.postal); } /** * @return {?} */ get isBCOnly() { /** @type {?} */ let isValid = false; if (this.postal && this.postal.length > 0) { /** @type {?} */ const regEx = new RegExp(Address.PostalCodeBCRegEx); isValid = regEx.test(this.postal); } return isValid; } /* Copy function */ /** * @param {?} object * @return {?} */ copy(object) { this.addressLine1 = object.addressLine1; this.addressLine2 = object.addressLine2; this.addressLine3 = object.addressLine3; this.city = object.city; this.country = object.country; this.postal = object.postal; this.province = object.province; } } Address.PostalCodeBCRegEx = '^[Vv]\\d[ABCEGHJ-NPRSTV-Zabceghj-nprstv-z][ ]?\\d[ABCEGHJ-NPRSTV-Zabceghj-nprstv-z]\\d$'; if (false) { /** @type {?} */ Address.PostalCodeBCRegEx; /** @type {?} */ Address.prototype.addressLine1; /** * Used to store optional extra address fields. Can be used with addressLine1 OR street. * @type {?} */ Address.prototype.addressLine2; /** * Used to store optional extra address fields. Can be used with addressLine1 OR street. * @type {?} */ Address.prototype.addressLine3; /** @type {?} */ Address.prototype.unitNumber; /** @type {?} */ Address.prototype.streetNumber; /** @type {?} */ Address.prototype.streetName; /** @type {?} */ Address.prototype.postal; /** @type {?} */ Address.prototype.country; /** @type {?} */ Address.prototype.province; /** @type {?} */ Address.prototype.city; /** @type {?} */ Address.prototype.hasValue; /** @type {?} */ Address.prototype.isValid; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vaC1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9hZGRyZXNzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxNQUFNLE9BQU8sT0FBTzs7Ozs7O0lBcUJsQixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFFRCxJQUFJLE1BQU0sQ0FBRSxHQUFXO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO0lBQzFCLENBQUM7Ozs7Ozs7OztJQU9ELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7Ozs7O0lBTUQsVUFBVTtRQUNSLG1DQUFtQztRQUNuQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTztZQUMvQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7O0lBRUQsSUFBSSxRQUFROztZQUNOLE9BQU8sR0FBRyxLQUFLO1FBQ25CLElBQUksSUFBSSxDQUFDLE1BQU07WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUNsQixLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1lBQ25ELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Ozs7OztJQUdELElBQUksQ0FBQyxNQUFlO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBRXhDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDOztBQWxFTSx5QkFBaUIsR0FBRyx5RkFBeUYsQ0FBQzs7O0lBQXJILDBCQUFxSDs7SUFFckgsK0JBQTRCOzs7OztJQUU1QiwrQkFBNEI7Ozs7O0lBRTVCLCtCQUE0Qjs7SUFDNUIsNkJBQTBCOztJQUMxQiwrQkFBNEI7O0lBQzVCLDZCQUEwQjs7SUFDMUIseUJBQXNCOztJQUN0QiwwQkFBdUI7O0lBQ3ZCLDJCQUF3Qjs7SUFDeEIsdUJBQW9COztJQUNwQiwyQkFBeUI7O0lBQ3pCLDBCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBBZGRyZXNzIGNsYXNzLCBlYWNoIHByb2plY3QgY2FuIGV4dGVuZCB0aGlzIGFkZHJlc3MgY2xhc3NcclxuICovXHJcblxyXG5leHBvcnQgY2xhc3MgQWRkcmVzcyB7XHJcblxyXG4gIHN0YXRpYyBQb3N0YWxDb2RlQkNSZWdFeCA9ICdeW1Z2XVxcXFxkW0FCQ0VHSEotTlBSU1RWLVphYmNlZ2hqLW5wcnN0di16XVsgXT9cXFxcZFtBQkNFR0hKLU5QUlNUVi1aYWJjZWdoai1ucHJzdHYtel1cXFxcZCQnO1xyXG5cclxuICBwdWJsaWMgYWRkcmVzc0xpbmUxOiBzdHJpbmc7XHJcbiAgLyoqIFVzZWQgdG8gc3RvcmUgb3B0aW9uYWwgZXh0cmEgYWRkcmVzcyBmaWVsZHMuIENhbiBiZSB1c2VkIHdpdGggYWRkcmVzc0xpbmUxIE9SIHN0cmVldC4gKi9cclxuICBwdWJsaWMgYWRkcmVzc0xpbmUyOiBzdHJpbmc7XHJcbiAgLyoqIFVzZWQgdG8gc3RvcmUgb3B0aW9uYWwgZXh0cmEgYWRkcmVzcyBmaWVsZHMuIENhbiBiZSB1c2VkIHdpdGggYWRkcmVzc0xpbmUxIE9SIHN0cmVldC4gKi9cclxuICBwdWJsaWMgYWRkcmVzc0xpbmUzOiBzdHJpbmc7XHJcbiAgcHVibGljIHVuaXROdW1iZXI6IHN0cmluZztcclxuICBwdWJsaWMgc3RyZWV0TnVtYmVyOiBzdHJpbmc7XHJcbiAgcHVibGljIHN0cmVldE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgcG9zdGFsOiBzdHJpbmc7XHJcbiAgcHVibGljIGNvdW50cnk6IHN0cmluZztcclxuICBwdWJsaWMgcHJvdmluY2U6IHN0cmluZztcclxuICBwdWJsaWMgY2l0eTogc3RyaW5nO1xyXG4gIHB1YmxpYyBoYXNWYWx1ZTogYm9vbGVhbjsgLy8gVE9ETzogV2h5IGRvIHdlIG5lZWQgdGhpcz8gLSBSZW1vdmUgLSBicmVha2luZyBjaGFuZ2VcclxuICBwdWJsaWMgaXNWYWxpZDogYm9vbGVhbjsgLy8gVE9ETzogV2h5IGRvIHdlIG5lZWQgdGhpcz8gLSBSZW1vdmUgLSBicmVha2luZyBjaGFuZ2VcclxuXHJcblxyXG4gIC8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsdHkgd2l0aCBhcHBsaWNhdGlvbnMgdGhhdCB1c2Ugc3RyZWV0LlxyXG4gIGdldCBzdHJlZXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzTGluZTE7XHJcbiAgfVxyXG5cclxuICBzZXQgc3RyZWV0KCB2YWw6IHN0cmluZyApIHtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUxID0gdmFsO1xyXG4gIH1cclxuXHJcbiAgLyoqIE92ZXJ3cml0ZSB0aGUgbmF0aXZlIEphdmFTY3JpcHQgdG9TdHJpbmcgbWV0aG9kIHRvIGRldGVybWluZSBob3cgdGhlXHJcbiAgICogb2JqZWN0IHNob3VsZCBiZSBwcmludGVkLCBpbnN0ZWFkIG9mIFtvYmplY3QgT2JqZWN0XS4gIFRoaXMgcHJvdmlkZXMgYVxyXG4gICAqIHN0YW5kYXJkIHdheSB0byBwcmludCBvdXQgYW4gYWRkcmVzcy4gSWYgeW91IG5lZWQgc29tZXRoaW5nIHNwZWNpZmljIHlvdVxyXG4gICAqIHNob3VsZCBhY2Nlc3MgdGhlIHByb3BlcnRpZXMgZGlyZWN0bHkuIFdlIG9taXQgUHJvdmluY2UvQ291bnRyeSBiZWNhdXNlIG9mXHJcbiAgICogUGhhcm1hQ2FyZSdzIEJDIGZvY3VzLiAqL1xyXG4gIHRvU3RyaW5nKCkge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuYWRkcmVzc0xpbmUxfSwgJHt0aGlzLmNpdHl9YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHJlc3MgbXVzdCBoYXZlIGFsbCBmaWVsZHMgZmlsbGVkIG91dCB0byBiZSBjb25zaWRlcmVkXHJcbiAgICogY29tcGxldGVcclxuICAgKi9cclxuICBpc0NvbXBsZXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gQWxsIGZpZWxkcyBoYXZlIGRhdGEgLSBub3QgZW1wdHlcclxuICAgIHJldHVybiAhISh0aGlzLmFkZHJlc3NMaW5lMSAmJiB0aGlzLmNpdHkgJiYgdGhpcy5jb3VudHJ5ICYmXHJcbiAgICAgICAgICAgICB0aGlzLnByb3ZpbmNlICYmIHRoaXMucG9zdGFsKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0JDT25seSgpOiBib29sZWFuIHtcclxuICAgIGxldCBpc1ZhbGlkID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5wb3N0YWwgJiZcclxuICAgICAgdGhpcy5wb3N0YWwubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoQWRkcmVzcy5Qb3N0YWxDb2RlQkNSZWdFeCk7XHJcbiAgICAgIGlzVmFsaWQgPSByZWdFeC50ZXN0KHRoaXMucG9zdGFsKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpc1ZhbGlkO1xyXG4gIH1cclxuXHJcbiAgLyogQ29weSBmdW5jdGlvbiAqL1xyXG4gIGNvcHkob2JqZWN0OiBBZGRyZXNzKSB7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMSA9IG9iamVjdC5hZGRyZXNzTGluZTE7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMiA9IG9iamVjdC5hZGRyZXNzTGluZTI7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMyA9IG9iamVjdC5hZGRyZXNzTGluZTM7XHJcblxyXG4gICAgdGhpcy5jaXR5ID0gb2JqZWN0LmNpdHk7XHJcbiAgICB0aGlzLmNvdW50cnkgPSBvYmplY3QuY291bnRyeTtcclxuICAgIHRoaXMucG9zdGFsID0gb2JqZWN0LnBvc3RhbDtcclxuICAgIHRoaXMucHJvdmluY2UgPSBvYmplY3QucHJvdmluY2U7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iXX0=