From d48b5088ced22c10916b877cee115a6b30a97ba4 Mon Sep 17 00:00:00 2001
From: Glenn Vorhes <gavorhes@wisc.edu>
Date: Thu, 21 Jun 2018 14:19:42 -0500
Subject: [PATCH] add interface for callback

---
 dist/api/stn.d.ts   | 45 ++++++++++++++++++++++++++++++++++++++-
 dist/api/stn.js.map |  2 +-
 src/api/stn.ts      | 51 +++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 94 insertions(+), 4 deletions(-)

diff --git a/dist/api/stn.d.ts b/dist/api/stn.d.ts
index 0f2fd19..5cca8f9 100644
--- a/dist/api/stn.d.ts
+++ b/dist/api/stn.d.ts
@@ -7,6 +7,49 @@ export interface iRoutes extends iError {
         [s: string]: number;
     };
 }
+export interface iGeoFeature {
+    type: string;
+    geometry: Object;
+    properties: Object;
+}
+export interface snappedPoint {
+    type: string;
+    geometry: {
+        type: string;
+        coordinates: [number, number];
+    };
+    properties: {
+        cumtMilg: number;
+        dtLinkCurr: string;
+        dtOpnTrfc: string;
+        dtTrxHstl: string;
+        editIndc: number;
+        lcmCkotTxnId: number;
+        lcmDtHstl: number;
+        lcmDtTxnCurr: string;
+        lcmFromToDis: number;
+        lcmStus: number;
+        lnkOffsetMi: number;
+        lnkOffsetPcnt: number;
+        rdwyLinkId: number;
+        refSiteFromId: number;
+        refSiteToId: number;
+        routeIds: number[];
+    };
+}
+export interface _iGeoJson {
+    type: string;
+    crs: {
+        type: string;
+        properties: {
+            name: string;
+        };
+    };
+    features: any[];
+}
+export interface iGeoJsonSnappedPoint extends _iGeoJson {
+    features: snappedPoint[];
+}
 /**
  *
  * @param {number} yr
@@ -27,7 +70,7 @@ export declare function getRoutes(yr: number, lon: number, lat: number, searchDi
  * @param {(d) => any} callback
  * @param {(e: iError) => any} error
  */
