node_modules/preact/src/render.js in isomorfeus-preact-10.6.2 vs node_modules/preact/src/render.js in isomorfeus-preact-10.6.3
- old
+ new
@@ -1,75 +1,75 @@
-import { EMPTY_OBJ } from './constants';
-import { commitRoot, diff } from './diff/index';
-import { createElement, Fragment } from './create-element';
-import options from './options';
-import { slice } from './util';
-
-/**
- * Render a Preact virtual node into a DOM element
- * @param {import('./internal').ComponentChild} vnode The virtual node to render
- * @param {import('./internal').PreactElement} parentDom The DOM element to
- * render into
- * @param {import('./internal').PreactElement | object} [replaceNode] Optional: Attempt to re-use an
- * existing DOM tree rooted at `replaceNode`
- */
-export function render(vnode, parentDom, replaceNode) {
- if (options._root) options._root(vnode, parentDom);
-
- // We abuse the `replaceNode` parameter in `hydrate()` to signal if we are in
- // hydration mode or not by passing the `hydrate` function instead of a DOM
- // element..
- let isHydrating = typeof replaceNode === 'function';
-
- // To be able to support calling `render()` multiple times on the same
- // DOM node, we need to obtain a reference to the previous tree. We do
- // this by assigning a new `_children` property to DOM nodes which points
- // to the last rendered tree. By default this property is not present, which
- // means that we are mounting a new tree for the first time.
- let oldVNode = isHydrating
- ? null
- : (replaceNode && replaceNode._children) || parentDom._children;
-
- vnode = (
- (!isHydrating && replaceNode) ||
- parentDom
- )._children = createElement(Fragment, null, [vnode]);
-
- // List of effects that need to be called after diffing.
- let commitQueue = [];
- diff(
- parentDom,
- // Determine the new vnode tree and store it on the DOM element on
- // our custom `_children` property.
- vnode,
- oldVNode || EMPTY_OBJ,
- EMPTY_OBJ,
- parentDom.ownerSVGElement !== undefined,
- !isHydrating && replaceNode
- ? [replaceNode]
- : oldVNode
- ? null
- : parentDom.firstChild
- ? slice.call(parentDom.childNodes)
- : null,
- commitQueue,
- !isHydrating && replaceNode
- ? replaceNode
- : oldVNode
- ? oldVNode._dom
- : parentDom.firstChild,
- isHydrating
- );
-
- // Flush all queued effects
- commitRoot(commitQueue, vnode);
-}
-
-/**
- * Update an existing DOM element with data from a Preact virtual node
- * @param {import('./internal').ComponentChild} vnode The virtual node to render
- * @param {import('./internal').PreactElement} parentDom The DOM element to
- * update
- */
-export function hydrate(vnode, parentDom) {
- render(vnode, parentDom, hydrate);
-}
+import { EMPTY_OBJ } from './constants';
+import { commitRoot, diff } from './diff/index';
+import { createElement, Fragment } from './create-element';
+import options from './options';
+import { slice } from './util';
+
+/**
+ * Render a Preact virtual node into a DOM element
+ * @param {import('./internal').ComponentChild} vnode The virtual node to render
+ * @param {import('./internal').PreactElement} parentDom The DOM element to
+ * render into
+ * @param {import('./internal').PreactElement | object} [replaceNode] Optional: Attempt to re-use an
+ * existing DOM tree rooted at `replaceNode`
+ */
+export function render(vnode, parentDom, replaceNode) {
+ if (options._root) options._root(vnode, parentDom);
+
+ // We abuse the `replaceNode` parameter in `hydrate()` to signal if we are in
+ // hydration mode or not by passing the `hydrate` function instead of a DOM
+ // element..
+ let isHydrating = typeof replaceNode === 'function';
+
+ // To be able to support calling `render()` multiple times on the same
+ // DOM node, we need to obtain a reference to the previous tree. We do
+ // this by assigning a new `_children` property to DOM nodes which points
+ // to the last rendered tree. By default this property is not present, which
+ // means that we are mounting a new tree for the first time.
+ let oldVNode = isHydrating
+ ? null
+ : (replaceNode && replaceNode._children) || parentDom._children;
+
+ vnode = (
+ (!isHydrating && replaceNode) ||
+ parentDom
+ )._children = createElement(Fragment, null, [vnode]);
+
+ // List of effects that need to be called after diffing.
+ let commitQueue = [];
+ diff(
+ parentDom,
+ // Determine the new vnode tree and store it on the DOM element on
+ // our custom `_children` property.
+ vnode,
+ oldVNode || EMPTY_OBJ,
+ EMPTY_OBJ,
+ parentDom.ownerSVGElement !== undefined,
+ !isHydrating && replaceNode
+ ? [replaceNode]
+ : oldVNode
+ ? null
+ : parentDom.firstChild
+ ? slice.call(parentDom.childNodes)
+ : null,
+ commitQueue,
+ !isHydrating && replaceNode
+ ? replaceNode
+ : oldVNode
+ ? oldVNode._dom
+ : parentDom.firstChild,
+ isHydrating
+ );
+
+ // Flush all queued effects
+ commitRoot(commitQueue, vnode);
+}
+
+/**
+ * Update an existing DOM element with data from a Preact virtual node
+ * @param {import('./internal').ComponentChild} vnode The virtual node to render
+ * @param {import('./internal').PreactElement} parentDom The DOM element to
+ * update
+ */
+export function hydrate(vnode, parentDom) {
+ render(vnode, parentDom, hydrate);
+}