@@ -26,6 +26,63 @@ $ npm install @seamapi/url-search-params-serializer
26
26
27
27
[ npm ] : https://www.npmjs.com/
28
28
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
+
29
86
## Development and Testing
30
87
31
88
### Quickstart
0 commit comments