@gravitee/ui-particles-angular 9.5.2 → 9.6.0-9-x-f0ab9f9

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,6 +1,7 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { of } from 'rxjs';
3
- import { map, shareReplay } from 'rxjs/operators';
3
+ import { map, shareReplay, switchMap } from 'rxjs/operators';
4
+ import { isEmpty } from 'lodash';
4
5
  import { GioLicenseDialogComponent } from './gio-license-dialog/gio-license-dialog.component';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common/http";
@@ -16,22 +17,27 @@ export class GioLicenseService {
16
17
  return this.loadLicense$;
17
18
  }
18
19
  isMissingFeature$(licenseOptions) {
19
- if (licenseOptions?.deployed === false) {
20
- return of(true);
21
- }
22
- if (licenseOptions?.feature == null || licenseOptions?.deployed === true) {
20
+ if (licenseOptions?.feature == null || !licenseOptions?.feature) {
23
21
  return of(false);
24
22
  }
25
- return this.getLicense$().pipe(map(license => license == null || license.features.find(feat => feat === licenseOptions.feature) == null));
23
+ return this.isExpired$().pipe(switchMap(isExpired => {
24
+ if (isExpired) {
25
+ return of(isExpired);
26
+ }
27
+ return this.getLicense$().pipe(map(license => license == null || !license.features.some(feat => feat === licenseOptions.feature)));
28
+ }));
26
29
  }
27
30
  hasAllFeatures$(licenseOptions) {
28
- if (!licenseOptions) {
31
+ if (!licenseOptions || isEmpty(licenseOptions)) {
29
32
  return of(true);
30
33
  }
31
- if (licenseOptions?.find(o => o.feature != null && o.deployed === false) != null) {
32
- return of(false);
33
- }
34
- return this.getLicense$().pipe(map(license => license != null && licenseOptions?.every(o => license.features.find(feat => feat === o.feature) != null)));
34
+ return this.isExpired$().pipe(switchMap(isExpired => {
35
+ const featuresDefined = licenseOptions.some(o => !!o.feature);
36
+ if (isExpired && featuresDefined) {
37
+ return of(false);
38
+ }
39
+ return this.getLicense$().pipe(map(license => license != null && licenseOptions.every(o => license.features.some(feat => feat === o.feature))));
40
+ }));
35
41
  }
36
42
  getFeatureInfo(licenseOptions) {
37
43
  if (!licenseOptions.feature) {
@@ -76,6 +82,9 @@ export class GioLicenseService {
76
82
  getExpiresAt$() {
77
83
  return this.getLicense$().pipe(map(license => (license.expiresAt ? new Date(license.expiresAt) : undefined)));
78
84
  }
85
+ isExpired$() {
86
+ return this.getExpiresAt$().pipe(map(expiresAt => !!expiresAt && expiresAt.valueOf() < Date.now()));
87
+ }
79
88
  }
80
89
  GioLicenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioLicenseService, deps: [{ token: i1.HttpClient }, { token: 'LicenseConfiguration' }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
81
90
  GioLicenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioLicenseService, providedIn: 'root' });
@@ -88,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
88
97
  type: Inject,
89
98
  args: ['LicenseConfiguration']
90
99
  }] }, { type: i2.MatDialog }]; } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBd0IsTUFBTSxtREFBbUQsQ0FBQzs7OztBQTJDcEgsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUNtQixJQUFnQixFQUVoQixvQkFBMEMsRUFDMUMsU0FBb0I7UUFIcEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVoQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFFckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxjQUEwQztRQUNqRSxJQUFJLGNBQWMsRUFBRSxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQ3RDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxjQUFjLEVBQUUsT0FBTyxJQUFJLElBQUksSUFBSSxjQUFjLEVBQUUsUUFBUSxLQUFLLElBQUksRUFBRTtZQUN4RSxP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QkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU0sVUFBVSxDQUFDLGNBQThCLEVBQUUsS0FBYTtRQUM3RCxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUM7UUFDekIsS0FBSyxFQUFFLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxTQUFTO2FBQ2xCLElBQUksQ0FBMkQseUJBQXlCLEVBQUU7WUFDekYsSUFBSSxFQUFFO2dCQUNKLFdBQVc7Z0JBQ1gsUUFBUTthQUNUO1lBQ0QsSUFBSSxFQUFFLGFBQWE7WUFDbkIsRUFBRSxFQUFFLGtCQUFrQjtTQUN2QixDQUFDO2FBQ0QsV0FBVyxFQUFFO2FBQ2IsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQzs7K0dBekZVLGlCQUFpQiw0Q0FLbEIsc0JBQXNCO21IQUxyQixpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhIH0gZnJvbSAnLi9naW8tbGljZW5zZS1kaWFsb2cvZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIExpY2Vuc2UgPSB7XG4gIHRpZXI6IHN0cmluZztcbiAgcGFja3M6IEFycmF5PHN0cmluZz47XG4gIGZlYXR1cmVzOiBBcnJheTxzdHJpbmc+O1xuICBleHBpcmVzQXQ/OiBEYXRlO1xuICBzY29wZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGljZW5zZUNvbmZpZ3VyYXRpb24ge1xuICByZXNvdXJjZVVSTDogc3RyaW5nO1xuICBmZWF0dXJlSW5mb0RhdGE6IFJlY29yZDxzdHJpbmcsIEZlYXR1cmVJbmZvPjtcbiAgdHJpYWxSZXNvdXJjZVVSTDogc3RyaW5nO1xuICB1dG1Tb3VyY2U/OiBzdHJpbmc7XG4gIHV0bUNhbXBhaWduPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVUTSB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBtZWRpdW06IHN0cmluZztcbiAgY2FtcGFpZ246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWNlbnNlT3B0aW9ucyB7XG4gIC8vIFdlIHVzZWQgZmVhdHVyZSBuYW1lIGFzIHV0bV9tZWRpdW1cbiAgZmVhdHVyZT86IHN0cmluZztcbiAgZGVwbG95ZWQ/OiBib29sZWFuO1xuICAvLyBPcHRpb25hbCwgdXNlZnVsIGlmIG5lZWQgYSBjb250ZXh0IGluIHV0bSBjYW1wYWlnbiAodXRtX2NvbnRlbnQpXG4gIGNvbnRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUluZm8ge1xuICBpbWFnZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0cmlhbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICBoaWRlRGF5cz86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9MaWNlbnNlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9hZExpY2Vuc2UkOiBPYnNlcnZhYmxlPExpY2Vuc2U+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdMaWNlbnNlQ29uZmlndXJhdGlvbicpXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaWNlbnNlQ29uZmlndXJhdGlvbjogTGljZW5zZUNvbmZpZ3VyYXRpb24sXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7XG4gICAgdGhpcy5sb2FkTGljZW5zZSQgPSB0aGlzLmh0dHAuZ2V0PExpY2Vuc2U+KGxpY2Vuc2VDb25maWd1cmF0aW9uLnJlc291cmNlVVJMKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaWNlbnNlJCgpOiBPYnNlcnZhYmxlPExpY2Vuc2U+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkTGljZW5zZSQ7XG4gIH1cblxuICBwdWJsaWMgaXNNaXNzaW5nRmVhdHVyZSQobGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zIHwgdW5kZWZpbmVkKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgaWYgKGxpY2Vuc2VPcHRpb25zPy5kZXBsb3llZCA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG4gICAgaWYgKGxpY2Vuc2VPcHRpb25zPy5mZWF0dXJlID09IG51bGwgfHwgbGljZW5zZU9wdGlvbnM/LmRlcGxveWVkID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUoXG4gICAgICBtYXAobGljZW5zZSA9PiBsaWNlbnNlID09IG51bGwgfHwgbGljZW5zZS5mZWF0dXJlcy5maW5kKGZlYXQgPT4gZmVhdCA9PT0gbGljZW5zZU9wdGlvbnMuZmVhdHVyZSkgPT0gbnVsbCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNBbGxGZWF0dXJlcyQobGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zW10gfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWxpY2Vuc2VPcHRpb25zKSB7XG4gICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgfVxuICAgIGlmIChsaWNlbnNlT3B0aW9ucz8uZmluZChvID0+IG8uZmVhdHVyZSAhPSBudWxsICYmIG8uZGVwbG95ZWQgPT09IGZhbHNlKSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUoXG4gICAgICBtYXAobGljZW5zZSA9PiBsaWNlbnNlICE9IG51bGwgJiYgbGljZW5zZU9wdGlvbnM/LmV2ZXJ5KG8gPT4gbGljZW5zZS5mZWF0dXJlcy5maW5kKGZlYXQgPT4gZmVhdCA9PT0gby5mZWF0dXJlKSAhPSBudWxsKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGZWF0dXJlSW5mbyhsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnMpOiBGZWF0dXJlSW5mbyB7XG4gICAgaWYgKCFsaWNlbnNlT3B0aW9ucy5mZWF0dXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZlYXR1cmUgaXMgdW5kZWZpbmVkYCk7XG4gICAgfVxuICAgIGNvbnN0IGZlYXR1cmVJbmZvID0gdGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi5mZWF0dXJlSW5mb0RhdGFbbGljZW5zZU9wdGlvbnMuZmVhdHVyZV07XG4gICAgaWYgKCFmZWF0dXJlSW5mbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVW5rbm93biBGZWF0dXJlIHZhbHVlICR7bGljZW5zZU9wdGlvbnMuZmVhdHVyZX0uIEV4cGVjdGVkIG9uZSBvZiAke09iamVjdC5rZXlzKHRoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24uZmVhdHVyZUluZm9EYXRhKX1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZlYXR1cmVJbmZvO1xuICB9XG5cbiAgcHVibGljIGdldFRyaWFsVVJMKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFsaWNlbnNlT3B0aW9ucy5mZWF0dXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGZlYXR1cmUgaXMgdW5kZWZpbmVkYCk7XG4gICAgfVxuICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICB0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bVNvdXJjZSB8fCB0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bUNhbXBhaWduXG4gICAgICAgID8gYD91dG1fc291cmNlPSR7dGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi51dG1Tb3VyY2V9JnV0bV9tZWRpdW09JHtsaWNlbnNlT3B0aW9ucy5mZWF0dXJlfSZ1dG1fY2FtcGFpZ249JHt0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bUNhbXBhaWdufWBcbiAgICAgICAgOiAnJztcbiAgICBjb25zdCBjb250ZXh0ID0gdXJsUGFyYW1zLmxlbmd0aCA+IDAgJiYgbGljZW5zZU9wdGlvbnMuY29udGV4dCA/IGAmdXRtX2NvbnRlbnQ9JHtsaWNlbnNlT3B0aW9ucy5jb250ZXh0fWAgOiAnJztcbiAgICByZXR1cm4gYCR7dGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi50cmlhbFJlc291cmNlVVJMfSR7dXJsUGFyYW1zfSR7Y29udGV4dH1gO1xuICB9XG5cbiAgcHVibGljIGlzT0VNJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUobWFwKGxpY2Vuc2UgPT4gbGljZW5zZSAhPT0gbnVsbCAmJiBsaWNlbnNlLmZlYXR1cmVzLmluY2x1ZGVzKCdvZW0tY3VzdG9taXphdGlvbicpKSk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRpYWxvZyhsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnMsIGV2ZW50PzogRXZlbnQpIHtcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgZmVhdHVyZUluZm8gPSB0aGlzLmdldEZlYXR1cmVJbmZvKGxpY2Vuc2VPcHRpb25zKTtcbiAgICBjb25zdCB0cmlhbFVSTCA9IHRoaXMuZ2V0VHJpYWxVUkwobGljZW5zZU9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLm1hdERpYWxvZ1xuICAgICAgLm9wZW48R2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudCwgR2lvTGljZW5zZURpYWxvZ0RhdGEsIGJvb2xlYW4+KEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZlYXR1cmVJbmZvLFxuICAgICAgICAgIHRyaWFsVVJMLFxuICAgICAgICB9LFxuICAgICAgICByb2xlOiAnYWxlcnRkaWFsb2cnLFxuICAgICAgICBpZDogJ2dpb0xpY2Vuc2VEaWFsb2cnLFxuICAgICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXhwaXJlc0F0JCgpOiBPYnNlcnZhYmxlPERhdGUgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlJCgpLnBpcGUobWFwKGxpY2Vuc2UgPT4gKGxpY2Vuc2UuZXhwaXJlc0F0ID8gbmV3IERhdGUobGljZW5zZS5leHBpcmVzQXQpIDogdW5kZWZpbmVkKSkpO1xuICB9XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE9BQU8sRUFBRSx5QkFBeUIsRUFBd0IsTUFBTSxtREFBbUQsQ0FBQzs7OztBQTBDcEgsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUNtQixJQUFnQixFQUVoQixvQkFBMEMsRUFDMUMsU0FBb0I7UUFIcEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVoQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFFckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxjQUEwQztRQUNqRSxJQUFJLGNBQWMsRUFBRSxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRTtZQUMvRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQjtR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QUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDOzsrR0FwR1UsaUJBQWlCLDRDQUtsQixzQkFBc0I7bUhBTHJCLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1JLE1BQU07MkJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEdpb0xpY2Vuc2VEaWFsb2dDb21wb25lbnQsIEdpb0xpY2Vuc2VEaWFsb2dEYXRhIH0gZnJvbSAnLi9naW8tbGljZW5zZS1kaWFsb2cvZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIExpY2Vuc2UgPSB7XG4gIHRpZXI6IHN0cmluZztcbiAgcGFja3M6IEFycmF5PHN0cmluZz47XG4gIGZlYXR1cmVzOiBBcnJheTxzdHJpbmc+O1xuICBleHBpcmVzQXQ/OiBEYXRlO1xuICBzY29wZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGljZW5zZUNvbmZpZ3VyYXRpb24ge1xuICByZXNvdXJjZVVSTDogc3RyaW5nO1xuICBmZWF0dXJlSW5mb0RhdGE6IFJlY29yZDxzdHJpbmcsIEZlYXR1cmVJbmZvPjtcbiAgdHJpYWxSZXNvdXJjZVVSTDogc3RyaW5nO1xuICB1dG1Tb3VyY2U/OiBzdHJpbmc7XG4gIHV0bUNhbXBhaWduPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVUTSB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBtZWRpdW06IHN0cmluZztcbiAgY2FtcGFpZ246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWNlbnNlT3B0aW9ucyB7XG4gIC8vIFdlIHVzZWQgZmVhdHVyZSBuYW1lIGFzIHV0bV9tZWRpdW1cbiAgZmVhdHVyZT86IHN0cmluZztcbiAgLy8gT3B0aW9uYWwsIHVzZWZ1bCBpZiBuZWVkIGEgY29udGV4dCBpbiB1dG0gY2FtcGFpZ24gKHV0bV9jb250ZW50KVxuICBjb250ZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVJbmZvIHtcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdHJpYWxCdXR0b25MYWJlbD86IHN0cmluZztcbiAgaGlkZURheXM/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGljZW5zZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRMaWNlbnNlJDogT2JzZXJ2YWJsZTxMaWNlbnNlPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnTGljZW5zZUNvbmZpZ3VyYXRpb24nKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGljZW5zZUNvbmZpZ3VyYXRpb246IExpY2Vuc2VDb25maWd1cmF0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2csXG4gICkge1xuICAgIHRoaXMubG9hZExpY2Vuc2UkID0gdGhpcy5odHRwLmdldDxMaWNlbnNlPihsaWNlbnNlQ29uZmlndXJhdGlvbi5yZXNvdXJjZVVSTCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGljZW5zZSQoKTogT2JzZXJ2YWJsZTxMaWNlbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZExpY2Vuc2UkO1xuICB9XG5cbiAgcHVibGljIGlzTWlzc2luZ0ZlYXR1cmUkKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucyB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmIChsaWNlbnNlT3B0aW9ucz8uZmVhdHVyZSA9PSBudWxsIHx8ICFsaWNlbnNlT3B0aW9ucz8uZmVhdHVyZSkge1xuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBpcmVkJCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoaXNFeHBpcmVkID0+IHtcbiAgICAgICAgaWYgKGlzRXhwaXJlZCkge1xuICAgICAgICAgIHJldHVybiBvZihpc0V4cGlyZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShtYXAobGljZW5zZSA9PiBsaWNlbnNlID09IG51bGwgfHwgIWxpY2Vuc2UuZmVhdHVyZXMuc29tZShmZWF0ID0+IGZlYXQgPT09IGxpY2Vuc2VPcHRpb25zLmZlYXR1cmUpKSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGhhc0FsbEZlYXR1cmVzJChsaWNlbnNlT3B0aW9uczogTGljZW5zZU9wdGlvbnNbXSB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICghbGljZW5zZU9wdGlvbnMgfHwgaXNFbXB0eShsaWNlbnNlT3B0aW9ucykpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBpcmVkJCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoaXNFeHBpcmVkID0+IHtcbiAgICAgICAgY29uc3QgZmVhdHVyZXNEZWZpbmVkID0gbGljZW5zZU9wdGlvbnMuc29tZShvID0+ICEhby5mZWF0dXJlKTtcbiAgICAgICAgaWYgKGlzRXhwaXJlZCAmJiBmZWF0dXJlc0RlZmluZWQpIHtcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShcbiAgICAgICAgICBtYXAobGljZW5zZSA9PiBsaWNlbnNlICE9IG51bGwgJiYgbGljZW5zZU9wdGlvbnMuZXZlcnkobyA9PiBsaWNlbnNlLmZlYXR1cmVzLnNvbWUoZmVhdCA9PiBmZWF0ID09PSBvLmZlYXR1cmUpKSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEZlYXR1cmVJbmZvKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucyk6IEZlYXR1cmVJbmZvIHtcbiAgICBpZiAoIWxpY2Vuc2VPcHRpb25zLmZlYXR1cmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZmVhdHVyZSBpcyB1bmRlZmluZWRgKTtcbiAgICB9XG4gICAgY29uc3QgZmVhdHVyZUluZm8gPSB0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLmZlYXR1cmVJbmZvRGF0YVtsaWNlbnNlT3B0aW9ucy5mZWF0dXJlXTtcbiAgICBpZiAoIWZlYXR1cmVJbmZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmtub3duIEZlYXR1cmUgdmFsdWUgJHtsaWNlbnNlT3B0aW9ucy5mZWF0dXJlfS4gRXhwZWN0ZWQgb25lIG9mICR7T2JqZWN0LmtleXModGhpcy5saWNlbnNlQ29uZmlndXJhdGlvbi5mZWF0dXJlSW5mb0RhdGEpfWAsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZUluZm87XG4gIH1cblxuICBwdWJsaWMgZ2V0VHJpYWxVUkwobGljZW5zZU9wdGlvbnM6IExpY2Vuc2VPcHRpb25zKTogc3RyaW5nIHtcbiAgICBpZiAoIWxpY2Vuc2VPcHRpb25zLmZlYXR1cmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZmVhdHVyZSBpcyB1bmRlZmluZWRgKTtcbiAgICB9XG4gICAgY29uc3QgdXJsUGFyYW1zID1cbiAgICAgIHRoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udXRtU291cmNlIHx8IHRoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udXRtQ2FtcGFpZ25cbiAgICAgICAgPyBgP3V0bV9zb3VyY2U9JHt0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnV0bVNvdXJjZX0mdXRtX21lZGl1bT0ke2xpY2Vuc2VPcHRpb25zLmZlYXR1cmV9JnV0bV9jYW1wYWlnbj0ke3RoaXMubGljZW5zZUNvbmZpZ3VyYXRpb24udXRtQ2FtcGFpZ259YFxuICAgICAgICA6ICcnO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1cmxQYXJhbXMubGVuZ3RoID4gMCAmJiBsaWNlbnNlT3B0aW9ucy5jb250ZXh0ID8gYCZ1dG1fY29udGVudD0ke2xpY2Vuc2VPcHRpb25zLmNvbnRleHR9YCA6ICcnO1xuICAgIHJldHVybiBgJHt0aGlzLmxpY2Vuc2VDb25maWd1cmF0aW9uLnRyaWFsUmVzb3VyY2VVUkx9JHt1cmxQYXJhbXN9JHtjb250ZXh0fWA7XG4gIH1cblxuICBwdWJsaWMgaXNPRU0kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShtYXAobGljZW5zZSA9PiBsaWNlbnNlICE9PSBudWxsICYmIGxpY2Vuc2UuZmVhdHVyZXMuaW5jbHVkZXMoJ29lbS1jdXN0b21pemF0aW9uJykpKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRGlhbG9nKGxpY2Vuc2VPcHRpb25zOiBMaWNlbnNlT3B0aW9ucywgZXZlbnQ/OiBFdmVudCkge1xuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBmZWF0dXJlSW5mbyA9IHRoaXMuZ2V0RmVhdHVyZUluZm8obGljZW5zZU9wdGlvbnMpO1xuICAgIGNvbnN0IHRyaWFsVVJMID0gdGhpcy5nZXRUcmlhbFVSTChsaWNlbnNlT3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMubWF0RGlhbG9nXG4gICAgICAub3BlbjxHaW9MaWNlbnNlRGlhbG9nQ29tcG9uZW50LCBHaW9MaWNlbnNlRGlhbG9nRGF0YSwgYm9vbGVhbj4oR2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmVhdHVyZUluZm8sXG4gICAgICAgICAgdHJpYWxVUkwsXG4gICAgICAgIH0sXG4gICAgICAgIHJvbGU6ICdhbGVydGRpYWxvZycsXG4gICAgICAgIGlkOiAnZ2lvTGljZW5zZURpYWxvZycsXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeHBpcmVzQXQkKCk6IE9ic2VydmFibGU8RGF0ZSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2UkKCkucGlwZShtYXAobGljZW5zZSA9PiAobGljZW5zZS5leHBpcmVzQXQgPyBuZXcgRGF0ZShsaWNlbnNlLmV4cGlyZXNBdCkgOiB1bmRlZmluZWQpKSk7XG4gIH1cblxuICBwdWJsaWMgaXNFeHBpcmVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRFeHBpcmVzQXQkKCkucGlwZShtYXAoZXhwaXJlc0F0ID0+ICEhZXhwaXJlc0F0ICYmIGV4cGlyZXNBdC52YWx1ZU9mKCkgPCBEYXRlLm5vdygpKSk7XG4gIH1cbn1cbiJdfQ==
