@technobuddha/library
Version:
A large library of useful functions
29 lines (28 loc) • 1.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.coordinate = void 0;
var toString_1 = __importDefault(require("lodash/toString"));
var constants_1 = require("../constants");
/**
* Create a string from an array, separating values and inserting a conjunction
*
* @param input Array of values
* @param __namedParameters see {@link Options}
*/
function coordinate(input, _a) {
var _b = _a === void 0 ? {} : _a, _c = _b.conjunction, conjunction = _c === void 0 ? 'and' : _c, _d = _b.oxford, oxford = _d === void 0 ? true : _d, _e = _b.separator, separator = _e === void 0 ? ',' : _e;
if (input.length > 0) {
var text = toString_1.default(input[0]);
for (var i = 1; i < input.length - 1; i++)
text += separator + constants_1.space + toString_1.default(input[i]);
if (input.length > 1)
text += (oxford && input.length > 2 ? separator : constants_1.empty) + constants_1.space + conjunction + constants_1.space + toString_1.default(input[input.length - 1]);
return text;
}
return constants_1.empty;
}
exports.coordinate = coordinate;
exports.default = coordinate;