-
Glenn Vorhes authoredGlenn Vorhes authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
formatString.js 4.06 KiB
/**
* Created by gavorhes on 10/30/2015.
*/
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
if (!String.prototype['format']) {
/**
* helper function for string replacement to keep code clean
* usage
* var aString = 'some{0}stuff{1}replaced';
* var c = 'cat';
* var b = 'bird';
* aString.format(c, b) returns 'somecatstuffbirdreplaced'
* prettier than
* 'some' + c + 'stuff' + b + 'replaced'
* but same effect
* adapted to take a single array that is used for replacement by position ie
* var arrReplacements = [c, b];
* aString.format(arrReplacements)
* @returns {string} converted string
*/
String.prototype['format'] = function () {
var args = arguments;
for (var i = 0; i < args.length; i++) {
args[i] = (args[i] !== null ? args[i] : '');
}
//if the first argument is an array, use that
if (args[0].constructor == Array) {
args = args[0];
}
return this.replace(/{(\d+)}/g, function (match, number) {
return typeof args[number] != 'undefined' ? args[number] : match;
});
};
}
exports.default = undefined;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0U3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZm9ybWF0U3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHOzs7QUFFSCxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRztRQUN6QixJQUFJLElBQUksR0FBRyxTQUFTLENBQUM7UUFDckIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsS0FBSyxFQUFFLE1BQU07WUFDbkQsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDcmVhdGVkIGJ5IGdhdm9yaGVzIG9uIDEwLzMwLzIwMTUuXHJcbiAqL1xyXG5cclxuaWYgKCFTdHJpbmcucHJvdG90eXBlWydmb3JtYXQnXSkge1xyXG4gICAgLyoqXHJcbiAgICAgKiAgaGVscGVyIGZ1bmN0aW9uIGZvciBzdHJpbmcgcmVwbGFjZW1lbnQgdG8ga2VlcCBjb2RlIGNsZWFuXHJcbiAgICAgKiB1c2FnZVxyXG4gICAgICogdmFyIGFTdHJpbmcgPSAnc29tZXswfXN0dWZmezF9cmVwbGFjZWQnO1xyXG4gICAgICogdmFyIGMgPSAnY2F0JztcclxuICAgICAqIHZhciBiID0gJ2JpcmQnO1xyXG4gICAgICogYVN0cmluZy5mb3JtYXQoYywgYikgIHJldHVybnMgJ3NvbWVjYXRzdHVmZmJpcmRyZXBsYWNlZCdcclxuICAgICAqIHByZXR0aWVyIHRoYW5cclxuICAgICAqICdzb21lJyArIGMgKyAnc3R1ZmYnICsgYiArICdyZXBsYWNlZCdcclxuICAgICAqIGJ1dCBzYW1lIGVmZmVjdFxyXG4gICAgICogYWRhcHRlZCB0byB0YWtlIGEgc2luZ2xlIGFycmF5IHRoYXQgaXMgdXNlZCBmb3IgcmVwbGFjZW1lbnQgYnkgcG9zaXRpb24gaWVcclxuICAgICAqIHZhciBhcnJSZXBsYWNlbWVudHMgPSBbYywgYl07XHJcbiAgICAgKiBhU3RyaW5nLmZvcm1hdChhcnJSZXBsYWNlbWVudHMpXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBjb252ZXJ0ZWQgc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIFN0cmluZy5wcm90b3R5cGVbJ2Zvcm1hdCddID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBhcmdzID0gYXJndW1lbnRzO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBhcmdzW2ldID0gKGFyZ3NbaV0gIT09IG51bGwgPyBhcmdzW2ldIDogJycpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9pZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYW4gYXJyYXksIHVzZSB0aGF0XHJcbiAgICAgICAgaWYgKGFyZ3NbMF0uY29uc3RydWN0b3IgPT0gQXJyYXkpIHtcclxuICAgICAgICAgICAgYXJncyA9IGFyZ3NbMF07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5yZXBsYWNlKC97KFxcZCspfS9nLCBmdW5jdGlvbiAobWF0Y2gsIG51bWJlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIGFyZ3NbbnVtYmVyXSAhPSAndW5kZWZpbmVkJyA/IGFyZ3NbbnVtYmVyXSA6IG1hdGNoO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgdW5kZWZpbmVkO1xyXG4iXX0=