{
  "version": 3,
  "sources": ["../src/insert.js"],
  "sourcesContent": ["/**\n * Internal dependencies\n */\n\nimport { create } from './create';\nimport { normaliseFormats } from './normalise-formats';\n\n/** @typedef {import('./types').RichTextValue} RichTextValue */\n\n/**\n * Insert a Rich Text value, an HTML string, or a plain text string, into a\n * Rich Text value at the given `startIndex`. Any content between `startIndex`\n * and `endIndex` will be removed. Indices are retrieved from the selection if\n * none are provided.\n *\n * @param {RichTextValue}        value         Value to modify.\n * @param {RichTextValue|string} valueToInsert Value to insert.\n * @param {number}               [startIndex]  Start index.\n * @param {number}               [endIndex]    End index.\n *\n * @return {RichTextValue} A new value with the value inserted.\n */\nexport function insert(\n\tvalue,\n\tvalueToInsert,\n\tstartIndex = value.start,\n\tendIndex = value.end\n) {\n\tconst { formats, replacements, text } = value;\n\n\tif ( typeof valueToInsert === 'string' ) {\n\t\tvalueToInsert = create( { text: valueToInsert } );\n\t}\n\n\tconst index = startIndex + valueToInsert.text.length;\n\n\treturn normaliseFormats( {\n\t\tformats: formats\n\t\t\t.slice( 0, startIndex )\n\t\t\t.concat( valueToInsert.formats, formats.slice( endIndex ) ),\n\t\treplacements: replacements\n\t\t\t.slice( 0, startIndex )\n\t\t\t.concat(\n\t\t\t\tvalueToInsert.replacements,\n\t\t\t\treplacements.slice( endIndex )\n\t\t\t),\n\t\ttext:\n\t\t\ttext.slice( 0, startIndex ) +\n\t\t\tvalueToInsert.text +\n\t\t\ttext.slice( endIndex ),\n\t\tstart: index,\n\t\tend: index,\n\t} );\n}\n"],
  "mappings": ";AAIA,SAAS,cAAc;AACvB,SAAS,wBAAwB;AAiB1B,SAAS,OACf,OACA,eACA,aAAa,MAAM,OACnB,WAAW,MAAM,KAChB;AACD,QAAM,EAAE,SAAS,cAAc,KAAK,IAAI;AAExC,MAAK,OAAO,kBAAkB,UAAW;AACxC,oBAAgB,OAAQ,EAAE,MAAM,cAAc,CAAE;AAAA,EACjD;AAEA,QAAM,QAAQ,aAAa,cAAc,KAAK;AAE9C,SAAO,iBAAkB;AAAA,IACxB,SAAS,QACP,MAAO,GAAG,UAAW,EACrB,OAAQ,cAAc,SAAS,QAAQ,MAAO,QAAS,CAAE;AAAA,IAC3D,cAAc,aACZ,MAAO,GAAG,UAAW,EACrB;AAAA,MACA,cAAc;AAAA,MACd,aAAa,MAAO,QAAS;AAAA,IAC9B;AAAA,IACD,MACC,KAAK,MAAO,GAAG,UAAW,IAC1B,cAAc,OACd,KAAK,MAAO,QAAS;AAAA,IACtB,OAAO;AAAA,IACP,KAAK;AAAA,EACN,CAAE;AACH;",
  "names": []
}
