@technobuddha/library
Version:
A large library of useful functions
27 lines (26 loc) • 1.12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.build = void 0;
var constants_1 = require("../constants");
var compact_1 = __importDefault(require("lodash/compact"));
var isString_1 = __importDefault(require("lodash/isString"));
var isArray_1 = __importDefault(require("lodash/isArray"));
var isFunction_1 = __importDefault(require("lodash/isFunction"));
/**
* Concatenates strings and/or arrays of strings
*
* @param args Concatenates a list of strings, string arrays, or functions that return a string or string array.
* @returns The concatenation of *args*.
*/
function build() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return compact_1.default(args.flatMap(function (a) { return (isString_1.default(a) || isArray_1.default(a) ? a : isFunction_1.default(a) ? a() : Array.from(a)); })).join(constants_1.empty);
}
exports.build = build;
exports.default = build;