An npm module to encode an object into query params of an url
To install queryencoder, run:
$ npm install queryencoder
const { encode } = require('queryencoder');
const object = {
str: 'string',
n: 23,
truthy: true
};
// The result is '?str=string&n=23&truthy=true'
const queryUrl = encode(object);
const { encode } = require('queryencoder');
const object = {
str: 'string',
nested: {
a: 'ciao'
}
};
// The result is '?str=string&nested=true&nested.a=ciao'
const queryUrl = encode(object);
const { encode } = require('queryencoder');
const object = {
str: 'string',
shown: undefined,
nested: {
a: 'ciao'
},
vero: true
};
// The result is 'str=string&nested.a=ciao&vero'
const queryUrl = encode(object, {
preserveUndefined: true,
addQuestionMark: false,
flagNestedParents: false,
shortBoolean: true
});
const { encode } = require('queryencoder');
const object = {
date: new Date('1999-04-23')
};
// The result is 'date=1999-04-23'
const queryUrl = encode(object, {
dateParser: date => date.toISOString().slice(0, 10)
});
The documentation site is: queryencoder documentation
The documentation for development site is: queryencoder dev documentation
The function to encode an object into an url query param string.
Syntax:
const queryString = encode(object, options);
Parameters:
Options parameters:
boolean that says if the ? will be added to the begin of the result. Default value: true.true while omitted if false. (e.g. &val) Default value: false.boolean that says if in case there is a nested object, a parameter with value true for each path to the parents will be added. Default value: true.boolean that says if all the null values will be kept and parsed as 'null'. Default value: true.boolean that says if all the undefined values will be kept and parsed as 'undefined'. Default value: false.value => value.toISOString().To build the module make sure you have the dev dependencies installed.
The project is written in Typescript, bundled with Webpack and linted with ESLint.
In order to lint the code:
$ npm run lint
In order to lint and fix the code:
$ npm run lint:fix
There are also the :source and :test suffix after lint in order to lint only the source code or the test code.
To transpile both the source and the test code:
$ npm run transpile
The source and the test folders will be transpiled in the dist folder. Also the type declarations will be generated.
To transpile only the source code:
$ npm run transpile:source
The source folder will be transpiled in the dist folder. Also the type declarations will be generated.
After having transpiled the code, run:
$ npm test
in order to run the tests with mocha.
If a coverage report is to be generated, run:
$ npm run nyc
$ npm run bundle
The source folder will be compiled in the bundled folder. It will contain the bundled index.js and index.d.ts files.
Generated using TypeDoc