@favware/querystring

Awesome and robust querystring

Usage no npm install needed!

<script type="module">
  import favwareQuerystring from 'https://cdn.skypack.dev/@favware/querystring';
</script>

README

logo

@favware/querystring

Querystring that is robust in its working yet remains awesome to TypeScript users

GitHub codecov npm Depfu

Description

NodeJS' Querystring, but then with far stronger safety net.

Key Features

  • Useable in the browser through jsDelivr, unpkg and bundle.run
  • Useable in NodeJS through package manager of choice
  • Typesafe
  • Bundled with Rollup for maximum size reduction (only 1kB minified + gzipped!), ES module support and browser support
  • Generated TypeScript declarations
  • Treeshakeable in Webpack

Install

Install with yarn or npm:

yarn add @favware/querystring

# npm install @favware/querystring

Usage

Stringify

Create a querystring from a JS object

const { stringify } = require('@favware/querystring');
// import { stringify } from '@favware/querystring';

console.log(stringify({ prop: 'value', prop2: 'value2' }));
//=> '?prop=value&prop2=value2'

// supply options
console.log(stringify({ prop: 'value', prop2: 'value2' }, { separator: '&', equals: '=', includeQuestion: true }));
//=> '?prop=value&prop2=value2'

// customize options
console.log(stringify({ prop: 'value', prop2: 'value2' }, { separator: '&&', equals: '=', includeQuestion: false }));
//=> 'prop=value&&prop2=value2'

Parse

Create a JS object from a querystring

const { parse } = require('@favware/querystring');
// import { parse } from '@favware/querystring';

console.log(parse('?prop=value&prop2=value2'));
//=> {prop: 'value', prop2: 'value2'}

// supply options
console.log(parse('?prop=value&prop2=value2', { separator: '&', equals: '=' }));
//=> {prop: 'value', prop2: 'value2'}

// customize options
console.log(parse('prop=value&&prop2=value2', { separator: '&&', equals: '=' }));
//=> {prop: 'value', prop2: 'value2'}

API Documentation

For the full API documentation please refer to the TypeDoc generated documentation.

Buy us some doughnuts

Favware projects are and always will be open source, even if we don't get donations. That being said, we know there are amazing people who may still want to donate just to show their appreciation. Thank you very much in advance!

We accept donations through Open Collective, Ko-fi, Paypal, Patreon and GitHub Sponsorships. You can use the buttons below to donate through your method of choice.

Donate With Address
GitHub Sponsors Click Here
Ko-fi Click Here
Patreon Click Here
PayPal Click Here

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Jeroen Claassens

💻 🚇 📆 📖 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!