@@ -4784,22 +4784,27 @@ class GioLicenseService {
4784
4784
  return this.loadLicense$;
4785
4785
  }
4786
4786
  isMissingFeature$(licenseOptions) {
4787
- if ((licenseOptions === null || licenseOptions === void 0 ? void 0 : licenseOptions.deployed) === false) {
4788
- return of(true);
4789
- }
4790
- if ((licenseOptions === null || licenseOptions === void 0 ? void 0 : licenseOptions.feature) == null || (licenseOptions === null || licenseOptions === void 0 ? void 0 : licenseOptions.deployed) === true) {
4787
+ if ((licenseOptions === null || licenseOptions === void 0 ? void 0 : licenseOptions.feature) == null || !(licenseOptions === null || licenseOptions === void 0 ? void 0 : licenseOptions.feature)) {
4791
4788
  return of(false);
4792
4789
  }
4793
- return this.getLicense$().pipe(map(license => license == null || license.features.find(feat => feat === licenseOptions.feature) == null));
4790
+ return this.isExpired$().pipe(switchMap(isExpired => {
4791
+ if (isExpired) {
4792
+ return of(isExpired);
4793
+ }
4794
+ return this.getLicense$().pipe(map(license => license == null || !license.features.some(feat => feat === licenseOptions.feature)));
4795
+ }));
4794
4796
  }
4795
4797
  hasAllFeatures$(licenseOptions) {
4796
- if (!licenseOptions) {
4798
+ if (!licenseOptions || isEmpty(licenseOptions)) {
4797
4799
  return of(true);
4798
4800
  }
4799
- if ((licenseOptions === null || licenseOptions === void 0 ? void 0 : licenseOptions.find(o => o.feature != null && o.deployed === false)) != null) {
4800
- return of(false);
4801
- }
4802
- return this.getLicense$().pipe(map(license => license != null && (licenseOptions === null || licenseOptions === void 0 ? void 0 : licenseOptions.every(o => license.features.find(feat => feat === o.feature) != null))));
4801
+ return this.isExpired$().pipe(switchMap(isExpired => {
4802
+ const featuresDefined = licenseOptions.some(o => !!o.feature);
4803
+ if (isExpired && featuresDefined) {
4804
+ return of(false);
4805
+ }
4806
+ return this.getLicense$().pipe(map(license => license != null && licenseOptions.every(o => license.features.some(feat => feat === o.feature))));
4807
+ }));
4803
4808
  }
4804
4809
  getFeatureInfo(licenseOptions) {
4805
4810
  if (!licenseOptions.feature) {
@@ -4844,6 +4849,9 @@ class GioLicenseService {
4844
4849
  getExpiresAt$() {
4845
4850
  return this.getLicense$().pipe(map(license => (license.expiresAt ? new Date(license.expiresAt) : undefined)));
4846
4851
  }
4852
+ isExpired$() {
4853
+ return this.getExpiresAt$().pipe(map(expiresAt => !!expiresAt && expiresAt.valueOf() < Date.now()));
4854
+ }
4847
4855
  }
4848
4856
  GioLicenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioLicenseService, deps: [{ token: i4.HttpClient }, { token: 'LicenseConfiguration' }, { token: i1$3.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
4849
4857
  GioLicenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioLicenseService, providedIn: 'root' });