unprint 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -101,6 +101,11 @@ Options:
101
101
 
102
102
  Returns the `src` from an image element (or any other specified target) as a string.
103
103
 
104
+ #### Query a dataset
105
+ `query.dataset(selector, property, [options])` or `query.data()`
106
+
107
+ Return the contents of a `data-` attribute.
108
+
104
109
  #### Query a source set
105
110
  `query.sourceSet([selector], [options])` or `query.srcSet()`
106
111
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unprint",
3
- "version": "0.8.2",
3
+ "version": "0.9.0",
4
4
  "description": "Simplify common web scraping tasks while staying in control of the data.",
5
5
  "main": "src/app.js",
6
6
  "scripts": {
package/src/app.js CHANGED
@@ -177,6 +177,18 @@ function queryAttributes(context, selector, attribute, customOptions) {
177
177
  });
178
178
  }
179
179
 
180
+ function queryDataset(context, selector, dataAttribute, customOptions) {
181
+ const target = queryElement(context, selector, customOptions);
182
+
183
+ return target.dataset[dataAttribute];
184
+ }
185
+
186
+ function queryDatasets(context, selector, dataAttribute, customOptions) {
187
+ const targets = queryElements(context, selector, customOptions);
188
+
189
+ return targets.map((target) => target.dataset[dataAttribute]);
190
+ }
191
+
180
192
  const defaultNumberRegexp = /\d+(\.\d*)?/;
181
193
 
182
194
  function matchNumberString(numberString, match) {
@@ -565,6 +577,10 @@ const queryFns = {
565
577
  attributes: queryAttributes,
566
578
  attr: queryAttribute,
567
579
  attrs: queryAttributes,
580
+ dataset: queryDataset,
581
+ datasets: queryDatasets,
582
+ data: queryDataset,
583
+ datas: queryDatasets,
568
584
  exists: queryExistence,
569
585
  count: queryCount,
570
586
  html: queryHtml,
package/tests/index.html CHANGED
@@ -42,5 +42,8 @@
42
42
  <video id="video" poster="https://i.imgur.com/eDQmLys.jpg"><source src="https://i.imgur.com/eDQmLys.mp4"></video>
43
43
 
44
44
  <script id="json" type="application/js">{"foo": "bar", "lorem": "ipsum", "hello": "world"}</script>
45
+
46
+ <div class="dataset" data-hello="world" data-foo="bar">
47
+ <div class="dataset" data-hello="world" data-foo="bar">
45
48
  </body>
46
49
  </html>
package/tests/init.js CHANGED
@@ -36,6 +36,8 @@ async function initTest() {
36
36
  console.log('count', res.context.query.count('.item'), res.context.query.count('.foo'));
37
37
  console.log('video', res.context.query.video());
38
38
  console.log('poster', res.context.query.poster());
39
+ console.log('dataset', res.context.query.dataset('.dataset', 'foo'));
40
+ console.log('datasets', res.context.query.datasets('.dataset', 'hello'));
39
41
  }
40
42
 
41
43
  async function initServer() {