Skip to content

Commit

Permalink
Clean up linting and tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
Brett Willemsen committed Nov 12, 2020
1 parent 642bfc4 commit 443075e
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 13 deletions.
13 changes: 9 additions & 4 deletions src/api.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,9 @@ test('API calls populate resource field', async done => {

test('API explodes list based parameters properly', async done => {
nock('https://api.pagerduty.com')
.get('/incidents?additional_fields[]=one&additional_fields[]=two&additional_fields[]=three')
.get(
'/incidents?additional_fields[]=one&additional_fields[]=two&additional_fields[]=three'
)
.reply(200, {
incidents: ['one', 1, null],
limit: 25,
Expand All @@ -159,10 +161,13 @@ test('API explodes list based parameters properly', async done => {
token: 'someToken1234567890',
endpoint: '/incidents',
queryParameters: {
'additional_fields[]': ['one', 'two', 'three']
}
'additional_fields[]': ['one', 'two', 'three'],
},
});
expect(resp.url).toEqual('https://api.pagerduty.com/incidents?additional_fields%5B%5D=one&additional_fields%5B%5D=two&additional_fields%5B%5D=three');

expect(resp.url).toEqual(
`https://api.pagerduty.com/incidents?additional_fields%5B%5D=one&additional_fields%5B%5D=two&additional_fields%5B%5D=three`
);
done();
});

Expand Down
18 changes: 14 additions & 4 deletions src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ export interface APIResponse extends Response {

export function api(apiParameters: APIParameters): APIPromise;
export function api(apiParameters: Partial<APIParameters>): PartialCall;
export function api(apiParameters: Partial<APIParameters>): APIPromise | PartialCall {
export function api(
apiParameters: Partial<APIParameters>
): APIPromise | PartialCall {
// If the apiParameters don't include `endpoint` treat it as a partial
// application.
if (!apiParameters.endpoint && !apiParameters.url) {
Expand Down Expand Up @@ -64,7 +66,8 @@ export function api(apiParameters: Partial<APIParameters>): APIPromise | Partial

// Allow `data` for `queryParameters` for requests without bodies.
if (isReadonlyRequest(config.method!) && data) {
config.queryParameters = config.queryParameters ?? (data as Record<string, string>);
config.queryParameters =
config.queryParameters ?? (data as Record<string, string>);
} else {
config.body = JSON.stringify(data);
}
Expand All @@ -76,7 +79,9 @@ export function api(apiParameters: Partial<APIParameters>): APIPromise | Partial
}

export function all(apiParameters: APIParameters): Promise<APIResponse[]> {
return (api(apiParameters) as APIPromise).then(response => allInner([response]));
return (api(apiParameters) as APIPromise).then(response =>
allInner([response])
);
}

function allInner(responses: APIResponse[]): Promise<APIResponse[]> {
Expand Down Expand Up @@ -197,7 +202,12 @@ function partialCall(apiParameters: Partial<APIParameters>) {
endpoint: string,
shorthandParameters?: Partial<APIParameters>
): APIPromise =>
api({endpoint, method, ...partialParameters, ...shorthandParameters}) as APIPromise;
api({
endpoint,
method,
...partialParameters,
...shorthandParameters,
}) as APIPromise;

partial.get = shorthand('get');
partial.post = shorthand('post');
Expand Down
7 changes: 3 additions & 4 deletions src/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,12 @@ function applyParameters(url: URL, queryParameters?: QueryParameter): URL {
const combinedParameters = url.searchParams;

for (const key of Object.keys(queryParameters)) {
let parameter = queryParameters[key];
const parameter = queryParameters[key];
if (Array.isArray(parameter)) {
// Support for array based keys like `additional_fields[]`
console.log(parameter);
parameter.forEach((item) => {
parameter.forEach(item => {
combinedParameters.append(key, item);
})
});
} else {
combinedParameters.append(key, parameter);
}
Expand Down
4 changes: 3 additions & 1 deletion src/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,9 @@ export function event(eventParameters: EventParameters): EventPromise {
});
}

const shorthand = (action: Action) => (eventParameters: EventParameters): EventPromise => {
const shorthand = (action: Action) => (
eventParameters: EventParameters
): EventPromise => {
const typeField = 'event_action';

return event({
Expand Down

0 comments on commit 443075e

Please sign in to comment.