0.2.0 • Published 3 years ago

urbanup v0.2.0

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
3 years ago

Table of Contents

Introduction

Urbanup is an up-to-date API wrapper for urban dictionary with the aid of axios and ECMAScript 2017's async/await.

Installation

With npm:

$ npm install urbanup

With yarn:

$ yarn add urbanup

Usage

Try me on RunKit

Simply import the library and use whatever endpoint directly:

const urbanup = require('urbanup') // CommonJS
import * as urbanup from "urbanup" // ES6

urbanup(query[, options]).then(r => /* do something */)

Query

To request a page of definitons from urban dictionary:

const urbanup = require('urbanup') // CommonJS
import * as urbanup from "urbanup" // ES6

var query = 'javascript'

var options // Optional library options

urbanup(query, options).then(definitions => console.log(definitions[0])) // Returns an array of matching definitions
// Schema: https://api.urbandictionary.com/v0/define?page=1&term=javascript

urbanup.query(query, options) // The same as urbanup(query, options)

If you would like the API to return only one definition, you can do:

urbanup.one(query, options).then(r => /* do something */)

Random

To request a random page of defintions:

const urbanup = require('urbanup') // CommonJS
import * as urbanup from "urbanup" // ES6

urbanup.random(options).then(def => console.log(def))

// You can also get the first result only:
urbanup.random.one(options).then(def => console.log(def.permalink))

API Options

Additionally, each method allows you to pass in API options to customise your experience a tad more.

var options = {
    // Decide which page to get. Default is 1
    page: 2,
    // Provide your own callback function to be used instead
    cb: (result) => { return result.data.list },
    // Use your own custom user agent. User agent will always default to your Node.js version and OS name if no agent is provided
    agent: 'My Progamme, contact@example.com',
    // Allows you to apply your own axios options whenever axios is used.
    axiosOptions: {
        // Sets a specific amount of time in milliseconds that axios will wait until the requested server responds.
        timeout: 1000 
        // You can find other axios options at https://github.com/axios/axios#request-config
    }
}