@opra/angular 0.12.0 → 0.14.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/esm2020/client.module.mjs +29 -6
- package/esm2020/interfaces/module-options.interface.mjs +1 -1
- package/fesm2015/opra-angular.mjs +28 -5
- package/fesm2015/opra-angular.mjs.map +1 -1
- package/fesm2020/opra-angular.mjs +28 -5
- package/fesm2020/opra-angular.mjs.map +1 -1
- package/interfaces/module-options.interface.d.ts +10 -4
- package/package.json +2 -2
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
/* eslint-disable import/extensions */
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
2
|
import { APP_INITIALIZER, 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
7
|
static forRoot(options) {
|
|
9
|
-
const
|
|
8
|
+
const serviceClass = options.serviceClass;
|
|
9
|
+
const CLIENT_TOKEN = options.clientToken || OpraHttpClient;
|
|
10
|
+
const SERVICE_TOKEN = options.serviceToken || serviceClass;
|
|
10
11
|
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
12
|
+
const serviceProviders = [];
|
|
13
|
+
if (serviceClass)
|
|
14
|
+
serviceProviders.push({
|
|
15
|
+
provide: SERVICE_TOKEN,
|
|
16
|
+
deps: [CLIENT_TOKEN],
|
|
17
|
+
useFactory: (opraHttpClient) => {
|
|
18
|
+
return new serviceClass(opraHttpClient);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
11
21
|
return {
|
|
12
22
|
ngModule: OpraClientModule,
|
|
13
23
|
providers: [
|
|
24
|
+
...serviceProviders,
|
|
14
25
|
{
|
|
15
26
|
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
16
27
|
useValue: options,
|
|
@@ -30,16 +41,28 @@ export class OpraClientModule {
|
|
|
30
41
|
};
|
|
31
42
|
}
|
|
32
43
|
static forRootAsync(options) {
|
|
33
|
-
const
|
|
44
|
+
const serviceClass = options.serviceClass;
|
|
45
|
+
const CLIENT_TOKEN = options.clientToken || OpraHttpClient;
|
|
46
|
+
const SERVICE_TOKEN = options.serviceToken || serviceClass;
|
|
34
47
|
const asyncProviders = this.createAsyncProviders(options);
|
|
48
|
+
const serviceProviders = [];
|
|
49
|
+
if (serviceClass)
|
|
50
|
+
serviceProviders.push({
|
|
51
|
+
provide: SERVICE_TOKEN,
|
|
52
|
+
deps: [CLIENT_TOKEN],
|
|
53
|
+
useFactory: (opraHttpClient) => {
|
|
54
|
+
return new serviceClass(opraHttpClient);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
35
57
|
return {
|
|
36
58
|
ngModule: OpraClientModule,
|
|
37
59
|
providers: [
|
|
38
60
|
...asyncProviders,
|
|
61
|
+
...serviceProviders,
|
|
39
62
|
{
|
|
40
63
|
provide: CLIENT_TOKEN,
|
|
41
|
-
deps: [
|
|
42
|
-
useFactory: (
|
|
64
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
65
|
+
useFactory: (opts) => new OpraHttpClient(opts.serviceUrl, opts)
|
|
43
66
|
},
|
|
44
67
|
{
|
|
45
68
|
provide: APP_INITIALIZER,
|
|
@@ -91,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
91
114
|
type: NgModule,
|
|
92
115
|
args: [{}]
|
|
93
116
|
}] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL2NsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFJekQsTUFBTSxPQUFPLGdCQUFnQjtJQUVwQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQWdDO1FBQ3BELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDMUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxjQUFjLENBQUM7UUFDM0QsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLGdCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFlBQVk7WUFDZCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3BCLFVBQVUsRUFBRSxDQUFDLGNBQThCLEVBQUUsRUFBRTtvQkFDN0MsT0FBTyxJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDMUMsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLGdCQUFnQjtnQkFDbkI7b0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtvQkFDbkMsUUFB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QkFDTCxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNqQixDQUFDO1NBQ0g7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7NkdBaEhVLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsUUFBUTttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4dGVuc2lvbnMgKi9cbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPcHJhSHR0cENsaWVudCB9IGZyb20gJ0BvcHJhL2NsaWVudCc7XG5pbXBvcnQgeyBPUFJBX0NMSUVOVF9NT0RVTEVfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnMsIE9wcmFDbGllbnRNb2R1bGVPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL21vZHVsZS1vcHRpb25zLmludGVyZmFjZSc7XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBPcHJhQ2xpZW50TW9kdWxlIHtcblxuICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE9wcmFDbGllbnRNb2R1bGU+IHtcbiAgICBjb25zdCBzZXJ2aWNlQ2xhc3MgPSBvcHRpb25zLnNlcnZpY2VDbGFzcztcbiAgICBjb25zdCBDTElFTlRfVE9LRU4gPSBvcHRpb25zLmNsaWVudFRva2VuIHx8IE9wcmFIdHRwQ2xpZW50O1xuICAgIGNvbnN0IFNFUlZJQ0VfVE9LRU4gPSBvcHRpb25zLnNlcnZpY2VUb2tlbiB8fCBzZXJ2aWNlQ2xhc3M7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IE9wcmFIdHRwQ2xpZW50KG9wdGlvbnMuc2VydmljZVVybCwgb3B0aW9ucyk7XG4gICAgY29uc3Qgc2VydmljZVByb3ZpZGVyczogYW55ID0gW107XG4gICAgaWYgKHNlcnZpY2VDbGFzcylcbiAgICAgIHNlcnZpY2VQcm92aWRlcnMucHVzaCh7XG4gICAgICAgIHByb3ZpZGU6IFNFUlZJQ0VfVE9LRU4sXG4gICAgICAgIGRlcHM6IFtDTElFTlRfVE9LRU5dLFxuICAgICAgICB1c2VGYWN0b3J5OiAob3ByYUh0dHBDbGllbnQ6IE9wcmFIdHRwQ2xpZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBzZXJ2aWNlQ2xhc3Mob3ByYUh0dHBDbGllbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE9wcmFDbGllbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4uc2VydmljZVByb3ZpZGVycyxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ0xJRU5UX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBjbGllbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gY2xpZW50LmluaXQoKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmb3JSb290QXN5bmMoXG4gICAgICBvcHRpb25zOiBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T3ByYUNsaWVudE1vZHVsZT4ge1xuICAgIGNvbnN0IHNlcnZpY2VDbGFzcyA9IG9wdGlvbnMuc2VydmljZUNsYXNzO1xuICAgIGNvbnN0IENMSUVOVF9UT0tFTiA9IG9wdGlvbnMuY2xpZW50VG9rZW4gfHwgT3ByYUh0dHBDbGllbnQ7XG4gICAgY29uc3QgU0VSVklDRV9UT0tFTiA9IG9wdGlvbnMuc2VydmljZVRva2VuIHx8IHNlcnZpY2VDbGFzcztcbiAgICBjb25zdCBhc3luY1Byb3ZpZGVycyA9IHRoaXMuY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9ucyk7XG4gICAgY29uc3Qgc2VydmljZVByb3ZpZGVyczogYW55ID0gW107XG4gICAgaWYgKHNlcnZpY2VDbGFzcylcbiAgICAgIHNlcnZpY2VQcm92aWRlcnMucHVzaCh7XG4gICAgICAgIHByb3ZpZGU6IFNFUlZJQ0VfVE9LRU4sXG4gICAgICAgIGRlcHM6IFtDTElFTlRfVE9LRU5dLFxuICAgICAgICB1c2VGYWN0b3J5OiAob3ByYUh0dHBDbGllbnQ6IE9wcmFIdHRwQ2xpZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBzZXJ2aWNlQ2xhc3Mob3ByYUh0dHBDbGllbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3ByYUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi5hc3luY1Byb3ZpZGVycyxcbiAgICAgICAgLi4uc2VydmljZVByb3ZpZGVycyxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IENMSUVOVF9UT0tFTixcbiAgICAgICAgICBkZXBzOiBbT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlNdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChvcHRzOiBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucykgPT5cbiAgICAgICAgICAgICAgbmV3IE9wcmFIdHRwQ2xpZW50KG9wdHMuc2VydmljZVVybCwgb3B0cylcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICBkZXBzOiBbQ0xJRU5UX1RPS0VOXSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoY2xpZW50OiBPcHJhSHR0cENsaWVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IGNsaWVudC5pbml0KClcbiAgICAgICAgICB9LFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyk6IFByb3ZpZGVyW10ge1xuICAgIGlmIChvcHRpb25zLnVzZUV4aXN0aW5nIHx8IG9wdGlvbnMudXNlRmFjdG9yeSlcbiAgICAgIHJldHVybiBbdGhpcy5jcmVhdGVBc3luY09wdGlvbnNQcm92aWRlcihvcHRpb25zKV07XG5cbiAgICBpZiAob3B0aW9ucy51c2VDbGFzcylcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHRoaXMuY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9ucyksXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBvcHRpb25zLnVzZUNsYXNzLFxuICAgICAgICAgIHVzZUNsYXNzOiBvcHRpb25zLnVzZUNsYXNzXG4gICAgICAgIH1cbiAgICAgIF07XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlndXJhdGlvbi4gTXVzdCBwcm92aWRlIHVzZUZhY3RvcnksIHVzZUNsYXNzIG9yIHVzZUV4aXN0aW5nJyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVBc3luY09wdGlvbnNQcm92aWRlcihvcHRpb25zOiBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zKTogUHJvdmlkZXIge1xuICAgIGlmIChvcHRpb25zLnVzZUZhY3RvcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TLFxuICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zLnVzZUZhY3RvcnksXG4gICAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyB8fCBbXSxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHVzZUNsYXNzID0gb3B0aW9ucy51c2VDbGFzcyB8fCBvcHRpb25zLnVzZUV4aXN0aW5nO1xuICAgIGlmICh1c2VDbGFzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlMsXG4gICAgICAgIHVzZUZhY3Rvcnk6IChvKSA9PiBvLFxuICAgICAgICBkZXBzOiBbdXNlQ2xhc3NdLFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbmZpZ3VyYXRpb24uIE11c3QgcHJvdmlkZSB1c2VGYWN0b3J5LCB1c2VDbGFzcyBvciB1c2VFeGlzdGluZycpO1xuICB9XG5cblxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9zcmMvaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ByYUh0dHBDbGllbnRPcHRpb25zIH0gZnJvbSAnQG9wcmEvY2xpZW50JztcblxuZXhwb3J0IHR5cGUgT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMgPSBPcHJhSHR0cENsaWVudE9wdGlvbnMgJiB7XG4gIHNlcnZpY2VVcmw6IHN0cmluZztcbiAgY2xpZW50VG9rZW4/OiBzdHJpbmcgfCBJbmplY3Rpb25Ub2tlbjxhbnk+O1xuICBzZXJ2aWNlVG9rZW4/OiBzdHJpbmcgfCBJbmplY3Rpb25Ub2tlbjxhbnk+O1xuICBzZXJ2aWNlQ2xhc3M/OiBUeXBlPGFueT47XG59XG5cbnR5cGUgX09wcmFDbGllbnRNb2R1bGVPcHRpb25zID0gT21pdDxPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucywgJ2NsaWVudFRva2VuJyB8ICdzZXJ2aWNlVG9rZW4nIHwgJ3NlcnZpY2VDbGFzcyc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wcmFNb2R1bGVPcHRpb25zRmFjdG9yeSB7XG4gIGNyZWF0ZU9wdGlvbnMoKTogUHJvbWlzZTxfT3ByYUNsaWVudE1vZHVsZU9wdGlvbnM+IHwgX09wcmFDbGllbnRNb2R1bGVPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnNcbiAgICBleHRlbmRzIFBpY2s8TmdNb2R1bGUsICdpbXBvcnRzJyB8ICdwcm92aWRlcnMnPiB7XG4gIGNsaWVudFRva2VuPzogc3RyaW5nIHwgSW5qZWN0aW9uVG9rZW48YW55PjtcbiAgc2VydmljZVRva2VuPzogc3RyaW5nIHwgSW5qZWN0aW9uVG9rZW48YW55PjtcbiAgc2VydmljZUNsYXNzPzogVHlwZTxhbnk+O1xuICB1c2VFeGlzdGluZz86IFR5cGU8T3ByYU1vZHVsZU9wdGlvbnNGYWN0b3J5PjtcbiAgdXNlQ2xhc3M/OiBUeXBlPGFueT47XG4gIHVzZUZhY3Rvcnk/OiAoLi4uYXJnczogYW55W10pID0+IFByb21pc2U8X09wcmFDbGllbnRNb2R1bGVPcHRpb25zPiB8IF9PcHJhQ2xpZW50TW9kdWxlT3B0aW9ucztcbiAgZGVwcz86IGFueVtdO1xufVxuXG4iXX0=
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
2
|
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
4
3
|
import { OpraHttpClient } from '@opra/client';
|
|
@@ -8,11 +7,23 @@ const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';
|
|
|
8
7
|
/* eslint-disable import/extensions */
|
|
9
8
|
class OpraClientModule {
|
|
10
9
|
static forRoot(options) {
|
|
11
|
-
const
|
|
10
|
+
const serviceClass = options.serviceClass;
|
|
11
|
+
const CLIENT_TOKEN = options.clientToken || OpraHttpClient;
|
|
12
|
+
const SERVICE_TOKEN = options.serviceToken || serviceClass;
|
|
12
13
|
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
14
|
+
const serviceProviders = [];
|
|
15
|
+
if (serviceClass)
|
|
16
|
+
serviceProviders.push({
|
|
17
|
+
provide: SERVICE_TOKEN,
|
|
18
|
+
deps: [CLIENT_TOKEN],
|
|
19
|
+
useFactory: (opraHttpClient) => {
|
|
20
|
+
return new serviceClass(opraHttpClient);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
13
23
|
return {
|
|
14
24
|
ngModule: OpraClientModule,
|
|
15
25
|
providers: [
|
|
26
|
+
...serviceProviders,
|
|
16
27
|
{
|
|
17
28
|
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
18
29
|
useValue: options,
|
|
@@ -32,16 +43,28 @@ class OpraClientModule {
|
|
|
32
43
|
};
|
|
33
44
|
}
|
|
34
45
|
static forRootAsync(options) {
|
|
35
|
-
const
|
|
46
|
+
const serviceClass = options.serviceClass;
|
|
47
|
+
const CLIENT_TOKEN = options.clientToken || OpraHttpClient;
|
|
48
|
+
const SERVICE_TOKEN = options.serviceToken || serviceClass;
|
|
36
49
|
const asyncProviders = this.createAsyncProviders(options);
|
|
50
|
+
const serviceProviders = [];
|
|
51
|
+
if (serviceClass)
|
|
52
|
+
serviceProviders.push({
|
|
53
|
+
provide: SERVICE_TOKEN,
|
|
54
|
+
deps: [CLIENT_TOKEN],
|
|
55
|
+
useFactory: (opraHttpClient) => {
|
|
56
|
+
return new serviceClass(opraHttpClient);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
37
59
|
return {
|
|
38
60
|
ngModule: OpraClientModule,
|
|
39
61
|
providers: [
|
|
40
62
|
...asyncProviders,
|
|
63
|
+
...serviceProviders,
|
|
41
64
|
{
|
|
42
65
|
provide: CLIENT_TOKEN,
|
|
43
|
-
deps: [
|
|
44
|
-
useFactory: (
|
|
66
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
67
|
+
useFactory: (opts) => new OpraHttpClient(opts.serviceUrl, opts)
|
|
45
68
|
},
|
|
46
69
|
{
|
|
47
70
|
provide: APP_INITIALIZER,
|
|
@@ -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 { APP_INITIALIZER, ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { OpraHttpClient } from '@opra/client';\nimport { OPRA_CLIENT_MODULE_OPTIONS } from './constants';\nimport { OpraClientModuleAsyncOptions, OpraClientModuleOptions } from './interfaces/module-options.interface';\n\n@NgModule({})\nexport class OpraClientModule {\n\n public static forRoot(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule> {\n const serviceClass = options.serviceClass;\n const CLIENT_TOKEN = options.clientToken || OpraHttpClient;\n const SERVICE_TOKEN = options.serviceToken || serviceClass;\n const client = new OpraHttpClient(options.serviceUrl, options);\n const serviceProviders: any = [];\n if (serviceClass)\n serviceProviders.push({\n provide: SERVICE_TOKEN,\n deps: [CLIENT_TOKEN],\n useFactory: (opraHttpClient: OpraHttpClient) => {\n return new serviceClass(opraHttpClient);\n }\n });\n return {\n ngModule: OpraClientModule,\n providers: [\n ...serviceProviders,\n {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useValue: options,\n },\n {\n provide: CLIENT_TOKEN,\n useValue: client\n },\n {\n provide: APP_INITIALIZER,\n useFactory: () => {\n return () => client.init()\n },\n multi: true\n },\n ]\n };\n }\n\n public static forRootAsync(\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const serviceClass = options.serviceClass;\n const CLIENT_TOKEN = options.clientToken || OpraHttpClient;\n const SERVICE_TOKEN = options.serviceToken || serviceClass;\n const asyncProviders = this.createAsyncProviders(options);\n const serviceProviders: any = [];\n if (serviceClass)\n serviceProviders.push({\n provide: SERVICE_TOKEN,\n deps: [CLIENT_TOKEN],\n useFactory: (opraHttpClient: OpraHttpClient) => {\n return new serviceClass(opraHttpClient);\n }\n });\n\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n ...serviceProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (opts: OpraClientModuleOptions) =>\n new OpraHttpClient(opts.serviceUrl, opts)\n },\n {\n provide: APP_INITIALIZER,\n deps: [CLIENT_TOKEN],\n useFactory: (client: OpraHttpClient) => {\n return () => client.init()\n },\n multi: true\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,4 +1,3 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
2
|
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
4
3
|
import { OpraHttpClient } from '@opra/client';
|
|
@@ -8,11 +7,23 @@ const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';
|
|
|
8
7
|
/* eslint-disable import/extensions */
|
|
9
8
|
class OpraClientModule {
|
|
10
9
|
static forRoot(options) {
|
|
11
|
-
const
|
|
10
|
+
const serviceClass = options.serviceClass;
|
|
11
|
+
const CLIENT_TOKEN = options.clientToken || OpraHttpClient;
|
|
12
|
+
const SERVICE_TOKEN = options.serviceToken || serviceClass;
|
|
12
13
|
const client = new OpraHttpClient(options.serviceUrl, options);
|
|
14
|
+
const serviceProviders = [];
|
|
15
|
+
if (serviceClass)
|
|
16
|
+
serviceProviders.push({
|
|
17
|
+
provide: SERVICE_TOKEN,
|
|
18
|
+
deps: [CLIENT_TOKEN],
|
|
19
|
+
useFactory: (opraHttpClient) => {
|
|
20
|
+
return new serviceClass(opraHttpClient);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
13
23
|
return {
|
|
14
24
|
ngModule: OpraClientModule,
|
|
15
25
|
providers: [
|
|
26
|
+
...serviceProviders,
|
|
16
27
|
{
|
|
17
28
|
provide: OPRA_CLIENT_MODULE_OPTIONS,
|
|
18
29
|
useValue: options,
|
|
@@ -32,16 +43,28 @@ class OpraClientModule {
|
|
|
32
43
|
};
|
|
33
44
|
}
|
|
34
45
|
static forRootAsync(options) {
|
|
35
|
-
const
|
|
46
|
+
const serviceClass = options.serviceClass;
|
|
47
|
+
const CLIENT_TOKEN = options.clientToken || OpraHttpClient;
|
|
48
|
+
const SERVICE_TOKEN = options.serviceToken || serviceClass;
|
|
36
49
|
const asyncProviders = this.createAsyncProviders(options);
|
|
50
|
+
const serviceProviders = [];
|
|
51
|
+
if (serviceClass)
|
|
52
|
+
serviceProviders.push({
|
|
53
|
+
provide: SERVICE_TOKEN,
|
|
54
|
+
deps: [CLIENT_TOKEN],
|
|
55
|
+
useFactory: (opraHttpClient) => {
|
|
56
|
+
return new serviceClass(opraHttpClient);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
37
59
|
return {
|
|
38
60
|
ngModule: OpraClientModule,
|
|
39
61
|
providers: [
|
|
40
62
|
...asyncProviders,
|
|
63
|
+
...serviceProviders,
|
|
41
64
|
{
|
|
42
65
|
provide: CLIENT_TOKEN,
|
|
43
|
-
deps: [
|
|
44
|
-
useFactory: (
|
|
66
|
+
deps: [OPRA_CLIENT_MODULE_OPTIONS],
|
|
67
|
+
useFactory: (opts) => new OpraHttpClient(opts.serviceUrl, opts)
|
|
45
68
|
},
|
|
46
69
|
{
|
|
47
70
|
provide: APP_INITIALIZER,
|
|
@@ -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 { APP_INITIALIZER, ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { OpraHttpClient } from '@opra/client';\nimport { OPRA_CLIENT_MODULE_OPTIONS } from './constants';\nimport { OpraClientModuleAsyncOptions, OpraClientModuleOptions } from './interfaces/module-options.interface';\n\n@NgModule({})\nexport class OpraClientModule {\n\n public static forRoot(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule> {\n const serviceClass = options.serviceClass;\n const CLIENT_TOKEN = options.clientToken || OpraHttpClient;\n const SERVICE_TOKEN = options.serviceToken || serviceClass;\n const client = new OpraHttpClient(options.serviceUrl, options);\n const serviceProviders: any = [];\n if (serviceClass)\n serviceProviders.push({\n provide: SERVICE_TOKEN,\n deps: [CLIENT_TOKEN],\n useFactory: (opraHttpClient: OpraHttpClient) => {\n return new serviceClass(opraHttpClient);\n }\n });\n return {\n ngModule: OpraClientModule,\n providers: [\n ...serviceProviders,\n {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useValue: options,\n },\n {\n provide: CLIENT_TOKEN,\n useValue: client\n },\n {\n provide: APP_INITIALIZER,\n useFactory: () => {\n return () => client.init()\n },\n multi: true\n },\n ]\n };\n }\n\n public static forRootAsync(\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const serviceClass = options.serviceClass;\n const CLIENT_TOKEN = options.clientToken || OpraHttpClient;\n const SERVICE_TOKEN = options.serviceToken || serviceClass;\n const asyncProviders = this.createAsyncProviders(options);\n const serviceProviders: any = [];\n if (serviceClass)\n serviceProviders.push({\n provide: SERVICE_TOKEN,\n deps: [CLIENT_TOKEN],\n useFactory: (opraHttpClient: OpraHttpClient) => {\n return new serviceClass(opraHttpClient);\n }\n });\n\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n ...serviceProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (opts: OpraClientModuleOptions) =>\n new OpraHttpClient(opts.serviceUrl, opts)\n },\n {\n provide: APP_INITIALIZER,\n deps: [CLIENT_TOKEN],\n useFactory: (client: OpraHttpClient) => {\n return () => client.init()\n },\n multi: true\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":";;;;AAAO,MAAM,0BAA0B,GAAG;;ACA1C;MAOa,gBAAgB,CAAA;IAEpB,OAAO,OAAO,CAAC,OAAgC,EAAA;AACpD,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAC1C,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC;AAC3D,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAQ,EAAE,CAAC;AACjC,QAAA,IAAI,YAAY;YACd,gBAAgB,CAAC,IAAI,CAAC;AACpB,gBAAA,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,CAAC,YAAY,CAAC;AACpB,gBAAA,UAAU,EAAE,CAAC,cAA8B,KAAI;AAC7C,oBAAA,OAAO,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;iBACzC;AACF,aAAA,CAAC,CAAC;QACL,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;AACT,gBAAA,GAAG,gBAAgB;AACnB,gBAAA;AACE,oBAAA,OAAO,EAAE,0BAA0B;AACnC,oBAAA,QAAQ,EAAE,OAAO;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,QAAQ,EAAE,MAAM;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,MAAK;AACf,wBAAA,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;qBAC3B;AACD,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;IAEM,OAAO,YAAY,CACtB,OAAqC,EAAA;AAEvC,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAC1C,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC;AAC3D,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAQ,EAAE,CAAC;AACjC,QAAA,IAAI,YAAY;YACd,gBAAgB,CAAC,IAAI,CAAC;AACpB,gBAAA,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,CAAC,YAAY,CAAC;AACpB,gBAAA,UAAU,EAAE,CAAC,cAA8B,KAAI;AAC7C,oBAAA,OAAO,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;iBACzC;AACF,aAAA,CAAC,CAAC;QAEL,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;AACT,gBAAA,GAAG,cAAc;AACjB,gBAAA,GAAG,gBAAgB;AACnB,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;oBACrB,IAAI,EAAE,CAAC,0BAA0B,CAAC;AAClC,oBAAA,UAAU,EAAE,CAAC,IAA6B,KACtC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;AAC9C,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,eAAe;oBACxB,IAAI,EAAE,CAAC,YAAY,CAAC;AACpB,oBAAA,UAAU,EAAE,CAAC,MAAsB,KAAI;AACrC,wBAAA,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;qBAC3B;AACD,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF,CAAC;KACH;IAEO,OAAO,oBAAoB,CAAC,OAAqC,EAAA;AACvE,QAAA,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU;YAC3C,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,QAAQ;YAClB,OAAO;AACL,gBAAA,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;AACxC,gBAAA;oBACE,OAAO,EAAE,OAAO,CAAC,QAAQ;oBACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC3B,iBAAA;aACF,CAAC;AAEJ,QAAA,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;KAC5F;IAEO,OAAO,0BAA0B,CAAC,OAAqC,EAAA;QAC7E,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,OAAO;AACL,gBAAA,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,gBAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;aACzB,CAAC;AACH,SAAA;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;AACzD,QAAA,IAAI,QAAQ,EAAE;YACZ,OAAO;AACL,gBAAA,OAAO,EAAE,0BAA0B;AACnC,gBAAA,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;gBACpB,IAAI,EAAE,CAAC,QAAQ,CAAC;aACjB,CAAC;AACH,SAAA;AACD,QAAA,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;KAC5F;;6GAhHU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAhB,gBAAgB,EAAA,CAAA,CAAA;8GAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,QAAQ;mBAAC,EAAE,CAAA;;;ACNZ;;ACAA;;AAEG;;;;"}
|
|
@@ -2,15 +2,21 @@ import { InjectionToken, NgModule, Type } from '@angular/core';
|
|
|
2
2
|
import { OpraHttpClientOptions } from '@opra/client';
|
|
3
3
|
export type OpraClientModuleOptions = OpraHttpClientOptions & {
|
|
4
4
|
serviceUrl: string;
|
|
5
|
-
|
|
5
|
+
clientToken?: string | InjectionToken<any>;
|
|
6
|
+
serviceToken?: string | InjectionToken<any>;
|
|
7
|
+
serviceClass?: Type<any>;
|
|
6
8
|
};
|
|
9
|
+
type _OpraClientModuleOptions = Omit<OpraClientModuleOptions, 'clientToken' | 'serviceToken' | 'serviceClass'>;
|
|
7
10
|
export interface OpraModuleOptionsFactory {
|
|
8
|
-
createOptions(): Promise<
|
|
11
|
+
createOptions(): Promise<_OpraClientModuleOptions> | _OpraClientModuleOptions;
|
|
9
12
|
}
|
|
10
13
|
export interface OpraClientModuleAsyncOptions extends Pick<NgModule, 'imports' | 'providers'> {
|
|
11
|
-
|
|
14
|
+
clientToken?: string | InjectionToken<any>;
|
|
15
|
+
serviceToken?: string | InjectionToken<any>;
|
|
16
|
+
serviceClass?: Type<any>;
|
|
12
17
|
useExisting?: Type<OpraModuleOptionsFactory>;
|
|
13
18
|
useClass?: Type<any>;
|
|
14
|
-
useFactory?: (...args: any[]) => Promise<
|
|
19
|
+
useFactory?: (...args: any[]) => Promise<_OpraClientModuleOptions> | _OpraClientModuleOptions;
|
|
15
20
|
deps?: any[];
|
|
16
21
|
}
|
|
22
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opra/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Opra internationalization package",
|
|
5
5
|
"author": "Panates",
|
|
6
6
|
"license": "MIT",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"peerDependencies": {
|
|
13
13
|
"@angular/common": "^14.2.12 || 15.x.x",
|
|
14
14
|
"@angular/core": "^14.2.12 || 15.x.x",
|
|
15
|
-
"@opra/client": "^0.
|
|
15
|
+
"@opra/client": "^0.14.0",
|
|
16
16
|
"ts-gems": "^2.3.0"
|
|
17
17
|
},
|
|
18
18
|
"engines": {
|