Add ampersand and parameter conditions in client.ts

This commit is contained in:
Tee
2021-03-11 07:59:21 -05:00
parent 8c75754623
commit 1ab1add58a

View File

@ -33,8 +33,11 @@ export class Client {
headers
};
if(typeof params === 'string') url += `/${params}`;
else url += `?${this.paramsToQuery(params)}`;
if (typeof params === 'string') {
if (params.toLowerCase().includes('page') || params.toLowerCase().includes('order')) url += `?${params}`;
else url += `/${params}`;
}
else url += `?q=${this.paramsToQuery(params)}`;
return axios.default.get<T>(url, config)
.then(response => {
@ -45,13 +48,17 @@ export class Client {
private paramsToQuery(params?: Query[]): string {
let query: string = '';
const paramsLength: number = params.length;
if (params) {
params.map((q: Query) => {
query += `${q.name}=${encodeURIComponent(q.value.toString())}`.concat('&');
});
}
params.map((q: Query, i: number) => {
if (paramsLength === i + 1) {
query += `${q.name}:${encodeURIComponent(q.value.toString())}`;
} else {
query += `${q.name}:${encodeURIComponent(q.value.toString())}`.concat('&');
}
});
}
return query;
}
}