Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 26 additions & 27 deletions src/Web/DOM/XPath.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use strict";

exports.evaluateInternal = function (xpathExpression) {
export function evaluateInternal(xpathExpression) {
return function (contextNode) {
return function (namespaceResolver) {
return function (resultType) {
Expand All @@ -20,83 +20,82 @@ exports.evaluateInternal = function (xpathExpression) {
};
};
};
};

}

// --- XPathResult functions ---

exports.resultType = function (xpathResult) {
export function resultType(xpathResult) {
return xpathResult.resultType;
};
}

exports.numberValue = function (xpathResult) {
export function numberValue(xpathResult) {
return function () { // Effect thunk
return xpathResult.numberValue;
};
};
}

exports.stringValue = function (xpathResult) {
export function stringValue(xpathResult) {
return function () { // Effect thunk
return xpathResult.stringValue;
};
};
}

exports.booleanValue = function (xpathResult) {
export function booleanValue(xpathResult) {
return function () { // Effect thunk
return xpathResult.booleanValue;
};
};
}

exports.singleNodeValueInternal = function (xpathResult) {
export function singleNodeValueInternal(xpathResult) {
return function () { // Effect thunk
return xpathResult.singleNodeValue;
};
};
}

exports.invalidIteratorState = function (xpathResult) {
export function invalidIteratorState(xpathResult) {
return xpathResult.invalidIteratorState;
};
}

exports.snapshotLengthInternal = function (xpathResult) {
export function snapshotLengthInternal(xpathResult) {
return function () { // Effect thunk
return xpathResult.snapshotLength;
};
};
}

exports.iterateNextInternal = function (xpathResult) {
export function iterateNextInternal(xpathResult) {
return function () { // Effect thunk
return xpathResult.iterateNext();
};
};
}

exports.snapshotItemInternal = function (xpathResult) {
export function snapshotItemInternal(xpathResult) {
return function (index) {
return function () { // Effect thunk
return xpathResult.snapshotItem(index);
};
};
};
}

// --- namespace resolver functions ---

exports.customNSResolver = function (customRes) {
export function customNSResolver(customRes) {
var nsResolver = {
lookupNamespaceURI : customRes
};
return nsResolver;
};
}

exports.createNSResolver = function (nodeResolver) {
export function createNSResolver(nodeResolver) {
return function (doc) {
return doc.createNSResolver(nodeResolver);
};
};
}

exports.lookupNamespaceURIInternal = function (nsResolver) {
export function lookupNamespaceURIInternal(nsResolver) {
return function (prefix) {
return nsResolver.lookupNamespaceURI(prefix);
};
};
}

// exports._makeEmptyDoc = function () { // Effect thunk
// var doc = (new DOMParser()).parseFromString('<dummy/>', 'application/xml');
Expand Down
20 changes: 10 additions & 10 deletions src/Web/DOM/XPath/ResultType.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
"use strict";

exports.any_type = XPathResult.ANY_TYPE;
exports.number_type = XPathResult.NUMBER_TYPE;
exports.string_type = XPathResult.STRING_TYPE;
exports.boolean_type = XPathResult.BOOLEAN_TYPE;
exports.unordered_node_iterator_type = XPathResult.UNORDERED_NODE_ITERATOR_TYPE;
exports.ordered_node_iterator_type = XPathResult.ORDERED_NODE_ITERATOR_TYPE;
exports.unordered_node_snapshot_type = XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE;
exports.ordered_node_snapshot_type = XPathResult.ORDERED_NODE_SNAPSHOT_TYPE;
exports.any_unordered_node_type = XPathResult.ANY_UNORDERED_NODE_TYPE;
exports.first_ordered_node_type = XPathResult.FIRST_ORDERED_NODE_TYPE;
export const any_type = XPathResult.ANY_TYPE;
export const number_type = XPathResult.NUMBER_TYPE;
export const string_type = XPathResult.STRING_TYPE;
export const boolean_type = XPathResult.BOOLEAN_TYPE;
export const unordered_node_iterator_type = XPathResult.UNORDERED_NODE_ITERATOR_TYPE;
export const ordered_node_iterator_type = XPathResult.ORDERED_NODE_ITERATOR_TYPE;
export const unordered_node_snapshot_type = XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE;
export const ordered_node_snapshot_type = XPathResult.ORDERED_NODE_SNAPSHOT_TYPE;
export const any_unordered_node_type = XPathResult.ANY_UNORDERED_NODE_TYPE;
export const first_ordered_node_type = XPathResult.FIRST_ORDERED_NODE_TYPE;

2 changes: 1 addition & 1 deletion test/node.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { JSDOM } = require("jsdom");
import {JSDOM} from "jsdom";
const { XPathResult, DOMParser } = new JSDOM().window;

Object.assign(global, { XPathResult, DOMParser })
Expand Down