UNPKG

@uiowa/uiowa-account

Version:

Angular library to manage MFK and UNI Account output

83 lines 6.24 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ export class Account { /** * @param {?=} value * @param {?=} delimiter * @param {?=} elements * @param {?=} defaultString */ constructor(value = null, delimiter = '-', elements = [], defaultString = 'X') { this.elements = elements; this.value = value; this.delimiter = delimiter; this.valueAry = this.value.split(this.delimiter); this.defaultString = defaultString; } /** * @param {?} index * @return {?} */ getElementString(index) { /** @type {?} */ let value = this.valueAry[index]; if (!value) { /** @type {?} */ const element = this.elements[index]; if (element.isRequired) { for (let i = 1; i <= element.size; i++) { value = value + this.defaultString; } } } return value; } /** * @param {?} index * @param {?=} leaveOptionalEnd * @return {?} */ showDelimeter(index, leaveOptionalEnd = false) { if (this.lastElementIsOptionalAndEmpty(index) && !leaveOptionalEnd) { return false; } if (!this.indexIsTheLastElement(index)) { return true; } return false; } /** * @param {?} index * @return {?} */ indexIsTheLastElement(index) { return index === this.elements.length - 1; } /** * @param {?} index * @return {?} */ lastElementIsOptionalAndEmpty(index) { if (index + 2 === this.elements.length) { if (!this.elements[index + 1].isRequired && !this.valueAry[index + 1]) { return true; } } return false; } } if (false) { /** @type {?} */ Account.prototype.value; /** @type {?} */ Account.prototype.delimiter; /** @type {?} */ Account.prototype.elements; /** @type {?} */ Account.prototype.defaultString; /** @type {?} */ Account.prototype.valueAry; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1aW93YS91aW93YS1hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL21vZGVscy9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sT0FBTzs7Ozs7OztJQVFsQixZQUFZLFFBQWdCLElBQUksRUFBRSxZQUFvQixHQUFHLEVBQUUsV0FBc0IsRUFBRSxFQUFFLGdCQUF3QixHQUFHO1FBQzlHLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsS0FBYTs7WUFDeEIsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUU7O2tCQUNKLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNwQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN0QyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7aUJBQ3BDO2FBQ0Y7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7O0lBRUQsYUFBYSxDQUFDLEtBQWEsRUFBRSxtQkFBNEIsS0FBSztRQUM1RCxJQUFJLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7O0lBRU8scUJBQXFCLENBQUMsS0FBYTtRQUN6QyxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7Ozs7SUFFTyw2QkFBNkIsQ0FBQyxLQUFhO1FBQ2pELElBQUksS0FBSyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JFLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGOzs7SUFsREMsd0JBQWM7O0lBQ2QsNEJBQWtCOztJQUNsQiwyQkFBb0I7O0lBQ3BCLGdDQUFzQjs7SUFFdEIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBBY2NvdW50IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgZGVsaW1pdGVyOiBzdHJpbmc7XG4gIGVsZW1lbnRzOiBFbGVtZW50W107XG4gIGRlZmF1bHRTdHJpbmc6IHN0cmluZztcblxuICBwcml2YXRlIHZhbHVlQXJ5OiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nID0gbnVsbCwgZGVsaW1pdGVyOiBzdHJpbmcgPSAnLScsIGVsZW1lbnRzOiBFbGVtZW50W10gPSBbXSwgZGVmYXVsdFN0cmluZzogc3RyaW5nID0gJ1gnKSB7XG4gICAgdGhpcy5lbGVtZW50cyA9IGVsZW1lbnRzO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmRlbGltaXRlciA9IGRlbGltaXRlcjtcbiAgICB0aGlzLnZhbHVlQXJ5ID0gdGhpcy52YWx1ZS5zcGxpdCh0aGlzLmRlbGltaXRlcik7XG4gICAgdGhpcy5kZWZhdWx0U3RyaW5nID0gZGVmYXVsdFN0cmluZztcbiAgfVxuXG4gIGdldEVsZW1lbnRTdHJpbmcoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy52YWx1ZUFyeVtpbmRleF07XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudHNbaW5kZXhdO1xuICAgICAgaWYgKGVsZW1lbnQuaXNSZXF1aXJlZCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBlbGVtZW50LnNpemU7IGkrKykge1xuICAgICAgICAgIHZhbHVlID0gdmFsdWUgKyB0aGlzLmRlZmF1bHRTdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc2hvd0RlbGltZXRlcihpbmRleDogbnVtYmVyLCBsZWF2ZU9wdGlvbmFsRW5kOiBib29sZWFuID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5sYXN0RWxlbWVudElzT3B0aW9uYWxBbmRFbXB0eShpbmRleCkgJiYgIWxlYXZlT3B0aW9uYWxFbmQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmluZGV4SXNUaGVMYXN0RWxlbWVudChpbmRleCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGluZGV4SXNUaGVMYXN0RWxlbWVudChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmVsZW1lbnRzLmxlbmd0aCAtIDE7XG4gIH1cblxuICBwcml2YXRlIGxhc3RFbGVtZW50SXNPcHRpb25hbEFuZEVtcHR5KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoaW5kZXggKyAyID09PSB0aGlzLmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgaWYgKCF0aGlzLmVsZW1lbnRzW2luZGV4ICsgMV0uaXNSZXF1aXJlZCAmJiAhdGhpcy52YWx1ZUFyeVtpbmRleCArIDFdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==