File tree 1 file changed +8
-9
lines changed
1 file changed +8
-9
lines changed Original file line number Diff line number Diff line change @@ -54,15 +54,17 @@ function parse(str, options) {
54
54
var dec = opt . decode || decode ;
55
55
56
56
var index = 0
57
+ var eqIdx = 0
58
+ var endIdx = 0
57
59
while ( index < str . length ) {
58
- var eqIdx = str . indexOf ( '=' , index )
60
+ eqIdx = str . indexOf ( '=' , index )
59
61
60
62
// no more cookie pairs
61
63
if ( eqIdx === - 1 ) {
62
64
break
63
65
}
64
66
65
- var endIdx = str . indexOf ( ';' , index )
67
+ endIdx = str . indexOf ( ';' , index )
66
68
67
69
if ( endIdx === - 1 ) {
68
70
endIdx = str . length
@@ -72,16 +74,13 @@ function parse(str, options) {
72
74
continue
73
75
}
74
76
75
- var key = str . slice ( index , eqIdx ) . trim ( )
77
+ var key = str . slice ( index , eqIdx ++ ) . trim ( )
76
78
77
79
// only assign once
78
80
if ( undefined === obj [ key ] ) {
79
- var val = str . slice ( eqIdx + 1 , endIdx ) . trim ( )
80
-
81
- // quoted values
82
- if ( val . charCodeAt ( 0 ) === 0x22 ) {
83
- val = val . slice ( 1 , - 1 )
84
- }
81
+ var val = ( str . charCodeAt ( eqIdx ) === 0x22 )
82
+ ? str . slice ( eqIdx + 1 , terminatorPos - 1 ) . trim ( )
83
+ : str . slice ( eqIdx , terminatorPos ) . trim ( )
85
84
86
85
obj [ key ] = tryDecode ( val , dec ) ;
87
86
}
You can’t perform that action at this time.
0 commit comments