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":"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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\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