Skip to content

Commit ab7af35

Browse files
committed
Ignore null geometries.
1 parent ea284eb commit ab7af35

4 files changed

Lines changed: 12 additions & 6 deletions

File tree

d3.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2002,14 +2002,14 @@ d3 = function() {
20022002
}
20032003
d3.geo = {};
20042004
d3.geo.stream = function(object, listener) {
2005-
if (d3_geo_streamObjectType.hasOwnProperty(object.type)) {
2005+
if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {
20062006
d3_geo_streamObjectType[object.type](object, listener);
20072007
} else {
20082008
d3_geo_streamGeometry(object, listener);
20092009
}
20102010
};
20112011
function d3_geo_streamGeometry(geometry, listener) {
2012-
if (d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
2012+
if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
20132013
d3_geo_streamGeometryType[geometry.type](geometry, listener);
20142014
}
20152015
}

d3.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/geo/stream.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import "geo";
22

33
d3.geo.stream = function(object, listener) {
4-
if (d3_geo_streamObjectType.hasOwnProperty(object.type)) {
4+
if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {
55
d3_geo_streamObjectType[object.type](object, listener);
66
} else {
77
d3_geo_streamGeometry(object, listener);
88
}
99
};
1010

1111
function d3_geo_streamGeometry(geometry, listener) {
12-
if (d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
12+
if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
1313
d3_geo_streamGeometryType[geometry.type](geometry, listener);
1414
}
1515
}

test/geo/stream-test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ suite.addBatch({
1919
stream({type: "FeatureCollection", features: [{type: "Feature", geometry: {type: "Unknown"}}]}, {});
2020
stream({type: "GeometryCollection", geometries: [{type: "Unknown"}]}, {});
2121
},
22+
"ignores null geometries": function(stream) {
23+
stream(null, {});
24+
stream({type: "Feature", geometry: null}, {});
25+
stream({type: "FeatureCollection", features: [{type: "Feature", geometry: null}]}, {});
26+
stream({type: "GeometryCollection", geometries: [null]}, {});
27+
},
2228
"returns void": function(stream) {
2329
assert.isUndefined(stream({type: "Point", coordinates: [1, 2]}, {point: function() { return true; }}));
2430
},

0 commit comments

Comments
 (0)