From d1c40f7c417c5a72973549b4b6545b164ec964c0 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:04:29 -0500 Subject: [PATCH 01/10] Migrated FFI to ES modules via 'lebab' --- src/Web/DOM/CharacterData.js | 28 +++--- src/Web/DOM/ChildNode.js | 4 +- src/Web/DOM/DOMTokenList.js | 24 +++--- src/Web/DOM/Document.js | 61 +++++++------ src/Web/DOM/DocumentType.js | 6 +- src/Web/DOM/Element.js | 108 ++++++++++++------------ src/Web/DOM/HTMLCollection.js | 16 ++-- src/Web/DOM/MutationObserver.js | 16 ++-- src/Web/DOM/MutationRecord.js | 36 ++++---- src/Web/DOM/Node.js | 102 +++++++++++----------- src/Web/DOM/NodeList.js | 12 +-- src/Web/DOM/NonDocumentTypeChildNode.js | 8 +- src/Web/DOM/NonElementParentNode.js | 4 +- src/Web/DOM/ParentNode.js | 19 ++--- src/Web/DOM/ProcessingInstruction.js | 4 +- src/Web/DOM/ShadowRoot.js | 8 +- src/Web/DOM/Text.js | 8 +- 17 files changed, 226 insertions(+), 238 deletions(-) diff --git a/src/Web/DOM/CharacterData.js b/src/Web/DOM/CharacterData.js index 92639e7..1eede77 100644 --- a/src/Web/DOM/CharacterData.js +++ b/src/Web/DOM/CharacterData.js @@ -1,18 +1,18 @@ "use strict"; -exports.data_ = function (t) { +export function data_(t) { return function () { return t.data; }; -}; +} -exports.length = function (t) { +export function length(t) { return function () { return t.length; }; -}; +} -exports.substringData = function (offset) { +export function substringData(offset) { return function (count) { return function (cd) { return function () { @@ -20,17 +20,17 @@ exports.substringData = function (offset) { }; }; }; -}; +} -exports.appendData = function (data) { +export function appendData(data) { return function (cd) { return function () { cd.appendData(data); }; }; -}; +} -exports.insertData = function (offset) { +export function insertData(offset) { return function (data) { return function (cd) { return function () { @@ -38,9 +38,9 @@ exports.insertData = function (offset) { }; }; }; -}; +} -exports.deleteData = function (offset) { +export function deleteData(offset) { return function (count) { return function (cd) { return function () { @@ -48,9 +48,9 @@ exports.deleteData = function (offset) { }; }; }; -}; +} -exports.replaceData = function (offset) { +export function replaceData(offset) { return function (count) { return function (data) { return function (cd) { @@ -60,4 +60,4 @@ exports.replaceData = function (offset) { }; }; }; -}; +} diff --git a/src/Web/DOM/ChildNode.js b/src/Web/DOM/ChildNode.js index 494815e..7bfd71d 100644 --- a/src/Web/DOM/ChildNode.js +++ b/src/Web/DOM/ChildNode.js @@ -1,7 +1,7 @@ "use strict"; -exports.remove = function (node) { +export function remove(node) { return function () { return node.remove(); }; -}; +} diff --git a/src/Web/DOM/DOMTokenList.js b/src/Web/DOM/DOMTokenList.js index a8fe4fb..ec28607 100644 --- a/src/Web/DOM/DOMTokenList.js +++ b/src/Web/DOM/DOMTokenList.js @@ -1,38 +1,38 @@ "use strict"; -exports.add = function(list) { +export function add(list) { return function(token) { return function() { return list.add(token); }; }; -}; +} -exports.remove = function(list) { +export function remove(list) { return function(token) { return function() { return list.remove(token); }; }; -}; +} -exports.contains = function(list) { +export function contains(list) { return function(token) { return function() { return list.contains(token); }; }; -}; +} -exports.toggle = function(list) { +export function toggle(list) { return function(token) { return function() { return list.toggle(token); }; }; -}; +} -exports.toggleForce = function(list) { +export function toggleForce(list) { return function(token) { return function(force) { return function() { @@ -40,12 +40,12 @@ exports.toggleForce = function(list) { }; }; }; -}; +} -exports._item = function(list) { +export function _item(list) { return function(index) { return function() { return list.item(index); }; }; -}; +} diff --git a/src/Web/DOM/Document.js b/src/Web/DOM/Document.js index 733d713..eb1d117 100644 --- a/src/Web/DOM/Document.js +++ b/src/Web/DOM/Document.js @@ -8,25 +8,24 @@ var getEffProp = function (name) { }; }; -exports.url = getEffProp("URL"); -exports.documentURI = getEffProp("documentURI"); -exports.origin = getEffProp("origin"); -exports.compatMode = getEffProp("compatMode"); -exports.characterSet = getEffProp("characterSet"); -exports.contentType = getEffProp("contentType"); +export var url = getEffProp("URL"); +export var documentURI = getEffProp("documentURI"); +export var origin = getEffProp("origin"); +export var compatMode = getEffProp("compatMode"); +export var characterSet = getEffProp("characterSet"); +export var contentType = getEffProp("contentType"); +export var _doctype = getEffProp("doctype"); +export var _documentElement = getEffProp("documentElement"); -exports._doctype = getEffProp("doctype"); -exports._documentElement = getEffProp("documentElement"); - -exports.getElementsByTagName = function (localName) { +export function getElementsByTagName(localName) { return function (doc) { return function () { return doc.getElementsByTagName(localName); }; }; -}; +} -exports._getElementsByTagNameNS = function (ns) { +export function _getElementsByTagNameNS(ns) { return function (localName) { return function (doc) { return function () { @@ -34,25 +33,25 @@ exports._getElementsByTagNameNS = function (ns) { }; }; }; -}; +} -exports.getElementsByClassName = function (classNames) { +export function getElementsByClassName(classNames) { return function (doc) { return function () { return doc.getElementsByClassName(classNames); }; }; -}; +} -exports.createElement = function (localName) { +export function createElement(localName) { return function (doc) { return function () { return doc.createElement(localName); }; }; -}; +} -exports._createElementNS = function (ns) { +export function _createElementNS(ns) { return function (qualifiedName) { return function (doc) { return function () { @@ -60,31 +59,31 @@ exports._createElementNS = function (ns) { }; }; }; -}; +} -exports.createDocumentFragment = function (doc) { +export function createDocumentFragment(doc) { return function () { return doc.createDocumentFragment(); }; -}; +} -exports.createTextNode = function (data) { +export function createTextNode(data) { return function (doc) { return function () { return doc.createTextNode(data); }; }; -}; +} -exports.createComment = function (data) { +export function createComment(data) { return function (doc) { return function () { return doc.createComment(data); }; }; -}; +} -exports.createProcessingInstruction = function (target) { +export function createProcessingInstruction(target) { return function (data) { return function (doc) { return function () { @@ -92,9 +91,9 @@ exports.createProcessingInstruction = function (target) { }; }; }; -}; +} -exports.importNode = function (node) { +export function importNode(node) { return function (deep) { return function (doc) { return function () { @@ -102,12 +101,12 @@ exports.importNode = function (node) { }; }; }; -}; +} -exports.adoptNode = function (node) { +export function adoptNode(node) { return function (doc) { return function () { return doc.adoptNode(node); }; }; -}; +} diff --git a/src/Web/DOM/DocumentType.js b/src/Web/DOM/DocumentType.js index 890ad58..a58a5a7 100644 --- a/src/Web/DOM/DocumentType.js +++ b/src/Web/DOM/DocumentType.js @@ -6,6 +6,6 @@ var getProp = function (name) { }; }; -exports.name = getProp("name"); -exports.publicId = getProp("publicId"); -exports.systemId = getProp("systemId"); +export var name = getProp("name"); +export var publicId = getProp("publicId"); +export var systemId = getProp("systemId"); diff --git a/src/Web/DOM/Element.js b/src/Web/DOM/Element.js index d8ee8eb..490b13d 100644 --- a/src/Web/DOM/Element.js +++ b/src/Web/DOM/Element.js @@ -6,54 +6,54 @@ var getProp = function (name) { }; }; -exports._namespaceURI = getProp("namespaceURI"); -exports._prefix = getProp("prefix"); -exports.localName = getProp("localName"); -exports.tagName = getProp("tagName"); +export var _namespaceURI = getProp("namespaceURI"); +export var _prefix = getProp("prefix"); +export var localName = getProp("localName"); +export var tagName = getProp("tagName"); -exports.id = function (node) { +export function id(node) { return function () { return node.id; }; -}; +} -exports.setId = function (id) { +export function setId(id) { return function (node) { return function () { node.id = id; }; }; -}; +} -exports.className = function (node) { +export function className(node) { return function () { return node.className; }; -}; +} -exports.classList = function (element) { +export function classList(element) { return function () { return element.classList; }; -}; +} -exports.setClassName = function (className) { +export function setClassName(className) { return function (node) { return function () { node.className = className; }; }; -}; +} -exports.getElementsByTagName = function (localName) { +export function getElementsByTagName(localName) { return function (doc) { return function () { return doc.getElementsByTagName(localName); }; }; -}; +} -exports._getElementsByTagNameNS = function (ns) { +export function _getElementsByTagNameNS(ns) { return function (localName) { return function (doc) { return function () { @@ -61,17 +61,17 @@ exports._getElementsByTagNameNS = function (ns) { }; }; }; -}; +} -exports.getElementsByClassName = function (classNames) { +export function getElementsByClassName(classNames) { return function (doc) { return function () { return doc.getElementsByClassName(classNames); }; }; -}; +} -exports.setAttribute = function (name) { +export function setAttribute(name) { return function (value) { return function (element) { return function () { @@ -79,118 +79,118 @@ exports.setAttribute = function (name) { }; }; }; -}; +} -exports._getAttribute = function (name) { +export function _getAttribute(name) { return function (element) { return function () { return element.getAttribute(name); }; }; -}; +} -exports.hasAttribute = function(name) { +export function hasAttribute(name) { return function (element) { return function () { return element.hasAttribute(name); }; }; -}; +} -exports.removeAttribute = function (name) { +export function removeAttribute(name) { return function (element) { return function () { element.removeAttribute(name); }; }; -}; +} -exports.matches = function (selector) { +export function matches(selector) { return function(element) { return function () { return element.matches(selector); }; }; -}; +} -exports._closest = function (selector) { +export function _closest(selector) { return function(element) { return function () { return element.closest(selector); }; }; -}; +} // - CSSOM --------------------------------------------------------------------- -exports.scrollTop = function (node) { +export function scrollTop(node) { return function () { return node.scrollTop; }; -}; +} -exports.setScrollTop = function (scrollTop) { +export function setScrollTop(scrollTop) { return function (node) { return function () { node.scrollTop = scrollTop; }; }; -}; +} -exports.scrollLeft = function (node) { +export function scrollLeft(node) { return function () { return node.scrollLeft; }; -}; +} -exports.setScrollLeft = function (scrollLeft) { +export function setScrollLeft(scrollLeft) { return function (node) { return function () { node.scrollLeft = scrollLeft; }; }; -}; +} -exports.scrollWidth = function (el) { +export function scrollWidth(el) { return function () { return el.scrollWidth; }; -}; +} -exports.scrollHeight = function (el) { +export function scrollHeight(el) { return function () { return el.scrollHeight; }; -}; +} -exports.clientTop = function (el) { +export function clientTop(el) { return function () { return el.clientTop; }; -}; +} -exports.clientLeft = function (el) { +export function clientLeft(el) { return function () { return el.clientLeft; }; -}; +} -exports.clientWidth = function (el) { +export function clientWidth(el) { return function () { return el.clientWidth; }; -}; +} -exports.clientHeight = function (el) { +export function clientHeight(el) { return function () { return el.clientHeight; }; -}; +} -exports._attachShadow = function(props) { +export function _attachShadow(props) { return function (el) { return function() { return el.attachShadow(props); }; }; -}; +} diff --git a/src/Web/DOM/HTMLCollection.js b/src/Web/DOM/HTMLCollection.js index 84a1068..f284d3d 100644 --- a/src/Web/DOM/HTMLCollection.js +++ b/src/Web/DOM/HTMLCollection.js @@ -1,29 +1,29 @@ "use strict"; -exports.length = function (list) { +export function length(list) { return function () { return list.length; }; -}; +} -exports.toArray = function (list) { +export function toArray(list) { return function () { return [].slice.call(list); }; -}; +} -exports._item = function (index) { +export function _item(index) { return function (list) { return function () { return list.item(index); }; }; -}; +} -exports._namedItem = function (name) { +export function _namedItem(name) { return function (list) { return function () { return list.namedItem(name); }; }; -}; +} diff --git a/src/Web/DOM/MutationObserver.js b/src/Web/DOM/MutationObserver.js index 29523b5..d4e7d2e 100644 --- a/src/Web/DOM/MutationObserver.js +++ b/src/Web/DOM/MutationObserver.js @@ -1,14 +1,14 @@ "use strict"; -exports.mutationObserver = function (cb) { +export function mutationObserver(cb) { return function () { return new MutationObserver(function (mr, mo) { return cb(mr)(mo)(); }); }; -}; +} -exports._observe = function (node) { +export function _observe(node) { return function (config) { return function (mo) { return function () { @@ -16,16 +16,16 @@ exports._observe = function (node) { }; }; }; -}; +} -exports.disconnect = function (mo) { +export function disconnect(mo) { return function () { return mo.disconnect(); }; -}; +} -exports.takeRecords = function (mo) { +export function takeRecords(mo) { return function () { return mo.takeRecords(); }; -}; +} diff --git a/src/Web/DOM/MutationRecord.js b/src/Web/DOM/MutationRecord.js index 8840546..c0a1988 100644 --- a/src/Web/DOM/MutationRecord.js +++ b/src/Web/DOM/MutationRecord.js @@ -1,55 +1,55 @@ "use strict"; -exports.typeString = function (mr) { +export function typeString(mr) { return function () { return mr.type; }; -}; +} -exports.target = function (mr) { +export function target(mr) { return function () { return mr.target; }; -}; +} -exports.addedNodes = function (mr) { +export function addedNodes(mr) { return function () { return mr.addedNodes; }; -}; +} -exports.removedNodes = function (mr) { +export function removedNodes(mr) { return function () { return mr.removedNodes; }; -}; +} -exports._nextSibling = function (mr) { +export function _nextSibling(mr) { return function () { return mr.nextSibling; }; -}; +} -exports._previousSibling = function (mr) { +export function _previousSibling(mr) { return function () { return mr.previousSibling; }; -}; +} -exports._attributeName = function (mr) { +export function _attributeName(mr) { return function () { return mr.attributeName; }; -}; +} -exports._attributeNamespace = function (mr) { +export function _attributeNamespace(mr) { return function () { return mr.attributeNamespace; }; -}; +} -exports._oldValue = function (mr) { +export function _oldValue(mr) { return function () { return mr.oldValue; }; -}; +} diff --git a/src/Web/DOM/Node.js b/src/Web/DOM/Node.js index 9a35b57..6a8d1f5 100644 --- a/src/Web/DOM/Node.js +++ b/src/Web/DOM/Node.js @@ -8,125 +8,117 @@ var getEffProp = function (name) { }; }; -exports.nodeTypeIndex = function (node) { +export function nodeTypeIndex(node) { return node.nodeType; -}; +} -exports.nodeName = function (node) { +export function nodeName(node) { return node.nodeName; -}; - -exports.baseURI = getEffProp("baseURI"); - -exports._ownerDocument = getEffProp("ownerDocument"); +} -exports._parentNode = getEffProp("parentNode"); +export var baseURI = getEffProp("baseURI"); +export var _ownerDocument = getEffProp("ownerDocument"); +export var _parentNode = getEffProp("parentNode"); +export var _parentElement = getEffProp("parentElement"); -exports._parentElement = getEffProp("parentElement"); - -exports.hasChildNodes = function (node) { +export function hasChildNodes(node) { return function () { return node.hasChildNodes(); }; -}; - -exports.childNodes = getEffProp("childNodes"); +} -exports._firstChild = getEffProp("firstChild"); +export var childNodes = getEffProp("childNodes"); +export var _firstChild = getEffProp("firstChild"); +export var _lastChild = getEffProp("lastChild"); +export var _previousSibling = getEffProp("previousSibling"); +export var _nextSibling = getEffProp("nextSibling"); +export var _nodeValue = getEffProp("nodeValue"); -exports._lastChild = getEffProp("lastChild"); - -exports._previousSibling = getEffProp("previousSibling"); - -exports._nextSibling = getEffProp("nextSibling"); - -exports._nodeValue = getEffProp("nodeValue"); - -exports.setNodeValue = function (value) { +export function setNodeValue(value) { return function (node) { return function () { node.nodeValue = value; }; }; -}; +} -exports.textContent = getEffProp("textContent"); +export var textContent = getEffProp("textContent"); -exports.setTextContent = function (value) { +export function setTextContent(value) { return function (node) { return function () { node.textContent = value; }; }; -}; +} -exports.normalize = function (node) { +export function normalize(node) { return function () { node.normalize(); }; -}; +} -exports.clone = function (node) { +export function clone(node) { return function () { return node.cloneNode(false); }; -}; +} -exports.deepClone = function (node) { +export function deepClone(node) { return function () { return node.cloneNode(true); }; -}; +} -exports.isEqualNode = function (node1) { +export function isEqualNode(node1) { return function (node2) { return function () { return node1.isEqualNode(node2); }; }; -}; +} -exports.compareDocumentPositionBits = function (node1) { +export function compareDocumentPositionBits(node1) { return function (node2) { return function () { return node1.compareDocumentPosition(node2); }; }; -}; +} -exports.contains = function (node1) { +export function contains(node1) { return function (node2) { return function () { return node1.contains(node2); }; }; -}; +} -exports._lookupPrefix = function (prefix) { +export function _lookupPrefix(prefix) { return function (node) { return function () { return node.lookupPrefix(prefix); }; }; -}; +} -exports._lookupNamespaceURI = function (ns) { +export function _lookupNamespaceURI(ns) { return function (node) { return function () { return node.lookupNamespaceURI(ns); }; }; -}; +} -exports.isDefaultNamespace = function (ns) { +export function isDefaultNamespace(ns) { return function (node) { return function () { return node.isDefaultNamespace(ns); }; }; -}; +} -exports.insertBefore = function (node1) { +export function insertBefore(node1) { return function (node2) { return function (parent) { return function () { @@ -134,17 +126,17 @@ exports.insertBefore = function (node1) { }; }; }; -}; +} -exports.appendChild = function (node) { +export function appendChild(node) { return function (parent) { return function () { parent.appendChild(node); }; }; -}; +} -exports.replaceChild = function (newChild) { +export function replaceChild(newChild) { return function (oldChild) { return function (parent) { return function () { @@ -152,12 +144,12 @@ exports.replaceChild = function (newChild) { }; }; }; -}; +} -exports.removeChild = function (node) { +export function removeChild(node) { return function (parent) { return function () { parent.removeChild(node); }; }; -}; +} diff --git a/src/Web/DOM/NodeList.js b/src/Web/DOM/NodeList.js index 5067a08..ff28741 100644 --- a/src/Web/DOM/NodeList.js +++ b/src/Web/DOM/NodeList.js @@ -1,21 +1,21 @@ "use strict"; -exports.length = function (list) { +export function length(list) { return function () { return list.length; }; -}; +} -exports.toArray = function (list) { +export function toArray(list) { return function () { return [].slice.call(list); }; -}; +} -exports._item = function (index) { +export function _item(index) { return function (list) { return function () { return list.item(index); }; }; -}; +} diff --git a/src/Web/DOM/NonDocumentTypeChildNode.js b/src/Web/DOM/NonDocumentTypeChildNode.js index cf0387d..3f692bd 100644 --- a/src/Web/DOM/NonDocumentTypeChildNode.js +++ b/src/Web/DOM/NonDocumentTypeChildNode.js @@ -1,13 +1,13 @@ "use strict"; -exports._previousElementSibling = function (node) { +export function _previousElementSibling(node) { return function () { return node.previousElementSibling; }; -}; +} -exports._nextElementSibling = function (node) { +export function _nextElementSibling(node) { return function () { return node.nextElementSibling; }; -}; +} diff --git a/src/Web/DOM/NonElementParentNode.js b/src/Web/DOM/NonElementParentNode.js index 9ee9583..5d7b9bb 100644 --- a/src/Web/DOM/NonElementParentNode.js +++ b/src/Web/DOM/NonElementParentNode.js @@ -1,9 +1,9 @@ "use strict"; -exports._getElementById = function (id) { +export function _getElementById(id) { return function (node) { return function () { return node.getElementById(id); }; }; -}; +} diff --git a/src/Web/DOM/ParentNode.js b/src/Web/DOM/ParentNode.js index db149e9..267cf44 100644 --- a/src/Web/DOM/ParentNode.js +++ b/src/Web/DOM/ParentNode.js @@ -8,26 +8,23 @@ var getEffProp = function (name) { }; }; -exports.children = getEffProp("children"); +export var children = getEffProp("children"); +export var _firstElementChild = getEffProp("firstElementChild"); +export var _lastElementChild = getEffProp("lastElementChild"); +export var childElementCount = getEffProp("childElementCount"); -exports._firstElementChild = getEffProp("firstElementChild"); - -exports._lastElementChild = getEffProp("lastElementChild"); - -exports.childElementCount = getEffProp("childElementCount"); - -exports._querySelector = function (selector) { +export function _querySelector(selector) { return function (node) { return function () { return node.querySelector(selector); }; }; -}; +} -exports.querySelectorAll = function (selector) { +export function querySelectorAll(selector) { return function (node) { return function () { return node.querySelectorAll(selector); }; }; -}; +} diff --git a/src/Web/DOM/ProcessingInstruction.js b/src/Web/DOM/ProcessingInstruction.js index 0984961..9f23ac6 100644 --- a/src/Web/DOM/ProcessingInstruction.js +++ b/src/Web/DOM/ProcessingInstruction.js @@ -1,7 +1,7 @@ "use strict"; -exports.target = function (pi) { +export function target(pi) { return function () { return pi.target; }; -}; +} diff --git a/src/Web/DOM/ShadowRoot.js b/src/Web/DOM/ShadowRoot.js index 24a0cba..b875246 100644 --- a/src/Web/DOM/ShadowRoot.js +++ b/src/Web/DOM/ShadowRoot.js @@ -1,11 +1,11 @@ "use strict"; -exports._mode = function (el) { +export function _mode(el) { return el.mode; -}; +} -exports.host = function (el) { +export function host(el) { return function() { return el.host; }; -}; +} diff --git a/src/Web/DOM/Text.js b/src/Web/DOM/Text.js index 8b4c1cf..c7b3c84 100644 --- a/src/Web/DOM/Text.js +++ b/src/Web/DOM/Text.js @@ -1,15 +1,15 @@ "use strict"; -exports.splitText = function (offset) { +export function splitText(offset) { return function (t) { return function () { return t.splitText(offset); }; }; -}; +} -exports.wholeText = function (t) { +export function wholeText(t) { return function () { return t.wholeText; }; -}; +} From 33584eec84eba53954aa22ec14d858aab1b63686 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:04:30 -0500 Subject: [PATCH 02/10] Replaced 'export var' with 'export const' --- src/Web/DOM/Document.js | 16 ++++++++-------- src/Web/DOM/DocumentType.js | 6 +++--- src/Web/DOM/Element.js | 8 ++++---- src/Web/DOM/Node.js | 22 +++++++++++----------- src/Web/DOM/ParentNode.js | 8 ++++---- 5 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/Web/DOM/Document.js b/src/Web/DOM/Document.js index eb1d117..919f06f 100644 --- a/src/Web/DOM/Document.js +++ b/src/Web/DOM/Document.js @@ -8,14 +8,14 @@ var getEffProp = function (name) { }; }; -export var url = getEffProp("URL"); -export var documentURI = getEffProp("documentURI"); -export var origin = getEffProp("origin"); -export var compatMode = getEffProp("compatMode"); -export var characterSet = getEffProp("characterSet"); -export var contentType = getEffProp("contentType"); -export var _doctype = getEffProp("doctype"); -export var _documentElement = getEffProp("documentElement"); +export const url = getEffProp("URL"); +export const documentURI = getEffProp("documentURI"); +export const origin = getEffProp("origin"); +export const compatMode = getEffProp("compatMode"); +export const characterSet = getEffProp("characterSet"); +export const contentType = getEffProp("contentType"); +export const _doctype = getEffProp("doctype"); +export const _documentElement = getEffProp("documentElement"); export function getElementsByTagName(localName) { return function (doc) { diff --git a/src/Web/DOM/DocumentType.js b/src/Web/DOM/DocumentType.js index a58a5a7..73e499d 100644 --- a/src/Web/DOM/DocumentType.js +++ b/src/Web/DOM/DocumentType.js @@ -6,6 +6,6 @@ var getProp = function (name) { }; }; -export var name = getProp("name"); -export var publicId = getProp("publicId"); -export var systemId = getProp("systemId"); +export const name = getProp("name"); +export const publicId = getProp("publicId"); +export const systemId = getProp("systemId"); diff --git a/src/Web/DOM/Element.js b/src/Web/DOM/Element.js index 490b13d..0ad563a 100644 --- a/src/Web/DOM/Element.js +++ b/src/Web/DOM/Element.js @@ -6,10 +6,10 @@ var getProp = function (name) { }; }; -export var _namespaceURI = getProp("namespaceURI"); -export var _prefix = getProp("prefix"); -export var localName = getProp("localName"); -export var tagName = getProp("tagName"); +export const _namespaceURI = getProp("namespaceURI"); +export const _prefix = getProp("prefix"); +export const localName = getProp("localName"); +export const tagName = getProp("tagName"); export function id(node) { return function () { diff --git a/src/Web/DOM/Node.js b/src/Web/DOM/Node.js index 6a8d1f5..ee9b872 100644 --- a/src/Web/DOM/Node.js +++ b/src/Web/DOM/Node.js @@ -16,10 +16,10 @@ export function nodeName(node) { return node.nodeName; } -export var baseURI = getEffProp("baseURI"); -export var _ownerDocument = getEffProp("ownerDocument"); -export var _parentNode = getEffProp("parentNode"); -export var _parentElement = getEffProp("parentElement"); +export const baseURI = getEffProp("baseURI"); +export const _ownerDocument = getEffProp("ownerDocument"); +export const _parentNode = getEffProp("parentNode"); +export const _parentElement = getEffProp("parentElement"); export function hasChildNodes(node) { return function () { @@ -27,12 +27,12 @@ export function hasChildNodes(node) { }; } -export var childNodes = getEffProp("childNodes"); -export var _firstChild = getEffProp("firstChild"); -export var _lastChild = getEffProp("lastChild"); -export var _previousSibling = getEffProp("previousSibling"); -export var _nextSibling = getEffProp("nextSibling"); -export var _nodeValue = getEffProp("nodeValue"); +export const childNodes = getEffProp("childNodes"); +export const _firstChild = getEffProp("firstChild"); +export const _lastChild = getEffProp("lastChild"); +export const _previousSibling = getEffProp("previousSibling"); +export const _nextSibling = getEffProp("nextSibling"); +export const _nodeValue = getEffProp("nodeValue"); export function setNodeValue(value) { return function (node) { @@ -42,7 +42,7 @@ export function setNodeValue(value) { }; } -export var textContent = getEffProp("textContent"); +export const textContent = getEffProp("textContent"); export function setTextContent(value) { return function (node) { diff --git a/src/Web/DOM/ParentNode.js b/src/Web/DOM/ParentNode.js index 267cf44..9ffb8d0 100644 --- a/src/Web/DOM/ParentNode.js +++ b/src/Web/DOM/ParentNode.js @@ -8,10 +8,10 @@ var getEffProp = function (name) { }; }; -export var children = getEffProp("children"); -export var _firstElementChild = getEffProp("firstElementChild"); -export var _lastElementChild = getEffProp("lastElementChild"); -export var childElementCount = getEffProp("childElementCount"); +export const children = getEffProp("children"); +export const _firstElementChild = getEffProp("firstElementChild"); +export const _lastElementChild = getEffProp("lastElementChild"); +export const childElementCount = getEffProp("childElementCount"); export function _querySelector(selector) { return function (node) { From 01173eaa0a15a201e7ffab73863770dde711c768 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:04:30 -0500 Subject: [PATCH 03/10] Removed '"use strict";' in FFI files --- src/Web/DOM/CharacterData.js | 2 -- src/Web/DOM/ChildNode.js | 2 -- src/Web/DOM/DOMTokenList.js | 2 -- src/Web/DOM/Document.js | 2 -- src/Web/DOM/DocumentType.js | 2 -- src/Web/DOM/Element.js | 2 -- src/Web/DOM/HTMLCollection.js | 2 -- src/Web/DOM/MutationObserver.js | 2 -- src/Web/DOM/MutationRecord.js | 2 -- src/Web/DOM/Node.js | 2 -- src/Web/DOM/NodeList.js | 2 -- src/Web/DOM/NonDocumentTypeChildNode.js | 2 -- src/Web/DOM/NonElementParentNode.js | 2 -- src/Web/DOM/ParentNode.js | 2 -- src/Web/DOM/ProcessingInstruction.js | 2 -- src/Web/DOM/ShadowRoot.js | 2 -- src/Web/DOM/Text.js | 2 -- 17 files changed, 34 deletions(-) diff --git a/src/Web/DOM/CharacterData.js b/src/Web/DOM/CharacterData.js index 1eede77..35bdb8b 100644 --- a/src/Web/DOM/CharacterData.js +++ b/src/Web/DOM/CharacterData.js @@ -1,5 +1,3 @@ -"use strict"; - export function data_(t) { return function () { return t.data; diff --git a/src/Web/DOM/ChildNode.js b/src/Web/DOM/ChildNode.js index 7bfd71d..01d7933 100644 --- a/src/Web/DOM/ChildNode.js +++ b/src/Web/DOM/ChildNode.js @@ -1,5 +1,3 @@ -"use strict"; - export function remove(node) { return function () { return node.remove(); diff --git a/src/Web/DOM/DOMTokenList.js b/src/Web/DOM/DOMTokenList.js index ec28607..78b6ba8 100644 --- a/src/Web/DOM/DOMTokenList.js +++ b/src/Web/DOM/DOMTokenList.js @@ -1,5 +1,3 @@ -"use strict"; - export function add(list) { return function(token) { return function() { diff --git a/src/Web/DOM/Document.js b/src/Web/DOM/Document.js index 919f06f..405f97b 100644 --- a/src/Web/DOM/Document.js +++ b/src/Web/DOM/Document.js @@ -1,5 +1,3 @@ -"use strict"; - var getEffProp = function (name) { return function (doc) { return function () { diff --git a/src/Web/DOM/DocumentType.js b/src/Web/DOM/DocumentType.js index 73e499d..deed260 100644 --- a/src/Web/DOM/DocumentType.js +++ b/src/Web/DOM/DocumentType.js @@ -1,5 +1,3 @@ -"use strict"; - var getProp = function (name) { return function (doctype) { return doctype[name]; diff --git a/src/Web/DOM/Element.js b/src/Web/DOM/Element.js index 0ad563a..96b1dde 100644 --- a/src/Web/DOM/Element.js +++ b/src/Web/DOM/Element.js @@ -1,5 +1,3 @@ -"use strict"; - var getProp = function (name) { return function (doctype) { return doctype[name]; diff --git a/src/Web/DOM/HTMLCollection.js b/src/Web/DOM/HTMLCollection.js index f284d3d..46b9689 100644 --- a/src/Web/DOM/HTMLCollection.js +++ b/src/Web/DOM/HTMLCollection.js @@ -1,5 +1,3 @@ -"use strict"; - export function length(list) { return function () { return list.length; diff --git a/src/Web/DOM/MutationObserver.js b/src/Web/DOM/MutationObserver.js index d4e7d2e..d6330d3 100644 --- a/src/Web/DOM/MutationObserver.js +++ b/src/Web/DOM/MutationObserver.js @@ -1,5 +1,3 @@ -"use strict"; - export function mutationObserver(cb) { return function () { return new MutationObserver(function (mr, mo) { diff --git a/src/Web/DOM/MutationRecord.js b/src/Web/DOM/MutationRecord.js index c0a1988..e39c902 100644 --- a/src/Web/DOM/MutationRecord.js +++ b/src/Web/DOM/MutationRecord.js @@ -1,5 +1,3 @@ -"use strict"; - export function typeString(mr) { return function () { return mr.type; diff --git a/src/Web/DOM/Node.js b/src/Web/DOM/Node.js index ee9b872..166b358 100644 --- a/src/Web/DOM/Node.js +++ b/src/Web/DOM/Node.js @@ -1,5 +1,3 @@ -"use strict"; - var getEffProp = function (name) { return function (node) { return function () { diff --git a/src/Web/DOM/NodeList.js b/src/Web/DOM/NodeList.js index ff28741..4c76cb5 100644 --- a/src/Web/DOM/NodeList.js +++ b/src/Web/DOM/NodeList.js @@ -1,5 +1,3 @@ -"use strict"; - export function length(list) { return function () { return list.length; diff --git a/src/Web/DOM/NonDocumentTypeChildNode.js b/src/Web/DOM/NonDocumentTypeChildNode.js index 3f692bd..3567560 100644 --- a/src/Web/DOM/NonDocumentTypeChildNode.js +++ b/src/Web/DOM/NonDocumentTypeChildNode.js @@ -1,5 +1,3 @@ -"use strict"; - export function _previousElementSibling(node) { return function () { return node.previousElementSibling; diff --git a/src/Web/DOM/NonElementParentNode.js b/src/Web/DOM/NonElementParentNode.js index 5d7b9bb..7a8763d 100644 --- a/src/Web/DOM/NonElementParentNode.js +++ b/src/Web/DOM/NonElementParentNode.js @@ -1,5 +1,3 @@ -"use strict"; - export function _getElementById(id) { return function (node) { return function () { diff --git a/src/Web/DOM/ParentNode.js b/src/Web/DOM/ParentNode.js index 9ffb8d0..3989e0b 100644 --- a/src/Web/DOM/ParentNode.js +++ b/src/Web/DOM/ParentNode.js @@ -1,5 +1,3 @@ -"use strict"; - var getEffProp = function (name) { return function (node) { return function () { diff --git a/src/Web/DOM/ProcessingInstruction.js b/src/Web/DOM/ProcessingInstruction.js index 9f23ac6..548e19e 100644 --- a/src/Web/DOM/ProcessingInstruction.js +++ b/src/Web/DOM/ProcessingInstruction.js @@ -1,5 +1,3 @@ -"use strict"; - export function target(pi) { return function () { return pi.target; diff --git a/src/Web/DOM/ShadowRoot.js b/src/Web/DOM/ShadowRoot.js index b875246..43c0dc1 100644 --- a/src/Web/DOM/ShadowRoot.js +++ b/src/Web/DOM/ShadowRoot.js @@ -1,5 +1,3 @@ -"use strict"; - export function _mode(el) { return el.mode; } diff --git a/src/Web/DOM/Text.js b/src/Web/DOM/Text.js index c7b3c84..aae3ceb 100644 --- a/src/Web/DOM/Text.js +++ b/src/Web/DOM/Text.js @@ -1,5 +1,3 @@ -"use strict"; - export function splitText(offset) { return function (t) { return function () { From b8ae38c2d5449e86d6ea1c4d117de027d7d44a6c Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:04:30 -0500 Subject: [PATCH 04/10] Update to CI to use 'unstable' purescript --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 063845e..f5a96fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,8 @@ jobs: - uses: actions/checkout@v2 - uses: purescript-contrib/setup-purescript@main + with: + purescript: "unstable" - uses: actions/setup-node@v1 with: From a9cc3178623875f16eb07f8b77cd0943c0e5dc4f Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:04:30 -0500 Subject: [PATCH 05/10] Update Bower dependencies to master or main --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index bd5bfbb..6da150a 100644 --- a/bower.json +++ b/bower.json @@ -15,6 +15,6 @@ "package.json" ], "dependencies": { - "purescript-web-events": "^3.0.0" + "purescript-web-events": "master" } } From 77943aae05ce3e34f86e6ac0b5c9f77817e767ed Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:04:31 -0500 Subject: [PATCH 06/10] Update pulp to 16.0.0-0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1c67b54..18136bd 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ }, "devDependencies": { "eslint": "^7.15.0", - "pulp": "^15.0.0", + "pulp": "16.0.0-0", "purescript-psa": "^0.8.0", "rimraf": "^3.0.2" } From 290955000c83bc84dabed53b2179081193f7af33 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:04:31 -0500 Subject: [PATCH 07/10] Update psa to 0.8.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 18136bd..4ea39f9 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "devDependencies": { "eslint": "^7.15.0", "pulp": "16.0.0-0", - "purescript-psa": "^0.8.0", + "purescript-psa": "^0.8.2", "rimraf": "^3.0.2" } } From 321409798c0fe5707df3a02e45769ab9699df96c Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:34:43 -0500 Subject: [PATCH 08/10] Update .eslintrc.json to ES6 --- .eslintrc.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index cb9c786..3a97d05 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,10 +1,10 @@ { "parserOptions": { - "ecmaVersion": 5 + "ecmaVersion": 6, + "sourceType": "module" }, "extends": "eslint:recommended", "env": { - "commonjs": true, "browser": true }, "rules": { From 09a691c82051a102fa1f97cd4b3391849bd3e9b2 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:35:53 -0500 Subject: [PATCH 09/10] Added changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f819a2d..261cac6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Notable changes to this project are documented in this file. The format is based ## [Unreleased] Breaking changes: +- Migrate FFI to ES modules (#51 by @JordanMartinez) New features: From 31ee10a396cf6a188f3f7b780adc0cf8740c328a Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 22 Mar 2022 15:40:10 -0500 Subject: [PATCH 10/10] Update CI to use node 14 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f5a96fe..06ed895 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,9 +16,9 @@ jobs: with: purescript: "unstable" - - uses: actions/setup-node@v1 + - uses: actions/setup-node@v2 with: - node-version: "10" + node-version: "14" - name: Install dependencies run: |