From 1ab1add58abaebfb9b852bbe925701e95841fab1 Mon Sep 17 00:00:00 2001 From: Tee Date: Thu, 11 Mar 2021 07:59:21 -0500 Subject: [PATCH] Add ampersand and parameter conditions in client.ts --- src/client.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/client.ts b/src/client.ts index bb79a43..2f7ec4e 100644 --- a/src/client.ts +++ b/src/client.ts @@ -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(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; } } \ No newline at end of file