api-railway
Version:
Api wrapper for api.railwayapi.site
37 lines • 1.62 kB
JavaScript
import { Client } from "./index.js";
import { URLBuilder } from "./utils.js";
export default class Trains {
baseUrl;
headers;
constructor(client) {
this.baseUrl = `${client.protocol}://${client.baseUrl}/${client.apiVersion}`;
this.headers = client.headers;
}
getTrainParts(trainNumber) {
const urlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("trains");
return urlBuilder.addResource(trainNumber).buildURL();
}
async getTrain(trainNumber) {
const urlBuilder = new URLBuilder(this.baseUrl, this.headers)
.addResource("trains");
return urlBuilder.addResource(trainNumber).fetch();
}
getTrainsLikeNumberParts(trainNumber, limit = 10) {
const urlBuilder = new URLBuilder(this.baseUrl, this.headers).addResource("trains");
return urlBuilder.addQueryParam({ trainNumber, limit }).buildURL();
}
async getTrainsLikeNumber(trainNumber, limit = 10) {
const urlBuilder = new URLBuilder(this.baseUrl, this.headers).addResource("trains");
return urlBuilder.addQueryParam({ trainNumber, limit }).fetch();
}
getTrainsLikeQueryParts(q, limit = 10) {
const urlBuilder = new URLBuilder(this.baseUrl, this.headers).addResource("trains");
return urlBuilder.addQueryParam({ q, limit }).buildURL();
}
async getTrainsLikeQuery(q, limit = 10) {
const urlBuilder = new URLBuilder(this.baseUrl, this.headers).addResource("trains");
return urlBuilder.addQueryParam({ q, limit }).fetch();
}
}
//# sourceMappingURL=trains.js.map