1
1
const MAX_SERIALIZED_SIZE = 512 * 1024 // 1MB
2
2
3
3
function encode ( data , replacer , list , seen ) {
4
- var stored , key , value , i , l
5
- var seenIndex = seen . get ( data )
4
+ let stored , key , value , i , l
5
+ const seenIndex = seen . get ( data )
6
6
if ( seenIndex != null ) {
7
7
return seenIndex
8
8
}
9
- var index = list . length
10
- var proto = Object . prototype . toString . call ( data )
9
+ const index = list . length
10
+ const proto = Object . prototype . toString . call ( data )
11
11
if ( proto === '[object Object]' ) {
12
12
stored = { }
13
13
seen . set ( data , index )
14
14
list . push ( stored )
15
- var keys = Object . keys ( data )
15
+ const keys = Object . keys ( data )
16
16
for ( i = 0 , l = keys . length ; i < l ; i ++ ) {
17
17
key = keys [ i ]
18
18
value = data [ key ]
19
- if ( replacer ) value = replacer . call ( data , key , value )
19
+ if ( replacer ) value = replacer ( key , value )
20
20
stored [ key ] = encode ( value , replacer , list , seen )
21
21
}
22
22
} else if ( proto === '[object Array]' ) {
@@ -25,7 +25,7 @@ function encode (data, replacer, list, seen) {
25
25
list . push ( stored )
26
26
for ( i = 0 , l = data . length ; i < l ; i ++ ) {
27
27
value = data [ i ]
28
- if ( replacer ) value = replacer . call ( data , i , value )
28
+ if ( replacer ) value = replacer ( i , value )
29
29
stored [ i ] = encode ( value , replacer , list , seen )
30
30
}
31
31
} else {
@@ -35,13 +35,13 @@ function encode (data, replacer, list, seen) {
35
35
}
36
36
37
37
function decode ( list , reviver ) {
38
- var i = list . length
39
- var j , k , data , key , value , proto
38
+ let i = list . length
39
+ let j , k , data , key , value , proto
40
40
while ( i -- ) {
41
41
data = list [ i ]
42
42
proto = Object . prototype . toString . call ( data )
43
43
if ( proto === '[object Object]' ) {
44
- var keys = Object . keys ( data )
44
+ const keys = Object . keys ( data )
45
45
for ( j = 0 , k = keys . length ; j < k ; j ++ ) {
46
46
key = keys [ j ]
47
47
value = list [ data [ key ] ]
0 commit comments