Skip to content

Commit 4d07f49

Browse files
committed
no extra depth, and cover empty keys
1 parent 3abfd88 commit 4d07f49

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/renderers/common/ChainMap.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ export default class ChainMap {
3030
*/
3131
get( keys ) {
3232

33+
if ( keys.length === 0 ) return undefined;
34+
3335
let map = this.weakMap;
3436

35-
for ( let i = 0; i < keys.length; i ++ ) {
37+
for ( let i = 0; i < keys.length - 1; i ++ ) {
3638

3739
map = map.get( keys[ i ] );
3840

@@ -53,9 +55,11 @@ export default class ChainMap {
5355
*/
5456
set( keys, value ) {
5557

58+
if ( keys.length === 0 ) return this;
59+
5660
let map = this.weakMap;
5761

58-
for ( let i = 0; i < keys.length; i ++ ) {
62+
for ( let i = 0; i < keys.length - 1; i ++ ) {
5963

6064
const key = keys[ i ];
6165

@@ -79,9 +83,11 @@ export default class ChainMap {
7983
*/
8084
delete( keys ) {
8185

86+
if ( keys.length === 0 ) return false;
87+
8288
let map = this.weakMap;
8389

84-
for ( let i = 0; i < keys.length; i ++ ) {
90+
for ( let i = 0; i < keys.length - 1; i ++ ) {
8591

8692
map = map.get( keys[ i ] );
8793

0 commit comments

Comments
 (0)