Created out of a frustration with the node default querystring as well as for TypeScript based projects that do not require @types/node
Install
Install with yarn:
$ yarn add awesome-querystring
Usage
Stringify
Create a querystring from a JS object
const { stringify } = require('awesome-querystring');
console.log(stringify({prop: 'value', prop2: 'value2'}));
console.log(stringify({prop: 'value', prop2: 'value2'}, {separator: '&', equals: '=', includeQuestion: true}));
console.log(stringify({prop: 'value', prop2: 'value2'}, {separator: '&&', equals: '=', includeQuestion: false}));
Parse
Create a JS object from a querystring
const { parse } = require('awesome-querystring');
console.log(parse('?prop=value&prop2=value2'));
console.log(parse('?prop=value&prop2=value2', {separator: '&', equals: '='}));
console.log(parse('prop=value&&prop2=value2', {separator: '&&', equals: '='}));
Documentation
Functions
- stringify(obj, [options]) ⇒
string
Stringifies an object
- parse(qs, [options]) ⇒
IAwesomeQuerystringObject
Parses a querystring back to an object
Typedefs
- IStringifyOptions :
IStringifyOptions
Options for the Stringify function
- IParseOptions :
IParseOptions
Options for the Parse function
stringify(obj, [options]) ⇒ string
Stringifies an object
Kind: global function
parse(qs, [options]) ⇒ IAwesomeQuerystringObject
Parses a querystring back to an object
Kind: global function
Options for the Stringify function
Kind: global typedef
Properties
Name | Type | Description |
---|
separator | string | separator the querystring should get |
equals | string | equals sign the querystring should use |
includeQuestion | boolean | whether the querystring should be prefixed with a ? |
Options for the Parse function
Kind: global typedef
Properties
Name | Type | Description |
---|
separator | string | separator the querystring has |
equals | string | equals sign the querystring has |
About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
License
Copyright © 2018-2019, Favna.
Released under the MIT License.
Buy me a donut
This project is open source and always will be, even if I don't get donations. That said, I know there are people out there that may still want to donate just to show their appreciation so this is for you guys. Thanks in advance!
I accept donations through PayPal, BitCoin, Ethereum and LiteCoin. You can use the buttons below to donate through your method of choice