-export declare function getSnappedPoint(yr: number, routeId: number, lon: number, lat: number, searchDistance?: number, callback?: (d) => any, error?: (e: iError) => any): void;
+export declare function getSnappedPoint(yr: number, routeId: number, lon: number, lat: number, searchDistance?: number, callback?: (d: iGeoJsonSnappedPoint) => any, error?: (e: iError) => any): void;
 /**
  *
  * @param {number} yr
diff --git a/dist/api/stn.js.map b/dist/api/stn.js.map
index 851567a..f0b2aea 100644
--- a/dist/api/stn.js.map
+++ b/dist/api/stn.js.map
@@ -1 +1 @@
-{"version":3,"file":"stn.js","sourceRoot":"","sources":["../../src/api/stn.ts"],"names":[],"mappings":"AAAA;;GAEG;;;AAEH,6BAA+B;AAC/B,+BAA+B;AAElB,QAAA,SAAS,GAAG,cAAO,GAAG,MAAM,CAAC;AAE1C,sBAAsB,CAAiB;IACnC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAWD;;;;;;;;GAQG;AACH,mBAA0B,EAAU,EACV,GAAW,EACX,GAAW,EACX,cAA4B,EAC5B,QAEC,EACD,KAEC;IAND,+BAAA,EAAA,oBAA4B;IAC5B,yBAAA,EAAA,qBAAiC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,sBAAA,EAAA,kBAA6B,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAEvB,GAAG,CAAC,GAAG,CAAC,iBAAS,GAAG,SAAS,EAAE,UAAC,CAAU;QAClC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,KAAK,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,QAAQ,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;IAEL,CAAC,EACD;QACI,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,cAAc;KAC3B,EACD,KAAK,CACR,CAAC;AACN,CAAC;AA3BD,8BA2BC;AAED;;;;;;;;;GASG;AACH,yBAAgC,EAAU,EACV,OAAe,EACf,GAAW,EACX,GAAW,EACX,cAA4B,EAC5B,QAEC,EACD,KAEC;IAND,+BAAA,EAAA,oBAA4B;IAC5B,yBAAA,EAAA,qBAAwB,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,sBAAA,EAAA,kBAA6B,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAE7B,GAAG,CAAC,GAAG,CAAC,iBAAS,GAAG,UAAU,EAAE,UAAC,CAAC;QAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,QAAQ,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;IACL,CAAC,EACD;QACI,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,cAAc;KAC3B,EACD,KAAK,CACR,CAAC;AACN,CAAC;AA5BD,0CA4BC;AAED;;;;;;;;;;;GAWG;AACH,uBAA8B,EAAU,EACV,OAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,MAAc,EACd,cAA4B,EAC5B,QAEC,EACD,KAEC;IAND,+BAAA,EAAA,oBAA4B;IAC5B,yBAAA,EAAA,qBAAwB,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,sBAAA,EAAA,kBAA6B,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAE3B,GAAG,CAAC,GAAG,CAAC,iBAAS,GAAG,UAAU,EAAE,UAAC,CAAC;QAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,QAAQ,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;IACL,CAAC,EACD;QACI,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,cAAc;KAC3B,EACD,KAAK,CACR,CAAC;AACN,CAAC;AAhCD,sCAgCC","sourcesContent":["/**\r\n * Created by glenn on 6/13/2017.\r\n */\r\n\r\nimport * as ajx from './axios';\r\nimport {apiRoot} from './host';\r\n\r\nexport const stnApiUrl = apiRoot + '/stn';\r\n\r\nfunction _abortHelper(x: XMLHttpRequest) {\r\n    if (x && x['abort']) {\r\n        x.abort();\r\n    }\r\n}\r\n\r\nexport interface iError {\r\n    error?: string;\r\n}\r\n\r\nexport interface iRoutes extends iError {\r\n    routes: { [s: string]: number }\r\n}\r\n\r\n\r\n/**\r\n *\r\n * @param {number} yr\r\n * @param {number} lon\r\n * @param {number} lat\r\n * @param {number} searchDistance\r\n * @param {(d: iRoutes) => any} callback\r\n * @param {(e: iError) => any} error\r\n */\r\nexport function getRoutes(yr: number,\r\n                          lon: number,\r\n                          lat: number,\r\n                          searchDistance: number = 200,\r\n                          callback: (d: iRoutes) => any = (d) => {\r\n                              console.log(d);\r\n                          },\r\n                          error: (e: iError) => any = (e) => {\r\n                              console.log(e);\r\n                          }) {\r\n\r\n    ajx.get(stnApiUrl + '/routes', (d: iRoutes) => {\r\n            if (d.error) {\r\n                error(d)\r\n            } else {\r\n                callback(d)\r\n            }\r\n\r\n        },\r\n        {\r\n            year: yr,\r\n            lon: lon,\r\n            lat: lat,\r\n            distance: searchDistance\r\n        },\r\n        error\r\n    );\r\n}\r\n\r\n/**\r\n *\r\n * @param {number} yr\r\n * @param {number} routeId\r\n * @param {number} lon\r\n * @param {number} lat\r\n * @param {number} searchDistance\r\n * @param {(d) => any} callback\r\n * @param {(e: iError) => any} error\r\n */\r\nexport function getSnappedPoint(yr: number,\r\n                                routeId: number,\r\n                                lon: number,\r\n                                lat: number,\r\n                                searchDistance: number = 200,\r\n                                callback: (d) => any = (d) => {\r\n                                    console.log(d);\r\n                                },\r\n                                error: (e: iError) => any = (e) => {\r\n                                    console.log(e);\r\n                                }) {\r\n\r\n    ajx.get(stnApiUrl + '/snapped', (d) => {\r\n            if (d['error']) {\r\n                error(d)\r\n            } else {\r\n                callback(d)\r\n            }\r\n        },\r\n        {\r\n            year: yr,\r\n            route: routeId,\r\n            lon: lon,\r\n            lat: lat,\r\n            distance: searchDistance\r\n        },\r\n        error\r\n    );\r\n}\r\n\r\n/**\r\n *\r\n * @param {number} yr\r\n * @param {number} routeId\r\n * @param {number} lonStart\r\n * @param {number} latStart\r\n * @param {number} lonEnd\r\n * @param {number} latEnd\r\n * @param {number} searchDistance\r\n * @param {(d) => any} callback\r\n * @param {(e: iError) => any} error\r\n */\r\nexport function getStnSegment(yr: number,\r\n                              routeId: number,\r\n                              lonStart: number,\r\n                              latStart: number,\r\n                              lonEnd: number,\r\n                              latEnd: number,\r\n                              searchDistance: number = 200,\r\n                              callback: (d) => any = (d) => {\r\n                                  console.log(d);\r\n                              },\r\n                              error: (e: iError) => any = (e) => {\r\n                                  console.log(e);\r\n                              }) {\r\n\r\n    ajx.get(stnApiUrl + '/segment', (d) => {\r\n            if (d['error']) {\r\n                error(d)\r\n            } else {\r\n                callback(d)\r\n            }\r\n        },\r\n        {\r\n            year: yr,\r\n            route: routeId,\r\n            lonStart: lonStart,\r\n            latStart: latStart,\r\n            lonEnd: lonEnd,\r\n            latEnd: latEnd,\r\n            distance: searchDistance\r\n        },\r\n        error\r\n    );\r\n}\r\n"]}
\ No newline at end of file
+{"version":3,"file":"stn.js","sourceRoot":"","sources":["../../src/api/stn.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by glenn on 6/13/2017.\r\n */\r\n\r\nimport * as ajx from './axios';\r\nimport {apiRoot} from './host';\r\n\r\nexport const stnApiUrl = apiRoot + '/stn';\r\n\r\nfunction _abortHelper(x: XMLHttpRequest) {\r\n    if (x && x['abort']) {\r\n        x.abort();\r\n    }\r\n}\r\n\r\nexport interface iError {\r\n    error?: string;\r\n}\r\n\r\nexport interface iRoutes extends iError {\r\n    routes: { [s: string]: number }\r\n}\r\n\r\nexport interface iGeoFeature {\r\n    type: string;\r\n    geometry: Object;\r\n    properties: Object;\r\n}\r\n\r\nexport interface snappedPoint {\r\n    type: string;\r\n    geometry: {\r\n        type: string;\r\n        coordinates: [number, number]\r\n    },\r\n    properties: {\r\n        cumtMilg: number;\r\n        dtLinkCurr: string;\r\n        dtOpnTrfc: string;\r\n        dtTrxHstl: string;\r\n        editIndc: number;\r\n        lcmCkotTxnId: number;\r\n        lcmDtHstl: number;\r\n        lcmDtTxnCurr: string;\r\n        lcmFromToDis: number;\r\n        lcmStus: number;\r\n        lnkOffsetMi: number;\r\n        lnkOffsetPcnt: number;\r\n        rdwyLinkId: number;\r\n        refSiteFromId: number;\r\n        refSiteToId: number;\r\n        routeIds: number[]\r\n    }\r\n}\r\n\r\nexport interface _iGeoJson{\r\n    type: string;\r\n    crs: {\r\n        type: string;\r\n        properties: {\r\n            name: string;\r\n        }\r\n    };\r\n    features: any[];\r\n}\r\n\r\nexport interface iGeoJsonSnappedPoint extends _iGeoJson{\r\n    features: snappedPoint[];\r\n}\r\n\r\n\r\n/**\r\n *\r\n * @param {number} yr\r\n * @param {number} lon\r\n * @param {number} lat\r\n * @param {number} searchDistance\r\n * @param {(d: iRoutes) => any} callback\r\n * @param {(e: iError) => any} error\r\n */\r\nexport function getRoutes(yr: number,\r\n                          lon: number,\r\n                          lat: number,\r\n                          searchDistance: number = 200,\r\n                          callback: (d: iRoutes) => any = (d) => {\r\n                              console.log(d);\r\n                          },\r\n                          error: (e: iError) => any = (e) => {\r\n                              console.log(e);\r\n                          }) {\r\n\r\n    ajx.get(stnApiUrl + '/routes', (d: iRoutes) => {\r\n            if (d.error) {\r\n                error(d)\r\n            } else {\r\n                callback(d)\r\n            }\r\n\r\n        },\r\n        {\r\n            year: yr,\r\n            lon: lon,\r\n            lat: lat,\r\n            distance: searchDistance\r\n        },\r\n        error\r\n    );\r\n}\r\n\r\n/**\r\n *\r\n * @param {number} yr\r\n * @param {number} routeId\r\n * @param {number} lon\r\n * @param {number} lat\r\n * @param {number} searchDistance\r\n * @param {(d) => any} callback\r\n * @param {(e: iError) => any} error\r\n */\r\nexport function getSnappedPoint(yr: number,\r\n                                routeId: number,\r\n                                lon: number,\r\n                                lat: number,\r\n                                searchDistance: number = 200,\r\n                                callback: (d: iGeoJsonSnappedPoint) => any = (d: iGeoJsonSnappedPoint) => {\r\n                                    console.log(d);\r\n                                },\r\n                                error: (e: iError) => any = (e) => {\r\n                                    console.log(e);\r\n                                }) {\r\n\r\n    ajx.get(stnApiUrl + '/snapped', (d: iGeoJsonSnappedPoint) => {\r\n            if (d['error']) {\r\n                error(d)\r\n            } else {\r\n                callback(d)\r\n            }\r\n        },\r\n        {\r\n            year: yr,\r\n            route: routeId,\r\n            lon: lon,\r\n            lat: lat,\r\n            distance: searchDistance\r\n        },\r\n        error\r\n    );\r\n}\r\n\r\n/**\r\n *\r\n * @param {number} yr\r\n * @param {number} routeId\r\n * @param {number} lonStart\r\n * @param {number} latStart\r\n * @param {number} lonEnd\r\n * @param {number} latEnd\r\n * @param {number} searchDistance\r\n * @param {(d) => any} callback\r\n * @param {(e: iError) => any} error\r\n */\r\nexport function getStnSegment(yr: number,\r\n                              routeId: number,\r\n                              lonStart: number,\r\n                              latStart: number,\r\n                              lonEnd: number,\r\n                              latEnd: number,\r\n                              searchDistance: number = 200,\r\n                              callback: (d) => any = (d) => {\r\n                                  console.log(d);\r\n                              },\r\n                              error: (e: iError) => any = (e) => {\r\n                                  console.log(e);\r\n                              }) {\r\n\r\n    ajx.get(stnApiUrl + '/segment', (d) => {\r\n            if (d['error']) {\r\n                error(d)\r\n            } else {\r\n                callback(d)\r\n            }\r\n        },\r\n        {\r\n            year: yr,\r\n            route: routeId,\r\n            lonStart: lonStart,\r\n            latStart: latStart,\r\n            lonEnd: lonEnd,\r\n            latEnd: latEnd,\r\n            distance: searchDistance\r\n        },\r\n        error\r\n    );\r\n}\r\n"]}
\ No newline at end of file
diff --git a/src/api/stn.ts b/src/api/stn.ts
index 5f73356..75e7c60 100644
--- a/src/api/stn.ts
+++ b/src/api/stn.ts
@@ -21,6 +21,53 @@ export interface iRoutes extends iError {
     routes: { [s: string]: number }
 }
 
