@azure-net/kit 0.6.2 → 0.6.5
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/dist/core/datasource/BaseDatasource.d.ts +19 -16
- package/dist/core/datasource/BaseDatasource.js +6 -3
- package/dist/core/index.d.ts +0 -1
- package/dist/core/index.js +0 -1
- package/package.json +1 -1
- package/dist/core/container/Container.d.ts +0 -8
- package/dist/core/container/Container.js +0 -19
- package/dist/core/container/index.d.ts +0 -1
- package/dist/core/container/index.js +0 -1
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import { HttpService, HttpServiceResponse } from '../httpService/HttpService.js';
|
|
2
2
|
import { QueryBuilder } from '../query/index.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @returns A typed HTTP response wrapped in a Promise.
|
|
9
|
-
*/
|
|
10
|
-
createRequest<T>(callback: <J = T>(params: {
|
|
3
|
+
type ApplyWrapper<TWrapper, T, TDataKey extends keyof TWrapper> = TWrapper extends Record<TDataKey, unknown> ? Omit<TWrapper, TDataKey> & {
|
|
4
|
+
[K in TDataKey]: T;
|
|
5
|
+
} : T;
|
|
6
|
+
export interface IHttpDatasource<TWrapper = never, TDataKey extends keyof TWrapper = never> {
|
|
7
|
+
createRequest<T>(callback: <J = ApplyWrapper<TWrapper, T, TDataKey>>(params: {
|
|
11
8
|
http: HttpService;
|
|
12
9
|
query: QueryBuilder;
|
|
13
|
-
}) => Promise<HttpServiceResponse<J>>): Promise<HttpServiceResponse<T
|
|
10
|
+
}) => Promise<HttpServiceResponse<J>>): Promise<HttpServiceResponse<ApplyWrapper<TWrapper, T, TDataKey>>>;
|
|
11
|
+
createRawRequest<T>(callback: (params: {
|
|
12
|
+
http: HttpService;
|
|
13
|
+
query: QueryBuilder;
|
|
14
|
+
}) => Promise<HttpServiceResponse<T>>): Promise<HttpServiceResponse<T>>;
|
|
14
15
|
}
|
|
15
|
-
export declare class BaseHttpDatasource implements IHttpDatasource {
|
|
16
|
+
export declare class BaseHttpDatasource<TWrapper = never, TDataKey extends keyof TWrapper = never> implements IHttpDatasource<TWrapper, TDataKey> {
|
|
16
17
|
protected readonly httpClient: HttpService;
|
|
17
18
|
protected readonly query: QueryBuilder;
|
|
18
19
|
constructor(params: {
|
|
19
20
|
http?: HttpService;
|
|
20
21
|
query?: QueryBuilder;
|
|
21
22
|
});
|
|
22
|
-
createRequest<T>(callback: <J = T
|
|
23
|
+
createRequest<T>(callback: <J = ApplyWrapper<TWrapper, T, TDataKey>>(params: {
|
|
24
|
+
http: HttpService;
|
|
25
|
+
query: QueryBuilder;
|
|
26
|
+
}) => Promise<HttpServiceResponse<J>>): Promise<HttpServiceResponse<ApplyWrapper<TWrapper, T, TDataKey>>>;
|
|
27
|
+
private _createRawRequest;
|
|
28
|
+
readonly createRawRequest: <T>(callback: (params: {
|
|
23
29
|
http: HttpService;
|
|
24
30
|
query: QueryBuilder;
|
|
25
|
-
}) => Promise<HttpServiceResponse<
|
|
31
|
+
}) => Promise<HttpServiceResponse<T>>) => Promise<HttpServiceResponse<T>>;
|
|
26
32
|
}
|
|
27
|
-
export
|
|
28
|
-
http?: HttpService;
|
|
29
|
-
query?: QueryBuilder;
|
|
30
|
-
}) => BaseHttpDatasource;
|
|
33
|
+
export {};
|
|
@@ -14,7 +14,10 @@ export class BaseHttpDatasource {
|
|
|
14
14
|
throw err;
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
+
async _createRawRequest(callback) {
|
|
18
|
+
return await callback({ http: this.httpClient, query: this.query }).catch((err) => {
|
|
19
|
+
throw err;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
createRawRequest = this._createRawRequest.bind(this);
|
|
17
23
|
}
|
|
18
|
-
export const createHttpDatasource = (params) => {
|
|
19
|
-
return new BaseHttpDatasource(params);
|
|
20
|
-
};
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export class DIContainer {
|
|
2
|
-
factories = new Map();
|
|
3
|
-
instances = new Map();
|
|
4
|
-
register(token, factory) {
|
|
5
|
-
this.factories.set(token, factory);
|
|
6
|
-
}
|
|
7
|
-
get(token) {
|
|
8
|
-
if (this.instances.has(token)) {
|
|
9
|
-
return this.instances.get(token);
|
|
10
|
-
}
|
|
11
|
-
const factory = this.factories.get(token);
|
|
12
|
-
if (!factory) {
|
|
13
|
-
throw new Error(`Factory for ${token.name} not registered`);
|
|
14
|
-
}
|
|
15
|
-
const instance = factory();
|
|
16
|
-
this.instances.set(token, instance);
|
|
17
|
-
return instance;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Container.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Container.js';
|