@decaf-ts/for-http 0.2.1 → 0.2.3
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.md +21 -157
- package/dist/for-http.cjs +310 -12
- package/dist/for-http.esm.cjs +310 -12
- package/lib/RestRepository.cjs +30 -1
- package/lib/RestRepository.d.ts +29 -0
- package/lib/RestService.cjs +154 -11
- package/lib/RestService.d.ts +153 -10
- package/lib/adapter.cjs +114 -1
- package/lib/adapter.d.ts +160 -1
- package/lib/axios/axios.cjs +95 -1
- package/lib/axios/axios.d.ts +94 -0
- package/lib/axios/constants.cjs +7 -1
- package/lib/axios/constants.d.ts +6 -0
- package/lib/axios/index.cjs +10 -1
- package/lib/axios/types.cjs +1 -1
- package/lib/axios/types.d.ts +6 -0
- package/lib/esm/RestRepository.d.ts +29 -0
- package/lib/esm/RestRepository.js +30 -1
- package/lib/esm/RestService.d.ts +153 -10
- package/lib/esm/RestService.js +154 -11
- package/lib/esm/adapter.d.ts +160 -1
- package/lib/esm/adapter.js +115 -2
- package/lib/esm/axios/axios.d.ts +94 -0
- package/lib/esm/axios/axios.js +97 -3
- package/lib/esm/axios/constants.d.ts +6 -0
- package/lib/esm/axios/constants.js +7 -1
- package/lib/esm/axios/index.js +14 -5
- package/lib/esm/axios/types.d.ts +6 -0
- package/lib/esm/axios/types.js +1 -1
- package/lib/esm/index.d.ts +14 -1
- package/lib/esm/index.js +19 -6
- package/lib/esm/types.d.ts +15 -0
- package/lib/esm/types.js +1 -1
- package/lib/index.cjs +15 -2
- package/lib/index.d.ts +14 -1
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +15 -0
- package/package.json +2 -2
package/lib/esm/adapter.js
CHANGED
|
@@ -1,24 +1,90 @@
|
|
|
1
1
|
import { Adapter, UnsupportedError, } from "@decaf-ts/core";
|
|
2
|
-
import { RestService } from "./RestService";
|
|
2
|
+
import { RestService } from "./RestService.js";
|
|
3
|
+
/**
|
|
4
|
+
* @description Abstract HTTP adapter for REST API interactions
|
|
5
|
+
* @summary Provides a base implementation for HTTP adapters with methods for CRUD operations,
|
|
6
|
+
* URL construction, and error handling. This class extends the core Adapter class and
|
|
7
|
+
* implements the necessary methods for HTTP communication. Concrete implementations
|
|
8
|
+
* must provide specific HTTP client functionality.
|
|
9
|
+
* @template Y - The native HTTP client type
|
|
10
|
+
* @template Q - The query type used by the adapter
|
|
11
|
+
* @template F - The HTTP flags type, extending HttpFlags
|
|
12
|
+
* @template C - The context type, extending Context<F>
|
|
13
|
+
* @param {Y} native - The native HTTP client instance
|
|
14
|
+
* @param {HttpConfig} config - Configuration for the HTTP adapter
|
|
15
|
+
* @param {string} flavour - The adapter flavor identifier
|
|
16
|
+
* @param {string} [alias] - Optional alias for the adapter
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // Example implementation with Axios
|
|
20
|
+
* class AxiosAdapter extends HttpAdapter<AxiosInstance, AxiosRequestConfig> {
|
|
21
|
+
* constructor(config: HttpConfig) {
|
|
22
|
+
* super(axios.create(), config, 'axios');
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* async request<V>(details: AxiosRequestConfig): Promise<V> {
|
|
26
|
+
* const response = await this.native.request(details);
|
|
27
|
+
* return response.data;
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* // Implement other abstract methods...
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
* @class
|
|
34
|
+
*/
|
|
3
35
|
export class HttpAdapter extends Adapter {
|
|
4
36
|
constructor(native, config, flavour, alias) {
|
|
5
37
|
super(native, flavour, alias);
|
|
6
38
|
this.config = config;
|
|
7
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Generates operation flags with HTTP headers
|
|
42
|
+
* @summary Extends the base flags method to include HTTP-specific headers for operations.
|
|
43
|
+
* This method adds an empty headers object to the flags returned by the parent class.
|
|
44
|
+
* @template F - The Repository Flags type
|
|
45
|
+
* @template M - The model type
|
|
46
|
+
* @param {OperationKeys.CREATE|OperationKeys.READ|OperationKeys.UPDATE|OperationKeys.DELETE} operation - The operation type
|
|
47
|
+
* @param {Constructor<M>} model - The model constructor
|
|
48
|
+
* @param {Partial<F>} overrides - Optional flag overrides
|
|
49
|
+
* @return {F} The flags object with headers
|
|
50
|
+
*/
|
|
8
51
|
flags(operation, model, overrides) {
|
|
9
52
|
return Object.assign(super.flags(operation, model, overrides), {
|
|
10
53
|
headers: {},
|
|
11
54
|
});
|
|
12
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* @description Returns the repository constructor for this adapter
|
|
58
|
+
* @summary Provides the RestService class as the repository implementation for this HTTP adapter.
|
|
59
|
+
* This method is used to create repository instances that work with this adapter type.
|
|
60
|
+
* @template M - The model type
|
|
61
|
+
* @return {Constructor<Repository<M, Q, HttpAdapter<Y, Q, F, C>>>} The repository constructor
|
|
62
|
+
*/
|
|
13
63
|
repository() {
|
|
14
64
|
return RestService;
|
|
15
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* @description Constructs a URL for API requests
|
|
68
|
+
* @summary Builds a complete URL for API requests using the configured protocol and host,
|
|
69
|
+
* the specified table name, and optional query parameters. The method handles URL encoding.
|
|
70
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
71
|
+
* @param {Record<string, string | number>} [queryParams] - Optional query parameters
|
|
72
|
+
* @return {string} The encoded URL string
|
|
73
|
+
*/
|
|
16
74
|
url(tableName, queryParams) {
|
|
17
75
|
const url = new URL(`${this.config.protocol}://${this.config.host}/${tableName}`);
|
|
18
76
|
if (queryParams)
|
|
19
77
|
Object.entries(queryParams).forEach(([key, value]) => url.searchParams.append(key, value.toString()));
|
|
20
78
|
return encodeURI(url.toString());
|
|
21
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* @description Parses and converts errors to BaseError type
|
|
82
|
+
* @summary Processes errors that occur during HTTP operations and converts them to
|
|
83
|
+
* the appropriate BaseError type. Currently returns the error as-is, but can be
|
|
84
|
+
* extended to handle specific error messages differently.
|
|
85
|
+
* @param {Error} err - The error to parse
|
|
86
|
+
* @return {BaseError} The parsed error as a BaseError
|
|
87
|
+
*/
|
|
22
88
|
parseError(err) {
|
|
23
89
|
const { message } = err;
|
|
24
90
|
switch (message) {
|
|
@@ -26,24 +92,71 @@ export class HttpAdapter extends Adapter {
|
|
|
26
92
|
return err;
|
|
27
93
|
}
|
|
28
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* @description Initializes the HTTP adapter
|
|
97
|
+
* @summary Placeholder method for adapter initialization. This method is currently
|
|
98
|
+
* a no-op but can be overridden by subclasses to perform initialization tasks.
|
|
99
|
+
* @param {...any[]} args - Initialization arguments
|
|
100
|
+
* @return {Promise<void>} A promise that resolves when initialization is complete
|
|
101
|
+
*/
|
|
29
102
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
30
103
|
async initialize(...args) {
|
|
31
104
|
// do nothing
|
|
32
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* @description Executes a raw query
|
|
108
|
+
* @summary Method for executing raw queries directly with the HTTP client.
|
|
109
|
+
* This method is not supported by default in HTTP adapters and throws an UnsupportedError.
|
|
110
|
+
* Subclasses can override this method to provide implementation.
|
|
111
|
+
* @template R - The result type
|
|
112
|
+
* @param {Q} rawInput - The raw query input
|
|
113
|
+
* @param {boolean} process - Whether to process the result
|
|
114
|
+
* @param {...any[]} args - Additional arguments
|
|
115
|
+
* @return {Promise<R>} A promise that resolves with the query result
|
|
116
|
+
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
117
|
+
*/
|
|
33
118
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
34
119
|
raw(rawInput, process, ...args) {
|
|
35
120
|
throw new UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class");
|
|
36
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* @description Creates a sequence
|
|
124
|
+
* @summary Method for creating a sequence for generating unique identifiers.
|
|
125
|
+
* This method is not supported by default in HTTP adapters and throws an UnsupportedError.
|
|
126
|
+
* Subclasses can override this method to provide implementation.
|
|
127
|
+
* @param {SequenceOptions} options - Options for creating the sequence
|
|
128
|
+
* @return {Promise<Sequence>} A promise that resolves with the created sequence
|
|
129
|
+
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
130
|
+
*/
|
|
37
131
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
38
132
|
Sequence(options) {
|
|
39
133
|
throw new UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class");
|
|
40
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* @description Creates a statement for querying
|
|
137
|
+
* @summary Method for creating a statement for building and executing queries.
|
|
138
|
+
* This method is not supported by default in HTTP adapters and throws an UnsupportedError.
|
|
139
|
+
* Subclasses can override this method to provide implementation.
|
|
140
|
+
* @template M - The model type
|
|
141
|
+
* @template ! - The raw query type
|
|
142
|
+
* @return {Statement<Q, M, any>} A statement object for building queries
|
|
143
|
+
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
144
|
+
*/
|
|
41
145
|
Statement() {
|
|
42
146
|
throw new UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class");
|
|
43
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* @description Parses a condition into a query
|
|
150
|
+
* @summary Method for parsing a condition object into a query format understood by the HTTP client.
|
|
151
|
+
* This method is not supported by default in HTTP adapters and throws an UnsupportedError.
|
|
152
|
+
* Subclasses can override this method to provide implementation.
|
|
153
|
+
* @param {Condition<any>} condition - The condition to parse
|
|
154
|
+
* @return {Q} The parsed query
|
|
155
|
+
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
156
|
+
*/
|
|
44
157
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
45
158
|
parseCondition(condition) {
|
|
46
159
|
throw new UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class");
|
|
47
160
|
}
|
|
48
161
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBS1AsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1QyxNQUFNLE9BQWdCLFdBS3BCLFNBQVEsT0FBbUI7SUFDM0IsWUFDRSxNQUFTLEVBQ0MsTUFBa0IsRUFDNUIsT0FBZSxFQUNmLEtBQWM7UUFFZCxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUpwQixXQUFNLEdBQU4sTUFBTSxDQUFZO0lBSzlCLENBQUM7SUFFUSxLQUFLLENBQ1osU0FJd0IsRUFDeEIsS0FBcUIsRUFDckIsU0FBcUI7UUFFckIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUksU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNoRSxPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxVQUFVO1FBR2pCLE9BQU8sV0FFTixDQUFDO0lBQ0osQ0FBQztJQUVTLEdBQUcsQ0FDWCxTQUFpQixFQUNqQixXQUE2QztRQUU3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FDakIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FDN0QsQ0FBQztRQUNGLElBQUksV0FBVztZQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUNuRCxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQy9DLENBQUM7UUFFSixPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVU7UUFDbkIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUN4QixRQUFRLE9BQU8sRUFBRSxDQUFDO1lBQ2hCO2dCQUNFLE9BQU8sR0FBZ0IsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBVztRQUM3QixhQUFhO0lBQ2YsQ0FBQztJQThCRCw2REFBNkQ7SUFDN0QsR0FBRyxDQUFJLFFBQVcsRUFBRSxPQUFnQixFQUFFLEdBQUcsSUFBVztRQUNsRCxNQUFNLElBQUksZ0JBQWdCLENBQ3hCLHdGQUF3RixDQUN6RixDQUFDO0lBQ0osQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxRQUFRLENBQUMsT0FBd0I7UUFDL0IsTUFBTSxJQUFJLGdCQUFnQixDQUN4Qix3RkFBd0YsQ0FDekYsQ0FBQztJQUNKLENBQUM7SUFFUSxTQUFTO1FBQ2hCLE1BQU0sSUFBSSxnQkFBZ0IsQ0FDeEIsd0ZBQXdGLENBQ3pGLENBQUM7SUFDSixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELGNBQWMsQ0FBQyxTQUF5QjtRQUN0QyxNQUFNLElBQUksZ0JBQWdCLENBQ3hCLHdGQUF3RixDQUN6RixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRhcHRlcixcbiAgQ29uZGl0aW9uLFxuICBSZXBvc2l0b3J5LFxuICBTZXF1ZW5jZSxcbiAgU2VxdWVuY2VPcHRpb25zLFxuICBVbnN1cHBvcnRlZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VFcnJvciwgQ29udGV4dCwgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgSHR0cENvbmZpZywgSHR0cEZsYWdzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSBcIi4vUmVzdFNlcnZpY2VcIjtcbmltcG9ydCB7IFN0YXRlbWVudCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSHR0cEFkYXB0ZXI8XG4gIFksXG4gIFEsXG4gIEYgZXh0ZW5kcyBIdHRwRmxhZ3MgPSBIdHRwRmxhZ3MsXG4gIEMgZXh0ZW5kcyBDb250ZXh0PEY+ID0gQ29udGV4dDxGPixcbj4gZXh0ZW5kcyBBZGFwdGVyPFksIFEsIEYsIEM+IHtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIG5hdGl2ZTogWSxcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBIdHRwQ29uZmlnLFxuICAgIGZsYXZvdXI6IHN0cmluZyxcbiAgICBhbGlhcz86IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihuYXRpdmUsIGZsYXZvdXIsIGFsaWFzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZsYWdzPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgb3BlcmF0aW9uOlxuICAgICAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICAgICAgfCBPcGVyYXRpb25LZXlzLlJFQURcbiAgICAgIHwgT3BlcmF0aW9uS2V5cy5VUERBVEVcbiAgICAgIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgbW9kZWw6IENvbnN0cnVjdG9yPE0+LFxuICAgIG92ZXJyaWRlczogUGFydGlhbDxGPlxuICApIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihzdXBlci5mbGFnczxNPihvcGVyYXRpb24sIG1vZGVsLCBvdmVycmlkZXMpLCB7XG4gICAgICBoZWFkZXJzOiB7fSxcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlcG9zaXRvcnk8TSBleHRlbmRzIE1vZGVsPigpOiBDb25zdHJ1Y3RvcjxcbiAgICBSZXBvc2l0b3J5PE0sIFEsIEh0dHBBZGFwdGVyPFksIFEsIEYsIEM+PlxuICA+IHtcbiAgICByZXR1cm4gUmVzdFNlcnZpY2UgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxcbiAgICAgIFJlcG9zaXRvcnk8TSwgUSwgSHR0cEFkYXB0ZXI8WSwgUSwgRiwgQz4+XG4gICAgPjtcbiAgfVxuXG4gIHByb3RlY3RlZCB1cmwoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgcXVlcnlQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+XG4gICkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoXG4gICAgICBgJHt0aGlzLmNvbmZpZy5wcm90b2NvbH06Ly8ke3RoaXMuY29uZmlnLmhvc3R9LyR7dGFibGVOYW1lfWBcbiAgICApO1xuICAgIGlmIChxdWVyeVBhcmFtcylcbiAgICAgIE9iamVjdC5lbnRyaWVzKHF1ZXJ5UGFyYW1zKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+XG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudG9TdHJpbmcoKSlcbiAgICAgICk7XG5cbiAgICByZXR1cm4gZW5jb2RlVVJJKHVybC50b1N0cmluZygpKTtcbiAgfVxuXG4gIHBhcnNlRXJyb3IoZXJyOiBFcnJvcik6IEJhc2VFcnJvciB7XG4gICAgY29uc3QgeyBtZXNzYWdlIH0gPSBlcnI7XG4gICAgc3dpdGNoIChtZXNzYWdlKSB7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZXJyIGFzIEJhc2VFcnJvcjtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGFzeW5jIGluaXRpYWxpemUoLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH1cblxuICBhYnN0cmFjdCByZXF1ZXN0PFY+KGRldGFpbHM6IFEpOiBQcm9taXNlPFY+O1xuXG4gIGFic3RyYWN0IG92ZXJyaWRlIGNyZWF0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG5cbiAgYWJzdHJhY3Qgb3ZlcnJpZGUgcmVhZChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG5cbiAgYWJzdHJhY3Qgb3ZlcnJpZGUgdXBkYXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcblxuICBhYnN0cmFjdCBvdmVycmlkZSBkZWxldGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcmF3PFI+KHJhd0lucHV0OiBRLCBwcm9jZXNzOiBib29sZWFuLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgXCJBcGkgaXMgbm90IG5hdGl2ZWx5IGF2YWlsYWJsZSBmb3IgSHR0cEFkYXB0ZXJzLiBJZiByZXF1aXJlZCwgcGxlYXNlIGV4dGVuZHMgdGhpcyBjbGFzc1wiXG4gICAgKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgU2VxdWVuY2Uob3B0aW9uczogU2VxdWVuY2VPcHRpb25zKTogUHJvbWlzZTxTZXF1ZW5jZT4ge1xuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgXCJBcGkgaXMgbm90IG5hdGl2ZWx5IGF2YWlsYWJsZSBmb3IgSHR0cEFkYXB0ZXJzLiBJZiByZXF1aXJlZCwgcGxlYXNlIGV4dGVuZHMgdGhpcyBjbGFzc1wiXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIFN0YXRlbWVudDxNIGV4dGVuZHMgTW9kZWw+KCk6IFN0YXRlbWVudDxRLCBNLCBhbnk+IHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcbiAgICAgIFwiQXBpIGlzIG5vdCBuYXRpdmVseSBhdmFpbGFibGUgZm9yIEh0dHBBZGFwdGVycy4gSWYgcmVxdWlyZWQsIHBsZWFzZSBleHRlbmRzIHRoaXMgY2xhc3NcIlxuICAgICk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHBhcnNlQ29uZGl0aW9uKGNvbmRpdGlvbjogQ29uZGl0aW9uPGFueT4pOiBRIHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcbiAgICAgIFwiQXBpIGlzIG5vdCBuYXRpdmVseSBhdmFpbGFibGUgZm9yIEh0dHBBZGFwdGVycy4gSWYgcmVxdWlyZWQsIHBsZWFzZSBleHRlbmRzIHRoaXMgY2xhc3NcIlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBS1AsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSx5QkFBc0I7QUFHNUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLE9BQWdCLFdBS3BCLFNBQVEsT0FBbUI7SUFDM0IsWUFDRSxNQUFTLEVBQ0MsTUFBa0IsRUFDNUIsT0FBZSxFQUNmLEtBQWM7UUFFZCxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUpwQixXQUFNLEdBQU4sTUFBTSxDQUFZO0lBSzlCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ00sS0FBSyxDQUNaLFNBSXdCLEVBQ3hCLEtBQXFCLEVBQ3JCLFNBQXFCO1FBRXJCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFJLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDaEUsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ00sVUFBVTtRQUdqQixPQUFPLFdBRU4sQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sR0FBRyxDQUNYLFNBQWlCLEVBQ2pCLFdBQTZDO1FBRTdDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUNqQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUM3RCxDQUFDO1FBQ0YsSUFBSSxXQUFXO1lBQ2IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ25ELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDL0MsQ0FBQztRQUVKLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsVUFBVSxDQUFDLEdBQVU7UUFDbkIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUN4QixRQUFRLE9BQU8sRUFBRSxDQUFDO1lBQ2hCO2dCQUNFLE9BQU8sR0FBZ0IsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILDZEQUE2RDtJQUM3RCxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBVztRQUM3QixhQUFhO0lBQ2YsQ0FBQztJQTRFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILDZEQUE2RDtJQUM3RCxHQUFHLENBQUksUUFBVyxFQUFFLE9BQWdCLEVBQUUsR0FBRyxJQUFXO1FBQ2xELE1BQU0sSUFBSSxnQkFBZ0IsQ0FDeEIsd0ZBQXdGLENBQ3pGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCw2REFBNkQ7SUFDN0QsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE1BQU0sSUFBSSxnQkFBZ0IsQ0FDeEIsd0ZBQXdGLENBQ3pGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ00sU0FBUztRQUNoQixNQUFNLElBQUksZ0JBQWdCLENBQ3hCLHdGQUF3RixDQUN6RixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsNkRBQTZEO0lBQzdELGNBQWMsQ0FBQyxTQUF5QjtRQUN0QyxNQUFNLElBQUksZ0JBQWdCLENBQ3hCLHdGQUF3RixDQUN6RixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRhcHRlcixcbiAgQ29uZGl0aW9uLFxuICBSZXBvc2l0b3J5LFxuICBTZXF1ZW5jZSxcbiAgU2VxdWVuY2VPcHRpb25zLFxuICBVbnN1cHBvcnRlZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VFcnJvciwgQ29udGV4dCwgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgSHR0cENvbmZpZywgSHR0cEZsYWdzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSBcIi4vUmVzdFNlcnZpY2VcIjtcbmltcG9ydCB7IFN0YXRlbWVudCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBYnN0cmFjdCBIVFRQIGFkYXB0ZXIgZm9yIFJFU1QgQVBJIGludGVyYWN0aW9uc1xuICogQHN1bW1hcnkgUHJvdmlkZXMgYSBiYXNlIGltcGxlbWVudGF0aW9uIGZvciBIVFRQIGFkYXB0ZXJzIHdpdGggbWV0aG9kcyBmb3IgQ1JVRCBvcGVyYXRpb25zLFxuICogVVJMIGNvbnN0cnVjdGlvbiwgYW5kIGVycm9yIGhhbmRsaW5nLiBUaGlzIGNsYXNzIGV4dGVuZHMgdGhlIGNvcmUgQWRhcHRlciBjbGFzcyBhbmRcbiAqIGltcGxlbWVudHMgdGhlIG5lY2Vzc2FyeSBtZXRob2RzIGZvciBIVFRQIGNvbW11bmljYXRpb24uIENvbmNyZXRlIGltcGxlbWVudGF0aW9uc1xuICogbXVzdCBwcm92aWRlIHNwZWNpZmljIEhUVFAgY2xpZW50IGZ1bmN0aW9uYWxpdHkuXG4gKiBAdGVtcGxhdGUgWSAtIFRoZSBuYXRpdmUgSFRUUCBjbGllbnQgdHlwZVxuICogQHRlbXBsYXRlIFEgLSBUaGUgcXVlcnkgdHlwZSB1c2VkIGJ5IHRoZSBhZGFwdGVyXG4gKiBAdGVtcGxhdGUgRiAtIFRoZSBIVFRQIGZsYWdzIHR5cGUsIGV4dGVuZGluZyBIdHRwRmxhZ3NcbiAqIEB0ZW1wbGF0ZSBDIC0gVGhlIGNvbnRleHQgdHlwZSwgZXh0ZW5kaW5nIENvbnRleHQ8Rj5cbiAqIEBwYXJhbSB7WX0gbmF0aXZlIC0gVGhlIG5hdGl2ZSBIVFRQIGNsaWVudCBpbnN0YW5jZVxuICogQHBhcmFtIHtIdHRwQ29uZmlnfSBjb25maWcgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgSFRUUCBhZGFwdGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gZmxhdm91ciAtIFRoZSBhZGFwdGVyIGZsYXZvciBpZGVudGlmaWVyXG4gKiBAcGFyYW0ge3N0cmluZ30gW2FsaWFzXSAtIE9wdGlvbmFsIGFsaWFzIGZvciB0aGUgYWRhcHRlclxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEV4YW1wbGUgaW1wbGVtZW50YXRpb24gd2l0aCBBeGlvc1xuICogY2xhc3MgQXhpb3NBZGFwdGVyIGV4dGVuZHMgSHR0cEFkYXB0ZXI8QXhpb3NJbnN0YW5jZSwgQXhpb3NSZXF1ZXN0Q29uZmlnPiB7XG4gKiAgIGNvbnN0cnVjdG9yKGNvbmZpZzogSHR0cENvbmZpZykge1xuICogICAgIHN1cGVyKGF4aW9zLmNyZWF0ZSgpLCBjb25maWcsICdheGlvcycpO1xuICogICB9XG4gKlxuICogICBhc3luYyByZXF1ZXN0PFY+KGRldGFpbHM6IEF4aW9zUmVxdWVzdENvbmZpZyk6IFByb21pc2U8Vj4ge1xuICogICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5uYXRpdmUucmVxdWVzdChkZXRhaWxzKTtcbiAqICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAqICAgfVxuICpcbiAqICAgLy8gSW1wbGVtZW50IG90aGVyIGFic3RyYWN0IG1ldGhvZHMuLi5cbiAqIH1cbiAqIGBgYFxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwQWRhcHRlcjxcbiAgWSxcbiAgUSxcbiAgRiBleHRlbmRzIEh0dHBGbGFncyA9IEh0dHBGbGFncyxcbiAgQyBleHRlbmRzIENvbnRleHQ8Rj4gPSBDb250ZXh0PEY+LFxuPiBleHRlbmRzIEFkYXB0ZXI8WSwgUSwgRiwgQz4ge1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgbmF0aXZlOiBZLFxuICAgIHByb3RlY3RlZCBjb25maWc6IEh0dHBDb25maWcsXG4gICAgZmxhdm91cjogc3RyaW5nLFxuICAgIGFsaWFzPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKG5hdGl2ZSwgZmxhdm91ciwgYWxpYXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZXMgb3BlcmF0aW9uIGZsYWdzIHdpdGggSFRUUCBoZWFkZXJzXG4gICAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGJhc2UgZmxhZ3MgbWV0aG9kIHRvIGluY2x1ZGUgSFRUUC1zcGVjaWZpYyBoZWFkZXJzIGZvciBvcGVyYXRpb25zLlxuICAgKiBUaGlzIG1ldGhvZCBhZGRzIGFuIGVtcHR5IGhlYWRlcnMgb2JqZWN0IHRvIHRoZSBmbGFncyByZXR1cm5lZCBieSB0aGUgcGFyZW50IGNsYXNzLlxuICAgKiBAdGVtcGxhdGUgRiAtIFRoZSBSZXBvc2l0b3J5IEZsYWdzIHR5cGVcbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge09wZXJhdGlvbktleXMuQ1JFQVRFfE9wZXJhdGlvbktleXMuUkVBRHxPcGVyYXRpb25LZXlzLlVQREFURXxPcGVyYXRpb25LZXlzLkRFTEVURX0gb3BlcmF0aW9uIC0gVGhlIG9wZXJhdGlvbiB0eXBlXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IG1vZGVsIC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UGFydGlhbDxGPn0gb3ZlcnJpZGVzIC0gT3B0aW9uYWwgZmxhZyBvdmVycmlkZXNcbiAgICogQHJldHVybiB7Rn0gVGhlIGZsYWdzIG9iamVjdCB3aXRoIGhlYWRlcnNcbiAgICovXG4gIG92ZXJyaWRlIGZsYWdzPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgb3BlcmF0aW9uOlxuICAgICAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICAgICAgfCBPcGVyYXRpb25LZXlzLlJFQURcbiAgICAgIHwgT3BlcmF0aW9uS2V5cy5VUERBVEVcbiAgICAgIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEUsXG4gICAgbW9kZWw6IENvbnN0cnVjdG9yPE0+LFxuICAgIG92ZXJyaWRlczogUGFydGlhbDxGPlxuICApIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihzdXBlci5mbGFnczxNPihvcGVyYXRpb24sIG1vZGVsLCBvdmVycmlkZXMpLCB7XG4gICAgICBoZWFkZXJzOiB7fSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0dXJucyB0aGUgcmVwb3NpdG9yeSBjb25zdHJ1Y3RvciBmb3IgdGhpcyBhZGFwdGVyXG4gICAqIEBzdW1tYXJ5IFByb3ZpZGVzIHRoZSBSZXN0U2VydmljZSBjbGFzcyBhcyB0aGUgcmVwb3NpdG9yeSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhpcyBIVFRQIGFkYXB0ZXIuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gY3JlYXRlIHJlcG9zaXRvcnkgaW5zdGFuY2VzIHRoYXQgd29yayB3aXRoIHRoaXMgYWRhcHRlciB0eXBlLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEByZXR1cm4ge0NvbnN0cnVjdG9yPFJlcG9zaXRvcnk8TSwgUSwgSHR0cEFkYXB0ZXI8WSwgUSwgRiwgQz4+Pn0gVGhlIHJlcG9zaXRvcnkgY29uc3RydWN0b3JcbiAgICovXG4gIG92ZXJyaWRlIHJlcG9zaXRvcnk8TSBleHRlbmRzIE1vZGVsPigpOiBDb25zdHJ1Y3RvcjxcbiAgICBSZXBvc2l0b3J5PE0sIFEsIEh0dHBBZGFwdGVyPFksIFEsIEYsIEM+PlxuICA+IHtcbiAgICByZXR1cm4gUmVzdFNlcnZpY2UgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3RvcjxcbiAgICAgIFJlcG9zaXRvcnk8TSwgUSwgSHR0cEFkYXB0ZXI8WSwgUSwgRiwgQz4+XG4gICAgPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29uc3RydWN0cyBhIFVSTCBmb3IgQVBJIHJlcXVlc3RzXG4gICAqIEBzdW1tYXJ5IEJ1aWxkcyBhIGNvbXBsZXRlIFVSTCBmb3IgQVBJIHJlcXVlc3RzIHVzaW5nIHRoZSBjb25maWd1cmVkIHByb3RvY29sIGFuZCBob3N0LFxuICAgKiB0aGUgc3BlY2lmaWVkIHRhYmxlIG5hbWUsIGFuZCBvcHRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzLiBUaGUgbWV0aG9kIGhhbmRsZXMgVVJMIGVuY29kaW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIG9yIGVuZHBvaW50XG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPn0gW3F1ZXJ5UGFyYW1zXSAtIE9wdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlcnNcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgZW5jb2RlZCBVUkwgc3RyaW5nXG4gICAqL1xuICBwcm90ZWN0ZWQgdXJsKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPlxuICApIHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKFxuICAgICAgYCR7dGhpcy5jb25maWcucHJvdG9jb2x9Oi8vJHt0aGlzLmNvbmZpZy5ob3N0fS8ke3RhYmxlTmFtZX1gXG4gICAgKTtcbiAgICBpZiAocXVlcnlQYXJhbXMpXG4gICAgICBPYmplY3QuZW50cmllcyhxdWVyeVBhcmFtcykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PlxuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlLnRvU3RyaW5nKCkpXG4gICAgICApO1xuXG4gICAgcmV0dXJuIGVuY29kZVVSSSh1cmwudG9TdHJpbmcoKSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBhbmQgY29udmVydHMgZXJyb3JzIHRvIEJhc2VFcnJvciB0eXBlXG4gICAqIEBzdW1tYXJ5IFByb2Nlc3NlcyBlcnJvcnMgdGhhdCBvY2N1ciBkdXJpbmcgSFRUUCBvcGVyYXRpb25zIGFuZCBjb252ZXJ0cyB0aGVtIHRvXG4gICAqIHRoZSBhcHByb3ByaWF0ZSBCYXNlRXJyb3IgdHlwZS4gQ3VycmVudGx5IHJldHVybnMgdGhlIGVycm9yIGFzLWlzLCBidXQgY2FuIGJlXG4gICAqIGV4dGVuZGVkIHRvIGhhbmRsZSBzcGVjaWZpYyBlcnJvciBtZXNzYWdlcyBkaWZmZXJlbnRseS5cbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyIC0gVGhlIGVycm9yIHRvIHBhcnNlXG4gICAqIEByZXR1cm4ge0Jhc2VFcnJvcn0gVGhlIHBhcnNlZCBlcnJvciBhcyBhIEJhc2VFcnJvclxuICAgKi9cbiAgcGFyc2VFcnJvcihlcnI6IEVycm9yKTogQmFzZUVycm9yIHtcbiAgICBjb25zdCB7IG1lc3NhZ2UgfSA9IGVycjtcbiAgICBzd2l0Y2ggKG1lc3NhZ2UpIHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBlcnIgYXMgQmFzZUVycm9yO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5pdGlhbGl6ZXMgdGhlIEhUVFAgYWRhcHRlclxuICAgKiBAc3VtbWFyeSBQbGFjZWhvbGRlciBtZXRob2QgZm9yIGFkYXB0ZXIgaW5pdGlhbGl6YXRpb24uIFRoaXMgbWV0aG9kIGlzIGN1cnJlbnRseVxuICAgKiBhIG5vLW9wIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm0gaW5pdGlhbGl6YXRpb24gdGFza3MuXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBJbml0aWFsaXphdGlvbiBhcmd1bWVudHNcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZW5kcyBhbiBIVFRQIHJlcXVlc3RcbiAgICogQHN1bW1hcnkgQWJzdHJhY3QgbWV0aG9kIHRoYXQgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIHNlbmQgSFRUUCByZXF1ZXN0c1xuICAgKiB1c2luZyB0aGUgbmF0aXZlIEhUVFAgY2xpZW50LiBUaGlzIGlzIHRoZSBjb3JlIG1ldGhvZCBmb3IgbWFraW5nIEFQSSBjYWxscy5cbiAgICogQHRlbXBsYXRlIFYgLSBUaGUgcmVzcG9uc2UgdmFsdWUgdHlwZVxuICAgKiBAcGFyYW0ge1F9IGRldGFpbHMgLSBUaGUgcmVxdWVzdCBkZXRhaWxzIHNwZWNpZmljIHRvIHRoZSBIVFRQIGNsaWVudFxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFY+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXNwb25zZSBkYXRhXG4gICAqL1xuICBhYnN0cmFjdCByZXF1ZXN0PFY+KGRldGFpbHM6IFEpOiBQcm9taXNlPFY+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyByZXNvdXJjZVxuICAgKiBAc3VtbWFyeSBBYnN0cmFjdCBtZXRob2QgdGhhdCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMgdG8gY3JlYXRlIGEgbmV3IHJlc291cmNlXG4gICAqIHZpYSBIVFRQLiBUaGlzIHR5cGljYWxseSBjb3JyZXNwb25kcyB0byBhIFBPU1QgcmVxdWVzdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBvciBlbmRwb2ludFxuICAgKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgZm9yIHRoZSByZXNvdXJjZVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG1vZGVsIC0gVGhlIGRhdGEgbW9kZWwgdG8gY3JlYXRlXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBjcmVhdGVkIHJlc291cmNlXG4gICAqL1xuICBhYnN0cmFjdCBvdmVycmlkZSBjcmVhdGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGEgcmVzb3VyY2UgYnkgSURcbiAgICogQHN1bW1hcnkgQWJzdHJhY3QgbWV0aG9kIHRoYXQgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIHJldHJpZXZlIGEgcmVzb3VyY2VcbiAgICogdmlhIEhUVFAuIFRoaXMgdHlwaWNhbGx5IGNvcnJlc3BvbmRzIHRvIGEgR0VUIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgb3IgZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfGJpZ2ludH0gaWQgLSBUaGUgaWRlbnRpZmllciBmb3IgdGhlIHJlc291cmNlXG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZXRyaWV2ZWQgcmVzb3VyY2VcbiAgICovXG4gIGFic3RyYWN0IG92ZXJyaWRlIHJlYWQoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlcyBhbiBleGlzdGluZyByZXNvdXJjZVxuICAgKiBAc3VtbWFyeSBBYnN0cmFjdCBtZXRob2QgdGhhdCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMgdG8gdXBkYXRlIGEgcmVzb3VyY2VcbiAgICogdmlhIEhUVFAuIFRoaXMgdHlwaWNhbGx5IGNvcnJlc3BvbmRzIHRvIGEgUFVUIG9yIFBBVENIIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgb3IgZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIGZvciB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBtb2RlbCAtIFRoZSB1cGRhdGVkIGRhdGEgbW9kZWxcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVwZGF0ZWQgcmVzb3VyY2VcbiAgICovXG4gIGFic3RyYWN0IG92ZXJyaWRlIHVwZGF0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWxldGVzIGEgcmVzb3VyY2UgYnkgSURcbiAgICogQHN1bW1hcnkgQWJzdHJhY3QgbWV0aG9kIHRoYXQgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIGRlbGV0ZSBhIHJlc291cmNlXG4gICAqIHZpYSBIVFRQLiBUaGlzIHR5cGljYWxseSBjb3JyZXNwb25kcyB0byBhIERFTEVURSByZXF1ZXN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRhYmxlIG9yIGVuZHBvaW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcnxiaWdpbnR9IGlkIC0gVGhlIGlkZW50aWZpZXIgZm9yIHRoZSByZXNvdXJjZSB0byBkZWxldGVcbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGRlbGV0aW9uIHJlc3VsdFxuICAgKi9cbiAgYWJzdHJhY3Qgb3ZlcnJpZGUgZGVsZXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgcmF3IHF1ZXJ5XG4gICAqIEBzdW1tYXJ5IE1ldGhvZCBmb3IgZXhlY3V0aW5nIHJhdyBxdWVyaWVzIGRpcmVjdGx5IHdpdGggdGhlIEhUVFAgY2xpZW50LlxuICAgKiBUaGlzIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGRlZmF1bHQgaW4gSFRUUCBhZGFwdGVycyBhbmQgdGhyb3dzIGFuIFVuc3VwcG9ydGVkRXJyb3IuXG4gICAqIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHByb3ZpZGUgaW1wbGVtZW50YXRpb24uXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHJlc3VsdCB0eXBlXG4gICAqIEBwYXJhbSB7UX0gcmF3SW5wdXQgLSBUaGUgcmF3IHF1ZXJ5IGlucHV0XG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gcHJvY2VzcyAtIFdoZXRoZXIgdG8gcHJvY2VzcyB0aGUgcmVzdWx0XG4gICAqIEBwYXJhbSB7Li4uYW55W119IGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPFI+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBxdWVyeSByZXN1bHRcbiAgICogQHRocm93cyB7VW5zdXBwb3J0ZWRFcnJvcn0gQWx3YXlzIHRocm93cyBhcyB0aGlzIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGRlZmF1bHRcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcmF3PFI+KHJhd0lucHV0OiBRLCBwcm9jZXNzOiBib29sZWFuLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgXCJBcGkgaXMgbm90IG5hdGl2ZWx5IGF2YWlsYWJsZSBmb3IgSHR0cEFkYXB0ZXJzLiBJZiByZXF1aXJlZCwgcGxlYXNlIGV4dGVuZHMgdGhpcyBjbGFzc1wiXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIHNlcXVlbmNlXG4gICAqIEBzdW1tYXJ5IE1ldGhvZCBmb3IgY3JlYXRpbmcgYSBzZXF1ZW5jZSBmb3IgZ2VuZXJhdGluZyB1bmlxdWUgaWRlbnRpZmllcnMuXG4gICAqIFRoaXMgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgZGVmYXVsdCBpbiBIVFRQIGFkYXB0ZXJzIGFuZCB0aHJvd3MgYW4gVW5zdXBwb3J0ZWRFcnJvci5cbiAgICogU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcHJvdmlkZSBpbXBsZW1lbnRhdGlvbi5cbiAgICogQHBhcmFtIHtTZXF1ZW5jZU9wdGlvbnN9IG9wdGlvbnMgLSBPcHRpb25zIGZvciBjcmVhdGluZyB0aGUgc2VxdWVuY2VcbiAgICogQHJldHVybiB7UHJvbWlzZTxTZXF1ZW5jZT59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGNyZWF0ZWQgc2VxdWVuY2VcbiAgICogQHRocm93cyB7VW5zdXBwb3J0ZWRFcnJvcn0gQWx3YXlzIHRocm93cyBhcyB0aGlzIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGRlZmF1bHRcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgU2VxdWVuY2Uob3B0aW9uczogU2VxdWVuY2VPcHRpb25zKTogUHJvbWlzZTxTZXF1ZW5jZT4ge1xuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgXCJBcGkgaXMgbm90IG5hdGl2ZWx5IGF2YWlsYWJsZSBmb3IgSHR0cEFkYXB0ZXJzLiBJZiByZXF1aXJlZCwgcGxlYXNlIGV4dGVuZHMgdGhpcyBjbGFzc1wiXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIHN0YXRlbWVudCBmb3IgcXVlcnlpbmdcbiAgICogQHN1bW1hcnkgTWV0aG9kIGZvciBjcmVhdGluZyBhIHN0YXRlbWVudCBmb3IgYnVpbGRpbmcgYW5kIGV4ZWN1dGluZyBxdWVyaWVzLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIGJ5IGRlZmF1bHQgaW4gSFRUUCBhZGFwdGVycyBhbmQgdGhyb3dzIGFuIFVuc3VwcG9ydGVkRXJyb3IuXG4gICAqIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHByb3ZpZGUgaW1wbGVtZW50YXRpb24uXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGVcbiAgICogQHRlbXBsYXRlICEgLSBUaGUgcmF3IHF1ZXJ5IHR5cGVcbiAgICogQHJldHVybiB7U3RhdGVtZW50PFEsIE0sIGFueT59IEEgc3RhdGVtZW50IG9iamVjdCBmb3IgYnVpbGRpbmcgcXVlcmllc1xuICAgKiBAdGhyb3dzIHtVbnN1cHBvcnRlZEVycm9yfSBBbHdheXMgdGhyb3dzIGFzIHRoaXMgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgZGVmYXVsdFxuICAgKi9cbiAgb3ZlcnJpZGUgU3RhdGVtZW50PE0gZXh0ZW5kcyBNb2RlbD4oKTogU3RhdGVtZW50PFEsIE0sIGFueT4ge1xuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgXCJBcGkgaXMgbm90IG5hdGl2ZWx5IGF2YWlsYWJsZSBmb3IgSHR0cEFkYXB0ZXJzLiBJZiByZXF1aXJlZCwgcGxlYXNlIGV4dGVuZHMgdGhpcyBjbGFzc1wiXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGFyc2VzIGEgY29uZGl0aW9uIGludG8gYSBxdWVyeVxuICAgKiBAc3VtbWFyeSBNZXRob2QgZm9yIHBhcnNpbmcgYSBjb25kaXRpb24gb2JqZWN0IGludG8gYSBxdWVyeSBmb3JtYXQgdW5kZXJzdG9vZCBieSB0aGUgSFRUUCBjbGllbnQuXG4gICAqIFRoaXMgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgZGVmYXVsdCBpbiBIVFRQIGFkYXB0ZXJzIGFuZCB0aHJvd3MgYW4gVW5zdXBwb3J0ZWRFcnJvci5cbiAgICogU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcHJvdmlkZSBpbXBsZW1lbnRhdGlvbi5cbiAgICogQHBhcmFtIHtDb25kaXRpb248YW55Pn0gY29uZGl0aW9uIC0gVGhlIGNvbmRpdGlvbiB0byBwYXJzZVxuICAgKiBAcmV0dXJuIHtRfSBUaGUgcGFyc2VkIHF1ZXJ5XG4gICAqIEB0aHJvd3Mge1Vuc3VwcG9ydGVkRXJyb3J9IEFsd2F5cyB0aHJvd3MgYXMgdGhpcyBtZXRob2QgaXMgbm90IHN1cHBvcnRlZCBieSBkZWZhdWx0XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHBhcnNlQ29uZGl0aW9uKGNvbmRpdGlvbjogQ29uZGl0aW9uPGFueT4pOiBRIHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRFcnJvcihcbiAgICAgIFwiQXBpIGlzIG5vdCBuYXRpdmVseSBhdmFpbGFibGUgZm9yIEh0dHBBZGFwdGVycy4gSWYgcmVxdWlyZWQsIHBsZWFzZSBleHRlbmRzIHRoaXMgY2xhc3NcIlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/esm/axios/axios.d.ts
CHANGED
|
@@ -3,12 +3,106 @@ import { Axios, AxiosRequestConfig } from "axios";
|
|
|
3
3
|
import { HttpConfig } from "../types";
|
|
4
4
|
import { AxiosFlags } from "./types";
|
|
5
5
|
import { Context } from "@decaf-ts/db-decorators";
|
|
6
|
+
/**
|
|
7
|
+
* @description Axios implementation of the HTTP adapter
|
|
8
|
+
* @summary Concrete implementation of HttpAdapter using Axios as the HTTP client.
|
|
9
|
+
* This adapter provides CRUD operations for RESTful APIs using Axios for HTTP requests.
|
|
10
|
+
* @template Axios - The Axios client type
|
|
11
|
+
* @template AxiosRequestConfig - The Axios request configuration type
|
|
12
|
+
* @template AxiosFlags - The flags type extending HttpFlags
|
|
13
|
+
* @template Context<AxiosFlags> - The context type for this adapter
|
|
14
|
+
* @param {Axios} native - The Axios instance
|
|
15
|
+
* @param {HttpConfig} config - Configuration for the HTTP adapter
|
|
16
|
+
* @param {string} [alias] - Optional alias for the adapter
|
|
17
|
+
* @class
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import axios from 'axios';
|
|
21
|
+
* import { AxiosHttpAdapter } from '@decaf-ts/for-http';
|
|
22
|
+
*
|
|
23
|
+
* const config = { protocol: 'https', host: 'api.example.com' };
|
|
24
|
+
* const adapter = new AxiosHttpAdapter(axios.create(), config);
|
|
25
|
+
*
|
|
26
|
+
* // Use the adapter with a repository
|
|
27
|
+
* const userRepo = adapter.getRepository(User);
|
|
28
|
+
* const user = await userRepo.findById('123');
|
|
29
|
+
* ```
|
|
30
|
+
* @mermaid
|
|
31
|
+
* sequenceDiagram
|
|
32
|
+
* participant Client
|
|
33
|
+
* participant AxiosHttpAdapter
|
|
34
|
+
* participant Axios
|
|
35
|
+
* participant API
|
|
36
|
+
*
|
|
37
|
+
* Client->>AxiosHttpAdapter: create(table, id, data)
|
|
38
|
+
* AxiosHttpAdapter->>AxiosHttpAdapter: url(table)
|
|
39
|
+
* AxiosHttpAdapter->>Axios: post(url, data)
|
|
40
|
+
* Axios->>API: HTTP POST Request
|
|
41
|
+
* API-->>Axios: Response
|
|
42
|
+
* Axios-->>AxiosHttpAdapter: Response Data
|
|
43
|
+
* AxiosHttpAdapter-->>Client: Created Resource
|
|
44
|
+
*
|
|
45
|
+
* Client->>AxiosHttpAdapter: read(table, id)
|
|
46
|
+
* AxiosHttpAdapter->>AxiosHttpAdapter: url(table, {id})
|
|
47
|
+
* AxiosHttpAdapter->>Axios: get(url)
|
|
48
|
+
* Axios->>API: HTTP GET Request
|
|
49
|
+
* API-->>Axios: Response
|
|
50
|
+
* Axios-->>AxiosHttpAdapter: Response Data
|
|
51
|
+
* AxiosHttpAdapter-->>Client: Resource Data
|
|
52
|
+
*/
|
|
6
53
|
export declare class AxiosHttpAdapter extends HttpAdapter<Axios, AxiosRequestConfig, AxiosFlags, Context<AxiosFlags>> {
|
|
7
54
|
constructor(native: Axios, config: HttpConfig, alias?: string);
|
|
55
|
+
/**
|
|
56
|
+
* @description Sends an HTTP request using Axios
|
|
57
|
+
* @summary Implementation of the abstract request method from HttpAdapter.
|
|
58
|
+
* This method uses the Axios instance to send HTTP requests with the provided configuration.
|
|
59
|
+
* @template V - The response value type
|
|
60
|
+
* @param {AxiosRequestConfig} details - The Axios request configuration
|
|
61
|
+
* @return {Promise<V>} A promise that resolves with the response data
|
|
62
|
+
*/
|
|
8
63
|
request<V>(details: AxiosRequestConfig): Promise<V>;
|
|
64
|
+
/**
|
|
65
|
+
* @description Creates a new resource via HTTP POST
|
|
66
|
+
* @summary Implementation of the abstract create method from HttpAdapter.
|
|
67
|
+
* This method sends a POST request to the specified endpoint with the model data.
|
|
68
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
69
|
+
* @param {string|number} id - The identifier for the resource (not used in URL for POST)
|
|
70
|
+
* @param {Record<string, any>} model - The data model to create
|
|
71
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the created resource
|
|
72
|
+
*/
|
|
9
73
|
create(tableName: string, id: string | number, model: Record<string, any>): Promise<Record<string, any>>;
|
|
74
|
+
/**
|
|
75
|
+
* @description Retrieves a resource by ID via HTTP GET
|
|
76
|
+
* @summary Implementation of the abstract read method from HttpAdapter.
|
|
77
|
+
* This method sends a GET request to the specified endpoint with the ID as a query parameter.
|
|
78
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
79
|
+
* @param {string|number|bigint} id - The identifier for the resource to retrieve
|
|
80
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the retrieved resource
|
|
81
|
+
*/
|
|
10
82
|
read(tableName: string, id: string | number | bigint): Promise<Record<string, any>>;
|
|
83
|
+
/**
|
|
84
|
+
* @description Updates an existing resource via HTTP PUT
|
|
85
|
+
* @summary Implementation of the abstract update method from HttpAdapter.
|
|
86
|
+
* This method sends a PUT request to the specified endpoint with the updated model data.
|
|
87
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
88
|
+
* @param {string|number} id - The identifier for the resource (not used in URL for PUT)
|
|
89
|
+
* @param {Record<string, any>} model - The updated data model
|
|
90
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the updated resource
|
|
91
|
+
*/
|
|
11
92
|
update(tableName: string, id: string | number, model: Record<string, any>): Promise<Record<string, any>>;
|
|
93
|
+
/**
|
|
94
|
+
* @description Deletes a resource by ID via HTTP DELETE
|
|
95
|
+
* @summary Implementation of the abstract delete method from HttpAdapter.
|
|
96
|
+
* This method sends a DELETE request to the specified endpoint with the ID as a query parameter.
|
|
97
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
98
|
+
* @param {string|number|bigint} id - The identifier for the resource to delete
|
|
99
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the deletion result
|
|
100
|
+
*/
|
|
12
101
|
delete(tableName: string, id: string | number | bigint): Promise<Record<string, any>>;
|
|
102
|
+
/**
|
|
103
|
+
* @description Static decoration method for the AxiosHttpAdapter class
|
|
104
|
+
* @summary Placeholder method for class decoration functionality.
|
|
105
|
+
* This method is currently empty but can be used for decorator-based configuration.
|
|
106
|
+
*/
|
|
13
107
|
static decoration(): void;
|
|
14
108
|
}
|
package/lib/esm/axios/axios.js
CHANGED
|
@@ -1,12 +1,76 @@
|
|
|
1
|
-
import { HttpAdapter } from "
|
|
2
|
-
import { AxiosFlavour } from "./constants";
|
|
1
|
+
import { HttpAdapter } from "./../adapter.js";
|
|
2
|
+
import { AxiosFlavour } from "./constants.js";
|
|
3
|
+
/**
|
|
4
|
+
* @description Axios implementation of the HTTP adapter
|
|
5
|
+
* @summary Concrete implementation of HttpAdapter using Axios as the HTTP client.
|
|
6
|
+
* This adapter provides CRUD operations for RESTful APIs using Axios for HTTP requests.
|
|
7
|
+
* @template Axios - The Axios client type
|
|
8
|
+
* @template AxiosRequestConfig - The Axios request configuration type
|
|
9
|
+
* @template AxiosFlags - The flags type extending HttpFlags
|
|
10
|
+
* @template Context<AxiosFlags> - The context type for this adapter
|
|
11
|
+
* @param {Axios} native - The Axios instance
|
|
12
|
+
* @param {HttpConfig} config - Configuration for the HTTP adapter
|
|
13
|
+
* @param {string} [alias] - Optional alias for the adapter
|
|
14
|
+
* @class
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import axios from 'axios';
|
|
18
|
+
* import { AxiosHttpAdapter } from '@decaf-ts/for-http';
|
|
19
|
+
*
|
|
20
|
+
* const config = { protocol: 'https', host: 'api.example.com' };
|
|
21
|
+
* const adapter = new AxiosHttpAdapter(axios.create(), config);
|
|
22
|
+
*
|
|
23
|
+
* // Use the adapter with a repository
|
|
24
|
+
* const userRepo = adapter.getRepository(User);
|
|
25
|
+
* const user = await userRepo.findById('123');
|
|
26
|
+
* ```
|
|
27
|
+
* @mermaid
|
|
28
|
+
* sequenceDiagram
|
|
29
|
+
* participant Client
|
|
30
|
+
* participant AxiosHttpAdapter
|
|
31
|
+
* participant Axios
|
|
32
|
+
* participant API
|
|
33
|
+
*
|
|
34
|
+
* Client->>AxiosHttpAdapter: create(table, id, data)
|
|
35
|
+
* AxiosHttpAdapter->>AxiosHttpAdapter: url(table)
|
|
36
|
+
* AxiosHttpAdapter->>Axios: post(url, data)
|
|
37
|
+
* Axios->>API: HTTP POST Request
|
|
38
|
+
* API-->>Axios: Response
|
|
39
|
+
* Axios-->>AxiosHttpAdapter: Response Data
|
|
40
|
+
* AxiosHttpAdapter-->>Client: Created Resource
|
|
41
|
+
*
|
|
42
|
+
* Client->>AxiosHttpAdapter: read(table, id)
|
|
43
|
+
* AxiosHttpAdapter->>AxiosHttpAdapter: url(table, {id})
|
|
44
|
+
* AxiosHttpAdapter->>Axios: get(url)
|
|
45
|
+
* Axios->>API: HTTP GET Request
|
|
46
|
+
* API-->>Axios: Response
|
|
47
|
+
* Axios-->>AxiosHttpAdapter: Response Data
|
|
48
|
+
* AxiosHttpAdapter-->>Client: Resource Data
|
|
49
|
+
*/
|
|
3
50
|
export class AxiosHttpAdapter extends HttpAdapter {
|
|
4
51
|
constructor(native, config, alias) {
|
|
5
52
|
super(native, config, AxiosFlavour, alias);
|
|
6
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* @description Sends an HTTP request using Axios
|
|
56
|
+
* @summary Implementation of the abstract request method from HttpAdapter.
|
|
57
|
+
* This method uses the Axios instance to send HTTP requests with the provided configuration.
|
|
58
|
+
* @template V - The response value type
|
|
59
|
+
* @param {AxiosRequestConfig} details - The Axios request configuration
|
|
60
|
+
* @return {Promise<V>} A promise that resolves with the response data
|
|
61
|
+
*/
|
|
7
62
|
async request(details) {
|
|
8
63
|
return this.native.request(details);
|
|
9
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* @description Creates a new resource via HTTP POST
|
|
67
|
+
* @summary Implementation of the abstract create method from HttpAdapter.
|
|
68
|
+
* This method sends a POST request to the specified endpoint with the model data.
|
|
69
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
70
|
+
* @param {string|number} id - The identifier for the resource (not used in URL for POST)
|
|
71
|
+
* @param {Record<string, any>} model - The data model to create
|
|
72
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the created resource
|
|
73
|
+
*/
|
|
10
74
|
async create(tableName, id, model) {
|
|
11
75
|
try {
|
|
12
76
|
const url = this.url(tableName);
|
|
@@ -16,6 +80,14 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
16
80
|
throw this.parseError(e);
|
|
17
81
|
}
|
|
18
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* @description Retrieves a resource by ID via HTTP GET
|
|
85
|
+
* @summary Implementation of the abstract read method from HttpAdapter.
|
|
86
|
+
* This method sends a GET request to the specified endpoint with the ID as a query parameter.
|
|
87
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
88
|
+
* @param {string|number|bigint} id - The identifier for the resource to retrieve
|
|
89
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the retrieved resource
|
|
90
|
+
*/
|
|
19
91
|
async read(tableName, id) {
|
|
20
92
|
try {
|
|
21
93
|
const url = this.url(tableName, { id: id });
|
|
@@ -25,6 +97,15 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
25
97
|
throw this.parseError(e);
|
|
26
98
|
}
|
|
27
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* @description Updates an existing resource via HTTP PUT
|
|
102
|
+
* @summary Implementation of the abstract update method from HttpAdapter.
|
|
103
|
+
* This method sends a PUT request to the specified endpoint with the updated model data.
|
|
104
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
105
|
+
* @param {string|number} id - The identifier for the resource (not used in URL for PUT)
|
|
106
|
+
* @param {Record<string, any>} model - The updated data model
|
|
107
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the updated resource
|
|
108
|
+
*/
|
|
28
109
|
async update(tableName, id, model) {
|
|
29
110
|
try {
|
|
30
111
|
const url = this.url(tableName);
|
|
@@ -34,6 +115,14 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
34
115
|
throw this.parseError(e);
|
|
35
116
|
}
|
|
36
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* @description Deletes a resource by ID via HTTP DELETE
|
|
120
|
+
* @summary Implementation of the abstract delete method from HttpAdapter.
|
|
121
|
+
* This method sends a DELETE request to the specified endpoint with the ID as a query parameter.
|
|
122
|
+
* @param {string} tableName - The name of the table or endpoint
|
|
123
|
+
* @param {string|number|bigint} id - The identifier for the resource to delete
|
|
124
|
+
* @return {Promise<Record<string, any>>} A promise that resolves with the deletion result
|
|
125
|
+
*/
|
|
37
126
|
async delete(tableName, id) {
|
|
38
127
|
try {
|
|
39
128
|
const url = this.url(tableName, { id: id });
|
|
@@ -43,6 +132,11 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
43
132
|
throw this.parseError(e);
|
|
44
133
|
}
|
|
45
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* @description Static decoration method for the AxiosHttpAdapter class
|
|
137
|
+
* @summary Placeholder method for class decoration functionality.
|
|
138
|
+
* This method is currently empty but can be used for decorator-based configuration.
|
|
139
|
+
*/
|
|
46
140
|
static decoration() { }
|
|
47
141
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXhpb3MvYXhpb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUt6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUtyQztJQUNDLFlBQVksTUFBYSxFQUFFLE1BQWtCLEVBQUUsS0FBYztRQUMzRCxLQUFLLENBQUMsTUFBYSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVRLEtBQUssQ0FBQyxPQUFPLENBQUksT0FBMkI7UUFDbkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FDVixTQUFpQixFQUNqQixFQUFtQixFQUNuQixLQUEwQjtRQUUxQixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUNELEtBQUssQ0FBQyxJQUFJLENBQ1IsU0FBaUIsRUFDakIsRUFBNEI7UUFFNUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBcUIsRUFBRSxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUNWLFNBQWlCLEVBQ2pCLEVBQW1CLEVBQ25CLEtBQTBCO1FBRTFCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FDVixTQUFpQixFQUNqQixFQUE0QjtRQUU1QixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFxQixFQUFFLENBQUMsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLEtBQUksQ0FBQztDQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IEF4aW9zLCBBeGlvc1JlcXVlc3RDb25maWcgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCB7IEh0dHBDb25maWcgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IEF4aW9zRmxhZ3MgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQXhpb3NGbGF2b3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjbGFzcyBBeGlvc0h0dHBBZGFwdGVyIGV4dGVuZHMgSHR0cEFkYXB0ZXI8XG4gIEF4aW9zLFxuICBBeGlvc1JlcXVlc3RDb25maWcsXG4gIEF4aW9zRmxhZ3MsXG4gIENvbnRleHQ8QXhpb3NGbGFncz5cbj4ge1xuICBjb25zdHJ1Y3RvcihuYXRpdmU6IEF4aW9zLCBjb25maWc6IEh0dHBDb25maWcsIGFsaWFzPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobmF0aXZlIGFzIGFueSwgY29uZmlnLCBBeGlvc0ZsYXZvdXIsIGFsaWFzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHJlcXVlc3Q8Vj4oZGV0YWlsczogQXhpb3NSZXF1ZXN0Q29uZmlnKTogUHJvbWlzZTxWPiB7XG4gICAgcmV0dXJuIHRoaXMubmF0aXZlLnJlcXVlc3QoZGV0YWlscyk7XG4gIH1cblxuICBhc3luYyBjcmVhdGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwodGFibGVOYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5wb3N0KHVybCwgbW9kZWwpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgfVxuICBhc3luYyByZWFkKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnRcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMudXJsKHRhYmxlTmFtZSwgeyBpZDogaWQgYXMgc3RyaW5nIHwgbnVtYmVyIH0pO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldCh1cmwpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLnVybCh0YWJsZU5hbWUpO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnB1dCh1cmwsIG1vZGVsKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludFxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwodGFibGVOYW1lLCB7IGlkOiBpZCBhcyBzdHJpbmcgfCBudW1iZXIgfSk7XG4gICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZGVsZXRlKHVybCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGRlY29yYXRpb24oKSB7fVxufVxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXhpb3MvYXhpb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSx3QkFBbUI7QUFLekMsT0FBTyxFQUFFLFlBQVksRUFBRSx1QkFBb0I7QUFFM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FLckM7SUFDQyxZQUFZLE1BQWEsRUFBRSxNQUFrQixFQUFFLEtBQWM7UUFDM0QsS0FBSyxDQUFDLE1BQWEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ00sS0FBSyxDQUFDLE9BQU8sQ0FBSSxPQUEyQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQ1YsU0FBaUIsRUFDakIsRUFBbUIsRUFDbkIsS0FBMEI7UUFFMUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFDRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FDUixTQUFpQixFQUNqQixFQUE0QjtRQUU1QixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFxQixFQUFFLENBQUMsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FDVixTQUFpQixFQUNqQixFQUFtQixFQUNuQixLQUEwQjtRQUUxQixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUNWLFNBQWlCLEVBQ2pCLEVBQTRCO1FBRTVCLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLEtBQUksQ0FBQztDQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IEF4aW9zLCBBeGlvc1JlcXVlc3RDb25maWcgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCB7IEh0dHBDb25maWcgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IEF4aW9zRmxhZ3MgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQXhpb3NGbGF2b3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEF4aW9zIGltcGxlbWVudGF0aW9uIG9mIHRoZSBIVFRQIGFkYXB0ZXJcbiAqIEBzdW1tYXJ5IENvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIEh0dHBBZGFwdGVyIHVzaW5nIEF4aW9zIGFzIHRoZSBIVFRQIGNsaWVudC5cbiAqIFRoaXMgYWRhcHRlciBwcm92aWRlcyBDUlVEIG9wZXJhdGlvbnMgZm9yIFJFU1RmdWwgQVBJcyB1c2luZyBBeGlvcyBmb3IgSFRUUCByZXF1ZXN0cy5cbiAqIEB0ZW1wbGF0ZSBBeGlvcyAtIFRoZSBBeGlvcyBjbGllbnQgdHlwZVxuICogQHRlbXBsYXRlIEF4aW9zUmVxdWVzdENvbmZpZyAtIFRoZSBBeGlvcyByZXF1ZXN0IGNvbmZpZ3VyYXRpb24gdHlwZVxuICogQHRlbXBsYXRlIEF4aW9zRmxhZ3MgLSBUaGUgZmxhZ3MgdHlwZSBleHRlbmRpbmcgSHR0cEZsYWdzXG4gKiBAdGVtcGxhdGUgQ29udGV4dDxBeGlvc0ZsYWdzPiAtIFRoZSBjb250ZXh0IHR5cGUgZm9yIHRoaXMgYWRhcHRlclxuICogQHBhcmFtIHtBeGlvc30gbmF0aXZlIC0gVGhlIEF4aW9zIGluc3RhbmNlXG4gKiBAcGFyYW0ge0h0dHBDb25maWd9IGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBIVFRQIGFkYXB0ZXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbYWxpYXNdIC0gT3B0aW9uYWwgYWxpYXMgZm9yIHRoZSBhZGFwdGVyXG4gKiBAY2xhc3NcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuICogaW1wb3J0IHsgQXhpb3NIdHRwQWRhcHRlciB9IGZyb20gJ0BkZWNhZi10cy9mb3ItaHR0cCc7XG4gKiBcbiAqIGNvbnN0IGNvbmZpZyA9IHsgcHJvdG9jb2w6ICdodHRwcycsIGhvc3Q6ICdhcGkuZXhhbXBsZS5jb20nIH07XG4gKiBjb25zdCBhZGFwdGVyID0gbmV3IEF4aW9zSHR0cEFkYXB0ZXIoYXhpb3MuY3JlYXRlKCksIGNvbmZpZyk7XG4gKiBcbiAqIC8vIFVzZSB0aGUgYWRhcHRlciB3aXRoIGEgcmVwb3NpdG9yeVxuICogY29uc3QgdXNlclJlcG8gPSBhZGFwdGVyLmdldFJlcG9zaXRvcnkoVXNlcik7XG4gKiBjb25zdCB1c2VyID0gYXdhaXQgdXNlclJlcG8uZmluZEJ5SWQoJzEyMycpO1xuICogYGBgXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IENsaWVudFxuICogICBwYXJ0aWNpcGFudCBBeGlvc0h0dHBBZGFwdGVyXG4gKiAgIHBhcnRpY2lwYW50IEF4aW9zXG4gKiAgIHBhcnRpY2lwYW50IEFQSVxuICogICBcbiAqICAgQ2xpZW50LT4+QXhpb3NIdHRwQWRhcHRlcjogY3JlYXRlKHRhYmxlLCBpZCwgZGF0YSlcbiAqICAgQXhpb3NIdHRwQWRhcHRlci0+PkF4aW9zSHR0cEFkYXB0ZXI6IHVybCh0YWJsZSlcbiAqICAgQXhpb3NIdHRwQWRhcHRlci0+PkF4aW9zOiBwb3N0KHVybCwgZGF0YSlcbiAqICAgQXhpb3MtPj5BUEk6IEhUVFAgUE9TVCBSZXF1ZXN0XG4gKiAgIEFQSS0tPj5BeGlvczogUmVzcG9uc2VcbiAqICAgQXhpb3MtLT4+QXhpb3NIdHRwQWRhcHRlcjogUmVzcG9uc2UgRGF0YVxuICogICBBeGlvc0h0dHBBZGFwdGVyLS0+PkNsaWVudDogQ3JlYXRlZCBSZXNvdXJjZVxuICogICBcbiAqICAgQ2xpZW50LT4+QXhpb3NIdHRwQWRhcHRlcjogcmVhZCh0YWJsZSwgaWQpXG4gKiAgIEF4aW9zSHR0cEFkYXB0ZXItPj5BeGlvc0h0dHBBZGFwdGVyOiB1cmwodGFibGUsIHtpZH0pXG4gKiAgIEF4aW9zSHR0cEFkYXB0ZXItPj5BeGlvczogZ2V0KHVybClcbiAqICAgQXhpb3MtPj5BUEk6IEhUVFAgR0VUIFJlcXVlc3RcbiAqICAgQVBJLS0+PkF4aW9zOiBSZXNwb25zZVxuICogICBBeGlvcy0tPj5BeGlvc0h0dHBBZGFwdGVyOiBSZXNwb25zZSBEYXRhXG4gKiAgIEF4aW9zSHR0cEFkYXB0ZXItLT4+Q2xpZW50OiBSZXNvdXJjZSBEYXRhXG4gKi9cbmV4cG9ydCBjbGFzcyBBeGlvc0h0dHBBZGFwdGVyIGV4dGVuZHMgSHR0cEFkYXB0ZXI8XG4gIEF4aW9zLFxuICBBeGlvc1JlcXVlc3RDb25maWcsXG4gIEF4aW9zRmxhZ3MsXG4gIENvbnRleHQ8QXhpb3NGbGFncz5cbj4ge1xuICBjb25zdHJ1Y3RvcihuYXRpdmU6IEF4aW9zLCBjb25maWc6IEh0dHBDb25maWcsIGFsaWFzPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobmF0aXZlIGFzIGFueSwgY29uZmlnLCBBeGlvc0ZsYXZvdXIsIGFsaWFzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2VuZHMgYW4gSFRUUCByZXF1ZXN0IHVzaW5nIEF4aW9zXG4gICAqIEBzdW1tYXJ5IEltcGxlbWVudGF0aW9uIG9mIHRoZSBhYnN0cmFjdCByZXF1ZXN0IG1ldGhvZCBmcm9tIEh0dHBBZGFwdGVyLlxuICAgKiBUaGlzIG1ldGhvZCB1c2VzIHRoZSBBeGlvcyBpbnN0YW5jZSB0byBzZW5kIEhUVFAgcmVxdWVzdHMgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICogQHRlbXBsYXRlIFYgLSBUaGUgcmVzcG9uc2UgdmFsdWUgdHlwZVxuICAgKiBAcGFyYW0ge0F4aW9zUmVxdWVzdENvbmZpZ30gZGV0YWlscyAtIFRoZSBBeGlvcyByZXF1ZXN0IGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybiB7UHJvbWlzZTxWPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVzcG9uc2UgZGF0YVxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgcmVxdWVzdDxWPihkZXRhaWxzOiBBeGlvc1JlcXVlc3RDb25maWcpOiBQcm9taXNlPFY+IHtcbiAgICByZXR1cm4gdGhpcy5uYXRpdmUucmVxdWVzdChkZXRhaWxzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyByZXNvdXJjZSB2aWEgSFRUUCBQT1NUXG4gICAqIEBzdW1tYXJ5IEltcGxlbWVudGF0aW9uIG9mIHRoZSBhYnN0cmFjdCBjcmVhdGUgbWV0aG9kIGZyb20gSHR0cEFkYXB0ZXIuXG4gICAqIFRoaXMgbWV0aG9kIHNlbmRzIGEgUE9TVCByZXF1ZXN0IHRvIHRoZSBzcGVjaWZpZWQgZW5kcG9pbnQgd2l0aCB0aGUgbW9kZWwgZGF0YS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBvciBlbmRwb2ludFxuICAgKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IGlkIC0gVGhlIGlkZW50aWZpZXIgZm9yIHRoZSByZXNvdXJjZSAobm90IHVzZWQgaW4gVVJMIGZvciBQT1NUKVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG1vZGVsIC0gVGhlIGRhdGEgbW9kZWwgdG8gY3JlYXRlXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGNyZWF0ZWQgcmVzb3VyY2VcbiAgICovXG4gIGFzeW5jIGNyZWF0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLnVybCh0YWJsZU5hbWUpO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnBvc3QodXJsLCBtb2RlbCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGEgcmVzb3VyY2UgYnkgSUQgdmlhIEhUVFAgR0VUXG4gICAqIEBzdW1tYXJ5IEltcGxlbWVudGF0aW9uIG9mIHRoZSBhYnN0cmFjdCByZWFkIG1ldGhvZCBmcm9tIEh0dHBBZGFwdGVyLlxuICAgKiBUaGlzIG1ldGhvZCBzZW5kcyBhIEdFVCByZXF1ZXN0IHRvIHRoZSBzcGVjaWZpZWQgZW5kcG9pbnQgd2l0aCB0aGUgSUQgYXMgYSBxdWVyeSBwYXJhbWV0ZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgb3IgZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfGJpZ2ludH0gaWQgLSBUaGUgaWRlbnRpZmllciBmb3IgdGhlIHJlc291cmNlIHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJldHJpZXZlZCByZXNvdXJjZVxuICAgKi9cbiAgYXN5bmMgcmVhZChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLnVybCh0YWJsZU5hbWUsIHsgaWQ6IGlkIGFzIHN0cmluZyB8IG51bWJlciB9KTtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXQodXJsKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVwZGF0ZXMgYW4gZXhpc3RpbmcgcmVzb3VyY2UgdmlhIEhUVFAgUFVUXG4gICAqIEBzdW1tYXJ5IEltcGxlbWVudGF0aW9uIG9mIHRoZSBhYnN0cmFjdCB1cGRhdGUgbWV0aG9kIGZyb20gSHR0cEFkYXB0ZXIuXG4gICAqIFRoaXMgbWV0aG9kIHNlbmRzIGEgUFVUIHJlcXVlc3QgdG8gdGhlIHNwZWNpZmllZCBlbmRwb2ludCB3aXRoIHRoZSB1cGRhdGVkIG1vZGVsIGRhdGEuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgb3IgZW5kcG9pbnRcbiAgICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBpZCAtIFRoZSBpZGVudGlmaWVyIGZvciB0aGUgcmVzb3VyY2UgKG5vdCB1c2VkIGluIFVSTCBmb3IgUFVUKVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG1vZGVsIC0gVGhlIHVwZGF0ZWQgZGF0YSBtb2RlbFxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB1cGRhdGVkIHJlc291cmNlXG4gICAqL1xuICBhc3luYyB1cGRhdGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwodGFibGVOYW1lKTtcbiAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5wdXQodXJsLCBtb2RlbCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWxldGVzIGEgcmVzb3VyY2UgYnkgSUQgdmlhIEhUVFAgREVMRVRFXG4gICAqIEBzdW1tYXJ5IEltcGxlbWVudGF0aW9uIG9mIHRoZSBhYnN0cmFjdCBkZWxldGUgbWV0aG9kIGZyb20gSHR0cEFkYXB0ZXIuXG4gICAqIFRoaXMgbWV0aG9kIHNlbmRzIGEgREVMRVRFIHJlcXVlc3QgdG8gdGhlIHNwZWNpZmllZCBlbmRwb2ludCB3aXRoIHRoZSBJRCBhcyBhIHF1ZXJ5IHBhcmFtZXRlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBvciBlbmRwb2ludFxuICAgKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ8YmlnaW50fSBpZCAtIFRoZSBpZGVudGlmaWVyIGZvciB0aGUgcmVzb3VyY2UgdG8gZGVsZXRlXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGRlbGV0aW9uIHJlc3VsdFxuICAgKi9cbiAgYXN5bmMgZGVsZXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnRcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMudXJsKHRhYmxlTmFtZSwgeyBpZDogaWQgYXMgc3RyaW5nIHwgbnVtYmVyIH0pO1xuICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmRlbGV0ZSh1cmwpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU3RhdGljIGRlY29yYXRpb24gbWV0aG9kIGZvciB0aGUgQXhpb3NIdHRwQWRhcHRlciBjbGFzc1xuICAgKiBAc3VtbWFyeSBQbGFjZWhvbGRlciBtZXRob2QgZm9yIGNsYXNzIGRlY29yYXRpb24gZnVuY3Rpb25hbGl0eS5cbiAgICogVGhpcyBtZXRob2QgaXMgY3VycmVudGx5IGVtcHR5IGJ1dCBjYW4gYmUgdXNlZCBmb3IgZGVjb3JhdG9yLWJhc2VkIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0aWMgZGVjb3JhdGlvbigpIHt9XG59XG4iXX0=
|
|
@@ -1 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Axios adapter flavor identifier
|
|
3
|
+
* @summary Constant string identifier used to identify the Axios implementation of the HTTP adapter
|
|
4
|
+
* @const {string} AxiosFlavour
|
|
5
|
+
* @memberOf module:for-http.axios
|
|
6
|
+
*/
|
|
1
7
|
export declare const AxiosFlavour = "axios";
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Axios adapter flavor identifier
|
|
3
|
+
* @summary Constant string identifier used to identify the Axios implementation of the HTTP adapter
|
|
4
|
+
* @const {string} AxiosFlavour
|
|
5
|
+
* @memberOf module:for-http.axios
|
|
6
|
+
*/
|
|
1
7
|
export const AxiosFlavour = "axios";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F4aW9zL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBBeGlvcyBhZGFwdGVyIGZsYXZvciBpZGVudGlmaWVyXG4gKiBAc3VtbWFyeSBDb25zdGFudCBzdHJpbmcgaWRlbnRpZmllciB1c2VkIHRvIGlkZW50aWZ5IHRoZSBBeGlvcyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgSFRUUCBhZGFwdGVyXG4gKiBAY29uc3Qge3N0cmluZ30gQXhpb3NGbGF2b3VyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1odHRwLmF4aW9zXG4gKi9cbmV4cG9ydCBjb25zdCBBeGlvc0ZsYXZvdXIgPSBcImF4aW9zXCI7XG4iXX0=
|
package/lib/esm/axios/index.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import { AxiosHttpAdapter } from "./axios";
|
|
1
|
+
import { AxiosHttpAdapter } from "./axios.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description HTTP client module for REST API interactions
|
|
4
|
+
* @summary This module provides classes and utilities for interacting with REST APIs.
|
|
5
|
+
* It exposes repository and service classes for making HTTP requests, along with
|
|
6
|
+
* type definitions and adapters for different HTTP clients. The module includes
|
|
7
|
+
* {@link RestRepository} and {@link RestService} for API interactions.
|
|
8
|
+
* @namespace axios
|
|
9
|
+
* @memberOf module:for-http
|
|
10
|
+
*/
|
|
2
11
|
AxiosHttpAdapter.decoration();
|
|
3
|
-
export * from "./axios";
|
|
4
|
-
export * from "./constants";
|
|
5
|
-
export * from "./types";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
export * from "./axios.js";
|
|
13
|
+
export * from "./constants.js";
|
|
14
|
+
export * from "./types.js";
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXhpb3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFnQjtBQUUzQzs7Ozs7Ozs7R0FRRztBQUVILGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO0FBRTlCLDJCQUF3QjtBQUN4QiwrQkFBNEI7QUFDNUIsMkJBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXhpb3NIdHRwQWRhcHRlciB9IGZyb20gXCIuL2F4aW9zXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEhUVFAgY2xpZW50IG1vZHVsZSBmb3IgUkVTVCBBUEkgaW50ZXJhY3Rpb25zXG4gKiBAc3VtbWFyeSBUaGlzIG1vZHVsZSBwcm92aWRlcyBjbGFzc2VzIGFuZCB1dGlsaXRpZXMgZm9yIGludGVyYWN0aW5nIHdpdGggUkVTVCBBUElzLlxuICogSXQgZXhwb3NlcyByZXBvc2l0b3J5IGFuZCBzZXJ2aWNlIGNsYXNzZXMgZm9yIG1ha2luZyBIVFRQIHJlcXVlc3RzLCBhbG9uZyB3aXRoXG4gKiB0eXBlIGRlZmluaXRpb25zIGFuZCBhZGFwdGVycyBmb3IgZGlmZmVyZW50IEhUVFAgY2xpZW50cy4gVGhlIG1vZHVsZSBpbmNsdWRlc1xuICoge0BsaW5rIFJlc3RSZXBvc2l0b3J5fSBhbmQge0BsaW5rIFJlc3RTZXJ2aWNlfSBmb3IgQVBJIGludGVyYWN0aW9ucy5cbiAqIEBuYW1lc3BhY2UgYXhpb3NcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWh0dHBcbiAqL1xuXG5BeGlvc0h0dHBBZGFwdGVyLmRlY29yYXRpb24oKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vYXhpb3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
|
package/lib/esm/axios/types.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import { HttpFlags } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* @description Axios-specific HTTP flags type
|
|
4
|
+
* @summary Type alias for HttpFlags used specifically with the Axios adapter implementation
|
|
5
|
+
* @typedef {HttpFlags} AxiosFlags
|
|
6
|
+
* @memberOf module:for-http.axios
|
|
7
|
+
*/
|
|
2
8
|
export type AxiosFlags = HttpFlags;
|
package/lib/esm/axios/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXhpb3MvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBGbGFncyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBeGlvcy1zcGVjaWZpYyBIVFRQIGZsYWdzIHR5cGVcbiAqIEBzdW1tYXJ5IFR5cGUgYWxpYXMgZm9yIEh0dHBGbGFncyB1c2VkIHNwZWNpZmljYWxseSB3aXRoIHRoZSBBeGlvcyBhZGFwdGVyIGltcGxlbWVudGF0aW9uXG4gKiBAdHlwZWRlZiB7SHR0cEZsYWdzfSBBeGlvc0ZsYWdzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1odHRwLmF4aW9zXG4gKi9cbmV4cG9ydCB0eXBlIEF4aW9zRmxhZ3MgPSBIdHRwRmxhZ3M7XG4iXX0=
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description HTTP client module for REST API interactions
|
|
3
|
+
* @summary This module provides classes and utilities for interacting with REST APIs.
|
|
4
|
+
* It exposes repository and service classes for making HTTP requests, along with
|
|
5
|
+
* type definitions and adapters for different HTTP clients. The module includes
|
|
6
|
+
* {@link RestRepository} and {@link RestService} for API interactions.
|
|
7
|
+
* @module for-http
|
|
8
|
+
*/
|
|
1
9
|
export * from "./adapter";
|
|
2
10
|
export * from "./RestRepository";
|
|
3
11
|
export * from "./RestService";
|
|
4
12
|
export * from "./types";
|
|
5
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @description Current version of the for-http module
|
|
15
|
+
* @summary Version identifier for the module
|
|
16
|
+
* @const VERSION
|
|
17
|
+
*/
|
|
18
|
+
export declare const VERSION = "0.2.3";
|
package/lib/esm/index.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @description HTTP client module for REST API interactions
|
|
3
|
+
* @summary This module provides classes and utilities for interacting with REST APIs.
|
|
4
|
+
* It exposes repository and service classes for making HTTP requests, along with
|
|
5
|
+
* type definitions and adapters for different HTTP clients. The module includes
|
|
6
|
+
* {@link RestRepository} and {@link RestService} for API interactions.
|
|
7
|
+
* @module for-http
|
|
8
|
+
*/
|
|
9
|
+
export * from "./adapter.js";
|
|
10
|
+
export * from "./RestRepository.js";
|
|
11
|
+
export * from "./RestService.js";
|
|
12
|
+
export * from "./types.js";
|
|
13
|
+
/**
|
|
14
|
+
* @description Current version of the for-http module
|
|
15
|
+
* @summary Version identifier for the module
|
|
16
|
+
* @const VERSION
|
|
17
|
+
*/
|
|
18
|
+
export const VERSION = "0.2.3";
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILDZCQUEwQjtBQUMxQixvQ0FBaUM7QUFDakMsaUNBQThCO0FBQzlCLDJCQUF3QjtBQUV4Qjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIEhUVFAgY2xpZW50IG1vZHVsZSBmb3IgUkVTVCBBUEkgaW50ZXJhY3Rpb25zXG4gKiBAc3VtbWFyeSBUaGlzIG1vZHVsZSBwcm92aWRlcyBjbGFzc2VzIGFuZCB1dGlsaXRpZXMgZm9yIGludGVyYWN0aW5nIHdpdGggUkVTVCBBUElzLlxuICogSXQgZXhwb3NlcyByZXBvc2l0b3J5IGFuZCBzZXJ2aWNlIGNsYXNzZXMgZm9yIG1ha2luZyBIVFRQIHJlcXVlc3RzLCBhbG9uZyB3aXRoXG4gKiB0eXBlIGRlZmluaXRpb25zIGFuZCBhZGFwdGVycyBmb3IgZGlmZmVyZW50IEhUVFAgY2xpZW50cy4gVGhlIG1vZHVsZSBpbmNsdWRlc1xuICoge0BsaW5rIFJlc3RSZXBvc2l0b3J5fSBhbmQge0BsaW5rIFJlc3RTZXJ2aWNlfSBmb3IgQVBJIGludGVyYWN0aW9ucy5cbiAqIEBtb2R1bGUgZm9yLWh0dHBcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVzdFJlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1Jlc3RTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDdXJyZW50IHZlcnNpb24gb2YgdGhlIGZvci1odHRwIG1vZHVsZVxuICogQHN1bW1hcnkgVmVyc2lvbiBpZGVudGlmaWVyIGZvciB0aGUgbW9kdWxlXG4gKiBAY29uc3QgVkVSU0lPTlxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdfQ==
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import { RepositoryFlags } from "@decaf-ts/db-decorators";
|
|
2
|
+
/**
|
|
3
|
+
* @description HTTP configuration type
|
|
4
|
+
* @summary Configuration type for HTTP connections specifying protocol and host
|
|
5
|
+
* @typedef {Object} HttpConfig
|
|
6
|
+
* @property {('http'|'https')} protocol - The HTTP protocol to use
|
|
7
|
+
* @property {string} host - The host address
|
|
8
|
+
* @memberOf module:for-http
|
|
9
|
+
*/
|
|
2
10
|
export type HttpConfig = {
|
|
3
11
|
protocol: "http" | "https";
|
|
4
12
|
host: string;
|
|
5
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* @description HTTP flags interface
|
|
16
|
+
* @summary Interface extending RepositoryFlags with HTTP-specific options
|
|
17
|
+
* @interface HttpFlags
|
|
18
|
+
* @property {Record<string, string>} [headers] - Optional HTTP headers to include with requests
|
|
19
|
+
* @memberOf module:for-http
|
|
20
|
+
*/
|
|
6
21
|
export interface HttpFlags extends RepositoryFlags {
|
|
7
22
|
headers?: Record<string, string>;
|
|
8
23
|
}
|
package/lib/esm/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBIVFRQIGNvbmZpZ3VyYXRpb24gdHlwZVxuICogQHN1bW1hcnkgQ29uZmlndXJhdGlvbiB0eXBlIGZvciBIVFRQIGNvbm5lY3Rpb25zIHNwZWNpZnlpbmcgcHJvdG9jb2wgYW5kIGhvc3RcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEh0dHBDb25maWdcbiAqIEBwcm9wZXJ0eSB7KCdodHRwJ3wnaHR0cHMnKX0gcHJvdG9jb2wgLSBUaGUgSFRUUCBwcm90b2NvbCB0byB1c2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBob3N0IC0gVGhlIGhvc3QgYWRkcmVzc1xuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItaHR0cFxuICovXG5leHBvcnQgdHlwZSBIdHRwQ29uZmlnID0ge1xuICBwcm90b2NvbDogXCJodHRwXCIgfCBcImh0dHBzXCI7XG4gIGhvc3Q6IHN0cmluZztcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEhUVFAgZmxhZ3MgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBJbnRlcmZhY2UgZXh0ZW5kaW5nIFJlcG9zaXRvcnlGbGFncyB3aXRoIEhUVFAtc3BlY2lmaWMgb3B0aW9uc1xuICogQGludGVyZmFjZSBIdHRwRmxhZ3NcbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW2hlYWRlcnNdIC0gT3B0aW9uYWwgSFRUUCBoZWFkZXJzIHRvIGluY2x1ZGUgd2l0aCByZXF1ZXN0c1xuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItaHR0cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBGbGFncyBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyB7XG4gIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuIl19
|