+export interface iGeoFeature {
+    type: string;
+    geometry: Object;
+    properties: Object;
+}
+
+export interface snappedPoint {
+    type: string;
+    geometry: {
+        type: string;
+        coordinates: [number, number]
+    },
+    properties: {
+        cumtMilg: number;
+        dtLinkCurr: string;
+        dtOpnTrfc: string;
+        dtTrxHstl: string;
+        editIndc: number;
+        lcmCkotTxnId: number;
+        lcmDtHstl: number;
+        lcmDtTxnCurr: string;
+        lcmFromToDis: number;
+        lcmStus: number;
+        lnkOffsetMi: number;
+        lnkOffsetPcnt: number;
+        rdwyLinkId: number;
+        refSiteFromId: number;
+        refSiteToId: number;
+        routeIds: number[]
+    }
+}
+
+export interface _iGeoJson{
+    type: string;
+    crs: {
+        type: string;
+        properties: {
+            name: string;
+        }
+    };
+    features: any[];
+}
+
+export interface iGeoJsonSnappedPoint extends _iGeoJson{
+    features: snappedPoint[];
+}
+
 
 /**
  *
@@ -75,14 +122,14 @@ export function getSnappedPoint(yr: number,
                                 lon: number,
                                 lat: number,
                                 searchDistance: number = 200,
-                                callback: (d) => any = (d) => {
+                                callback: (d: iGeoJsonSnappedPoint) => any = (d: iGeoJsonSnappedPoint) => {
                                     console.log(d);
                                 },
                                 error: (e: iError) => any = (e) => {
                                     console.log(e);
                                 }) {
 
-    ajx.get(stnApiUrl + '/snapped', (d) => {
+    ajx.get(stnApiUrl + '/snapped', (d: iGeoJsonSnappedPoint) => {
             if (d['error']) {
                 error(d)
             } else {
-- 
GitLab