@opra/angular 0.13.0 → 0.15.0
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/client.module.d.ts +8 -5
- package/esm2020/client.module.mjs +46 -34
- package/esm2020/interfaces/module-options.interface.mjs +1 -1
- package/fesm2015/opra-angular.mjs +45 -33
- package/fesm2015/opra-angular.mjs.map +1 -1
- package/fesm2020/opra-angular.mjs +45 -33
- package/fesm2020/opra-angular.mjs.map +1 -1
- package/interfaces/module-options.interface.d.ts +5 -2
- package/package.json +4 -5
package/client.module.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
1
|
+
import { ModuleWithProviders, Type } from '@angular/core';
|
|
2
|
+
import { HttpServiceBase } from '@opra/client';
|
|
2
3
|
import { OpraClientModuleAsyncOptions, OpraClientModuleOptions } from './interfaces/module-options.interface';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class OpraClientModule {
|
|
5
|
-
static
|
|
6
|
-
static
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
static registerClient(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule>;
|
|
7
|
+
static registerService<T extends HttpServiceBase>(serviceClass: Type<T>, options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule>;
|
|
8
|
+
static registerClientAsync(options: OpraClientModuleAsyncOptions): ModuleWithProviders<OpraClientModule>;
|
|
9
|
+
static registerServiceAsync<T extends HttpServiceBase>(serviceClass: Type<T>, options: OpraClientModuleAsyncOptions): ModuleWithProviders<OpraClientModule>;
|
|
10
|
+
private static _createAsyncProviders;
|
|
11
|
+
private static _createAsyncOptionsProvider;
|
|
9
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<OpraClientModule, never>;
|
|
10
13
|
static ɵmod: i0.ɵɵNgModuleDeclaration<OpraClientModule, never, never, never>;
|
|
11
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<OpraClientModule>;
|
|
@@ -1,63 +1,75 @@
|
|
|
1
1
|
/* eslint-disable import/extensions */
|
|
2
|
-
import {
|
|
3
|
-
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
4
3
|
import { OpraHttpClient } from '@opra/client';
|
|
5
4
|
import { OPRA_CLIENT_MODULE_OPTIONS } from './constants';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export class OpraClientModule {
|
|
8
|
-
static
|
|
7
|
+
static registerClient(options) {
|
|
9
8
|
const CLIENT_TOKEN = options.token || OpraHttpClient;
|
|
10
9
|
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
11
10
|
return {
|
|
12
11
|
ngModule: OpraClientModule,
|
|
13
12
|
providers: [
|
|
14
|
-
{
|
|
15
|
-
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
16
|
-
useValue: options,
|
|
17
|
-
},
|
|
18
13
|
{
|
|
19
14
|
provide: CLIENT_TOKEN,
|
|
20
15
|
useValue: client
|
|
21
|
-
}
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static registerService(serviceClass, options) {
|
|
21
|
+
const SERVICE_TOKEN = options.token || serviceClass;
|
|
22
|
+
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
23
|
+
const service = new serviceClass(client);
|
|
24
|
+
return {
|
|
25
|
+
ngModule: OpraClientModule,
|
|
26
|
+
providers: [
|
|
22
27
|
{
|
|
23
|
-
provide:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
},
|
|
27
|
-
multi: true
|
|
28
|
-
},
|
|
28
|
+
provide: SERVICE_TOKEN,
|
|
29
|
+
useValue: service
|
|
30
|
+
}
|
|
29
31
|
]
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
|
-
static
|
|
34
|
+
static registerClientAsync(options) {
|
|
33
35
|
const CLIENT_TOKEN = options.token || OpraHttpClient;
|
|
34
|
-
const asyncProviders = this.
|
|
36
|
+
const asyncProviders = this._createAsyncProviders(options);
|
|
35
37
|
return {
|
|
36
38
|
ngModule: OpraClientModule,
|
|
37
39
|
providers: [
|
|
38
40
|
...asyncProviders,
|
|
39
41
|
{
|
|
40
42
|
provide: CLIENT_TOKEN,
|
|
41
|
-
deps: [
|
|
42
|
-
useFactory: (
|
|
43
|
-
}
|
|
43
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
44
|
+
useFactory: (opts) => new OpraHttpClient(opts.serviceUrl, opts)
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
static registerServiceAsync(serviceClass, options) {
|
|
50
|
+
const SERVICE_TOKEN = options.token || serviceClass;
|
|
51
|
+
const asyncProviders = this._createAsyncProviders(options);
|
|
52
|
+
return {
|
|
53
|
+
ngModule: OpraClientModule,
|
|
54
|
+
providers: [
|
|
55
|
+
...asyncProviders,
|
|
44
56
|
{
|
|
45
|
-
provide:
|
|
46
|
-
deps: [
|
|
47
|
-
useFactory: (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
provide: SERVICE_TOKEN,
|
|
58
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
59
|
+
useFactory: (opts) => {
|
|
60
|
+
const client = new OpraHttpClient(opts.serviceUrl, opts);
|
|
61
|
+
return new serviceClass(client);
|
|
62
|
+
}
|
|
51
63
|
}
|
|
52
64
|
]
|
|
53
65
|
};
|
|
54
66
|
}
|
|
55
|
-
static
|
|
67
|
+
static _createAsyncProviders(options) {
|
|
56
68
|
if (options.useExisting || options.useFactory)
|
|
57
|
-
return [this.
|
|
69
|
+
return [this._createAsyncOptionsProvider(options)];
|
|
58
70
|
if (options.useClass)
|
|
59
71
|
return [
|
|
60
|
-
this.
|
|
72
|
+
this._createAsyncOptionsProvider(options),
|
|
61
73
|
{
|
|
62
74
|
provide: options.useClass,
|
|
63
75
|
useClass: options.useClass
|
|
@@ -65,7 +77,7 @@ export class OpraClientModule {
|
|
|
65
77
|
];
|
|
66
78
|
throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
|
|
67
79
|
}
|
|
68
|
-
static
|
|
80
|
+
static _createAsyncOptionsProvider(options) {
|
|
69
81
|
if (options.useFactory) {
|
|
70
82
|
return {
|
|
71
83
|
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
@@ -84,11 +96,11 @@ export class OpraClientModule {
|
|
|
84
96
|
throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
|
|
85
97
|
}
|
|
86
98
|
}
|
|
87
|
-
OpraClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
88
|
-
OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
89
|
-
OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
99
|
+
OpraClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
100
|
+
OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule });
|
|
101
|
+
OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule, decorators: [{
|
|
91
103
|
type: NgModule,
|
|
92
104
|
args: [{}]
|
|
93
105
|
}] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL2NsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLE9BQU8sRUFBdUIsUUFBUSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQW1CLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBT3pELE1BQU0sT0FBTyxnQkFBZ0I7SUFFcEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFnQztRQUMzRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQztRQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQ3pCLFlBQXFCLEVBQ3JCLE9BQWdDO1FBRWxDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksWUFBWSxDQUFDO1FBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixRQUFRLEVBQUUsT0FB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IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9leHRlbnNpb25zICovXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlQmFzZSwgT3ByYUh0dHBDbGllbnQgfSBmcm9tICdAb3ByYS9jbGllbnQnO1xuaW1wb3J0IHsgT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zLFxuICBPcHJhQ2xpZW50TW9kdWxlT3B0aW9uc1xufSBmcm9tICcuL2ludGVyZmFjZXMvbW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIE9wcmFDbGllbnRNb2R1bGUge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXJDbGllbnQob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE9wcmFDbGllbnRNb2R1bGU+IHtcbiAgICBjb25zdCBDTElFTlRfVE9LRU4gPSBvcHRpb25zLnRva2VuIHx8IE9wcmFIdHRwQ2xpZW50O1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBPcHJhSHR0cENsaWVudChvcHRpb25zLnNlcnZpY2VVcmwsIG9wdGlvbnMpO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3ByYUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ0xJRU5UX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBjbGllbnRcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyU2VydmljZTxUIGV4dGVuZHMgSHR0cFNlcnZpY2VCYXNlPihcbiAgICAgIHNlcnZpY2VDbGFzczogVHlwZTxUPixcbiAgICAgIG9wdGlvbnM6IE9wcmFDbGllbnRNb2R1bGVPcHRpb25zXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T3ByYUNsaWVudE1vZHVsZT4ge1xuICAgIGNvbnN0IFNFUlZJQ0VfVE9LRU4gPSBvcHRpb25zLnRva2VuIHx8IHNlcnZpY2VDbGFzcztcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgT3ByYUh0dHBDbGllbnQob3B0aW9ucy5zZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgICBjb25zdCBzZXJ2aWNlID0gbmV3IHNlcnZpY2VDbGFzcyhjbGllbnQpO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3ByYUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU0VSVklDRV9UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogc2VydmljZVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXJDbGllbnRBc3luYyhcbiAgICAgIG9wdGlvbnM6IE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnNcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPcHJhQ2xpZW50TW9kdWxlPiB7XG4gICAgY29uc3QgQ0xJRU5UX1RPS0VOID0gb3B0aW9ucy50b2tlbiB8fCBPcHJhSHR0cENsaWVudDtcbiAgICBjb25zdCBhc3luY1Byb3ZpZGVycyA9IHRoaXMuX2NyZWF0ZUFzeW5jUHJvdmlkZXJzKG9wdGlvbnMpO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3ByYUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi5hc3luY1Byb3ZpZGVycyxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IENMSUVOVF9UT0tFTixcbiAgICAgICAgICBkZXBzOiBbT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlNdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChvcHRzOiBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucykgPT5cbiAgICAgICAgICAgICAgbmV3IE9wcmFIdHRwQ2xpZW50KG9wdHMuc2VydmljZVVybCwgb3B0cylcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyU2VydmljZUFzeW5jPFQgZXh0ZW5kcyBIdHRwU2VydmljZUJhc2U+KFxuICAgICAgc2VydmljZUNsYXNzOiBUeXBlPFQ+LFxuICAgICAgb3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE9wcmFDbGllbnRNb2R1bGU+IHtcbiAgICBjb25zdCBTRVJWSUNFX1RPS0VOID0gb3B0aW9ucy50b2tlbiB8fCBzZXJ2aWNlQ2xhc3M7XG4gICAgY29uc3QgYXN5bmNQcm92aWRlcnMgPSB0aGlzLl9jcmVhdGVBc3luY1Byb3ZpZGVycyhvcHRpb25zKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE9wcmFDbGllbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4uYXN5bmNQcm92aWRlcnMsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTRVJWSUNFX1RPS0VOLFxuICAgICAgICAgIGRlcHM6IFtPUFJBX0NMSUVOVF9NT0RVTEVfT1BUSU9OU10sXG4gICAgICAgICAgdXNlRmFjdG9yeTogKG9wdHM6IE9wcmFDbGllbnRNb2R1bGVPcHRpb25zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbGllbnQgPSBuZXcgT3ByYUh0dHBDbGllbnQob3B0cy5zZXJ2aWNlVXJsLCBvcHRzKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBzZXJ2aWNlQ2xhc3MoY2xpZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2NyZWF0ZUFzeW5jUHJvdmlkZXJzKG9wdGlvbnM6IE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnMpOiBQcm92aWRlcltdIHtcbiAgICBpZiAob3B0aW9ucy51c2VFeGlzdGluZyB8fCBvcHRpb25zLnVzZUZhY3RvcnkpXG4gICAgICByZXR1cm4gW3RoaXMuX2NyZWF0ZUFzeW5jT3B0aW9uc1Byb3ZpZGVyKG9wdGlvbnMpXTtcblxuICAgIGlmIChvcHRpb25zLnVzZUNsYXNzKVxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgdGhpcy5fY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9ucyksXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBvcHRpb25zLnVzZUNsYXNzLFxuICAgICAgICAgIHVzZUNsYXNzOiBvcHRpb25zLnVzZUNsYXNzXG4gICAgICAgIH1cbiAgICAgIF07XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlndXJhdGlvbi4gTXVzdCBwcm92aWRlIHVzZUZhY3RvcnksIHVzZUNsYXNzIG9yIHVzZUV4aXN0aW5nJyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyk6IFByb3ZpZGVyIHtcbiAgICBpZiAob3B0aW9ucy51c2VGYWN0b3J5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBPUFJBX0NMSUVOVF9NT0RVTEVfT1BUSU9OUyxcbiAgICAgICAgdXNlRmFjdG9yeTogb3B0aW9ucy51c2VGYWN0b3J5LFxuICAgICAgICBkZXBzOiBvcHRpb25zLmRlcHMgfHwgW10sXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB1c2VDbGFzcyA9IG9wdGlvbnMudXNlQ2xhc3MgfHwgb3B0aW9ucy51c2VFeGlzdGluZztcbiAgICBpZiAodXNlQ2xhc3MpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TLFxuICAgICAgICB1c2VGYWN0b3J5OiAobykgPT4gbyxcbiAgICAgICAgZGVwczogW3VzZUNsYXNzXSxcbiAgICAgIH07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb25maWd1cmF0aW9uLiBNdXN0IHByb3ZpZGUgdXNlRmFjdG9yeSwgdXNlQ2xhc3Mgb3IgdXNlRXhpc3RpbmcnKTtcbiAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9zcmMvaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RyaWN0T21pdCB9IGZyb20gJ3RzLWdlbXMnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcHJhSHR0cENsaWVudE9wdGlvbnMgfSBmcm9tICdAb3ByYS9jbGllbnQnO1xuXG5leHBvcnQgdHlwZSBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucyA9IE9wcmFIdHRwQ2xpZW50T3B0aW9ucyAmIHtcbiAgc2VydmljZVVybDogc3RyaW5nO1xuICB0b2tlbj86IHN0cmluZyB8IEluamVjdGlvblRva2VuPGFueT47XG59XG5cbnR5cGUgX09wcmFDbGllbnRNb2R1bGVPcHRpb25zID0gU3RyaWN0T21pdDxPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucywgJ3Rva2VuJz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ByYU1vZHVsZU9wdGlvbnNGYWN0b3J5IHtcbiAgY3JlYXRlT3B0aW9ucygpOiBQcm9taXNlPF9PcHJhQ2xpZW50TW9kdWxlT3B0aW9ucz4gfCBfT3ByYUNsaWVudE1vZHVsZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9uc1xuICAgIGV4dGVuZHMgUGljazxOZ01vZHVsZSwgJ2ltcG9ydHMnIHwgJ3Byb3ZpZGVycyc+IHtcbiAgdG9rZW4/OiBzdHJpbmcgfCBJbmplY3Rpb25Ub2tlbjxhbnk+O1xuICB1c2VFeGlzdGluZz86IFR5cGU8T3ByYU1vZHVsZU9wdGlvbnNGYWN0b3J5PjtcbiAgdXNlQ2xhc3M/OiBUeXBlPGFueT47XG4gIHVzZUZhY3Rvcnk/OiAoLi4uYXJnczogYW55W10pID0+IFByb21pc2U8X09wcmFDbGllbnRNb2R1bGVPcHRpb25zPiB8IF9PcHJhQ2xpZW50TW9kdWxlT3B0aW9ucztcbiAgZGVwcz86IGFueVtdO1xufVxuXG4iXX0=
|
|
@@ -1,65 +1,77 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
4
3
|
import { OpraHttpClient } from '@opra/client';
|
|
5
4
|
|
|
6
5
|
const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';
|
|
7
6
|
|
|
8
7
|
/* eslint-disable import/extensions */
|
|
9
8
|
class OpraClientModule {
|
|
10
|
-
static
|
|
9
|
+
static registerClient(options) {
|
|
11
10
|
const CLIENT_TOKEN = options.token || OpraHttpClient;
|
|
12
11
|
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
13
12
|
return {
|
|
14
13
|
ngModule: OpraClientModule,
|
|
15
14
|
providers: [
|
|
16
|
-
{
|
|
17
|
-
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
18
|
-
useValue: options,
|
|
19
|
-
},
|
|
20
15
|
{
|
|
21
16
|
provide: CLIENT_TOKEN,
|
|
22
17
|
useValue: client
|
|
23
|
-
}
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
static registerService(serviceClass, options) {
|
|
23
|
+
const SERVICE_TOKEN = options.token || serviceClass;
|
|
24
|
+
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
25
|
+
const service = new serviceClass(client);
|
|
26
|
+
return {
|
|
27
|
+
ngModule: OpraClientModule,
|
|
28
|
+
providers: [
|
|
24
29
|
{
|
|
25
|
-
provide:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
multi: true
|
|
30
|
-
},
|
|
30
|
+
provide: SERVICE_TOKEN,
|
|
31
|
+
useValue: service
|
|
32
|
+
}
|
|
31
33
|
]
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
|
-
static
|
|
36
|
+
static registerClientAsync(options) {
|
|
35
37
|
const CLIENT_TOKEN = options.token || OpraHttpClient;
|
|
36
|
-
const asyncProviders = this.
|
|
38
|
+
const asyncProviders = this._createAsyncProviders(options);
|
|
37
39
|
return {
|
|
38
40
|
ngModule: OpraClientModule,
|
|
39
41
|
providers: [
|
|
40
42
|
...asyncProviders,
|
|
41
43
|
{
|
|
42
44
|
provide: CLIENT_TOKEN,
|
|
43
|
-
deps: [
|
|
44
|
-
useFactory: (
|
|
45
|
-
}
|
|
45
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
46
|
+
useFactory: (opts) => new OpraHttpClient(opts.serviceUrl, opts)
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
static registerServiceAsync(serviceClass, options) {
|
|
52
|
+
const SERVICE_TOKEN = options.token || serviceClass;
|
|
53
|
+
const asyncProviders = this._createAsyncProviders(options);
|
|
54
|
+
return {
|
|
55
|
+
ngModule: OpraClientModule,
|
|
56
|
+
providers: [
|
|
57
|
+
...asyncProviders,
|
|
46
58
|
{
|
|
47
|
-
provide:
|
|
48
|
-
deps: [
|
|
49
|
-
useFactory: (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
provide: SERVICE_TOKEN,
|
|
60
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
61
|
+
useFactory: (opts) => {
|
|
62
|
+
const client = new OpraHttpClient(opts.serviceUrl, opts);
|
|
63
|
+
return new serviceClass(client);
|
|
64
|
+
}
|
|
53
65
|
}
|
|
54
66
|
]
|
|
55
67
|
};
|
|
56
68
|
}
|
|
57
|
-
static
|
|
69
|
+
static _createAsyncProviders(options) {
|
|
58
70
|
if (options.useExisting || options.useFactory)
|
|
59
|
-
return [this.
|
|
71
|
+
return [this._createAsyncOptionsProvider(options)];
|
|
60
72
|
if (options.useClass)
|
|
61
73
|
return [
|
|
62
|
-
this.
|
|
74
|
+
this._createAsyncOptionsProvider(options),
|
|
63
75
|
{
|
|
64
76
|
provide: options.useClass,
|
|
65
77
|
useClass: options.useClass
|
|
@@ -67,7 +79,7 @@ class OpraClientModule {
|
|
|
67
79
|
];
|
|
68
80
|
throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
|
|
69
81
|
}
|
|
70
|
-
static
|
|
82
|
+
static _createAsyncOptionsProvider(options) {
|
|
71
83
|
if (options.useFactory) {
|
|
72
84
|
return {
|
|
73
85
|
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
@@ -86,10 +98,10 @@ class OpraClientModule {
|
|
|
86
98
|
throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
|
|
87
99
|
}
|
|
88
100
|
}
|
|
89
|
-
OpraClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
90
|
-
OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
91
|
-
OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
101
|
+
OpraClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
102
|
+
OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule });
|
|
103
|
+
OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule, decorators: [{
|
|
93
105
|
type: NgModule,
|
|
94
106
|
args: [{}]
|
|
95
107
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opra-angular.mjs","sources":["../../../packages/angular/src/constants.ts","../../../packages/angular/src/client.module.ts","../../../packages/angular/src/public_api.ts","../../../packages/angular/src/opra-angular.ts"],"sourcesContent":["export const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';\n","/* eslint-disable import/extensions */\nimport {
|
|
1
|
+
{"version":3,"file":"opra-angular.mjs","sources":["../../../packages/angular/src/constants.ts","../../../packages/angular/src/client.module.ts","../../../packages/angular/src/public_api.ts","../../../packages/angular/src/opra-angular.ts"],"sourcesContent":["export const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';\n","/* eslint-disable import/extensions */\nimport { ModuleWithProviders, NgModule, Provider, Type } from '@angular/core';\nimport { HttpServiceBase, OpraHttpClient } from '@opra/client';\nimport { OPRA_CLIENT_MODULE_OPTIONS } from './constants';\nimport {\n OpraClientModuleAsyncOptions,\n OpraClientModuleOptions\n} from './interfaces/module-options.interface';\n\n@NgModule({})\nexport class OpraClientModule {\n\n public static registerClient(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraHttpClient;\n const client = new OpraHttpClient(options.serviceUrl, options);\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: CLIENT_TOKEN,\n useValue: client\n }\n ]\n };\n }\n\n public static registerService<T extends HttpServiceBase>(\n serviceClass: Type<T>,\n options: OpraClientModuleOptions\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n const client = new OpraHttpClient(options.serviceUrl, options);\n const service = new serviceClass(client);\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: SERVICE_TOKEN,\n useValue: service\n }\n ]\n };\n }\n\n public static registerClientAsync(\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraHttpClient;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (opts: OpraClientModuleOptions) =>\n new OpraHttpClient(opts.serviceUrl, opts)\n }\n ]\n };\n }\n\n public static registerServiceAsync<T extends HttpServiceBase>(\n serviceClass: Type<T>,\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: SERVICE_TOKEN,\n deps: [OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (opts: OpraClientModuleOptions) => {\n const client = new OpraHttpClient(opts.serviceUrl, opts)\n return new serviceClass(client);\n }\n }\n ]\n };\n }\n\n private static _createAsyncProviders(options: OpraClientModuleAsyncOptions): Provider[] {\n if (options.useExisting || options.useFactory)\n return [this._createAsyncOptionsProvider(options)];\n\n if (options.useClass)\n return [\n this._createAsyncOptionsProvider(options),\n {\n provide: options.useClass,\n useClass: options.useClass\n }\n ];\n\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n\n private static _createAsyncOptionsProvider(options: OpraClientModuleAsyncOptions): Provider {\n if (options.useFactory) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: options.useFactory,\n deps: options.deps || [],\n };\n }\n const useClass = options.useClass || options.useExisting;\n if (useClass) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: (o) => o,\n deps: [useClass],\n };\n }\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n\n\n}\n","/* eslint-disable import/extensions */\nexport * from './client.module';\nexport * from './interfaces/module-options.interface';\nexport * from './constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,65 +1,77 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
4
3
|
import { OpraHttpClient } from '@opra/client';
|
|
5
4
|
|
|
6
5
|
const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';
|
|
7
6
|
|
|
8
7
|
/* eslint-disable import/extensions */
|
|
9
8
|
class OpraClientModule {
|
|
10
|
-
static
|
|
9
|
+
static registerClient(options) {
|
|
11
10
|
const CLIENT_TOKEN = options.token || OpraHttpClient;
|
|
12
11
|
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
13
12
|
return {
|
|
14
13
|
ngModule: OpraClientModule,
|
|
15
14
|
providers: [
|
|
16
|
-
{
|
|
17
|
-
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
18
|
-
useValue: options,
|
|
19
|
-
},
|
|
20
15
|
{
|
|
21
16
|
provide: CLIENT_TOKEN,
|
|
22
17
|
useValue: client
|
|
23
|
-
}
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
static registerService(serviceClass, options) {
|
|
23
|
+
const SERVICE_TOKEN = options.token || serviceClass;
|
|
24
|
+
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
25
|
+
const service = new serviceClass(client);
|
|
26
|
+
return {
|
|
27
|
+
ngModule: OpraClientModule,
|
|
28
|
+
providers: [
|
|
24
29
|
{
|
|
25
|
-
provide:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
multi: true
|
|
30
|
-
},
|
|
30
|
+
provide: SERVICE_TOKEN,
|
|
31
|
+
useValue: service
|
|
32
|
+
}
|
|
31
33
|
]
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
|
-
static
|
|
36
|
+
static registerClientAsync(options) {
|
|
35
37
|
const CLIENT_TOKEN = options.token || OpraHttpClient;
|
|
36
|
-
const asyncProviders = this.
|
|
38
|
+
const asyncProviders = this._createAsyncProviders(options);
|
|
37
39
|
return {
|
|
38
40
|
ngModule: OpraClientModule,
|
|
39
41
|
providers: [
|
|
40
42
|
...asyncProviders,
|
|
41
43
|
{
|
|
42
44
|
provide: CLIENT_TOKEN,
|
|
43
|
-
deps: [
|
|
44
|
-
useFactory: (
|
|
45
|
-
}
|
|
45
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
46
|
+
useFactory: (opts) => new OpraHttpClient(opts.serviceUrl, opts)
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
static registerServiceAsync(serviceClass, options) {
|
|
52
|
+
const SERVICE_TOKEN = options.token || serviceClass;
|
|
53
|
+
const asyncProviders = this._createAsyncProviders(options);
|
|
54
|
+
return {
|
|
55
|
+
ngModule: OpraClientModule,
|
|
56
|
+
providers: [
|
|
57
|
+
...asyncProviders,
|
|
46
58
|
{
|
|
47
|
-
provide:
|
|
48
|
-
deps: [
|
|
49
|
-
useFactory: (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
provide: SERVICE_TOKEN,
|
|
60
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
61
|
+
useFactory: (opts) => {
|
|
62
|
+
const client = new OpraHttpClient(opts.serviceUrl, opts);
|
|
63
|
+
return new serviceClass(client);
|
|
64
|
+
}
|
|
53
65
|
}
|
|
54
66
|
]
|
|
55
67
|
};
|
|
56
68
|
}
|
|
57
|
-
static
|
|
69
|
+
static _createAsyncProviders(options) {
|
|
58
70
|
if (options.useExisting || options.useFactory)
|
|
59
|
-
return [this.
|
|
71
|
+
return [this._createAsyncOptionsProvider(options)];
|
|
60
72
|
if (options.useClass)
|
|
61
73
|
return [
|
|
62
|
-
this.
|
|
74
|
+
this._createAsyncOptionsProvider(options),
|
|
63
75
|
{
|
|
64
76
|
provide: options.useClass,
|
|
65
77
|
useClass: options.useClass
|
|
@@ -67,7 +79,7 @@ class OpraClientModule {
|
|
|
67
79
|
];
|
|
68
80
|
throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
|
|
69
81
|
}
|
|
70
|
-
static
|
|
82
|
+
static _createAsyncOptionsProvider(options) {
|
|
71
83
|
if (options.useFactory) {
|
|
72
84
|
return {
|
|
73
85
|
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
@@ -86,10 +98,10 @@ class OpraClientModule {
|
|
|
86
98
|
throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
|
|
87
99
|
}
|
|
88
100
|
}
|
|
89
|
-
OpraClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
90
|
-
OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
91
|
-
OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
101
|
+
OpraClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
102
|
+
OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule });
|
|
103
|
+
OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: OpraClientModule, decorators: [{
|
|
93
105
|
type: NgModule,
|
|
94
106
|
args: [{}]
|
|
95
107
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opra-angular.mjs","sources":["../../../packages/angular/src/constants.ts","../../../packages/angular/src/client.module.ts","../../../packages/angular/src/public_api.ts","../../../packages/angular/src/opra-angular.ts"],"sourcesContent":["export const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';\n","/* eslint-disable import/extensions */\nimport {
|
|
1
|
+
{"version":3,"file":"opra-angular.mjs","sources":["../../../packages/angular/src/constants.ts","../../../packages/angular/src/client.module.ts","../../../packages/angular/src/public_api.ts","../../../packages/angular/src/opra-angular.ts"],"sourcesContent":["export const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';\n","/* eslint-disable import/extensions */\nimport { ModuleWithProviders, NgModule, Provider, Type } from '@angular/core';\nimport { HttpServiceBase, OpraHttpClient } from '@opra/client';\nimport { OPRA_CLIENT_MODULE_OPTIONS } from './constants';\nimport {\n OpraClientModuleAsyncOptions,\n OpraClientModuleOptions\n} from './interfaces/module-options.interface';\n\n@NgModule({})\nexport class OpraClientModule {\n\n public static registerClient(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraHttpClient;\n const client = new OpraHttpClient(options.serviceUrl, options);\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: CLIENT_TOKEN,\n useValue: client\n }\n ]\n };\n }\n\n public static registerService<T extends HttpServiceBase>(\n serviceClass: Type<T>,\n options: OpraClientModuleOptions\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n const client = new OpraHttpClient(options.serviceUrl, options);\n const service = new serviceClass(client);\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: SERVICE_TOKEN,\n useValue: service\n }\n ]\n };\n }\n\n public static registerClientAsync(\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraHttpClient;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (opts: OpraClientModuleOptions) =>\n new OpraHttpClient(opts.serviceUrl, opts)\n }\n ]\n };\n }\n\n public static registerServiceAsync<T extends HttpServiceBase>(\n serviceClass: Type<T>,\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: SERVICE_TOKEN,\n deps: [OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (opts: OpraClientModuleOptions) => {\n const client = new OpraHttpClient(opts.serviceUrl, opts)\n return new serviceClass(client);\n }\n }\n ]\n };\n }\n\n private static _createAsyncProviders(options: OpraClientModuleAsyncOptions): Provider[] {\n if (options.useExisting || options.useFactory)\n return [this._createAsyncOptionsProvider(options)];\n\n if (options.useClass)\n return [\n this._createAsyncOptionsProvider(options),\n {\n provide: options.useClass,\n useClass: options.useClass\n }\n ];\n\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n\n private static _createAsyncOptionsProvider(options: OpraClientModuleAsyncOptions): Provider {\n if (options.useFactory) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: options.useFactory,\n deps: options.deps || [],\n };\n }\n const useClass = options.useClass || options.useExisting;\n if (useClass) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: (o) => o,\n deps: [useClass],\n };\n }\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n\n\n}\n","/* eslint-disable import/extensions */\nexport * from './client.module';\nexport * from './interfaces/module-options.interface';\nexport * from './constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
+
import type { StrictOmit } from 'ts-gems';
|
|
1
2
|
import { InjectionToken, NgModule, Type } from '@angular/core';
|
|
2
3
|
import { OpraHttpClientOptions } from '@opra/client';
|
|
3
4
|
export type OpraClientModuleOptions = OpraHttpClientOptions & {
|
|
4
5
|
serviceUrl: string;
|
|
5
6
|
token?: string | InjectionToken<any>;
|
|
6
7
|
};
|
|
8
|
+
type _OpraClientModuleOptions = StrictOmit<OpraClientModuleOptions, 'token'>;
|
|
7
9
|
export interface OpraModuleOptionsFactory {
|
|
8
|
-
createOptions(): Promise<
|
|
10
|
+
createOptions(): Promise<_OpraClientModuleOptions> | _OpraClientModuleOptions;
|
|
9
11
|
}
|
|
10
12
|
export interface OpraClientModuleAsyncOptions extends Pick<NgModule, 'imports' | 'providers'> {
|
|
11
13
|
token?: string | InjectionToken<any>;
|
|
12
14
|
useExisting?: Type<OpraModuleOptionsFactory>;
|
|
13
15
|
useClass?: Type<any>;
|
|
14
|
-
useFactory?: (...args: any[]) => Promise<
|
|
16
|
+
useFactory?: (...args: any[]) => Promise<_OpraClientModuleOptions> | _OpraClientModuleOptions;
|
|
15
17
|
deps?: any[];
|
|
16
18
|
}
|
|
19
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opra/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Opra internationalization package",
|
|
5
5
|
"author": "Panates",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,10 +10,9 @@
|
|
|
10
10
|
"directory": "packages/angular"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
|
-
"@angular/common": "
|
|
14
|
-
"@angular/core": "
|
|
15
|
-
"@opra/client": "^0.
|
|
16
|
-
"ts-gems": "^2.3.0"
|
|
13
|
+
"@angular/common": "14.x.x || 15.x.x || 16.x.x",
|
|
14
|
+
"@angular/core": "14.x.x || 15.x.x || 16.x.x",
|
|
15
|
+
"@opra/client": "^0.15.0"
|
|
17
16
|
},
|
|
18
17
|
"engines": {
|
|
19
18
|
"node": ">=16.0",
|