@uiowa/uiowa-account
Version:
Angular library to manage MFK and UNI Account output
101 lines • 7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var Account = /** @class */ (function () {
function Account(value, delimiter, elements, defaultString) {
if (value === void 0) { value = null; }
if (delimiter === void 0) { delimiter = '-'; }
if (elements === void 0) { elements = []; }
if (defaultString === void 0) { defaultString = 'X'; }
this.elements = elements;
this.value = value;
this.delimiter = delimiter;
this.valueAry = this.value.split(this.delimiter);
this.defaultString = defaultString;
}
/**
* @param {?} index
* @return {?}
*/
Account.prototype.getElementString = /**
* @param {?} index
* @return {?}
*/
function (index) {
/** @type {?} */
var value = this.valueAry[index];
if (!value) {
/** @type {?} */
var element = this.elements[index];
if (element.isRequired) {
for (var i = 1; i <= element.size; i++) {
value = value + this.defaultString;
}
}
}
return value;
};
/**
* @param {?} index
* @param {?=} leaveOptionalEnd
* @return {?}
*/
Account.prototype.showDelimeter = /**
* @param {?} index
* @param {?=} leaveOptionalEnd
* @return {?}
*/
function (index, leaveOptionalEnd) {
if (leaveOptionalEnd === void 0) { leaveOptionalEnd = false; }
if (this.lastElementIsOptionalAndEmpty(index) && !leaveOptionalEnd) {
return false;
}
if (!this.indexIsTheLastElement(index)) {
return true;
}
return false;
};
/**
* @param {?} index
* @return {?}
*/
Account.prototype.indexIsTheLastElement = /**
* @param {?} index
* @return {?}
*/
function (index) {
return index === this.elements.length - 1;
};
/**
* @param {?} index
* @return {?}
*/
Account.prototype.lastElementIsOptionalAndEmpty = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (index + 2 === this.elements.length) {
if (!this.elements[index + 1].isRequired && !this.valueAry[index + 1]) {
return true;
}
}
return false;
};
return Account;
}());
export { Account };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1aW93YS91aW93YS1hY2NvdW50LyIsInNvdXJjZXMiOlsibGliL21vZGVscy9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQTtJQVFFLGlCQUFZLEtBQW9CLEVBQUUsU0FBdUIsRUFBRSxRQUF3QixFQUFFLGFBQTJCO1FBQXBHLHNCQUFBLEVBQUEsWUFBb0I7UUFBRSwwQkFBQSxFQUFBLGVBQXVCO1FBQUUseUJBQUEsRUFBQSxhQUF3QjtRQUFFLDhCQUFBLEVBQUEsbUJBQTJCO1FBQzlHLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7Ozs7O0lBRUQsa0NBQWdCOzs7O0lBQWhCLFVBQWlCLEtBQWE7O1lBQ3hCLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFOztnQkFDSixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDcEMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDdEMsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUNwQzthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7OztJQUVELCtCQUFhOzs7OztJQUFiLFVBQWMsS0FBYSxFQUFFLGdCQUFpQztRQUFqQyxpQ0FBQSxFQUFBLHdCQUFpQztRQUM1RCxJQUFJLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7O0lBRU8sdUNBQXFCOzs7O0lBQTdCLFVBQThCLEtBQWE7UUFDekMsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Ozs7O0lBRU8sK0NBQTZCOzs7O0lBQXJDLFVBQXNDLEtBQWE7UUFDakQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDckUsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0gsY0FBQztBQUFELENBQUMsQUFuREQsSUFtREM7Ozs7SUFsREMsd0JBQWM7O0lBQ2QsNEJBQWtCOztJQUNsQiwyQkFBb0I7O0lBQ3BCLGdDQUFzQjs7SUFFdEIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBBY2NvdW50IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgZGVsaW1pdGVyOiBzdHJpbmc7XG4gIGVsZW1lbnRzOiBFbGVtZW50W107XG4gIGRlZmF1bHRTdHJpbmc6IHN0cmluZztcblxuICBwcml2YXRlIHZhbHVlQXJ5OiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nID0gbnVsbCwgZGVsaW1pdGVyOiBzdHJpbmcgPSAnLScsIGVsZW1lbnRzOiBFbGVtZW50W10gPSBbXSwgZGVmYXVsdFN0cmluZzogc3RyaW5nID0gJ1gnKSB7XG4gICAgdGhpcy5lbGVtZW50cyA9IGVsZW1lbnRzO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmRlbGltaXRlciA9IGRlbGltaXRlcjtcbiAgICB0aGlzLnZhbHVlQXJ5ID0gdGhpcy52YWx1ZS5zcGxpdCh0aGlzLmRlbGltaXRlcik7XG4gICAgdGhpcy5kZWZhdWx0U3RyaW5nID0gZGVmYXVsdFN0cmluZztcbiAgfVxuXG4gIGdldEVsZW1lbnRTdHJpbmcoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy52YWx1ZUFyeVtpbmRleF07XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudHNbaW5kZXhdO1xuICAgICAgaWYgKGVsZW1lbnQuaXNSZXF1aXJlZCkge1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBlbGVtZW50LnNpemU7IGkrKykge1xuICAgICAgICAgIHZhbHVlID0gdmFsdWUgKyB0aGlzLmRlZmF1bHRTdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc2hvd0RlbGltZXRlcihpbmRleDogbnVtYmVyLCBsZWF2ZU9wdGlvbmFsRW5kOiBib29sZWFuID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5sYXN0RWxlbWVudElzT3B0aW9uYWxBbmRFbXB0eShpbmRleCkgJiYgIWxlYXZlT3B0aW9uYWxFbmQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmluZGV4SXNUaGVMYXN0RWxlbWVudChpbmRleCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGluZGV4SXNUaGVMYXN0RWxlbWVudChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmVsZW1lbnRzLmxlbmd0aCAtIDE7XG4gIH1cblxuICBwcml2YXRlIGxhc3RFbGVtZW50SXNPcHRpb25hbEFuZEVtcHR5KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoaW5kZXggKyAyID09PSB0aGlzLmVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgaWYgKCF0aGlzLmVsZW1lbnRzW2luZGV4ICsgMV0uaXNSZXF1aXJlZCAmJiAhdGhpcy52YWx1ZUFyeVtpbmRleCArIDFdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==