diff --git a/compile.js b/compile.js index e4e4007..c09ae25 100644 --- a/compile.js +++ b/compile.js @@ -101,7 +101,7 @@ function compileDest(ctx) { for (var i = 0; i < ctx._proto.fields.length; i++) { var field = ctx._proto.fields[i]; props[field.name + ': ' + JSON.stringify(ctx._defaults[field.name])] = true; - if (field.oneof) props[field.oneof + ': null'] = true; + if (field.oneof) props[field.oneof + ': undefined'] = true; } return '{' + Object.keys(props).join(', ') + '}'; } @@ -295,7 +295,7 @@ function getDefaultValue(field, value) { case 'string': return value || ''; case 'bool': return value === 'true'; case 'map': return {}; - default: return null; + default: return undefined; } } diff --git a/test/compile.test.js b/test/compile.test.js index 4d7bd52..4021bf6 100644 --- a/test/compile.test.js +++ b/test/compile.test.js @@ -222,8 +222,8 @@ test('handles all implicit default values', function(t) { t.equals(data.id, 0); t.deepEqual(data.tags, []); t.deepEqual(data.numbers, []); - t.equals(data.bytes, null); - t.equals(data.custom, null); + t.equals(data.bytes, undefined); + t.equals(data.custom, undefined); t.deepEqual(data.types, []); t.end(); @@ -237,7 +237,7 @@ test('sets oneof field name', function(t) { Envelope.write({}, pbf); var data = Envelope.read(new Pbf(pbf.finish())); - t.equals(data.value, null); + t.equals(data.value, undefined); t.equals(data.id, 0); pbf = new Pbf();