# type

Type:

\<string\> \| \<string\[\]\>

\
Default: 'auto'\
Values:

'audio' \| 'author' \| 'auto' \| 'boolean' \| 'date' \| 'description' \| 'email' \| 'image' \| 'ip' \| 'lang' \| 'logo' \| 'number' \| 'object' \| 'publisher' \| 'regexp' \| 'string' \| 'title' \| 'url' \| 'video'

It defines how the value extracted should be considered.

    const mql = require('@microlink/mql')

    const productHunt = id =>
      mql(`https://www.producthunt.com/posts/${id}`, {
        data: {
          name: {
            selector: 'h1 a',
            attr: 'text',
            type: 'string'
          },
          upvotes: {
            selector: '.bigButtonCount_10448',
            attr: 'text',
            type: 'string'
          }
        }
      })

    const productSlug = 'microlink-2-0'
    const { data } = await productHunt(productSlug)

    console.log(`'${data.name}' has ${data.upvotes} upvotes`)

The data shape ensures that the extracted value will only be considered as valid when it's of the declared shape.