Skip to content

Commit 896e140

Browse files
authored
Merge pull request #1 from seamapi/usage
Add Usage to README
2 parents 89cbc4e + c89ca01 commit 896e140

File tree

2 files changed

+58
-4
lines changed

2 files changed

+58
-4
lines changed

README.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,63 @@ $ npm install @seamapi/url-search-params-serializer
2626

2727
[npm]: https://www.npmjs.com/
2828

29+
## Usage
30+
31+
### Serialize an object to a string
32+
33+
```ts
34+
import { serializeUrlSearchParams } from '@seamapi/url-search-params-serializer'
35+
36+
serializeUrlSearchParams({
37+
name: 'Dax',
38+
age: 27,
39+
isAdmin: true,
40+
tags: ['cars', 'planes'],
41+
}) // => 'age=27&isAdmin=true&name=Dax&tags=cars&tags=planes'
42+
```
43+
44+
### Update an existing URLSearchParams instance
45+
46+
```ts
47+
import { updateUrlSearchParams } from '@seamapi/url-search-params-serializer'
48+
49+
const searchParams = new URLSearchParams()
50+
51+
searchParams.set('foo', 'bar')
52+
53+
updateUrlSearchParams(searchParams, {
54+
name: 'Dax',
55+
age: 27,
56+
isAdmin: true,
57+
tags: ['cars', 'planes'],
58+
})
59+
60+
searchParams.toString() // => 'age=27&foo=bar&isAdmin=true&name=Dax&tags=cars&tags=planes'
61+
```
62+
63+
### Use directly with [Axios]
64+
65+
```ts
66+
import axios from 'axios'
67+
import { serializeUrlSearchParams } from '@seamapi/url-search-params-serializer'
68+
69+
const client = axios.create({
70+
paramsSerializer: serializeUrlSearchParams,
71+
baseURL: 'https://example.com',
72+
})
73+
74+
const { data } = await client.get('/search', {
75+
params: {
76+
name: 'Dax',
77+
age: 27,
78+
isAdmin: true,
79+
tags: ['cars', 'planes'],
80+
},
81+
})
82+
```
83+
84+
[Axios]: https://axios-http.com/
85+
2986
## Development and Testing
3087

3188
### Quickstart

examples/axios.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,8 @@ export const describe: Describe = 'Serialize Axios params'
1313
export const builder: Builder = {}
1414

1515
export const handler: Handler<Options> = async ({ logger }) => {
16-
const client = axios.create({
16+
const { data } = await axios.get('https://httpbin.org/get', {
1717
paramsSerializer: serializeUrlSearchParams,
18-
baseURL: 'https://httpbin.org',
19-
})
20-
const { data } = await client.get('/get', {
2118
params: {
2219
a: 'bar',
2320
b: 2,

0 commit comments

Comments
 (0)