@favware/querystring
Querystring that is robust in its working yet remains awesome to TypeScript users
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
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!