@kavach/cookie 1.0.0-next.24 → 1.0.0-next.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,263 +8,132 @@ FNH:3
8
8
  FNDA:18,parse
9
9
  FNDA:38,serialize
10
10
  FNDA:26,tryDecode
11
- DA:1,1
12
- DA:2,1
13
- DA:3,1
14
- DA:4,1
15
- DA:5,1
16
- DA:6,1
17
- DA:7,1
18
- DA:8,1
19
- DA:9,1
20
- DA:10,1
21
- DA:11,1
22
- DA:12,1
23
- DA:13,1
24
- DA:14,1
25
- DA:15,1
26
- DA:16,1
27
- DA:17,1
28
- DA:18,1
29
- DA:19,1
30
- DA:20,1
31
- DA:21,1
32
- DA:22,1
33
- DA:23,1
34
- DA:24,1
35
- DA:25,1
36
- DA:26,1
37
- DA:27,1
38
- DA:28,1
39
- DA:29,1
40
- DA:30,1
41
- DA:31,1
42
- DA:32,1
43
- DA:33,1
44
- DA:34,1
45
- DA:35,1
46
- DA:36,1
47
- DA:37,1
48
- DA:38,1
49
- DA:39,1
50
- DA:40,1
51
- DA:41,1
52
- DA:42,1
53
- DA:43,1
54
- DA:44,1
11
+ DA:17,2
12
+ DA:18,2
13
+ DA:19,2
14
+ DA:30,2
55
15
  DA:45,18
56
16
  DA:46,2
57
- DA:47,2
58
- DA:48,16
59
17
  DA:49,16
60
- DA:50,18
61
- DA:51,18
62
- DA:52,18
63
- DA:53,18
64
- DA:54,18
18
+ DA:50,16
19
+ DA:51,16
20
+ DA:52,16
21
+ DA:54,16
65
22
  DA:55,32
66
23
  DA:56,32
67
- DA:57,32
68
- DA:58,32
69
24
  DA:59,32
70
25
  DA:60,3
71
- DA:61,3
72
- DA:62,29
73
26
  DA:63,29
74
27
  DA:64,29
75
- DA:65,29
76
- DA:66,29
77
- DA:67,32
28
+ DA:67,29
78
29
  DA:68,2
79
- DA:69,2
80
- DA:70,29
81
- DA:71,29
82
- DA:72,32
30
+ DA:72,29
83
31
  DA:73,26
84
- DA:74,26
85
- DA:75,32
86
- DA:76,16
87
32
  DA:77,16
88
- DA:78,16
89
- DA:79,1
90
- DA:80,1
91
- DA:81,1
92
- DA:82,1
93
- DA:83,1
94
- DA:84,1
95
- DA:85,1
96
- DA:86,1
97
- DA:87,1
98
- DA:88,1
99
- DA:89,1
100
- DA:90,1
101
- DA:91,1
102
- DA:92,1
103
- DA:93,1
104
- DA:94,1
105
- DA:95,1
106
- DA:96,1
107
33
  DA:97,38
108
34
  DA:98,38
109
- DA:99,38
110
35
  DA:100,38
111
36
  DA:101,1
112
- DA:102,1
113
- DA:103,37
114
- DA:104,38
37
+ DA:104,37
115
38
  DA:105,2
116
- DA:106,2
117
- DA:107,35
118
39
  DA:108,35
119
- DA:109,35
120
- DA:110,38
40
+ DA:110,35
121
41
  DA:111,1
122
- DA:112,1
123
- DA:113,34
124
42
  DA:114,34
125
- DA:115,34
126
- DA:116,38
43
+ DA:116,34
127
44
  DA:117,7
128
- DA:118,7
129
45
  DA:119,7
130
46
  DA:120,2
131
- DA:121,2
132
- DA:122,5
133
47
  DA:123,5
134
- DA:124,5
135
- DA:125,32
136
- DA:126,38
48
+ DA:126,32
137
49
  DA:127,2
138
50
  DA:128,1
139
- DA:129,1
140
- DA:130,1
141
51
  DA:131,1
142
- DA:132,1
143
- DA:133,31
144
- DA:134,38
52
+ DA:134,31
145
53
  DA:135,2
146
54
  DA:136,1
147
- DA:137,1
148
- DA:138,1
149
55
  DA:139,1
150
- DA:140,1
151
- DA:141,30
152
- DA:142,38
56
+ DA:142,30
153
57
  DA:143,2
