MCPcopy Create free account
hub / github.com/postlight/parser / findMatchingSelector

Function findMatchingSelector

src/extractors/root-extractor.js:42–66  ·  view source on GitHub ↗
($, selectors, extractHtml, allowMultiple)

Source from the content-addressed store, hash-verified

40}
41
42function findMatchingSelector($, selectors, extractHtml, allowMultiple) {
43 return selectors.find(selector => {
44 if (Array.isArray(selector)) {
45 if (extractHtml) {
46 return selector.reduce((acc, s) => acc && $(s).length > 0, true);
47 }
48
49 const [s, attr] = selector;
50 return (
51 (allowMultiple || (!allowMultiple && $(s).length === 1)) &&
52 $(s).attr(attr) &&
53 $(s)
54 .attr(attr)
55 .trim() !== ''
56 );
57 }
58
59 return (
60 (allowMultiple || (!allowMultiple && $(selector).length === 1)) &&
61 $(selector)
62 .text()
63 .trim() !== ''
64 );
65 });
66}
67
68export function select(opts) {
69 const { $, type, extractionOpts, extractHtml = false } = opts;

Callers 1

selectFunction · 0.85

Calls 1

$Function · 0.85

Tested by

no test coverage detected