api-railway
Version:
Api wrapper for api.railwayapi.site
41 lines • 1.83 kB
JavaScript
import { Client } from "./index.js";
import { URLBuilder } from "./utils.js";
export default class Stations {
baseUrl;
headers;
constructor(client) {
this.baseUrl = `${client.protocol}://${client.baseUrl}/${client.apiVersion}`;
this.headers = client.headers;
}
getStationParts(stationCode) {
const stationUrlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("stations");
return stationUrlBuilder.addResource(stationCode).buildURL();
}
async getStation(stationCode) {
const stationUrlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("stations");
return stationUrlBuilder.addResource(stationCode).fetch();
}
getStationsLikeCodeParts(stationCode, limit = 10) {
const stationGeneralUrlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("stations");
return stationGeneralUrlBuilder.addQueryParam({ stationCode, limit }).buildURL();
}
async getStationsLikeCode(stationCode, limit = 10) {
const stationGeneralUrlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("stations");
return stationGeneralUrlBuilder.addQueryParam({ stationCode, limit }).fetch();
}
getStationsLikeQueryParts(q, limit = 10) {
const stationGeneralUrlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("stations");
return stationGeneralUrlBuilder.addQueryParam({ q, limit }).buildURL();
}
async getStationsLikeQuery(q, limit = 10) {
const stationGeneralUrlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("stations");
return stationGeneralUrlBuilder.addQueryParam({ q, limit }).fetch();
}
}
//# sourceMappingURL=stations.js.map