parse-microdata
Advanced tools
Comparing version
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const domutils_1 = require("domutils"); | ||
const DOM = require("domutils"); | ||
const is_absolute_url_1 = require("is-absolute-url"); | ||
@@ -15,3 +15,3 @@ const strings_1 = require("./strings"); | ||
visit(node); | ||
const children = domutils_1.default.getChildren(node); | ||
const children = DOM.getChildren(node); | ||
if (children) { | ||
@@ -28,6 +28,6 @@ walk(children, visit); | ||
walk(dom, (node) => { | ||
if (!domutils_1.default.isTag(node)) { | ||
if (!DOM.isTag(node)) { | ||
return; | ||
} | ||
const id = domutils_1.default.getAttributeValue(node, 'id'); | ||
const id = DOM.getAttributeValue(node, 'id'); | ||
if (id && !idMap[id]) { | ||
@@ -46,4 +46,4 @@ idMap[id] = node; | ||
let base = config.base || ''; | ||
const baseElem = domutils_1.default.findOne((elem) => { | ||
return elem.name === 'base' && domutils_1.default.hasAttrib(elem, 'href'); | ||
const baseElem = DOM.findOne((elem) => { | ||
return elem.name === 'base' && DOM.hasAttrib(elem, 'href'); | ||
}, dom); | ||
@@ -69,3 +69,3 @@ if (baseElem) { | ||
} | ||
const children = domutils_1.default.getChildren(node); | ||
const children = DOM.getChildren(node); | ||
if (children) { | ||
@@ -89,7 +89,7 @@ const childItems = _getItems(children, childIsTopLEvel); | ||
memory.push(root); | ||
const children = domutils_1.default.getChildren(root); | ||
const children = DOM.getChildren(root); | ||
if (children) { | ||
pending = pending.concat(children); | ||
} | ||
const itemrefs = (0, strings_1.splitUnique)(domutils_1.default.getAttributeValue(root, 'itemref')); | ||
const itemrefs = (0, strings_1.splitUnique)(DOM.getAttributeValue(root, 'itemref')); | ||
for (const id of itemrefs) { | ||
@@ -104,3 +104,3 @@ if (idMap[id]) { | ||
memory.push(current); | ||
const child = domutils_1.default.getChildren(current); | ||
const child = DOM.getChildren(current); | ||
if (child && !isItem(current)) { | ||
@@ -117,3 +117,3 @@ pending = pending.concat(child); | ||
results.sort((a, b) => { | ||
const order = domutils_1.default.compareDocumentPosition(a, b); | ||
const order = DOM.compareDocumentPosition(a, b); | ||
// https://dom.spec.whatwg.org/#dom-node-comparedocumentposition | ||
@@ -131,3 +131,3 @@ const isPreceding = (order & 2) === 2; | ||
function isItem(element) { | ||
return domutils_1.default.isTag(element) && domutils_1.default.hasAttrib(element, 'itemscope'); | ||
return DOM.isTag(element) && DOM.hasAttrib(element, 'itemscope'); | ||
} | ||
@@ -139,3 +139,3 @@ /** | ||
function isProperty(element) { | ||
return domutils_1.default.isTag(element) && domutils_1.default.hasAttrib(element, 'itemprop'); | ||
return DOM.isTag(element) && DOM.hasAttrib(element, 'itemprop'); | ||
} | ||
@@ -147,3 +147,3 @@ /** | ||
function getItemId(item) { | ||
let id = domutils_1.default.getAttributeValue(item, 'itemid'); | ||
let id = DOM.getAttributeValue(item, 'itemid'); | ||
if (id) { | ||
@@ -165,3 +165,3 @@ id = id.trim(); | ||
function getItemType(item) { | ||
const itemType = domutils_1.default.getAttributeValue(item, 'itemtype'); | ||
const itemType = DOM.getAttributeValue(item, 'itemtype'); | ||
const types = (itemType ? (0, strings_1.splitUnique)(itemType) : []).filter(is_absolute_url_1.default); | ||
@@ -175,6 +175,6 @@ return types; | ||
function getPropertyNames(element) { | ||
if (!domutils_1.default.isTag(element)) { | ||
if (!DOM.isTag(element)) { | ||
return []; | ||
} | ||
const itemProp = domutils_1.default.getAttributeValue(element, 'itemprop'); | ||
const itemProp = DOM.getAttributeValue(element, 'itemprop'); | ||
return itemProp ? (0, strings_1.splitUnique)(itemProp) : []; | ||
@@ -198,6 +198,6 @@ } | ||
function isOneOfTags(element, names) { | ||
if (!domutils_1.default.isTag(element)) { | ||
if (!DOM.isTag(element)) { | ||
return false; | ||
} | ||
const tagname = domutils_1.default.getName(element); | ||
const tagname = DOM.getName(element); | ||
return names.indexOf(tagname) >= 0; | ||
@@ -283,23 +283,23 @@ } | ||
} | ||
if (domutils_1.default.isTag(element)) { | ||
if (domutils_1.default.hasAttrib(element, 'content')) { | ||
return resolveProperty(domutils_1.default.getAttributeValue(element, 'content')); | ||
if (DOM.isTag(element)) { | ||
if (DOM.hasAttrib(element, 'content')) { | ||
return resolveProperty(DOM.getAttributeValue(element, 'content')); | ||
} | ||
if (isOneOfTags(element, srcProperty)) { | ||
return resolveUrlProperty(domutils_1.default.getAttributeValue(element, 'src')); | ||
return resolveUrlProperty(DOM.getAttributeValue(element, 'src')); | ||
} | ||
if (isOneOfTags(element, hrefProperty)) { | ||
return resolveUrlProperty(domutils_1.default.getAttributeValue(element, 'href')); | ||
return resolveUrlProperty(DOM.getAttributeValue(element, 'href')); | ||
} | ||
if (isOneOfTags(element, ['object'])) { | ||
return resolveUrlProperty(domutils_1.default.getAttributeValue(element, 'data')); | ||
return resolveUrlProperty(DOM.getAttributeValue(element, 'data')); | ||
} | ||
if (isOneOfTags(element, ['data', 'meter'])) { | ||
return resolveNumberProperty(domutils_1.default.getAttributeValue(element, 'value')); | ||
return resolveNumberProperty(DOM.getAttributeValue(element, 'value')); | ||
} | ||
if (isOneOfTags(element, ['time'])) { | ||
return resolveDateProperty(domutils_1.default.getAttributeValue(element, 'datetime')); | ||
return resolveDateProperty(DOM.getAttributeValue(element, 'datetime')); | ||
} | ||
} | ||
const value = domutils_1.default.getText(element); | ||
const value = DOM.getText(element); | ||
if (value || strict) { | ||
@@ -306,0 +306,0 @@ return resolveProperty(value); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const htmlparser2_1 = require("htmlparser2"); | ||
const htmlparser2 = require("htmlparser2"); | ||
const is_absolute_url_1 = require("is-absolute-url"); | ||
@@ -14,3 +14,3 @@ const microdataDom_1 = require("./microdataDom"); | ||
const registry = config.registry; | ||
const dom = (0, microdataDom_1.default)((0, htmlparser2_1.parseDOM)(html, { | ||
const dom = (0, microdataDom_1.default)(htmlparser2.parseDOM(html, { | ||
decodeEntities: true, | ||
@@ -17,0 +17,0 @@ }), config); |
{ | ||
"name": "parse-microdata", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Microdata to json and json-ld parser", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
282853
-0.17%