File tree Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Original file line number Diff line number Diff line change 11import { dashToCamelCase } from './strings.js'
22
3+ // Rely on the new moveBefore method to move nodes if it's available https://developer.mozilla.org/en-US/docs/Web/API/Element/moveBefore
4+ const MOVE_BEFORE_METHOD = Element ?. prototype ?. moveBefore
5+ ? 'moveBefore'
6+ : 'insertBefore'
7+
38/**
49 * Get all the element attributes as object
510 * @param {HTMLElement } element - DOM node we want to parse
@@ -59,9 +64,7 @@ export const removeChild = (node) => node.remove()
5964 * @returns {undefined }
6065 */
6166export const insertBefore = ( newNode , refNode ) =>
62- refNode &&
63- refNode . parentNode &&
64- refNode . parentNode . insertBefore ( newNode , refNode )
67+ refNode ?. parentNode ?. [ MOVE_BEFORE_METHOD ] ( newNode , refNode )
6568
6669/**
6770 * Replace a node
@@ -70,6 +73,4 @@ export const insertBefore = (newNode, refNode) =>
7073 * @returns {undefined }
7174 */
7275export const replaceChild = ( newNode , replaced ) =>
73- replaced &&
74- replaced . parentNode &&
75- replaced . parentNode . replaceChild ( newNode , replaced )
76+ replaced ?. parentNode ?. replaceChild ( newNode , replaced )
You can’t perform that action at this time.
0 commit comments