diff --git a/package-lock.json b/package-lock.json index a9f2858..2eb86a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,31 +1,26 @@ { - "name": "ns-api", - "version": "0.0.1", + "name": "node-ns-api", + "version": "0.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { "@types/caseless": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", - "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" + "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==", + "dev": true }, "@types/detect-indent": { "version": "0.1.30", "resolved": "https://registry.npmjs.org/@types/detect-indent/-/detect-indent-0.1.30.tgz", - "integrity": "sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0=" - }, - "@types/form-data": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", - "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", - "requires": { - "@types/node": "*" - } + "integrity": "sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0=", + "dev": true }, "@types/glob": { "version": "5.0.30", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.30.tgz", "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", + "dev": true, "requires": { "@types/minimatch": "*", "@types/node": "*" @@ -34,33 +29,51 @@ "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true }, "@types/mkdirp": { "version": "0.3.29", "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.3.29.tgz", - "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=" + "integrity": "sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY=", + "dev": true }, "@types/node": { - "version": "11.12.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.12.1.tgz", - "integrity": "sha512-sKDlqv6COJrR7ar0+GqqhrXQDzQlMcqMnF2iEU6m9hLo8kxozoAGUazwPyELHlRVmjsbvlnGXjnzyptSXVmceA==" + "version": "12.12.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.11.tgz", + "integrity": "sha512-O+x6uIpa6oMNTkPuHDa9MhMMehlxLAd5QcOvKRjAFsBVpeFWTOPnXbDvILvFgFFZfQ1xh1EZi1FbXxUix+zpsQ==", + "dev": true }, "@types/request": { - "version": "2.48.1", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.1.tgz", - "integrity": "sha512-ZgEZ1TiD+KGA9LiAAPPJL68Id2UWfeSO62ijSXZjFJArVV+2pKcsVHmrcu+1oiE3q6eDGiFiSolRc4JHoerBBg==", + "version": "2.48.3", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.3.tgz", + "integrity": "sha512-3Wo2jNYwqgXcIz/rrq18AdOZUQB8cQ34CXZo+LUwPJNpvRAL86+Kc2wwI8mqpz9Cr1V+enIox5v+WZhy/p3h8w==", + "dev": true, "requires": { "@types/caseless": "*", - "@types/form-data": "*", "@types/node": "*", - "@types/tough-cookie": "*" + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + }, + "dependencies": { + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + } } }, "@types/tough-cookie": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz", - "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==" + "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==", + "dev": true }, "ajv": { "version": "6.10.0", @@ -151,7 +164,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", @@ -165,6 +179,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -238,12 +253,14 @@ "commander": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -267,6 +284,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-0.2.0.tgz", "integrity": "sha1-BCkUSYl5rC2fPHPk/z5od9O8krY=", + "dev": true, "requires": { "get-stdin": "^0.1.0", "minimist": "^0.1.0" @@ -282,6 +300,7 @@ "version": "0.7.3", "resolved": "https://registry.npmjs.org/dts-bundle/-/dts-bundle-0.7.3.tgz", "integrity": "sha1-Nyt7tpyCB4LmOC9ABzmmnc7T1Zo=", + "dev": true, "requires": { "@types/detect-indent": "0.1.30", "@types/glob": "5.0.30", @@ -296,7 +315,8 @@ "@types/node": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.0.tgz", - "integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==" + "integrity": "sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A==", + "dev": true } } }, @@ -371,7 +391,8 @@ "get-stdin": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz", - "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=" + "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=", + "dev": true }, "getpass": { "version": "0.1.7", @@ -385,6 +406,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, "requires": { "inflight": "^1.0.4", "inherits": "2", @@ -436,6 +458,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -444,7 +467,8 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "is-typedarray": { "version": "1.0.0", @@ -463,9 +487,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", - "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -520,6 +544,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -527,12 +552,14 @@ "minimist": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", - "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=" + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", + "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" }, @@ -540,7 +567,8 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true } } }, @@ -553,6 +581,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -560,7 +589,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-parse": { "version": "1.0.6", @@ -784,9 +814,9 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "typescript": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.1.tgz", - "integrity": "sha512-3NSMb2VzDQm8oBTLH6Nj55VVtUEpe/rgkIzMir0qVoLyjDZlnMBva0U6vDiV3IH+sl/Yu6oP5QwsAQtHPmDd2Q==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz", + "integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==", "dev": true }, "uri-js": { @@ -815,7 +845,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true } } } diff --git a/package.json b/package.json index 39bd011..e51116a 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,8 @@ "build": "tsc && dts-bundle --name node-ns-api --main dist/index.d.ts", "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"", "lint": "tslint -p tsconfig.json", - "version" : "npm run format && git add -A src", - "postversion" : "git push && git push --tags" + "version": "npm run format && git add -A src", + "postversion": "git push && git push --tags" }, "files": [ "dist/**/*" @@ -37,7 +37,7 @@ "tsc": "^1.20150623.0", "tslint": "^5.14.0", "tslint-config-prettier": "^1.18.0", - "typescript": "^3.4.1", + "typescript": "^3.7.2", "@types/request": "^2.48.1", "dts-bundle": "^0.7.3" }, diff --git a/src/api.ts b/src/api.ts index 46c1134..5311014 100644 --- a/src/api.ts +++ b/src/api.ts @@ -34,7 +34,7 @@ export class API implements IApi { public getAllStations(): Promise { return new Promise((resolve, reject) => { - this.http.get(this.ALLSTATIONSURL, null).subscribe( + this.http.get>(this.ALLSTATIONSURL, null).subscribe( (message: APIMessage) => { resolve(message.payload); }, @@ -46,7 +46,7 @@ export class API implements IApi { } public getArrivals(params?: ArrivalDepartureParameters | undefined): Promise { return new Promise((resolve, reject) => { - this.http.get(this.ARRIVALSURL, params).subscribe( + this.http.get>(this.ARRIVALSURL, params).subscribe( (message: APIMessage) => { resolve(message.payload); }, @@ -58,7 +58,7 @@ export class API implements IApi { } public getDepartures(params?: ArrivalDepartureParameters | undefined): Promise { return new Promise((resolve, reject) => { - this.http.get(this.DEPARTURESURL, params).subscribe( + this.http.get>(this.DEPARTURESURL, params).subscribe( (message: APIMessage) => { resolve(message.payload); }, @@ -70,7 +70,7 @@ export class API implements IApi { } public getBigDepartures(params?: ArrivalDepartureParameters | undefined): Promise { return new Promise((resolve, reject) => { - this.http.get(this.BIGDEPARTURESURL, params).subscribe( + this.http.get>(this.BIGDEPARTURESURL, params).subscribe( (message: APIMessage) => { resolve(message.payload); }, @@ -82,7 +82,7 @@ export class API implements IApi { } public getDisruption(params: { id: string }): Promise { return new Promise((resolve, reject) => { - this.http.get(this.DISRUPTIONURL + params.id, params).subscribe( + this.http.get>(this.DISRUPTIONURL + params.id, params).subscribe( (message: APIMessage) => { resolve(message.payload); }, @@ -94,7 +94,7 @@ export class API implements IApi { } public getDisruptions(params?: DisruptionParameters | undefined): Promise { return new Promise((resolve, reject) => { - this.http.get(this.DISRUPTIONSURL, params).subscribe( + this.http.get>(this.DISRUPTIONSURL, params).subscribe( (message: APIMessage) => { resolve(message.payload); }, @@ -106,7 +106,7 @@ export class API implements IApi { } public getStationDisruption(params: { code: string }): Promise { return new Promise((resolve, reject) => { - this.http.get(this.STATIONDISRUPTIONURL + params.code, params).subscribe( + this.http.get>(this.STATIONDISRUPTIONURL + params.code, params).subscribe( (message: APIMessage) => { resolve(message.payload); }, @@ -119,8 +119,8 @@ export class API implements IApi { public getTrip(params?: TripParameters | undefined): Promise { return new Promise((resolve, reject) => { this.http.get(this.TRIPURL, params).subscribe( - (message: APIMessage) => { - resolve(message.payload); + (message: TravelAdvice) => { + resolve(message); }, (error: any) => { reject(error); @@ -131,8 +131,8 @@ export class API implements IApi { public getTrips(params?: TripsParameters | undefined): Promise { return new Promise((resolve, reject) => { this.http.get(this.TRIPSURL, params).subscribe( - (message: APIMessage) => { - resolve(message.payload); + (message: TravelAdvice) => { + resolve(message); }, (error: any) => { reject(error); diff --git a/src/http.ts b/src/http.ts index dd249b8..472b2da 100644 --- a/src/http.ts +++ b/src/http.ts @@ -24,8 +24,8 @@ export class Http implements IHttp { this.headers[this.USER_AGENT] = this.USER_AGENT_VALUE; } - public get(url: string, params: any, contentType?: string): Subject> { - const subject = new Subject>(); + public get(url: string, params: any, contentType?: string): Subject { + const subject = new Subject(); const query = querystring.stringify(params); let uri = url; if (query !== null && query.length > 0) { diff --git a/src/i-http.ts b/src/i-http.ts index 8140300..34882a4 100644 --- a/src/i-http.ts +++ b/src/i-http.ts @@ -2,5 +2,5 @@ import { APIMessage } from './domain/api-message'; import { Subject } from 'rxjs'; export interface IHttp { - get(url: string, params: any, contentType?: string): Subject>; + get(url: string, params: any, contentType?: string): Subject; }