@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.
Files changed (33) hide show
  1. package/LICENSE +661 -0
  2. package/dist/client/adapters/fetch-adapter.d.ts +12 -0
  3. package/dist/client/adapters/fetch-adapter.js +86 -0
  4. package/dist/client/adapters/fetch-adapter.js.map +1 -0
  5. package/dist/client/adapters/http-adapter.d.ts +8 -0
  6. package/dist/client/adapters/http-adapter.js +3 -0
  7. package/dist/client/adapters/http-adapter.js.map +1 -0
  8. package/dist/client/adapters/http-service-adapter.d.ts +14 -0
  9. package/dist/client/adapters/http-service-adapter.js +35 -0
  10. package/dist/client/adapters/http-service-adapter.js.map +1 -0
  11. package/dist/client/base-api.client.d.ts +29 -0
  12. package/dist/client/base-api.client.js +65 -0
  13. package/dist/client/base-api.client.js.map +1 -0
  14. package/dist/client/errors/api-error.d.ts +11 -0
  15. package/dist/client/errors/api-error.js +50 -0
  16. package/dist/client/errors/api-error.js.map +1 -0
  17. package/dist/client/index.d.ts +5 -0
  18. package/dist/client/index.js +22 -0
  19. package/dist/client/index.js.map +1 -0
  20. package/dist/decorators/custom-type.decorator.browser.d.ts +3 -0
  21. package/dist/decorators/custom-type.decorator.browser.js +15 -0
  22. package/dist/decorators/custom-type.decorator.browser.js.map +1 -0
  23. package/dist/decorators/custom-type.decorator.node.d.ts +3 -0
  24. package/dist/decorators/custom-type.decorator.node.js +9 -0
  25. package/dist/decorators/custom-type.decorator.node.js.map +1 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.js +18 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/tsconfig.node.tsbuildinfo +1 -0
  30. package/package.json +57 -0
  31. package/tsconfig.base.json +21 -0
  32. package/tsconfig.browser.json +13 -0
  33. 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=http-adapter.js.map
@@ -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,5 @@
1
+ export * from './errors/api-error';
2
+ export * from './adapters/fetch-adapter';
3
+ export * from './adapters/http-adapter';
4
+ export * from './adapters/http-service-adapter';
5
+ export * from './base-api.client';
@@ -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,3 @@
1
+ export declare function Type(..._args: unknown[]): PropertyDecorator;
2
+ export declare function ApiProperty(..._args: unknown[]): PropertyDecorator;
3
+ export declare function ApiPropertyOptional(..._args: unknown[]): PropertyDecorator;
@@ -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,3 @@
1
+ import { Type } from 'class-transformer';
2
+ import { ApiProperty, ApiPropertyOptions, ApiPropertyOptional } from '@nestjs/swagger';
3
+ export { Type, ApiProperty, ApiPropertyOptions, ApiPropertyOptional };
@@ -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"}
@@ -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"}