Skip to content

Commit c3512ab

Browse files
committed
Fix externalization of nil maps
1 parent f1655d1 commit c3512ab

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

compiler/gopherjspkg/fs_vfsdata.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/prelude/jsmapping.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ var $externalize = function(v, t, makeWrapper) {
6060
}
6161
return $externalize(v.$val, v.constructor, makeWrapper);
6262
case $kindMap:
63+
if (v.keys === undefined) {
64+
return null;
65+
}
6366
var m = {};
6467
var keys = Array.from(v.keys());
6568
for (var i = 0; i < keys.length; i++) {

compiler/prelude/prelude_min.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/js_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -688,11 +688,11 @@ func TestExternalize(t *testing.T) {
688688
input: true,
689689
want: "true",
690690
},
691-
// {
692-
// name: "nil map",
693-
// input: func() map[string]string { return nil }(),
694-
// want: "null",
695-
// },
691+
{
692+
name: "nil map",
693+
input: func() map[string]string { return nil }(),
694+
want: "null",
695+
},
696696
{
697697
name: "empty map",
698698
input: map[string]string{},

0 commit comments

Comments
 (0)