"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.concat = concat; exports.mergePair = mergePair; var _normaliseFormats = require("./normalise-formats"); var _create = require("./create"); /** * Internal dependencies */ /** @typedef {import('./types').RichTextValue} RichTextValue */ /** * Concats a pair of rich text values. Not that this mutates `a` and does NOT * normalise formats! * * @param {Object} a Value to mutate. * @param {Object} b Value to add read from. * * @return {Object} `a`, mutated. */ function mergePair(a, b) { a.formats = a.formats.concat(b.formats); a.replacements = a.replacements.concat(b.replacements); a.text += b.text; return a; } /** * Combine all Rich Text values into one. This is similar to * `String.prototype.concat`. * * @param {...RichTextValue} values Objects to combine. * * @return {RichTextValue} A new value combining all given records. */ function concat(...values) { return (0, _normaliseFormats.normaliseFormats)(values.reduce(mergePair, (0, _create.create)())); } //# sourceMappingURL=concat.js.map