From 2eba2fbba1d5f3b924bf1e38f16821fac0e703df Mon Sep 17 00:00:00 2001 From: wclr Date: Sun, 28 Feb 2021 01:15:01 +0500 Subject: [PATCH 1/2] add isSameNode method --- src/Web/DOM/Node.js | 8 ++++++++ src/Web/DOM/Node.purs | 3 +++ 2 files changed, 11 insertions(+) diff --git a/src/Web/DOM/Node.js b/src/Web/DOM/Node.js index 9a35b57..dcf8408 100644 --- a/src/Web/DOM/Node.js +++ b/src/Web/DOM/Node.js @@ -86,6 +86,14 @@ exports.isEqualNode = function (node1) { }; }; +exports.isSameNode = function (node1) { + return function (node2) { + return function () { + return node1.isSameNode(node2); + }; + }; +}; + exports.compareDocumentPositionBits = function (node1) { return function (node2) { return function () { diff --git a/src/Web/DOM/Node.purs b/src/Web/DOM/Node.purs index 46d60cd..1351254 100644 --- a/src/Web/DOM/Node.purs +++ b/src/Web/DOM/Node.purs @@ -155,6 +155,9 @@ foreign import deepClone :: Node -> Effect Node -- | Checks whether two nodes are equivalent. foreign import isEqualNode :: Node -> Node -> Effect Boolean +-- | Checks whether two nodes are the same. +foreign import isSameNode :: Node -> Node -> Effect Boolean + -- TODO: compareDocumentPosition that returns a semigroup or something instead of the bitmask value -- | Compares the position of two nodes in the document. From b345784b67677428f20ac0183976bc5ccd30e8d0 Mon Sep 17 00:00:00 2001 From: wclr Date: Sun, 28 Feb 2021 21:05:18 +0500 Subject: [PATCH 2/2] do not use Effect for isSameNode --- src/Web/DOM/Node.js | 4 +--- src/Web/DOM/Node.purs | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Web/DOM/Node.js b/src/Web/DOM/Node.js index dcf8408..63965c3 100644 --- a/src/Web/DOM/Node.js +++ b/src/Web/DOM/Node.js @@ -88,9 +88,7 @@ exports.isEqualNode = function (node1) { exports.isSameNode = function (node1) { return function (node2) { - return function () { - return node1.isSameNode(node2); - }; + return node1.isSameNode(node2); }; }; diff --git a/src/Web/DOM/Node.purs b/src/Web/DOM/Node.purs index 1351254..82c93ba 100644 --- a/src/Web/DOM/Node.purs +++ b/src/Web/DOM/Node.purs @@ -156,7 +156,7 @@ foreign import deepClone :: Node -> Effect Node foreign import isEqualNode :: Node -> Node -> Effect Boolean -- | Checks whether two nodes are the same. -foreign import isSameNode :: Node -> Node -> Effect Boolean +foreign import isSameNode :: Node -> Node -> Boolean -- TODO: compareDocumentPosition that returns a semigroup or something instead of the bitmask value