154
58
  DA:144,1
155
- DA:145,1
156
- DA:146,1
157
59
  DA:147,1
158
- DA:148,1
159
- DA:149,29
160
- DA:150,38
60
+ DA:150,29
161
61
  DA:151,1
162
- DA:152,1
163
- DA:153,29
164
- DA:154,38
62
+ DA:154,29
165
63
  DA:155,1
166
- DA:156,1
167
- DA:157,29
168
- DA:158,38
169
- DA:159,8
64
+ DA:158,29
170
65
  DA:160,8
171
- DA:161,8
172
- DA:162,8
173
- DA:163,8
174
66
  DA:164,8
175
- DA:165,8
176
67
  DA:166,1
177
68
  DA:167,1
178
- DA:168,8
179
69
  DA:169,2
180
70
  DA:170,2
181
- DA:171,8
182
71
  DA:172,2
183
72
  DA:173,2
184
- DA:174,8
185
73
  DA:175,2
186
74
  DA:176,2
187
- DA:177,8
188
75
  DA:178,1
189
- DA:179,8
190
- DA:180,8
191
- DA:181,28
192
76
  DA:182,28
193
- DA:183,28
194
- DA:184,1
195
- DA:185,1
196
- DA:186,1
197
- DA:187,1
198
- DA:188,1
199
- DA:189,1
200
- DA:190,1
201
- DA:191,1
202
- DA:192,1
203
- DA:193,26
204
77
  DA:194,26
205
78
  DA:195,26
206
- DA:196,26
207
79
  DA:197,3
208
- DA:198,3
209
- DA:199,26
210
- DA:200,1
211
- DA:201,1
212
- DA:202,1
213
- DA:203,1
214
- DA:204,1
215
- LF:204
216
- LH:204
217
- BRDA:44,0,0,18
218
- BRDA:45,1,0,2
219
- BRDA:48,2,0,16
220
- BRDA:50,3,0,12
221
- BRDA:52,4,0,12
222
- BRDA:54,5,0,32
223
- BRDA:59,6,0,3
224
- BRDA:62,7,0,29
225
- BRDA:67,8,0,2
226
- BRDA:70,9,0,29
227
- BRDA:72,10,0,26
228
- BRDA:76,11,0,16
229
- BRDA:96,12,0,38
230
- BRDA:97,13,0,8
231
- BRDA:98,14,0,35
232
- BRDA:100,15,0,1
233
- BRDA:103,16,0,37
234
- BRDA:104,17,0,2
235
- BRDA:107,18,0,35
236
- BRDA:110,19,0,34
237
- BRDA:110,20,0,1
238
- BRDA:113,21,0,34
239
- BRDA:116,22,0,7
240
- BRDA:119,23,0,6
241
- BRDA:119,24,0,2
242
- BRDA:122,25,0,5
243
- BRDA:125,26,0,32
244
- BRDA:126,27,0,2
245
- BRDA:127,28,0,1
246
- BRDA:133,29,0,31
247
- BRDA:134,30,0,2
248
- BRDA:135,31,0,1
249
- BRDA:141,32,0,30
250
- BRDA:142,33,0,2
251
- BRDA:143,34,0,1
252
- BRDA:149,35,0,29
253
- BRDA:150,36,0,1
254
- BRDA:153,37,0,29
255
- BRDA:154,38,0,1
256
- BRDA:157,39,0,29
257
- BRDA:158,40,0,8
258
- BRDA:161,41,0,7
259
- BRDA:162,42,0,1
260
- BRDA:165,43,0,1
261
- BRDA:168,44,0,2
262
- BRDA:171,45,0,2
263
- BRDA:174,46,0,2
264
- BRDA:177,47,0,1
265
- BRDA:181,48,0,28
266
- BRDA:193,49,0,26
267
- BRDA:196,50,0,3
268
- BRF:51
269
- BRH:51
80
+ LF:69
81
+ LH:69
82
+ BRDA:45,0,0,2
83
+ BRDA:45,0,1,16
84
+ BRDA:50,1,0,16
85
+ BRDA:50,1,1,12
86
+ BRDA:52,2,0,16
87
+ BRDA:52,2,1,12
88
+ BRDA:59,3,0,3
89
+ BRDA:59,3,1,29
90
+ BRDA:67,4,0,2
91
+ BRDA:67,4,1,27
92
+ BRDA:72,5,0,26
93
+ BRDA:72,5,1,3
94
+ BRDA:97,6,0,38
95
+ BRDA:97,6,1,9
96
+ BRDA:98,7,0,38
97
+ BRDA:98,7,1,35
98
+ BRDA:100,8,0,1
99
+ BRDA:100,8,1,37
100
+ BRDA:104,9,0,2
101
+ BRDA:104,9,1,35
102
+ BRDA:110,10,0,1
103
+ BRDA:110,10,1,34
104
+ BRDA:110,11,0,35
105
+ BRDA:110,11,1,34
106
+ BRDA:116,12,0,7
107
+ BRDA:116,12,1,27
108
+ BRDA:119,13,0,2
109
+ BRDA:119,13,1,5
110
+ BRDA:119,14,0,7
111
+ BRDA:119,14,1,6
112
+ BRDA:126,15,0,2
113
+ BRDA:126,15,1,30
114
+ BRDA:127,16,0,1
115
+ BRDA:127,16,1,1
116
+ BRDA:134,17,0,2
117
+ BRDA:134,17,1,29
118
+ BRDA:135,18,0,1
119
+ BRDA:135,18,1,1
120
+ BRDA:142,19,0,2
121
+ BRDA:142,19,1,28
122
+ BRDA:143,20,0,1
123
+ BRDA:143,20,1,1
124
+ BRDA:150,21,0,1
125
+ BRDA:150,21,1,28
126
+ BRDA:154,22,0,1
127
+ BRDA:154,22,1,28
128
+ BRDA:158,23,0,8
129
+ BRDA:158,23,1,21
130
+ BRDA:160,24,0,7
131
+ BRDA:160,24,1,1
132
+ BRDA:164,25,0,1
133
+ BRDA:164,25,1,2
134
+ BRDA:164,25,2,2
135
+ BRDA:164,25,3,2
136
+ BRDA:164,25,4,1
137
+ BRF:55
138
+ BRH:55
270
139
  end_of_record
