1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
//// [tests/cases/compiler/declarationEmitPrivatePromiseLikeInterface.ts] ////
//// [http-client.ts]
type TPromise<ResolveType, RejectType = any> = Omit<Promise<ResolveType>, "then" | "catch"> & {
then<TResult1 = ResolveType, TResult2 = never>(
onfulfilled?: ((value: ResolveType) => TResult1 | PromiseLike<TResult1>) | undefined | null,
onrejected?: ((reason: RejectType) => TResult2 | PromiseLike<TResult2>) | undefined | null,
): TPromise<TResult1 | TResult2, RejectType>;
catch<TResult = never>(
onrejected?: ((reason: RejectType) => TResult | PromiseLike<TResult>) | undefined | null,
): TPromise<ResolveType | TResult, RejectType>;
};
export interface HttpResponse<D extends unknown, E extends unknown = unknown> extends Response {
data: D;
error: E;
}
export class HttpClient<SecurityDataType = unknown> {
public request = <T = any, E = any>(): TPromise<HttpResponse<T, E>> => {
return '' as any;
};
}
//// [Api.ts]
import { HttpClient } from "./http-client";
export class Api<SecurityDataType = unknown> {
constructor(private http: HttpClient<SecurityDataType>) { }
abc1 = () => this.http.request();
abc2 = () => this.http.request();
abc3 = () => this.http.request();
}
//// [http-client.js]
"use strict";
exports.__esModule = true;
exports.HttpClient = void 0;
var HttpClient = /** @class */ (function () {
function HttpClient() {
this.request = function () {
return '';
};
}
return HttpClient;
}());
exports.HttpClient = HttpClient;
//// [Api.js]
"use strict";
exports.__esModule = true;
exports.Api = void 0;
var Api = /** @class */ (function () {
function Api(http) {
var _this = this;
this.http = http;
this.abc1 = function () { return _this.http.request(); };
this.abc2 = function () { return _this.http.request(); };
this.abc3 = function () { return _this.http.request(); };
}
return Api;
}());
exports.Api = Api;
//// [http-client.d.ts]
type TPromise<ResolveType, RejectType = any> = Omit<Promise<ResolveType>, "then" | "catch"> & {
then<TResult1 = ResolveType, TResult2 = never>(onfulfilled?: ((value: ResolveType) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: RejectType) => TResult2 | PromiseLike<TResult2>) | undefined | null): TPromise<TResult1 | TResult2, RejectType>;
catch<TResult = never>(onrejected?: ((reason: RejectType) => TResult | PromiseLike<TResult>) | undefined | null): TPromise<ResolveType | TResult, RejectType>;
};
export interface HttpResponse<D extends unknown, E extends unknown = unknown> extends Response {
data: D;
error: E;
}
export declare class HttpClient<SecurityDataType = unknown> {
request: <T = any, E = any>() => TPromise<HttpResponse<T, E>, any>;
}
export {};
|