Fix errors in type definitions (#1263)

This commit is contained in:
Tomas Della Vedova
2020-07-20 14:00:24 +02:00
committed by GitHub
parent e6a4050b0b
commit 58117792de
3 changed files with 28 additions and 4 deletions

2
lib/Transport.d.ts vendored
View File

@ -138,7 +138,7 @@ export default class Transport {
_nextSniff: number;
_isSniffing: boolean;
constructor(opts: TransportOptions);
request(params: TransportRequestParams, options?: TransportRequestOptions): Promise<ApiResponse>;
request(params: TransportRequestParams, options?: TransportRequestOptions): TransportRequestPromise<ApiResponse>;
request(params: TransportRequestParams, options?: TransportRequestOptions, callback?: (err: ApiError, result: ApiResponse) => void): TransportRequestCallback;
getConnection(opts: TransportGetConnectionOptions): Connection | null;
sniff(opts?: TransportSniffOptions, callback?: (...args: any[]) => void): void;

View File

@ -26,7 +26,6 @@ import { RequestBody, RequestNDBody } from '../lib/Transport'
export interface Generic {
method?: string;
ignore?: number | number[];
filter_path?: string | string[];
pretty?: boolean;
human?: boolean;
@ -118,7 +117,31 @@ export interface ${toPascalCase(name)}${body ? `<T = ${bodyGeneric}>` : ''} exte
case 'timeout':
return 'string'
case 'enum':
return options.map(k => `'${k}'`).join(' | ')
// the following code changes 'true' | 'false' to boolean
let foundTrue = false
let foundFalse = false
options = options
.map(k => {
if (k === 'true') {
foundTrue = true
return true
} else if (k === 'false') {
foundFalse = true
return false
} else {
return `'${k}'`
}
})
.filter(k => {
if (foundTrue && foundFalse && (k === true || k === false)) {
return false
}
return true
})
if (foundTrue && foundFalse) {
options.push('boolean')
}
return options.join(' | ')
case 'int':
case 'double':
case 'long':

View File

@ -14,6 +14,7 @@ import {
TransportRequestParams,
TransportRequestOptions,
TransportRequestCallback,
TransportRequestPromise,
RequestEvent,
ApiError,
RequestBody,
@ -152,7 +153,7 @@ transport.request({
})
const promise = transport.request(params, options)
expectType<Promise<ApiResponse>>(promise)
expectType<TransportRequestPromise<ApiResponse>>(promise)
promise.then(result => expectType<ApiResponse>(result))
expectType<ApiResponse>(await promise)