object-in-queryparams
v1.0.2
Published
An extended version of URLSearchParams with support for Objects and Arrays.
Downloads
107
Maintainers
Readme
URLQueryParams
An extended version of URLSearchParams with support for Objects and Arrays.
URLQueryParams implements URLSearchParams interface, so that it can be replaced with URLSearchParams for query string manipulation.
Features
- Can be used with Express.js which accepts Arrays and Objects in query parameters.
- It doesn't pollute the Global namespace as it's a separate Class.
- ✨Built in Typescript Definitions✨
🔰 Setup
Install
npm -i -s object-in-queryparams
(or)
yarn add object-in-queryparams
Usage
import { URLQueryParams } from "object-in-queryparams";
const queryParams = new URLQueryParams(
{
name: "John",
age: 12,
score: [52,16,23],
tags: ["sports","fitness"],
sort: {
createdAt : "asc",
updatedAt : -1
}
}
)
console.log(decodeURIComponent(queryParams.toString()))
/**
* Output:
* "name=John&age=12&score[]=52&score[]=16&score[]=23&tags[]=sports&tags[]=fitness&sort[createdAt]=asc&sort[updatedAt]=desc"
*/
Documentation
URLQueryParams implements URLSearchParams interface, where the constructor accepts a few more signatures than URLSearchParams:
✅ Supported Signatures
{ [param]: string | number }
{ [param]: string[] | number[] }
{ [param]: { [param]: string | number } }
- And all other signatures that are supported by URLSearchParams
❎ Unsupported Signatures
- Arrays within Nested Objects are not supported.
{ [param]: { [param]: string[] | number[] } }
- Double nested Objects are not supported.
{ [param]: { [param]: {...} } }
🦄 Contribution & Issues
If this package helped you and saved your time thank me by giving a star ⭐ to my repo. Post your issues here Pull Requests are always welcomed.
License
Copyright (c) 2021 Sreejith N Subramanian