A Node module to assist with pulling data out of an ESRI ArcGIS REST server into GeoJSON or ImageryURLs
Based On PyEsriDump by @iandees
npm install -g esri-dumpexposes a function, which if you give it a url, will return a stream of the geojson features.
import EsriDump from 'esri-dump';
const esri = new EsriDump(url);
const  featureCollection = {
  type: 'FeatureCollection',
  features: []
}
esri.fetch();
esri.on('type', (type) => {
    //Emitted before any data events
    //emits one of
    // - `MapServer'
    // - `FeatureServer'
});
esri.on('feature', (feature) => {
    featureCollection.features.push(feature);
});
esri.on('done', () => {
    doSomething(null, featureCollection)
});
esri.on('error', (err) => {
    doSomething(err);
});Streams a geojson feature collection to stdout
esri-dump fetch http://services2.bhamaps.com/arcgis/rest/services/AGS_jackson_co_il_taxmap/MapServer/0 > output.geojsonOutput from an ESRI FeatureServer or an ESRI MapServer is returned as GeoJSON as in the example below.
{
    "type": "Feature",
    "properties": {
        "objectid": 1
    },
    "geometry": {
        "type": "Polygon",
        "coordinates": [
            [
                [
                    -65.6231319,
                    31.7127058
                ],
                [
                    -65.6144566,
                    31.7020286
                ],
                [
                    -65.6231319,
                    31.698692
                ],
                [
                    -65.6231319,
                    31.7127058
                ]
            ]
        ]
    }
}esri-dump is written in TypeScript. To compile it locally, run:
npx tscSee /dist for the compiled code.