1.2.2 • Published 4 years ago

queryparams v1.2.2

Weekly downloads
238
License
MIT
Repository
github
Last release
4 years ago

queryparams

What is this?

A library to help you receive and update parameters in the querystring.

Why should I use it?

  • You want to limit the types of parameters you receive from the querystring.
  • You need to set some default values and want any values coming from the querystring to be cast as the same type.
  • You need a simple interface to reconfigure those values and redirect to a correctly updated querystring.

Installation

yarn add queryparams
# or
npm i queryparams --save

Usage

Assume we have a querystring with a value of:

"?speed=200&color=blue";

Set defaults and infer types

import { configure } from "queryparams";

const { params } = configure({ visible: true, speed: 500, color: "red" });

// params: {
//   visible: boolean;
//   speed: number;
//   color: string;
// }

Values in the querystring override the default values and are coerced into matching types.

const { schema } = configure({
  visible: true,
  speed: 500,
  color: "red",
});

// schema => [
//   { param: 'visible', default: true, type: 'boolean' },
//   { param: 'speed', default: 500, type: 'number' },
//   { param: 'color', default: 'red', type: 'string' }
]

Reconfiguring the querystring

const { reconfigure, encode } = configure({ message: "default", size: 9 });

encode({ message: "next", size: 66 }); // => 'message=next&size=66'
encode({ message: "next", size: "notanumber" }); // => Uncaught Error: size should be a number
encode({ weird: true }); // => Uncaught Error: weird should be undefined

// redirects to `?message=new&size=5`; enforces that types match defaults provided
reconfigure({ message: "new", size: 5 });
1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.0

5 years ago

1.0.52

5 years ago

1.0.51

5 years ago

1.0.50

5 years ago

1.0.49

5 years ago

1.0.48

5 years ago

1.0.47

5 years ago

1.0.46

5 years ago

1.0.45

5 years ago

1.0.44

5 years ago

1.0.43

5 years ago

1.0.42

5 years ago

1.0.40

5 years ago

1.0.41

5 years ago

1.0.39

5 years ago

1.0.38

5 years ago

1.0.37

5 years ago

1.0.36

5 years ago

1.0.35

5 years ago

1.0.34

5 years ago

1.0.33

5 years ago

1.0.32

5 years ago

1.0.31

5 years ago

1.0.30

5 years ago

1.0.29

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.3

5 years ago

1.0.0

5 years ago

0.1.0

8 years ago

0.0.7

8 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago