client/lib/highlight/index.js
function highlight( term, html, wrapperNode ) {
	debug( 'Starting highlight' );
	if ( ! wrapperNode ) {
		wrapperNode = document.createElement( 'mark' );
	}
	if ( ! term || ! html ) {
		return html;
	}
	const root = document.createElement( 'div' );
	root.innerHTML = html;
	walk( root, term, wrapperNode );
	return root.innerHTML;
}
function highlight( term, html, wrapperNode ) {
	debug( 'Starting highlight' );
	if ( ! wrapperNode ) {
		wrapperNode = document.createElement( 'mark' );
	}
	if ( ! term || ! html ) {
		return html;
	}
	const root = document.createElement( 'div' );
	root.innerHTML = html;
	walk( root, term, wrapperNode );
	return root.innerHTML;
}
Wraps strings in a html to highlight
@param {string} term Term to search for
@param {string} html HTML string to search and wrap
@param {HTMLElement} [wrapperNode] Custom node to wrap the elements with, defaults to <mark>
@returns {string} Wrapped HTML