Query examples - shuckster/viddy GitHub Wiki

viddy 🍊 docs

import { viddy, viddyWell } from 'viddy'

Query examples

// Get the most likely match (or undefined
// if nothing found)
viddy.for({
  pattern: /regexp/,
  above: { pattern: 'title' }
})

viddy.for({
  selector: 'p > a',
  below: { pattern: /regexp/ }
})

// Except for `selector` and `pickParent`,
// a string or RegExp implies { pattern }
viddy.for('text')
viddy.for(/regex/)
viddy.for('text', { leftOf: 'title' })
viddy.for('text', { rightOf: /regexp/ })
viddy.for('text', { containedBy: { selector: 'p' } })

// Return an ancestor using `pickParent`:
viddy.for('text', { pickParent: 'button' })
// body > button > span with "text"
//        \__returns the button

// Combos!
viddy.for('text', {
  near: 'this',
  containedBy: {
    selector: 'p',
    below: ['that', { near: 'title' }]
  },
  pickParent: 'p'
})