package/dist/index.d.ts CHANGED
@@ -26,9 +26,4 @@ export function parse(str: string, options?: object | undefined): object;
26
26
  * @public
27
27
  */
28
28
  export function serialize(name: string, val: string, options?: object | undefined): string;
29
- declare namespace _default {
30
- export { parse };
31
- export { serialize };
32
- }
33
- export default _default;
34
29
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kavach/cookie",
3
- "version": "1.0.0-next.24",
3
+ "version": "1.0.0-next.26",
4
4
  "description": "Cookie serialize/deserialize forked from jshttp/cookie",
5
5
  "author": "Jerry Thomas <me@jerrythomas.name>",
6
6
  "license": "MIT",
@@ -23,14 +23,14 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@jerrythomas/prettier-config": "^1.0.2",
26
- "@types/node": "^20.11.19",
27
- "@vitest/coverage-v8": "^1.3.1",
28
- "@vitest/ui": "~1.3.1",
29
- "typescript": "^5.3.3",
30
- "vite": "^5.1.4",
31
- "vitest": "1.3.1",
32
- "eslint-config-shared": "1.0.0-next.24",
33
- "shared-config": "1.0.0-next.24"
26
+ "@types/node": "^20.12.2",
27
+ "@vitest/coverage-istanbul": "^1.6.0",
28
+ "@vitest/ui": "~1.6.0",
29
+ "typescript": "^5.4.3",
30
+ "vite": "^5.2.7",
31
+ "vitest": "1.6.0",
32
+ "eslint-config-shared": "1.0.0-next.26",
33
+ "shared-config": "1.0.0-next.26"
34
34
  },
