From 15154bb973609da603f27e9bcf4d8ce80e484167 Mon Sep 17 00:00:00 2001 From: ryanhamley Date: Fri, 31 Jan 2020 17:00:25 -0800 Subject: [PATCH 1/2] Pass errors to cluster function callbacks --- src/source/geojson_worker_source.js | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/source/geojson_worker_source.js b/src/source/geojson_worker_source.js index 550fecdf5ab..94db3ed6bdc 100644 --- a/src/source/geojson_worker_source.js +++ b/src/source/geojson_worker_source.js @@ -283,15 +283,36 @@ class GeoJSONWorkerSource extends VectorTileWorkerSource { } getClusterExpansionZoom(params: {clusterId: number}, callback: Callback) { - callback(null, this._geoJSONIndex.getClusterExpansionZoom(params.clusterId)); + let result; + + try { + result = this._geoJSONIndex.getClusterExpansionZoom(params.clusterId); + callback(null, result); + } catch (e) { + callback(e, result); + } } getClusterChildren(params: {clusterId: number}, callback: Callback>) { - callback(null, this._geoJSONIndex.getChildren(params.clusterId)); + let result; + + try { + result = this._geoJSONIndex.getChildren(params.clusterId); + callback(null, result); + } catch (e) { + callback(e, result); + } } getClusterLeaves(params: {clusterId: number, limit: number, offset: number}, callback: Callback>) { - callback(null, this._geoJSONIndex.getLeaves(params.clusterId, params.limit, params.offset)); + let result; + + try { + result = this._geoJSONIndex.getLeaves(params.clusterId, params.limit, params.offset); + callback(null, result); + } catch (e) { + callback(e, result); + } } } From 5c9edafd8f5f86c943df5cd568aeafffaf551844 Mon Sep 17 00:00:00 2001 From: ryanhamley Date: Mon, 3 Feb 2020 13:08:55 -0800 Subject: [PATCH 2/2] Simplify code --- src/source/geojson_worker_source.js | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/source/geojson_worker_source.js b/src/source/geojson_worker_source.js index 94db3ed6bdc..1227be062b0 100644 --- a/src/source/geojson_worker_source.js +++ b/src/source/geojson_worker_source.js @@ -283,35 +283,26 @@ class GeoJSONWorkerSource extends VectorTileWorkerSource { } getClusterExpansionZoom(params: {clusterId: number}, callback: Callback) { - let result; - try { - result = this._geoJSONIndex.getClusterExpansionZoom(params.clusterId); - callback(null, result); + callback(null, this._geoJSONIndex.getClusterExpansionZoom(params.clusterId)); } catch (e) { - callback(e, result); + callback(e); } } getClusterChildren(params: {clusterId: number}, callback: Callback>) { - let result; - try { - result = this._geoJSONIndex.getChildren(params.clusterId); - callback(null, result); + callback(null, this._geoJSONIndex.getChildren(params.clusterId)); } catch (e) { - callback(e, result); + callback(e); } } getClusterLeaves(params: {clusterId: number, limit: number, offset: number}, callback: Callback>) { - let result; - try { - result = this._geoJSONIndex.getLeaves(params.clusterId, params.limit, params.offset); - callback(null, result); + callback(null, this._geoJSONIndex.getLeaves(params.clusterId, params.limit, params.offset)); } catch (e) { - callback(e, result); + callback(e); } } }