Skip to content

Commit ca41805

Browse files
committed
Use prettier.
1 parent 5da0279 commit ca41805

File tree

5 files changed

+83
-23
lines changed

5 files changed

+83
-23
lines changed

ts/.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/*.d.ts

ts/.prettierrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"printWidth": 120,
3+
"singleQuote": true,
4+
"useTabs": true
5+
}

ts/package-lock.json

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
"description": "Common code for the Facility API Framework.",
55
"scripts": {
66
"build": "tsc && eslint src --ext .ts",
7-
"test": "npm run --silent build && mocha"
7+
"test": "npm run --silent build && mocha",
8+
"format": "prettier --write src/*.ts"
89
},
910
"repository": {
1011
"type": "git",
@@ -24,7 +25,10 @@
2425
"@typescript-eslint/parser": "^4.26.1",
2526
"chai": "^4.3.4",
2627
"eslint": "^7.28.0",
28+
"eslint-config-prettier": "^8.3.0",
29+
"eslint-plugin-prettier": "^3.4.0",
2730
"mocha": "^8.4.0",
31+
"prettier": "^2.3.1",
2832
"typescript": "~3.9.9"
2933
}
3034
}

ts/src/facilityCore.ts

Lines changed: 36 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ export interface IHttpClientOptions {
3333
/** Helpers for HTTP clients. */
3434
// eslint-disable-next-line @typescript-eslint/no-namespace
3535
export namespace HttpClientUtility {
36-
3736
/** The fetch function. */
3837
export interface IFetch {
3938
(uri: string, request: IFetchRequest): Promise<IFetchResponse>;
@@ -73,31 +72,37 @@ export namespace HttpClientUtility {
7372
'413': 'RequestTooLarge',
7473
'429': 'TooManyRequests',
7574
'500': 'InternalError',
76-
'503': 'ServiceUnavailable'
75+
'503': 'ServiceUnavailable',
7776
};
7877

7978
const jsonContentType = 'application/json';
8079

8180
/** Fetch JSON using the specified fetch, URI, and request. */
82-
export function fetchResponse(fetch: IFetch, uri: string, request: IFetchRequest): Promise<IFetchedResponseWithContent> {
83-
return fetch(uri, request)
84-
.then(response => {
85-
if (!response.headers || !response.status || typeof response.json !== 'function') {
86-
throw new TypeError('fetch must resolve Promise with { status, headers, json() }.');
87-
}
88-
const contentType = response.headers.get('content-type');
89-
if (!contentType) {
90-
return Promise.resolve({ response: response, json: {} });
81+
export function fetchResponse(
82+
fetch: IFetch,
83+
uri: string,
84+
request: IFetchRequest
85+
): Promise<IFetchedResponseWithContent> {
86+
return fetch(uri, request).then((response) => {
87+
if (!response.headers || !response.status || typeof response.json !== 'function') {
88+
throw new TypeError('fetch must resolve Promise with { status, headers, json() }.');
89+
}
90+
const contentType = response.headers.get('content-type');
91+
if (!contentType) {
92+
return Promise.resolve({ response: response, json: {} });
93+
}
94+
if (contentType.toLowerCase().substr(0, jsonContentType.length) === jsonContentType) {
95+
const jsonPromise = response.json();
96+
if (!jsonPromise || typeof jsonPromise.then !== 'function') {
97+
throw new TypeError('json() of fetch response must return a Promise.');
9198
}
92-
if (contentType.toLowerCase().substr(0, jsonContentType.length) === jsonContentType) {
93-
const jsonPromise = response.json();
94-
if (!jsonPromise || typeof jsonPromise.then !== 'function') {
95-
throw new TypeError('json() of fetch response must return a Promise.');
96-
}
97-
return jsonPromise.then(json => ({ response: response, json: json }));
98-
}
99-
return Promise.resolve({ response: response });
100-
});
99+
return jsonPromise.then((json) => ({
100+
response: response,
101+
json: json,
102+
}));
103+
}
104+
return Promise.resolve({ response: response });
105+
});
101106
}
102107

103108
/** Creates an error result for the specified response. */
@@ -108,13 +113,22 @@ export namespace HttpClientUtility {
108113
const isClientError = status >= 400 && status <= 499;
109114
const isServerError = status >= 500 && status <= 599;
110115
const errorCode = standardErrorCodes[status] || (isClientError ? 'InvalidRequest' : 'InvalidResponse');
111-
const message = isServerError ? 'HTTP server error' : isClientError ? 'HTTP client error' : 'Unexpected HTTP status code';
116+
const message = isServerError
117+
? 'HTTP server error'
118+
: isClientError
119+
? 'HTTP client error'
120+
: 'Unexpected HTTP status code';
112121
return { error: { code: errorCode, message: `${message}: ${status}` } };
113122
}
114123

115124
/** Creates an error result for a required request field. */
116125
export function createRequiredRequestFieldError(name: string): IServiceResultBase {
117-
return { error: { code: 'InvalidRequest', message: `The request field '${name}' is required.` } };
126+
return {
127+
error: {
128+
code: 'InvalidRequest',
129+
message: `The request field '${name}' is required.`,
130+
},
131+
};
118132
}
119133
}
120134

0 commit comments

Comments
 (0)