@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.
@@ -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 forRoot(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule>;
6
- static forRootAsync(options: OpraClientModuleAsyncOptions): ModuleWithProviders<OpraClientModule>;
7
- private static createAsyncProviders;
8
- private static createAsyncOptionsProvider;
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 { HttpClient } from '@angular/common/http';
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 forRoot(options) {
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: APP_INITIALIZER,
24
- useFactory: () => {
25
- return () => client.init();
26
- },
27
- multi: true
28
- },
28
+ provide: SERVICE_TOKEN,
29
+ useValue: service
30
+ }
29
31
  ]
30
32
  };
31
33
  }
32
- static forRootAsync(options) {
34
+ static registerClientAsync(options) {
33
35
  const CLIENT_TOKEN = options.token || OpraHttpClient;
34
- const asyncProviders = this.createAsyncProviders(options);
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: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],
42
- useFactory: (httpClient, opts) => new OpraHttpClient(opts.serviceUrl, opts)
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: APP_INITIALIZER,
46
- deps: [CLIENT_TOKEN],
47
- useFactory: (client) => {
48
- return () => client.init();
49
- },
50
- multi: true
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 createAsyncProviders(options) {
67
+ static _createAsyncProviders(options) {
56
68
  if (options.useExisting || options.useFactory)
57
- return [this.createAsyncOptionsProvider(options)];
69
+ return [this._createAsyncOptionsProvider(options)];
58
70
  if (options.useClass)
59
71
  return [
60
- this.createAsyncOptionsProvider(options),
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 createAsyncOptionsProvider(options) {
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.1.1", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
88
- OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule });
89
- OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule, decorators: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL2NsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBS3pELE1BQU0sT0FBTyxnQkFBZ0I7SUFFcEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFnQztRQUNwRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQztRQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxRQUFRLEVBQUUsT0FBTztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLEdBQUcsRUFBRTt3QkFDZixPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtvQkFDNUIsQ0FBQztvQkFDRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUN0QixPQUFxQztRQUV2QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQztRQUNyRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUQsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNULEdBQUcsY0FBYztnQkFDakI7b0JBQ0UsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSwwQkFBMEIsQ0FBQztvQkFDOUMsVUFBVSxFQUFFLENBQUMsVUFBc0IsRUFBRSxJQUE2QixFQUFFLEVBQUUsQ0FDbEUsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7aUJBQzlDO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3BCLFVBQVUsRUFBRSxDQUFDLE1BQXNCLEVBQUUsRUFBRTt3QkFDckMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7b0JBQzVCLENBQUM7b0JBQ0QsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQXFDO1FBQ3ZFLElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsVUFBVTtZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFcEQsSUFBSSxPQUFPLENBQUMsUUFBUTtZQUNsQixPQUFPO2dCQUNMLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDO29CQUNFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUTtvQkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2lCQUMzQjthQUNGLENBQUM7UUFFSixNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVPLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxPQUFxQztRQUM3RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDdEIsT0FBTztnQkFDTCxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7Z0JBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDekIsQ0FBQztTQUNIO1FBQ0QsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3pELElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTztnQkFDTCxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUNqQixDQUFDO1NBQ0g7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7NkdBeEZVLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFGNUIsUUFBUTttQkFBQyxFQUNUIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4dGVuc2lvbnMgKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ByYUh0dHBDbGllbnQgfSBmcm9tICdAb3ByYS9jbGllbnQnO1xuaW1wb3J0IHsgT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zLCBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5ATmdNb2R1bGUoe1xufSlcbmV4cG9ydCBjbGFzcyBPcHJhQ2xpZW50TW9kdWxlIHtcblxuICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE9wcmFDbGllbnRNb2R1bGU+IHtcbiAgICBjb25zdCBDTElFTlRfVE9LRU4gPSBvcHRpb25zLnRva2VuIHx8IE9wcmFIdHRwQ2xpZW50O1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBPcHJhSHR0cENsaWVudChvcHRpb25zLnNlcnZpY2VVcmwsIG9wdGlvbnMpO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3ByYUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlMsXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDTElFTlRfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IGNsaWVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiBjbGllbnQuaW5pdCgpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZvclJvb3RBc3luYyhcbiAgICAgIG9wdGlvbnM6IE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnNcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPcHJhQ2xpZW50TW9kdWxlPiB7XG4gICAgY29uc3QgQ0xJRU5UX1RPS0VOID0gb3B0aW9ucy50b2tlbiB8fCBPcHJhSHR0cENsaWVudDtcbiAgICBjb25zdCBhc3luY1Byb3ZpZGVycyA9IHRoaXMuY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9ucyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE9wcmFDbGllbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4uYXN5bmNQcm92aWRlcnMsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDTElFTlRfVE9LRU4sXG4gICAgICAgICAgZGVwczogW0h0dHBDbGllbnQsIE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TXSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoaHR0cENsaWVudDogSHR0cENsaWVudCwgb3B0czogT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMpID0+XG4gICAgICAgICAgICAgIG5ldyBPcHJhSHR0cENsaWVudChvcHRzLnNlcnZpY2VVcmwsIG9wdHMpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgZGVwczogW0NMSUVOVF9UT0tFTl0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogKGNsaWVudDogT3ByYUh0dHBDbGllbnQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiBjbGllbnQuaW5pdCgpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUFzeW5jUHJvdmlkZXJzKG9wdGlvbnM6IE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnMpOiBQcm92aWRlcltdIHtcbiAgICBpZiAob3B0aW9ucy51c2VFeGlzdGluZyB8fCBvcHRpb25zLnVzZUZhY3RvcnkpXG4gICAgICByZXR1cm4gW3RoaXMuY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9ucyldO1xuXG4gICAgaWYgKG9wdGlvbnMudXNlQ2xhc3MpXG4gICAgICByZXR1cm4gW1xuICAgICAgICB0aGlzLmNyZWF0ZUFzeW5jT3B0aW9uc1Byb3ZpZGVyKG9wdGlvbnMpLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogb3B0aW9ucy51c2VDbGFzcyxcbiAgICAgICAgICB1c2VDbGFzczogb3B0aW9ucy51c2VDbGFzc1xuICAgICAgICB9XG4gICAgICBdO1xuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbmZpZ3VyYXRpb24uIE11c3QgcHJvdmlkZSB1c2VGYWN0b3J5LCB1c2VDbGFzcyBvciB1c2VFeGlzdGluZycpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyk6IFByb3ZpZGVyIHtcbiAgICBpZiAob3B0aW9ucy51c2VGYWN0b3J5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBPUFJBX0NMSUVOVF9NT0RVTEVfT1BUSU9OUyxcbiAgICAgICAgdXNlRmFjdG9yeTogb3B0aW9ucy51c2VGYWN0b3J5LFxuICAgICAgICBkZXBzOiBvcHRpb25zLmRlcHMgfHwgW10sXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB1c2VDbGFzcyA9IG9wdGlvbnMudXNlQ2xhc3MgfHwgb3B0aW9ucy51c2VFeGlzdGluZztcbiAgICBpZiAodXNlQ2xhc3MpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TLFxuICAgICAgICB1c2VGYWN0b3J5OiAobykgPT4gbyxcbiAgICAgICAgZGVwczogW3VzZUNsYXNzXSxcbiAgICAgIH07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb25maWd1cmF0aW9uLiBNdXN0IHByb3ZpZGUgdXNlRmFjdG9yeSwgdXNlQ2xhc3Mgb3IgdXNlRXhpc3RpbmcnKTtcbiAgfVxuXG5cbn1cbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9zcmMvaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ByYUh0dHBDbGllbnRPcHRpb25zIH0gZnJvbSAnQG9wcmEvY2xpZW50JztcblxuZXhwb3J0IHR5cGUgT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMgPSBPcHJhSHR0cENsaWVudE9wdGlvbnMgJiB7XG4gIHNlcnZpY2VVcmw6IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmcgfCBJbmplY3Rpb25Ub2tlbjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wcmFNb2R1bGVPcHRpb25zRmFjdG9yeSB7XG4gIGNyZWF0ZU9wdGlvbnMoKTogUHJvbWlzZTxPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucz4gfCBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zXG4gICAgZXh0ZW5kcyBQaWNrPE5nTW9kdWxlLCAnaW1wb3J0cycgfCAncHJvdmlkZXJzJz4ge1xuICB0b2tlbj86IHN0cmluZyB8IEluamVjdGlvblRva2VuPGFueT47XG4gIHVzZUV4aXN0aW5nPzogVHlwZTxPcHJhTW9kdWxlT3B0aW9uc0ZhY3Rvcnk+O1xuICB1c2VDbGFzcz86IFR5cGU8YW55PjtcbiAgdXNlRmFjdG9yeT86ICguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucz4gfCBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucztcbiAgZGVwcz86IGFueVtdO1xufVxuXG4iXX0=
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 { APP_INITIALIZER, NgModule } from '@angular/core';
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 forRoot(options) {
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: APP_INITIALIZER,
26
- useFactory: () => {
27
- return () => client.init();
28
- },
29
- multi: true
30
- },
30
+ provide: SERVICE_TOKEN,
31
+ useValue: service
32
+ }
31
33
  ]
32
34
  };
