UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

19 lines (18 loc) 815 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.join = join; function join(separator, ...parts) { // discuss at: https://locutus.io/perl/join/ // parity verified: Perl 5.40 // original by: Kevin van Zonneveld (https://kvz.io) // note 1: Joins list values with separator (Perl-style list semantics). // example 1: join('-', 'a', 'b', 'c') // returns 1: 'a-b-c' // example 2: join(' / ', 'usr', 'local', 'bin') // returns 2: 'usr / local / bin' // example 3: join('', 'a', 'b', 'c') // returns 3: 'abc' const glue = String(separator); const values = parts.length === 1 && Array.isArray(parts[0]) ? parts[0] : parts; return values.map((value) => String(value)).join(glue); }