Skip to content

Commit 31ad3fa

Browse files
authored
Fix error when no geometry column found (#94)
1 parent b8cd17a commit 31ad3fa

File tree

9 files changed

+64
-30
lines changed

9 files changed

+64
-30
lines changed

src/arc-layer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ const defaultProps: DefaultProps<GeoArrowArcLayerProps> = {
108108

109109
export class GeoArrowArcLayer<
110110
ExtraProps extends {} = {},
111-
> extends CompositeLayer<Required<GeoArrowArcLayerProps> & ExtraProps> {
111+
> extends CompositeLayer<GeoArrowArcLayerProps & ExtraProps> {
112112
static defaultProps = defaultProps;
113113
static layerName = "GeoArrowArcLayer";
114114

src/column-layer.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ const defaultProps: DefaultProps<GeoArrowColumnLayerProps> = {
105105
*/
106106
export class GeoArrowColumnLayer<
107107
ExtraProps extends {} = {},
108-
> extends CompositeLayer<Required<GeoArrowColumnLayerProps> & ExtraProps> {
108+
> extends CompositeLayer<GeoArrowColumnLayerProps & ExtraProps> {
109109
static defaultProps = defaultProps;
110110
static layerName = "GeoArrowColumnLayer";
111111

@@ -126,11 +126,14 @@ export class GeoArrowColumnLayer<
126126
}
127127

128128
const geometryColumn = this.props.getPosition;
129-
if (ga.vector.isPointVector(geometryColumn)) {
129+
if (
130+
geometryColumn !== undefined &&
131+
ga.vector.isPointVector(geometryColumn)
132+
) {
130133
return this._renderLayersPoint(geometryColumn);
131134
}
132135

133-
throw new Error("geometryColumn not point");
136+
throw new Error("getPosition not GeoArrow point");
134137
}
135138

136139
_renderLayersPoint(

src/h3-hexagon-layer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ const defaultProps: DefaultProps<GeoArrowH3HexagonLayerProps> = {
6161

6262
export class GeoArrowH3HexagonLayer<
6363
ExtraProps extends {} = {},
64-
> extends CompositeLayer<Required<GeoArrowH3HexagonLayerProps> & ExtraProps> {
64+
> extends CompositeLayer<GeoArrowH3HexagonLayerProps & ExtraProps> {
6565
static defaultProps = defaultProps;
6666
static layerName = "GeoArrowH3HexagonLayer";
6767

src/heatmap-layer.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ const defaultProps: DefaultProps<GeoArrowHeatmapLayerProps> = {
7373

7474
export class GeoArrowHeatmapLayer<
7575
ExtraProps extends {} = {},
76-
> extends CompositeLayer<Required<GeoArrowHeatmapLayerProps> & ExtraProps> {
76+
> extends CompositeLayer<GeoArrowHeatmapLayerProps & ExtraProps> {
7777
static defaultProps = defaultProps;
7878
static layerName = "GeoArrowHeatmapLayer";
7979

@@ -86,11 +86,14 @@ export class GeoArrowHeatmapLayer<
8686
}
8787

8888
const geometryColumn = this.props.getPosition;
89-
if (ga.vector.isPointVector(geometryColumn)) {
89+
if (
90+
geometryColumn !== undefined &&
91+
ga.vector.isPointVector(geometryColumn)
92+
) {
9093
return this._renderLayersPoint(geometryColumn);
9194
}
9295

93-
throw new Error("geometryColumn not point");
96+
throw new Error("getPosition not GeoArrow point");
9497
}
9598

9699
_renderLayersPoint(

src/path-layer.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export const defaultProps: DefaultProps<GeoArrowPathLayerProps> = {
9090
*/
9191
export class GeoArrowPathLayer<
9292
ExtraProps extends {} = {},
93-
> extends CompositeLayer<Required<GeoArrowPathLayerProps> & ExtraProps> {
93+
> extends CompositeLayer<GeoArrowPathLayerProps & ExtraProps> {
9494
static defaultProps = defaultProps;
9595
static layerName = "GeoArrowPathLayer";
9696

@@ -122,15 +122,21 @@ export class GeoArrowPathLayer<
122122
}
123123

124124
const geometryColumn = this.props.getPath;
125-
if (ga.vector.isLineStringVector(geometryColumn)) {
125+
if (
126+
geometryColumn !== undefined &&
127+
ga.vector.isLineStringVector(geometryColumn)
128+
) {
126129
return this._renderLayersLineString(geometryColumn);
127130
}
128131

129-
if (ga.vector.isMultiLineStringVector(geometryColumn)) {
132+
if (
133+
geometryColumn !== undefined &&
134+
ga.vector.isMultiLineStringVector(geometryColumn)
135+
) {
130136
return this._renderLayersMultiLineString(geometryColumn);
131137
}
132138

133-
throw new Error("geometryColumn not LineString or MultiLineString");
139+
throw new Error("getPath not GeoArrow LineString or MultiLineString");
134140
}
135141

136142
_renderLayersLineString(

src/scatterplot-layer.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ const defaultProps: DefaultProps<GeoArrowScatterplotLayerProps> = {
9191

9292
export class GeoArrowScatterplotLayer<
9393
ExtraProps extends {} = {},
94-
> extends CompositeLayer<Required<GeoArrowScatterplotLayerProps> & ExtraProps> {
94+
> extends CompositeLayer<GeoArrowScatterplotLayerProps & ExtraProps> {
9595
static defaultProps = defaultProps;
9696
static layerName = "GeoArrowScatterplotLayer";
9797

@@ -120,15 +120,21 @@ export class GeoArrowScatterplotLayer<
120120
}
121121

122122
const geometryColumn = this.props.getPosition;
123-
if (ga.vector.isPointVector(geometryColumn)) {
123+
if (
124+
geometryColumn !== undefined &&
125+
ga.vector.isPointVector(geometryColumn)
126+
) {
124127
return this._renderLayersPoint(geometryColumn);
125128
}
126129

127-
if (ga.vector.isMultiPointVector(geometryColumn)) {
130+
if (
131+
geometryColumn !== undefined &&
132+
ga.vector.isMultiPointVector(geometryColumn)
133+
) {
128134
return this._renderLayersMultiPoint(geometryColumn);
129135
}
130136

131-
throw new Error("geometryColumn not point or multipoint");
137+
throw new Error("getPosition not GeoArrow point or multipoint");
132138
}
133139

134140
_renderLayersPoint(

src/solid-polygon-layer.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,7 @@ const defaultProps: DefaultProps<GeoArrowSolidPolygonLayerProps> = {
119119

120120
export class GeoArrowSolidPolygonLayer<
121121
ExtraProps extends {} = {},
122-
> extends CompositeLayer<
123-
Required<GeoArrowSolidPolygonLayerProps> & ExtraProps
124-
> {
122+
> extends CompositeLayer<GeoArrowSolidPolygonLayerProps & ExtraProps> {
125123
static defaultProps = defaultProps;
126124
static layerName = "GeoArrowSolidPolygonLayer";
127125

@@ -196,11 +194,17 @@ export class GeoArrowSolidPolygonLayer<
196194
}
197195

198196
const geometryColumn = this.props.getPolygon;
199-
if (ga.vector.isPolygonVector(geometryColumn)) {
197+
if (
198+
geometryColumn !== undefined &&
199+
ga.vector.isPolygonVector(geometryColumn)
200+
) {
200201
return this._earcutPolygonVector(geometryColumn);
201202
}
202203

203-
if (ga.vector.isMultiPolygonVector(geometryColumn)) {
204+
if (
205+
geometryColumn !== undefined &&
206+
ga.vector.isMultiPolygonVector(geometryColumn)
207+
) {
204208
return this._earcutMultiPolygonVector(geometryColumn);
205209
}
206210

@@ -347,15 +351,21 @@ export class GeoArrowSolidPolygonLayer<
347351
}
348352

349353
const geometryColumn = this.props.getPolygon;
350-
if (ga.vector.isPolygonVector(geometryColumn)) {
354+
if (
355+
geometryColumn !== undefined &&
356+
ga.vector.isPolygonVector(geometryColumn)
357+
) {
351358
return this._renderLayersPolygon(geometryColumn);
352359
}
353360

354-
if (ga.vector.isMultiPolygonVector(geometryColumn)) {
361+
if (
362+
geometryColumn !== undefined &&
363+
ga.vector.isMultiPolygonVector(geometryColumn)
364+
) {
355365
return this._renderLayersMultiPolygon(geometryColumn);
356366
}
357367

358-
throw new Error("geometryColumn not Polygon or MultiPolygon");
368+
throw new Error("getPolygon not GeoArrow Polygon or MultiPolygon");
359369
}
360370

361371
_renderLayersPolygon(

src/text-layer.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ const defaultProps: DefaultProps<GeoArrowTextLayerProps> = {
143143

144144
export class GeoArrowTextLayer<
145145
ExtraProps extends {} = {},
146-
> extends CompositeLayer<Required<GeoArrowTextLayerProps> & ExtraProps> {
146+
> extends CompositeLayer<GeoArrowTextLayerProps & ExtraProps> {
147147
static defaultProps = defaultProps;
148148
static layerName = "GeoArrowTextLayer";
149149

@@ -164,11 +164,14 @@ export class GeoArrowTextLayer<
164164
}
165165

166166
const geometryColumn = this.props.getPosition;
167-
if (ga.vector.isPointVector(geometryColumn)) {
167+
if (
168+
geometryColumn !== undefined &&
169+
ga.vector.isPointVector(geometryColumn)
170+
) {
168171
return this._renderLayersPoint(geometryColumn);
169172
}
170173

171-
throw new Error("geometryColumn not point");
174+
throw new Error("getPosition not GeoArrow point");
172175
}
173176

174177
_renderLayersPoint(

src/trips-layer.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ const defaultProps: DefaultProps<GeoArrowTripsLayerProps> = {
8989
/** Render animated paths that represent vehicle trips. */
9090
export class GeoArrowTripsLayer<
9191
ExtraProps extends {} = {},
92-
> extends CompositeLayer<Required<GeoArrowTripsLayerProps> & ExtraProps> {
92+
> extends CompositeLayer<GeoArrowTripsLayerProps & ExtraProps> {
9393
static defaultProps = defaultProps;
9494
static layerName = "GeoArrowTripsLayer";
9595

@@ -105,11 +105,14 @@ export class GeoArrowTripsLayer<
105105
}
106106

107107
const geometryColumn = this.props.getPath;
108-
if (ga.vector.isLineStringVector(geometryColumn)) {
108+
if (
109+
geometryColumn !== undefined &&
110+
ga.vector.isLineStringVector(geometryColumn)
111+
) {
109112
return this._renderLayersLineString(geometryColumn);
110113
}
111114

112-
throw new Error("geometryColumn not LineString");
115+
throw new Error("getPath not GeoArrow LineString");
113116
}
114117

115118
_renderLayersLineString(

0 commit comments

Comments
 (0)