src/api/unmount.js
import $ from 'bianco.query'
import { DOM_COMPONENT_INSTANCE_PROPERTY } from '@riotjs/util'
/**
* Sweet unmounting helper function for the DOM node mounted manually by the user
* @param {string|HTMLElement} selector - query for the selection or a DOM element
* @param {boolean|null} keepRootElement - if true keep the root element
* @returns {Array} list of nodes unmounted
*/
export function unmount(selector, keepRootElement) {
return $(selector).map((element) => {
if (element[DOM_COMPONENT_INSTANCE_PROPERTY]) {
element[DOM_COMPONENT_INSTANCE_PROPERTY].unmount(keepRootElement)
}
return element
})
}