@edifice.io/rest-client-base 2.5.4-feat-ENABLING-562.20251216112711
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/dist/client/adapters/fetch-adapter.d.ts +12 -0
- package/dist/client/adapters/fetch-adapter.js +86 -0
- package/dist/client/adapters/fetch-adapter.js.map +1 -0
- package/dist/client/adapters/http-adapter.d.ts +8 -0
- package/dist/client/adapters/http-adapter.js +3 -0
- package/dist/client/adapters/http-adapter.js.map +1 -0
- package/dist/client/adapters/http-service-adapter.d.ts +14 -0
- package/dist/client/adapters/http-service-adapter.js +35 -0
- package/dist/client/adapters/http-service-adapter.js.map +1 -0
- package/dist/client/base-api.client.d.ts +29 -0
- package/dist/client/base-api.client.js +65 -0
- package/dist/client/base-api.client.js.map +1 -0
- package/dist/client/errors/api-error.d.ts +11 -0
- package/dist/client/errors/api-error.js +50 -0
- package/dist/client/errors/api-error.js.map +1 -0
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.js +22 -0
- package/dist/client/index.js.map +1 -0
- package/dist/decorators/custom-type.decorator.browser.d.ts +3 -0
- package/dist/decorators/custom-type.decorator.browser.js +15 -0
- package/dist/decorators/custom-type.decorator.browser.js.map +1 -0
- package/dist/decorators/custom-type.decorator.node.d.ts +3 -0
- package/dist/decorators/custom-type.decorator.node.js +9 -0
- package/dist/decorators/custom-type.decorator.node.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.node.tsbuildinfo +1 -0
- package/package.json +57 -0
- package/tsconfig.base.json +21 -0
- package/tsconfig.browser.json +13 -0
- package/tsconfig.node.json +11 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FetchAdapter = void 0;
|
|
4
|
+
const api_error_1 = require("../errors/api-error");
|
|
5
|
+
class FetchAdapter {
|
|
6
|
+
fetchImpl;
|
|
7
|
+
constructor(fetchImpl = fetch) {
|
|
8
|
+
this.fetchImpl = fetchImpl;
|
|
9
|
+
}
|
|
10
|
+
async handleResponse(response) {
|
|
11
|
+
if (!response.ok) {
|
|
12
|
+
throw new api_error_1.ApiError(response);
|
|
13
|
+
}
|
|
14
|
+
const contentType = response.headers.get('content-type');
|
|
15
|
+
if (contentType && contentType.includes('application/json')) {
|
|
16
|
+
return await response.json();
|
|
17
|
+
}
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
async get(url, headers) {
|
|
21
|
+
const response = await this.fetchImpl(url, {
|
|
22
|
+
method: 'GET',
|
|
23
|
+
headers,
|
|
24
|
+
credentials: 'include',
|
|
25
|
+
});
|
|
26
|
+
return this.handleResponse(response);
|
|
27
|
+
}
|
|
28
|
+
async post(url, body, headers) {
|
|
29
|
+
const response = await this.fetchImpl(url, {
|
|
30
|
+
method: 'POST',
|
|
31
|
+
headers: {
|
|
32
|
+
'Content-Type': 'application/json',
|
|
33
|
+
...headers,
|
|
34
|
+
},
|
|
35
|
+
body: JSON.stringify(body),
|
|
36
|
+
credentials: 'include',
|
|
37
|
+
});
|
|
38
|
+
return this.handleResponse(response);
|
|
39
|
+
}
|
|
40
|
+
async put(url, body, headers) {
|
|
41
|
+
const response = await this.fetchImpl(url, {
|
|
42
|
+
method: 'PUT',
|
|
43
|
+
headers: {
|
|
44
|
+
'Content-Type': 'application/json',
|
|
45
|
+
...headers,
|
|
46
|
+
},
|
|
47
|
+
body: JSON.stringify(body),
|
|
48
|
+
credentials: 'include',
|
|
49
|
+
});
|
|
50
|
+
return this.handleResponse(response);
|
|
51
|
+
}
|
|
52
|
+
async patch(url, body, headers) {
|
|
53
|
+
const response = await this.fetchImpl(url, {
|
|
54
|
+
method: 'PATCH',
|
|
55
|
+
headers: {
|
|
56
|
+
'Content-Type': 'application/json',
|
|
57
|
+
...headers,
|
|
58
|
+
},
|
|
59
|
+
body: JSON.stringify(body),
|
|
60
|
+
credentials: 'include',
|
|
61
|
+
});
|
|
62
|
+
return this.handleResponse(response);
|
|
63
|
+
}
|
|
64
|
+
async delete(url, headers) {
|
|
65
|
+
const response = await this.fetchImpl(url, {
|
|
66
|
+
method: 'DELETE',
|
|
67
|
+
headers,
|
|
68
|
+
credentials: 'include',
|
|
69
|
+
});
|
|
70
|
+
return this.handleResponse(response);
|
|
71
|
+
}
|
|
72
|
+
async deleteWithBody(url, body, headers) {
|
|
73
|
+
const response = await this.fetchImpl(url, {
|
|
74
|
+
method: 'DELETE',
|
|
75
|
+
headers: {
|
|
76
|
+
'Content-Type': 'application/json',
|
|
77
|
+
...headers,
|
|
78
|
+
},
|
|
79
|
+
body: JSON.stringify(body),
|
|
80
|
+
credentials: 'include',
|
|
81
|
+
});
|
|
82
|
+
return this.handleResponse(response);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.FetchAdapter = FetchAdapter;
|
|
86
|
+
//# sourceMappingURL=fetch-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-adapter.js","sourceRoot":"","sources":["../../../src/client/adapters/fetch-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface HttpAdapter {
|
|
2
|
+
get<T>(url: string, headers?: Record<string, string>): Promise<T>;
|
|
3
|
+
post<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
4
|
+
put<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
5
|
+
patch<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
6
|
+
delete<T>(url: string, headers?: Record<string, string>): Promise<T>;
|
|
7
|
+
deleteWithBody<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-adapter.js","sourceRoot":"","sources":["../../../src/client/adapters/http-adapter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { odeServices } from '@edifice.io/client';
|
|
2
|
+
import { HttpAdapter } from './http-adapter';
|
|
3
|
+
type HttpService = ReturnType<typeof odeServices.http>;
|
|
4
|
+
export declare class HttpServiceAdapter implements HttpAdapter {
|
|
5
|
+
private readonly httpService;
|
|
6
|
+
constructor(httpService: HttpService);
|
|
7
|
+
get<T>(url: string, headers?: Record<string, string>): Promise<T>;
|
|
8
|
+
post<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
9
|
+
put<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
10
|
+
patch<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
11
|
+
delete<T>(url: string, headers?: Record<string, string>): Promise<T>;
|
|
12
|
+
deleteWithBody<T>(url: string, body: unknown, headers?: Record<string, string>): Promise<T>;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpServiceAdapter = void 0;
|
|
4
|
+
class HttpServiceAdapter {
|
|
5
|
+
httpService;
|
|
6
|
+
constructor(httpService) {
|
|
7
|
+
this.httpService = httpService;
|
|
8
|
+
}
|
|
9
|
+
async get(url, headers) {
|
|
10
|
+
const params = headers ? { headers } : undefined;
|
|
11
|
+
return this.httpService.get(url, params);
|
|
12
|
+
}
|
|
13
|
+
async post(url, body, headers) {
|
|
14
|
+
const params = headers ? { headers } : undefined;
|
|
15
|
+
return this.httpService.postJson(url, body, params);
|
|
16
|
+
}
|
|
17
|
+
async put(url, body, headers) {
|
|
18
|
+
const params = headers ? { headers } : undefined;
|
|
19
|
+
return this.httpService.putJson(url, body, params);
|
|
20
|
+
}
|
|
21
|
+
async patch(url, body, headers) {
|
|
22
|
+
const params = headers ? { headers } : undefined;
|
|
23
|
+
return this.httpService.patchJson(url, body, params);
|
|
24
|
+
}
|
|
25
|
+
async delete(url, headers) {
|
|
26
|
+
const params = headers ? { headers } : undefined;
|
|
27
|
+
return this.httpService.delete(url, params);
|
|
28
|
+
}
|
|
29
|
+
async deleteWithBody(url, body, headers) {
|
|
30
|
+
const params = headers ? { headers } : undefined;
|
|
31
|
+
return this.httpService.deleteJson(url, body);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.HttpServiceAdapter = HttpServiceAdapter;
|
|
35
|
+
//# sourceMappingURL=http-service-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-service-adapter.js","sourceRoot":"","sources":["../../../src/client/adapters/http-service-adapter.ts"],"names":[],"mappings":";;;AAoBA,MAAa,kBAAkB;IACA;IAA7B,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEzD,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,OAAgC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CACR,GAAW,EACX,IAAa,EACb,OAAgC;QAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAW,EACX,IAAa,EACb,OAAgC;QAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAW,EACX,IAAa,EACb,OAAgC;QAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,GAAW,EAAE,OAAgC;QAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,GAAW,EACX,IAAa,EACb,OAAgC;QAGhC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAI,GAAG,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF;AAjDD,gDAiDC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { HttpAdapter } from './adapters/http-adapter';
|
|
2
|
+
import type { odeServices } from '@edifice.io/client';
|
|
3
|
+
type HttpService = ReturnType<typeof odeServices.http>;
|
|
4
|
+
export type FetchFunction = typeof fetch;
|
|
5
|
+
export interface ApiClientOptions {
|
|
6
|
+
baseUrl?: string;
|
|
7
|
+
defaultHeaders?: Record<string, string>;
|
|
8
|
+
fetchImpl?: typeof fetch;
|
|
9
|
+
httpService?: HttpService;
|
|
10
|
+
httpAdapter?: HttpAdapter;
|
|
11
|
+
}
|
|
12
|
+
export interface RequestOptions {
|
|
13
|
+
headers?: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class BaseApiClient {
|
|
16
|
+
protected readonly baseUrl: string;
|
|
17
|
+
protected readonly defaultHeaders: Record<string, string>;
|
|
18
|
+
protected readonly httpAdapter: HttpAdapter;
|
|
19
|
+
constructor(options?: ApiClientOptions);
|
|
20
|
+
protected get<T>(endpoint: string, queryParams?: URLSearchParams, options?: RequestOptions): Promise<T>;
|
|
21
|
+
protected post<T, U = unknown>(endpoint: string, body: U, queryParams?: URLSearchParams, options?: RequestOptions): Promise<T>;
|
|
22
|
+
protected put<T, U = unknown>(endpoint: string, body: U, queryParams?: URLSearchParams, options?: RequestOptions): Promise<T>;
|
|
23
|
+
protected patch<T, U = unknown>(endpoint: string, body: U, queryParams?: URLSearchParams, options?: RequestOptions): Promise<T>;
|
|
24
|
+
protected delete<T = void>(endpoint: string, queryParams?: URLSearchParams, options?: RequestOptions): Promise<T>;
|
|
25
|
+
protected deleteWithBody<T, U = unknown>(endpoint: string, body: U, queryParams?: URLSearchParams, options?: RequestOptions): Promise<T>;
|
|
26
|
+
protected buildUrl(endpoint: string, queryParams?: URLSearchParams): string;
|
|
27
|
+
protected buildHeaders(additionalHeaders?: Record<string, string>): Record<string, string>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseApiClient = void 0;
|
|
4
|
+
const fetch_adapter_1 = require("./adapters/fetch-adapter");
|
|
5
|
+
const http_service_adapter_1 = require("./adapters/http-service-adapter");
|
|
6
|
+
class BaseApiClient {
|
|
7
|
+
baseUrl;
|
|
8
|
+
defaultHeaders;
|
|
9
|
+
httpAdapter;
|
|
10
|
+
constructor(options = {}) {
|
|
11
|
+
this.baseUrl = options.baseUrl || '';
|
|
12
|
+
this.defaultHeaders = options.defaultHeaders || {};
|
|
13
|
+
if (options.httpAdapter) {
|
|
14
|
+
this.httpAdapter = options.httpAdapter;
|
|
15
|
+
}
|
|
16
|
+
else if (options.httpService) {
|
|
17
|
+
this.httpAdapter = new http_service_adapter_1.HttpServiceAdapter(options.httpService);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.httpAdapter = new fetch_adapter_1.FetchAdapter(options.fetchImpl || fetch);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async get(endpoint, queryParams, options) {
|
|
24
|
+
const url = this.buildUrl(endpoint, queryParams);
|
|
25
|
+
return this.httpAdapter.get(url, this.buildHeaders(options?.headers));
|
|
26
|
+
}
|
|
27
|
+
async post(endpoint, body, queryParams, options) {
|
|
28
|
+
const url = this.buildUrl(endpoint, queryParams);
|
|
29
|
+
return this.httpAdapter.post(url, body, this.buildHeaders(options?.headers));
|
|
30
|
+
}
|
|
31
|
+
async put(endpoint, body, queryParams, options) {
|
|
32
|
+
const url = this.buildUrl(endpoint, queryParams);
|
|
33
|
+
return this.httpAdapter.put(url, body, this.buildHeaders(options?.headers));
|
|
34
|
+
}
|
|
35
|
+
async patch(endpoint, body, queryParams, options) {
|
|
36
|
+
const url = this.buildUrl(endpoint, queryParams);
|
|
37
|
+
return this.httpAdapter.patch(url, body, this.buildHeaders(options?.headers));
|
|
38
|
+
}
|
|
39
|
+
async delete(endpoint, queryParams, options) {
|
|
40
|
+
const url = this.buildUrl(endpoint, queryParams);
|
|
41
|
+
return this.httpAdapter.delete(url, this.buildHeaders(options?.headers));
|
|
42
|
+
}
|
|
43
|
+
async deleteWithBody(endpoint, body, queryParams, options) {
|
|
44
|
+
const url = this.buildUrl(endpoint, queryParams);
|
|
45
|
+
return this.httpAdapter.deleteWithBody(url, body, this.buildHeaders(options?.headers));
|
|
46
|
+
}
|
|
47
|
+
buildUrl(endpoint, queryParams) {
|
|
48
|
+
let url = `${this.baseUrl}${endpoint}`;
|
|
49
|
+
if (url.startsWith('//')) {
|
|
50
|
+
url = url.replace(/^\/\//, '/');
|
|
51
|
+
}
|
|
52
|
+
if (queryParams && queryParams.toString()) {
|
|
53
|
+
url += `?${queryParams.toString()}`;
|
|
54
|
+
}
|
|
55
|
+
return url;
|
|
56
|
+
}
|
|
57
|
+
buildHeaders(additionalHeaders) {
|
|
58
|
+
return {
|
|
59
|
+
...this.defaultHeaders,
|
|
60
|
+
...additionalHeaders,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.BaseApiClient = BaseApiClient;
|
|
65
|
+
//# sourceMappingURL=base-api.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-api.client.js","sourceRoot":"","sources":["../../src/client/base-api.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class ApiError extends Error {
|
|
2
|
+
private _response;
|
|
3
|
+
private _jsonData;
|
|
4
|
+
private _textData;
|
|
5
|
+
constructor(response: Response, message?: string);
|
|
6
|
+
response(): Response;
|
|
7
|
+
status(): number;
|
|
8
|
+
statusText(): string;
|
|
9
|
+
json(): Promise<unknown>;
|
|
10
|
+
text(): Promise<string>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiError = void 0;
|
|
4
|
+
class ApiError extends Error {
|
|
5
|
+
_response;
|
|
6
|
+
_jsonData = null;
|
|
7
|
+
_textData = null;
|
|
8
|
+
constructor(response, message) {
|
|
9
|
+
super(message ||
|
|
10
|
+
`API request failed: ${response.status} ${response.statusText}`);
|
|
11
|
+
this.name = 'ApiError';
|
|
12
|
+
this._response = response;
|
|
13
|
+
Object.setPrototypeOf(this, ApiError.prototype);
|
|
14
|
+
}
|
|
15
|
+
response() {
|
|
16
|
+
return this._response;
|
|
17
|
+
}
|
|
18
|
+
status() {
|
|
19
|
+
return this._response.status;
|
|
20
|
+
}
|
|
21
|
+
statusText() {
|
|
22
|
+
return this._response.statusText;
|
|
23
|
+
}
|
|
24
|
+
async json() {
|
|
25
|
+
if (this._jsonData === null) {
|
|
26
|
+
try {
|
|
27
|
+
const clonedResponse = this._response.clone();
|
|
28
|
+
this._jsonData = await clonedResponse.json();
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
this._jsonData = null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return this._jsonData;
|
|
35
|
+
}
|
|
36
|
+
async text() {
|
|
37
|
+
if (this._textData === null) {
|
|
38
|
+
try {
|
|
39
|
+
const clonedResponse = this._response.clone();
|
|
40
|
+
this._textData = await clonedResponse.text();
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
this._textData = '';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return this._textData;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.ApiError = ApiError;
|
|
50
|
+
//# sourceMappingURL=api-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-error.js","sourceRoot":"","sources":["../../../src/client/errors/api-error.ts"],"names":[],"mappings":";;;AA2BA,MAAa,QAAS,SAAQ,KAAK;IACzB,SAAS,CAAW;IACpB,SAAS,GAAmB,IAAI,CAAC;IACjC,SAAS,GAAkB,IAAI,CAAC;IAOxC,YAAY,QAAkB,EAAE,OAAgB;QAC9C,KAAK,CACH,OAAO;YACL,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAClE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAG1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAMD,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAMD,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IACnC,CAAC;IAOD,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBAEH,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAMD,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBAEH,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAhFD,4BAgFC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./errors/api-error"), exports);
|
|
18
|
+
__exportStar(require("./adapters/fetch-adapter"), exports);
|
|
19
|
+
__exportStar(require("./adapters/http-adapter"), exports);
|
|
20
|
+
__exportStar(require("./adapters/http-service-adapter"), exports);
|
|
21
|
+
__exportStar(require("./base-api.client"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2DAAyC;AACzC,0DAAwC;AACxC,kEAAgD;AAChD,oDAAkC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Type = Type;
|
|
4
|
+
exports.ApiProperty = ApiProperty;
|
|
5
|
+
exports.ApiPropertyOptional = ApiPropertyOptional;
|
|
6
|
+
function Type(..._args) {
|
|
7
|
+
return () => { };
|
|
8
|
+
}
|
|
9
|
+
function ApiProperty(..._args) {
|
|
10
|
+
return () => { };
|
|
11
|
+
}
|
|
12
|
+
function ApiPropertyOptional(..._args) {
|
|
13
|
+
return () => { };
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=custom-type.decorator.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-type.decorator.browser.js","sourceRoot":"","sources":["../../src/decorators/custom-type.decorator.browser.ts"],"names":[],"mappings":";;AAIA,oBAEC;AAED,kCAEC;AAED,kDAEC;AAVD,SAAgB,IAAI,CAAC,GAAG,KAAgB;IACtC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAgB,WAAW,CAAC,GAAG,KAAgB;IAC7C,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAG,KAAgB;IACrD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiPropertyOptional = exports.ApiProperty = exports.Type = void 0;
|
|
4
|
+
const class_transformer_1 = require("class-transformer");
|
|
5
|
+
Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return class_transformer_1.Type; } });
|
|
6
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
+
Object.defineProperty(exports, "ApiProperty", { enumerable: true, get: function () { return swagger_1.ApiProperty; } });
|
|
8
|
+
Object.defineProperty(exports, "ApiPropertyOptional", { enumerable: true, get: function () { return swagger_1.ApiPropertyOptional; } });
|
|
9
|
+
//# sourceMappingURL=custom-type.decorator.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-type.decorator.node.js","sourceRoot":"","sources":["../../src/decorators/custom-type.decorator.node.ts"],"names":[],"mappings":";;;AAAA,yDAAyC;AAUhC,qFAVA,wBAAI,OAUA;AATb,6CAIyB;AAKV,4FARb,qBAAW,OAQa;AAAsB,oGAN9C,6BAAmB,OAM8C"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './client/index';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./client/index"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
|