object-in-queryparams
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

URLQueryParams ts

Documentation Status GitHub license GitHub stars

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.

GitHub stars GitHub issues GitHub pull-requests

License

MIT License

Copyright (c) 2021 Sreejith N Subramanian

Package Sidebar

Install

npm i object-in-queryparams

Weekly Downloads

25

Version

1.0.2

License

MIT

Unpacked Size

17.1 kB

Total Files

7

Last publish

Collaborators

  • sreejithns