"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.join = join; var _create = require("./create"); var _normaliseFormats = require("./normalise-formats"); /** * Internal dependencies */ /** @typedef {import('./types').RichTextValue} RichTextValue */ /** * Combine an array of Rich Text values into one, optionally separated by * `separator`, which can be a Rich Text value, HTML string, or plain text * string. This is similar to `Array.prototype.join`. * * @param {Array} values An array of values to join. * @param {string|RichTextValue} [separator] Separator string or value. * * @return {RichTextValue} A new combined value. */ function join(values, separator = '') { if (typeof separator === 'string') { separator = (0, _create.create)({ text: separator }); } return (0, _normaliseFormats.normaliseFormats)(values.reduce((accumlator, { formats, replacements, text }) => ({ formats: accumlator.formats.concat(separator.formats, formats), replacements: accumlator.replacements.concat(separator.replacements, replacements), text: accumlator.text + separator.text + text }))); } //# sourceMappingURL=join.js.map