35
35
  "exports": {
36
36
  "./package.json": "./package.json",
@@ -0,0 +1,9 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ // skipcq: JS-C1003 - Importing all components for verification
3
+ import * as utilities from '../src'
4
+
5
+ describe('utilities', () => {
6
+ it('should contain all exported utilities', () => {
7
+ expect(Object.keys(utilities)).toEqual(['parse', 'serialize'])
8
+ })
9
+ })
@@ -2,6 +2,8 @@ import { describe, expect, it } from 'vitest'
2
2
  import { parse } from '../src/index.js'
3
3
 
4
4
  describe('Cookie Parser', () => {
5
+ const identity = (v) => v
6
+
5
7
  it('argument validation', () => {
6
8
  expect(parse.bind()).toThrowError(/argument str must be a string/)
7
9
  expect(parse.bind(null, 42)).toThrowError(/argument str must be a string/)
@@ -41,17 +43,13 @@ describe('Cookie Parser', () => {
41
43
  it('unencoded', () => {
42
44
  expect(
43
45
  parse('foo="bar=123456789&name=Magic+Mouse"', {
44
- decode: function (v) {
45
- return v
46
- }
46
+ decode: identity
47
47
  })
48
48
  ).toEqual({ foo: 'bar=123456789&name=Magic+Mouse' })
49
49
 
50
50
  expect(
51
51
  parse('email=%20%22%2c%3b%2f', {
52
- decode: function (v) {
53
- return v
54
- }
52
+ decode: identity
55
53
  })
56
54
  ).toEqual({ email: '%20%22%2c%3b%2f' })
57
55
  })
@@ -59,9 +57,7 @@ describe('Cookie Parser', () => {
59
57
  it('dates', () => {
60
58
  expect(
61
59
  parse('priority=true; expires=Wed, 29 Jan 2014 17:43:25 GMT; Path=/', {
62
- decode: function (v) {
63
- return v
64
- }
60
+ decode: identity
65
61
  })
66
62
  ).toEqual({
67
63
  priority: 'true',
@@ -73,19 +69,23 @@ describe('Cookie Parser', () => {
73
69
  it('missing value', () => {
74
70
  expect(
75
71
  parse('foo; bar=1; fizz= ; buzz=2', {
76
- decode: function (v) {
77
- return v
78
- }
72
+ decode: identity
79
73
  })
80
74
  ).toEqual({ bar: '1', fizz: '', buzz: '2' })
81
75
  })
82
76
 
83
77
  it('assign only once', () => {
84
- expect(parse('foo=%1;bar=bar;foo=boo')).toEqual({ foo: '%1', bar: 'bar' })
78
+ expect(parse('foo=%1;bar=bar;foo=boo')).toEqual({
79
+ foo: '%1',
80
+ bar: 'bar'
81
+ })
85
82
  expect(parse('foo=false;bar=bar;foo=true'), {
86
83
  foo: 'false',
87
84
  bar: 'bar'
88
85
  })
89
- expect(parse('foo=;bar=bar;foo=boo')).toEqual({ foo: '', bar: 'bar' })
86
+ expect(parse('foo=;bar=bar;foo=boo')).toEqual({
87
+ foo: '',
88
+ bar: 'bar'
89
+ })
90
90
  })
91
91
  })
@@ -1,168 +1,157 @@
1
1
  import { describe, expect, it } from 'vitest'
2
- import cookie from '../src/index.js'
2
+ import { parse, serialize } from '../src/index.js'
3
3
 
4
4
  describe('Cookie Serialize', () => {
5
+ const identity = (v) => v
6
+
5
7
  it('basic', () => {
6
- expect(cookie.serialize('foo', 'bar')).toEqual('foo=bar')
7
- expect(cookie.serialize('foo', 'bar baz')).toEqual('foo=bar%20baz')
8
- expect(cookie.serialize('foo', '')).toEqual('foo=')
9
- expect(cookie.serialize.bind(cookie, 'foo\n', 'bar')).toThrowError(
8
+ expect(serialize('foo', 'bar')).toEqual('foo=bar')
9
+ expect(serialize('foo', 'bar baz')).toEqual('foo=bar%20baz')
10
+ expect(serialize('foo', '')).toEqual('foo=')
11
+ expect(() => serialize('foo\n', 'bar')).toThrowError(
10
12
  /argument name is invalid/
11
13
  )
12
- expect(cookie.serialize.bind(cookie, 'foo\u280a', 'bar')).toThrowError(
14
+ expect(() => serialize('foo\n', 'bar')).toThrowError(
13
15
  /argument name is invalid/
14
16
  )
15
- expect(
16
- cookie.serialize.bind(cookie, 'foo', 'bar', { encode: 42 })
17
- ).toThrowError(/option encode is invalid/)
17
+ expect(() => serialize('foo\u280a', 'bar')).toThrowError(
18
+ /argument name is invalid/
19
+ )
20
+ expect(() => serialize('foo', 'bar', { encode: 42 })).toThrowError(
21
+ /option encode is invalid/
22
+ )
18
23
  })
19
24
 
20
25
  it('path', () => {
21
- expect(cookie.serialize('foo', 'bar', { path: '/' })).toEqual(
22
- 'foo=bar; Path=/'
23
- )
24
- expect(
25
- cookie.serialize.bind(cookie, 'foo', 'bar', {
26
+ expect(serialize('foo', 'bar', { path: '/' })).toEqual('foo=bar; Path=/')
27
+ expect(() =>
28
+ serialize('foo', 'bar', {
26
29
  path: '/\n'
27
30
  })
28
31
  ).toThrowError(/option path is invalid/)
29
32
  })
30
33
 
31
34
  it('secure', () => {
32
- expect(cookie.serialize('foo', 'bar', { secure: true })).toEqual(
33
- 'foo=bar; Secure'
34
- )
35
- expect(cookie.serialize('foo', 'bar', { secure: false })).toEqual('foo=bar')
35
+ expect(serialize('foo', 'bar', { secure: true })).toEqual('foo=bar; Secure')
36
+ expect(serialize('foo', 'bar', { secure: false })).toEqual('foo=bar')
36
37
  })
37
38
 
38
39
  it('domain', () => {
39
- expect(cookie.serialize('foo', 'bar', { domain: 'example.com' })).toEqual(
40
+ expect(serialize('foo', 'bar', { domain: 'example.com' })).toEqual(
40
41
  'foo=bar; Domain=example.com'
41
42
  )
42
- expect(
43
- cookie.serialize.bind(cookie, 'foo', 'bar', {
43
+ expect(() =>
44
+ serialize('foo', 'bar', {
44
45
  domain: 'example.com\n'
45
46
  })
46
47
  ).toThrowError(/option domain is invalid/)
47
48
  })
48
49
 
49
50
  it('httpOnly', () => {
50
- expect(cookie.serialize('foo', 'bar', { httpOnly: true })).toEqual(
51
+ expect(serialize('foo', 'bar', { httpOnly: true })).toEqual(
51
52
  'foo=bar; HttpOnly'
52
53
  )
53
54
  })
54
55
 
55
56
  it('maxAge', () => {
56
57
  expect(() =>
57
- cookie.serialize('foo', 'bar', {
58
+ serialize('foo', 'bar', {
58
59
  maxAge: 'buzz'
59
60
  })
60
61
  ).toThrowError(/option maxAge is invalid/)
61
62
 
62
63
  expect(() =>
63
- cookie.serialize('foo', 'bar', {
64
+ serialize('foo', 'bar', {
64
65
  maxAge: Infinity
65
66
  })
66
67
  ).toThrowError(/option maxAge is invalid/)
67
68
 
68
- expect(cookie.serialize('foo', 'bar', { maxAge: 1000 })).toEqual(
69
+ expect(serialize('foo', 'bar', { maxAge: 1000 })).toEqual(
69
70
  'foo=bar; Max-Age=1000'
70
71
  )
71
- expect(cookie.serialize('foo', 'bar', { maxAge: '1000' })).toEqual(
72
+ expect(serialize('foo', 'bar', { maxAge: '1000' })).toEqual(
72
73
  'foo=bar; Max-Age=1000'
73
74
  )
74
- expect(cookie.serialize('foo', 'bar', { maxAge: 0 })).toEqual(
75
+ expect(serialize('foo', 'bar', { maxAge: 0 })).toEqual('foo=bar; Max-Age=0')
76
+ expect(serialize('foo', 'bar', { maxAge: '0' })).toEqual(
75
77
  'foo=bar; Max-Age=0'
76
78
  )
77
- expect(cookie.serialize('foo', 'bar', { maxAge: '0' })).toEqual(
78
- 'foo=bar; Max-Age=0'
79
- )
80
- expect(cookie.serialize('foo', 'bar', { maxAge: null })).toEqual('foo=bar')
81
- expect(cookie.serialize('foo', 'bar', { maxAge: undefined })).toEqual(
82
- 'foo=bar'
83
- )
84
- expect(cookie.serialize('foo', 'bar', { maxAge: 3.14 })).toEqual(
79
+ expect(serialize('foo', 'bar', { maxAge: null })).toEqual('foo=bar')
80
+ expect(serialize('foo', 'bar')).toEqual('foo=bar')
81
+ expect(serialize('foo', 'bar', { maxAge: 3.14 })).toEqual(
85
82
  'foo=bar; Max-Age=3'
86
83
  )
87
84
  })
88
85
 
89
86
  it('expires', () => {
90
87
  expect(
91
- cookie.serialize('foo', 'bar', {
88
+ serialize('foo', 'bar', {
92
89
  expires: new Date(Date.UTC(2000, 11, 24, 10, 30, 59, 900))
93
90
  })
94
91
  ).toEqual('foo=bar; Expires=Sun, 24 Dec 2000 10:30:59 GMT')
95
92
 
96
- expect(
97
- cookie.serialize.bind(cookie, 'foo', 'bar', {
93
+ expect(() =>
94
+ serialize('foo', 'bar', {
98
95
  expires: Date.now()
99
96
  })
100
97
  ).toThrowError(/option expires is invalid/)
101
98
  })
102
99
 
103
100
  it('sameSite', () => {
104
- expect(cookie.serialize('foo', 'bar', { sameSite: true })).toEqual(
101
+ expect(serialize('foo', 'bar', { sameSite: true })).toEqual(
105
102
  'foo=bar; SameSite=Strict'
106
103
  )
107
- expect(cookie.serialize('foo', 'bar', { sameSite: 'Strict' })).toEqual(
104
+ expect(serialize('foo', 'bar', { sameSite: 'Strict' })).toEqual(
108
105
  'foo=bar; SameSite=Strict'
109
106
  )
110
- expect(cookie.serialize('foo', 'bar', { sameSite: 'strict' })).toEqual(
107
+ expect(serialize('foo', 'bar', { sameSite: 'strict' })).toEqual(
111
108
  'foo=bar; SameSite=Strict'
112
109
  )
113
- expect(cookie.serialize('foo', 'bar', { sameSite: 'Lax' })).toEqual(
110
+ expect(serialize('foo', 'bar', { sameSite: 'Lax' })).toEqual(
114
111
  'foo=bar; SameSite=Lax'
115
112
  )
116
- expect(cookie.serialize('foo', 'bar', { sameSite: 'lax' })).toEqual(
113
+ expect(serialize('foo', 'bar', { sameSite: 'lax' })).toEqual(
117
114
  'foo=bar; SameSite=Lax'
118
115
  )
119
- expect(cookie.serialize('foo', 'bar', { sameSite: 'None' })).toEqual(
116
+ expect(serialize('foo', 'bar', { sameSite: 'None' })).toEqual(
120
117
  'foo=bar; SameSite=None'
121
118
  )
122
- expect(cookie.serialize('foo', 'bar', { sameSite: 'none' })).toEqual(
119
+ expect(serialize('foo', 'bar', { sameSite: 'none' })).toEqual(
123
120
  'foo=bar; SameSite=None'
124
121
  )
125
- expect(cookie.serialize('foo', 'bar', { sameSite: false })).toEqual(
126
- 'foo=bar'
127
- )
122
+ expect(serialize('foo', 'bar', { sameSite: false })).toEqual('foo=bar')
128
123
 
129
- expect(
130
- cookie.serialize.bind(cookie, 'foo', 'bar', {
124
+ expect(() =>
125
+ serialize('foo', 'bar', {
131
126
  sameSite: 'foo'
132
127
  })
133
128
  ).toThrowError(/option sameSite is invalid/)
134
129
  })
135
130
 
136
131
  it('escaping', () => {
137
- expect(cookie.serialize('cat', '+ ')).toEqual('cat=%2B%20')
132
+ expect(serialize('cat', '+ ')).toEqual('cat=%2B%20')
138
133
  })
139
134
 
140
135
  it('parse->serialize', () => {
141
- expect(
142
- cookie.parse(cookie.serialize('cat', 'foo=123&name=baz five'))
143
- ).toEqual({
136
+ expect(parse(serialize('cat', 'foo=123&name=baz five'))).toEqual({
144
137
  cat: 'foo=123&name=baz five'
145
138
  })
146
139
 
147
- expect(cookie.parse(cookie.serialize('cat', ' ";/'))).toEqual({
140
+ expect(parse(serialize('cat', ' ";/'))).toEqual({
148
141
  cat: ' ";/'
149
142
  })
150
143
  })
151
144
 
152
145
  it('unencoded', () => {
153
146
  expect(
154
- cookie.serialize('cat', '+ ', {
155
- encode: function (value) {
156
- return value
157
- }
147
+ serialize('cat', '+ ', {
148
+ encode: identity
158
149
  })
159
150
  ).toEqual('cat=+ ')
160
151
 
161
- expect(
162
- cookie.serialize.bind(cookie, 'cat', '+ \n', {
163
- encode: function (value) {
164
- return value
165
- }
152
+ expect(() =>
153
+ serialize('cat', '+ \n', {
154
+ encode: identity
166
155
  })
167
156
  ).toThrowError(/argument val is invalid/)
168
157
  })