33
35
  }
34
- static forRootAsync(options) {
36
+ static registerClientAsync(options) {
35
37
  const CLIENT_TOKEN = options.token || OpraHttpClient;
36
- const asyncProviders = this.createAsyncProviders(options);
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: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],
44
- useFactory: (httpClient, opts) => new OpraHttpClient(opts.serviceUrl, opts)
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: APP_INITIALIZER,
48
- deps: [CLIENT_TOKEN],
49
- useFactory: (client) => {
50
- return () => client.init();
51
- },
52
- multi: true
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 createAsyncProviders(options) {
69
+ static _createAsyncProviders(options) {
58
70
  if (options.useExisting || options.useFactory)
59
- return [this.createAsyncOptionsProvider(options)];
71
+ return [this._createAsyncOptionsProvider(options)];
60
72
  if (options.useClass)
61
73
  return [
62
- this.createAsyncOptionsProvider(options),
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 createAsyncOptionsProvider(options) {
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.1.1", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
90
- OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule });
91
- OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule, decorators: [{
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 { HttpClient } from '@angular/common/http';\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({\n})\nexport class OpraClientModule {\n\n public static forRoot(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: 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 CLIENT_TOKEN = options.token || OpraHttpClient;\n const asyncProviders = this.createAsyncProviders(options);\n\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (httpClient: HttpClient, 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
+ {"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 { APP_INITIALIZER, NgModule } from '@angular/core';
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 forRoot(options) {
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: APP_INITIALIZER,
26
- useFactory: () => {
27
- return () => client.init();
28
- },
29
- multi: true
30
- },
30
+ provide: SERVICE_TOKEN,
31
+ useValue: service
32
+ }
31
33
  ]
32
34
  };
33
35
  }
34
- static forRootAsync(options) {
36
+ static registerClientAsync(options) {
35
37
  const CLIENT_TOKEN = options.token || OpraHttpClient;
36
- const asyncProviders = this.createAsyncProviders(options);
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: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],
44
- useFactory: (httpClient, opts) => new OpraHttpClient(opts.serviceUrl, opts)
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: APP_INITIALIZER,
48
- deps: [CLIENT_TOKEN],
49
- useFactory: (client) => {
50
- return () => client.init();
51
- },
52
- multi: true
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 createAsyncProviders(options) {
69
+ static _createAsyncProviders(options) {
58
70
  if (options.useExisting || options.useFactory)
59
- return [this.createAsyncOptionsProvider(options)];
71
+ return [this._createAsyncOptionsProvider(options)];
60
72
  if (options.useClass)
61
73
  return [
62
- this.createAsyncOptionsProvider(options),
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 createAsyncOptionsProvider(options) {
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.1.1", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
90
- OpraClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule });
91
- OpraClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: OpraClientModule, decorators: [{
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 { HttpClient } from '@angular/common/http';\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({\n})\nexport class OpraClientModule {\n\n public static forRoot(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: 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 CLIENT_TOKEN = options.token || OpraHttpClient;\n const asyncProviders = this.createAsyncProviders(options);\n\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (httpClient: HttpClient, 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
+ {"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<OpraClientModuleOptions> | OpraClientModuleOptions;
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<OpraClientModuleOptions> | OpraClientModuleOptions;
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.13.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.2.12 || 15.x.x",
14
- "@angular/core": "^14.2.12 || 15.x.x",
15
- "@opra/client": "^0.13.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",