@solar-angular/planets 18.1.1 → 18.3.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,4 +1,5 @@
1
1
  import { ChangeDetectorRef, inject, Pipe } from '@angular/core';
2
+ import { Origin } from '@solar-kit/planets/earth';
2
3
  import { filterResult } from '@solar-kit/planets/sun';
3
4
  import { EarthService } from './earth.service';
4
5
  import * as i0 from "@angular/core";
@@ -35,7 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
35
36
  }] });
36
37
  export class UnitCategoryPipe extends CategoryPipe {
37
38
  transform(value) {
38
- return super.transform(value, 13 /* Origin.Unit */);
39
+ return super.transform(value, Origin.Unit);
39
40
  }
40
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnitCategoryPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
41
42
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UnitCategoryPipe, isStandalone: true, name: "unit", pure: false }); }
@@ -48,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
48
49
  standalone: true
49
50
  }]
50
51
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFydGgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZWFydGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLFlBQVk7SUFMekI7UUFNWSxhQUFRLEdBQTBCLElBQUksQ0FBQztRQUN2QyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBb0IsSUFBSSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0IsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBbUJwRDtJQWpCQyxTQUFTLENBQUMsRUFBa0IsRUFBRSxNQUFjO1FBQzFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztZQUUzQix3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNsQyxZQUFZLEVBQUUsQ0FDZixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7K0dBdEJVLFlBQVk7NkdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFMeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWdDRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsWUFBWTtJQUN2QyxTQUFTLENBQUMsS0FBcUI7UUFDdEMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssdUJBQWMsQ0FBQztJQUM3QyxDQUFDOytHQUhVLGdCQUFnQjs2R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUw1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhdGVnb3J5LCBPcmlnaW4gfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvZWFydGgnO1xuaW1wb3J0IHsgZmlsdGVyUmVzdWx0IH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBFYXJ0aFNlcnZpY2UgfSBmcm9tICcuL2VhcnRoLnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYXRlZ29yeScsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcm90ZWN0ZWQgbGF0ZXN0SWQ6IENhdGVnb3J5WydpZCddIHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBsYXRlc3RPcmlnaW46IE9yaWdpbiB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgbGF0ZXN0VmFsdWU6IENhdGVnb3J5IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlID0gaW5qZWN0KEVhcnRoU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHRyYW5zZm9ybShpZDogQ2F0ZWdvcnlbJ2lkJ10sIG9yaWdpbjogT3JpZ2luKSB7XG4gICAgaWYgKGlkICE9PSB0aGlzLmxhdGVzdElkIHx8IG9yaWdpbiAhPT0gdGhpcy5sYXRlc3RPcmlnaW4pIHtcbiAgICAgIHRoaXMubGF0ZXN0SWQgPSBpZDtcbiAgICAgIHRoaXMubGF0ZXN0T3JpZ2luID0gb3JpZ2luO1xuXG4gICAgICAvLyDov5nkuKogQVBJIOaYr+W4pue8k+WtmOeahO+8jOS4jeeUqOaLheW/g+mHjeWkjeaJp+ihjFxuICAgICAgdGhpcy5zZXJ2aWNlLmNhdGVnb3JpZXMob3JpZ2luKS5waXBlKFxuICAgICAgICBmaWx0ZXJSZXN1bHQoKVxuICAgICAgKS5zdWJzY3JpYmUoKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgIHRoaXMubGF0ZXN0VmFsdWUgPSBkYXRhLmZpbmQobyA9PiBvLmlkID09PSBpZCkgPz8gbnVsbDtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sYXRlc3RWYWx1ZTtcbiAgfVxuXG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3VuaXQnLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBVbml0Q2F0ZWdvcnlQaXBlIGV4dGVuZHMgQ2F0ZWdvcnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIG92ZXJyaWRlIHRyYW5zZm9ybSh2YWx1ZTogQ2F0ZWdvcnlbJ2lkJ10pIHtcbiAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKHZhbHVlLCBPcmlnaW4uVW5pdCk7XG4gIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFydGgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZWFydGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxZQUFZO0lBTHpCO1FBTVksYUFBUSxHQUEwQixJQUFJLENBQUM7UUFDdkMsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DLGdCQUFXLEdBQW9CLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQW1CcEQ7SUFqQkMsU0FBUyxDQUFDLEVBQWtCLEVBQUUsTUFBYztRQUMxQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7WUFFM0Isd0JBQXdCO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDbEMsWUFBWSxFQUFFLENBQ2YsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOytHQXRCVSxZQUFZOzZHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBTHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFnQ0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFDdkMsU0FBUyxDQUFDLEtBQXFCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBSFUsZ0JBQWdCOzZHQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBTDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2F0ZWdvcnksIE9yaWdpbiB9IGZyb20gJ0Bzb2xhci1raXQvcGxhbmV0cy9lYXJ0aCc7XG5pbXBvcnQgeyBmaWx0ZXJSZXN1bHQgfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvc3VuJztcbmltcG9ydCB7IEVhcnRoU2VydmljZSB9IGZyb20gJy4vZWFydGguc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NhdGVnb3J5JyxcbiAgcHVyZTogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByb3RlY3RlZCBsYXRlc3RJZDogQ2F0ZWdvcnlbJ2lkJ10gfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIGxhdGVzdE9yaWdpbjogT3JpZ2luIHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBsYXRlc3RWYWx1ZTogQ2F0ZWdvcnkgfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoRWFydGhTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgdHJhbnNmb3JtKGlkOiBDYXRlZ29yeVsnaWQnXSwgb3JpZ2luOiBPcmlnaW4pIHtcbiAgICBpZiAoaWQgIT09IHRoaXMubGF0ZXN0SWQgfHwgb3JpZ2luICE9PSB0aGlzLmxhdGVzdE9yaWdpbikge1xuICAgICAgdGhpcy5sYXRlc3RJZCA9IGlkO1xuICAgICAgdGhpcy5sYXRlc3RPcmlnaW4gPSBvcmlnaW47XG5cbiAgICAgIC8vIOi/meS4qiBBUEkg5piv5bim57yT5a2Y55qE77yM5LiN55So5ouF5b+D6YeN5aSN5omn6KGMXG4gICAgICB0aGlzLnNlcnZpY2UuY2F0ZWdvcmllcyhvcmlnaW4pLnBpcGUoXG4gICAgICAgIGZpbHRlclJlc3VsdCgpXG4gICAgICApLnN1YnNjcmliZSgoeyBkYXRhIH0pID0+IHtcbiAgICAgICAgdGhpcy5sYXRlc3RWYWx1ZSA9IGRhdGEuZmluZChvID0+IG8uaWQgPT09IGlkKSA/PyBudWxsO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxhdGVzdFZhbHVlO1xuICB9XG5cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAndW5pdCcsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFVuaXRDYXRlZ29yeVBpcGUgZXh0ZW5kcyBDYXRlZ29yeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBDYXRlZ29yeVsnaWQnXSkge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0odmFsdWUsIE9yaWdpbi5Vbml0KTtcbiAgfVxufVxuIl19
@@ -1,7 +1,8 @@
1
1
  import { HttpClient, HttpContext } from '@angular/common/http';
2
2
  import { inject, Injectable } from '@angular/core';
3
- import { SOLAR_CONFIG, tree2list } from '@solar-angular/core';
3
+ import { SOLAR_CONFIG } from '@solar-angular/core';
4
4
  import { AUTH_REDIRECT_TOKEN, CACHEABLE_TOKEN, CacheManager, CATCH_HTTP_ERROR_TOKEN } from '@solar-angular/http';
5
+ import { tree2list } from '@solar-kit/core';
5
6
  import { filterResult } from '@solar-kit/planets/sun';
6
7
  import { catchError, map, of, tap } from 'rxjs';
7
8
  import * as i0 from "@angular/core";
@@ -131,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
131
132
  providedIn: 'root'
132
133
  }]
133
134
  }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFydGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZWFydGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFaEQsU0FBUyxjQUFjLENBQUMsS0FBYTtJQUNuQyxNQUFNLFNBQVMsR0FBRztRQUNoQixFQUFFLEVBQUUsQ0FBQztRQUNMLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLElBQUksRUFBRSxXQUFXO1FBQ2pCLEdBQUcsRUFBRSxDQUFDO1FBQ04sR0FBRyxFQUFFLFdBQVc7S0FDVCxDQUFDO0lBRVYsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNoQixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxD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QUFJLENBQUMsR0FBRyxDQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxpQkFBaUIsTUFBTSxFQUFFLEVBQUU7WUFDekYsT0FBTyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7U0FDdEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLFlBQVksRUFBRTtZQUMzRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2pDLE9BQU8sRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsOEJBQThCLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQU8sR0FBRyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLDhCQUE4QixFQUFFO1lBQzlGLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXRHVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNPTEFSX0NPTkZJRywgdHJlZTJsaXN0IH0gZnJvbSAnQHNvbGFyLWFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBVVRIX1JFRElSRUNUX1RPS0VOLCBDQUNIRUFCTEVfVE9LRU4sIENhY2hlTWFuYWdlciwgQ0FUQ0hfSFRUUF9FUlJPUl9UT0tFTiB9IGZyb20gJ0Bzb2xhci1hbmd1bGFyL2h0dHAnO1xuaW1wb3J0IHsgQWNjb3VudE5hbWUsIEFkZHJlc3MsIENhdGVnb3J5LCBDaGFubmVsLCBNZW51LCBPcmlnaW4sIFVwbG9hZEtleXMsIFVzZXJJbmZvIH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL2VhcnRoJztcbmltcG9ydCB7IGZpbHRlclJlc3VsdCwgUmVzdWx0IH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG9mLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZnVuY3Rpb24gbm9ybWFsaXplTWVudXMobWVudXM6IE1lbnVbXSkge1xuICBjb25zdCBkYXNoYm9hcmQgPSB7XG4gICAgaWQ6IDAsXG4gICAgZnVsbE5hbWU6ICdEYXNoYm9hcmQnLFxuICAgIGljb246ICdkYXNoYm9hcmQnLFxuICAgIHNlcTogMCxcbiAgICB1cmw6ICdkYXNoYm9hcmQnLFxuICB9IGFzIE1lbnU7XG5cbiAgbWVudXMgPSBtZW51cy5jb25jYXQoZGFzaGJvYXJkKTtcblxuICBtZW51cy5mb3JFYWNoKG8gPT4ge1xuICAgIG8ubGV2ZWwgPSAxO1xuICAgIG8uY2hpbGRyZW4gPSBtZW51cy5maWx0ZXIoY2hpbGQgPT4gY2hpbGQucGlkID09PSBvLmlkKS5zb3J0KChhLCBiKSA9PiBhLnNlcSAtIGIuc2VxKTtcbiAgICBvLmNoaWxkcmVuIS5mb3JFYWNoKGNoaWxkID0+IGNoaWxkLnBhcmVudCA9IG8pO1xuICB9KTtcblxuICAvLyDorr7nva4gbGV2ZWxcbiAgbWVudXMuZm9yRWFjaChvID0+IHtcbiAgICBsZXQgbWVudSA9IG87XG4gICAgd2hpbGUgKG1lbnU/LnBhcmVudCkgeyAvLyDlpoLmnpzmnInkuIrkuIDnuqfvvIzlsLHoh6rlop7kuIBcbiAgICAgIG8ubGV2ZWwhKys7XG4gICAgICBtZW51ID0gbWVudS5wYXJlbnQ7XG4gICAgfVxuICB9KTtcblxuICAvLyDorr7nva7mnKvnq6/lrZDoioLngrnnmoQgcGF0aFxuICBtZW51cy5maWx0ZXIobyA9PiBvLmNoaWxkcmVuPy5sZW5ndGggPT09IDApLmZvckVhY2gobyA9PiB7XG4gICAgbGV0IHNlZ21lbnQgPSAnJywgbWVudTogTWVudSB8IHVuZGVmaW5lZCA9IG87XG5cbiAgICB3aGlsZSAobWVudSkge1xuICAgICAgc2VnbWVudCA9ICcvJyArIG1lbnUudXJsICsgc2VnbWVudDtcbiAgICAgIG1lbnUgPSBtZW51LnBhcmVudDtcbiAgICB9XG5cbiAgICBvLnBhdGggPSBzZWdtZW50O1xuICB9KTtcblxuICBtZW51cy5zb3J0KChhLCBiKSA9PiBhLnNlcSAtIGIuc2VxKTtcblxuICByZXR1cm4gbWVudXM7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVhcnRoU2VydmljZSB7XG4gIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChTT0xBUl9DT05GSUcpO1xuICByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICByZWFkb25seSBjYWNoZU1hbmFnZXIgPSBpbmplY3QoQ2FjaGVNYW5hZ2VyKTtcblxuICBjaGVja0F1dGgoKSB7XG4gICAgLy8g6L+Z6YeM55u05o6l55SoIG1lbnVzIEFQSSDmnaXliKTmlq3mmK/lkKblt7LorqTor4FcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8TWVudVtdPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9yb2xlLW1lbnVzLyR7dGhpcy5jb25maWcuY2xpZW50SWR9YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KClcbiAgICAgICAgLnNldChDQUNIRUFCTEVfVE9LRU4sIHRydWUpXG4gICAgICAgIC5zZXQoQVVUSF9SRURJUkVDVF9UT0tFTiwgZmFsc2UpXG4gICAgICAgIC5zZXQoQ0FUQ0hfSFRUUF9FUlJPUl9UT0tFTiwgZmFsc2UpXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICk7XG4gIH1cblxuICBjaGVja1Blcm1pc3Npb24oc2VnbWVudHM6IFVybFNlZ21lbnRbXSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxNZW51W10+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3JvbGUtbWVudXMvJHt0aGlzLmNvbmZpZy5jbGllbnRJZH1gLCB7XG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKVxuICAgICAgICAuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICAgICAgLnNldChBVVRIX1JFRElSRUNUX1RPS0VOLCBmYWxzZSlcbiAgICAgICAgLnNldChDQVRDSF9IVFRQX0VSUk9SX1RPS0VOLCBmYWxzZSlcbiAgICB9KS5waXBlKFxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4ge1xuICAgICAgICBjb25zdCB0cmVlID0gbm9ybWFsaXplTWVudXMoZGF0YSk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0cmVlMmxpc3QodHJlZSk7XG4gICAgICAgIC8vIOaIkeS7rOeahOadg+mZkOiPnOWNleWPquacieS4pOe6p++8jOaIkeS7rOWPquWIpOaWreWJjeS4pOS4qiBwYXRoIOeJh+autVxuICAgICAgICBjb25zdCBwYXRoID0gJy8nICsgc2VnbWVudHNcbiAgICAgICAgICAuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggPD0gMSlcbiAgICAgICAgICAubWFwKG8gPT4gby5wYXRoLnJlcGxhY2UoLzsuKyQvLCAnJykpIC8vIHBhdGgg5Lit5Y+v6IO95pyJ5Y+C5pWw77yM5oiR5Lus5Y+q5Y+W5YmN6Z2i55qE6YOo5YiG77yaL2E7aWQ9MSA9PiAvYVxuICAgICAgICAgIC5qb2luKCcvJyk7XG4gICAgICAgIHJldHVybiBsaXN0LnNvbWUobWVudSA9PiBtZW51LnBhdGggPT09IHBhdGgpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKGZhbHNlKSlcbiAgICApO1xuICB9XG5cbiAgYWNjb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8QWNjb3VudE5hbWU+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL2FjYy9pbmZvYCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KTtcbiAgfVxuXG4gIHVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PFVzZXJJbmZvPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS91c3IvaW5mb2AsIHtcbiAgICAgIGNvbnRleHQ6IG5ldyBIdHRwQ29udGV4dCgpLnNldChDQUNIRUFCTEVfVE9LRU4sIHRydWUpXG4gICAgfSk7XG4gIH1cblxuICBtZW51cygpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8TWVudVtdPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9yb2xlLW1lbnVzLyR7dGhpcy5jb25maWcuY2xpZW50SWR9YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KS5waXBlKFxuICAgICAgZmlsdGVyUmVzdWx0KCksXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBub3JtYWxpemVNZW51cyhkYXRhKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOWPmOabtOWvhueggVxuICAgKiBAcGFyYW0gb1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY2hhbmdlUGFzc3dvcmQobzogeyBvbGRQc3c6IHN0cmluZywgbmV3UHN3OiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXN1bHQ+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvdXNlci9wc3dgLCBvKS5waXBlKFxuICAgICAgdGFwKCh7IGNvZGUgfSkgPT4ge1xuICAgICAgICBpZiAoY29kZSA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuY2FjaGVNYW5hZ2VyLnJldm9rZUFsbCgpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjaGFubmVscyhvcmlnaW46IE9yaWdpbikge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxDaGFubmVsW10+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL2NoYW5uZWwvJHtvcmlnaW59YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KTtcbiAgfVxuXG4gIGNhdGVnb3JpZXMob3JpZ2luOiBPcmlnaW4pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8Q2F0ZWdvcnlbXT4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvY2F0ZWdvcnkvJHtvcmlnaW59YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KTtcbiAgfVxuXG4gIGFkZHJlc3MocGlkPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PEFkZHJlc3NbXT4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvYWRkcnNgLCB7XG4gICAgICBwYXJhbXM6IHBpZCA/IHsgcGlkIH0gOiB1bmRlZmluZWQsXG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoQ0FDSEVBQkxFX1RPS0VOLCB0cnVlKVxuICAgIH0pO1xuICB9XG5cbiAgYXZhdGFyVXBsb2FkS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxVcGxvYWRLZXlzPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9xaW5pdS9hdmF0YXIvdXBsb2FkLWtleWApO1xuICB9XG5cbiAgbWVkaWFVcGxvYWRLZXlzKGtleVNpemUgPSAxKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PFVwbG9hZEtleXM+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3Fpbml1L21lZGlhL3VwbG9hZC1rZXlzYCwge1xuICAgICAgcGFyYW1zOiB7IGtleVNpemUgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFydGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZWFydGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFaEQsU0FBUyxjQUFjLENBQUMsS0FBYTtJQUNuQyxNQUFNLFNBQVMsR0FBRztRQUNoQixFQUFFLEVBQUUsQ0FBQztRQUNMLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLElBQUksRUFBRSxXQUFXO1FBQ2pCLEdBQUcsRUFBRSxDQUFDO1FBQ04sR0FBRyxFQUFFLFdBQVc7S0FDVCxDQUFDO0lBRVYsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNoQixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FB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YXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNPTEFSX0NPTkZJRyB9IGZyb20gJ0Bzb2xhci1hbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVVUSF9SRURJUkVDVF9UT0tFTiwgQ0FDSEVBQkxFX1RPS0VOLCBDYWNoZU1hbmFnZXIsIENBVENIX0hUVFBfRVJST1JfVE9LRU4gfSBmcm9tICdAc29sYXItYW5ndWxhci9odHRwJztcbmltcG9ydCB7IHRyZWUybGlzdCB9IGZyb20gJ0Bzb2xhci1raXQvY29yZSc7XG5pbXBvcnQgeyBBY2NvdW50TmFtZSwgQWRkcmVzcywgQ2F0ZWdvcnksIENoYW5uZWwsIE1lbnUsIE9yaWdpbiwgVXBsb2FkS2V5cywgVXNlckluZm8gfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvZWFydGgnO1xuaW1wb3J0IHsgZmlsdGVyUmVzdWx0LCBSZXN1bHQgfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvc3VuJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgb2YsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBub3JtYWxpemVNZW51cyhtZW51czogTWVudVtdKSB7XG4gIGNvbnN0IGRhc2hib2FyZCA9IHtcbiAgICBpZDogMCxcbiAgICBmdWxsTmFtZTogJ0Rhc2hib2FyZCcsXG4gICAgaWNvbjogJ2Rhc2hib2FyZCcsXG4gICAgc2VxOiAwLFxuICAgIHVybDogJ2Rhc2hib2FyZCcsXG4gIH0gYXMgTWVudTtcblxuICBtZW51cyA9IG1lbnVzLmNvbmNhdChkYXNoYm9hcmQpO1xuXG4gIG1lbnVzLmZvckVhY2gobyA9PiB7XG4gICAgby5sZXZlbCA9IDE7XG4gICAgby5jaGlsZHJlbiA9IG1lbnVzLmZpbHRlcihjaGlsZCA9PiBjaGlsZC5waWQgPT09IG8uaWQpLnNvcnQoKGEsIGIpID0+IGEuc2VxIC0gYi5zZXEpO1xuICAgIG8uY2hpbGRyZW4hLmZvckVhY2goY2hpbGQgPT4gY2hpbGQucGFyZW50ID0gbyk7XG4gIH0pO1xuXG4gIC8vIOiuvue9riBsZXZlbFxuICBtZW51cy5mb3JFYWNoKG8gPT4ge1xuICAgIGxldCBtZW51ID0gbztcbiAgICB3aGlsZSAobWVudT8ucGFyZW50KSB7IC8vIOWmguaenOacieS4iuS4gOe6p++8jOWwseiHquWinuS4gFxuICAgICAgby5sZXZlbCErKztcbiAgICAgIG1lbnUgPSBtZW51LnBhcmVudDtcbiAgICB9XG4gIH0pO1xuXG4gIC8vIOiuvue9ruacq+err+WtkOiKgueCueeahCBwYXRoXG4gIG1lbnVzLmZpbHRlcihvID0+IG8uY2hpbGRyZW4/Lmxlbmd0aCA9PT0gMCkuZm9yRWFjaChvID0+IHtcbiAgICBsZXQgc2VnbWVudCA9ICcnLCBtZW51OiBNZW51IHwgdW5kZWZpbmVkID0gbztcblxuICAgIHdoaWxlIChtZW51KSB7XG4gICAgICBzZWdtZW50ID0gJy8nICsgbWVudS51cmwgKyBzZWdtZW50O1xuICAgICAgbWVudSA9IG1lbnUucGFyZW50O1xuICAgIH1cblxuICAgIG8ucGF0aCA9IHNlZ21lbnQ7XG4gIH0pO1xuXG4gIG1lbnVzLnNvcnQoKGEsIGIpID0+IGEuc2VxIC0gYi5zZXEpO1xuXG4gIHJldHVybiBtZW51cztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRWFydGhTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFNPTEFSX0NPTkZJRyk7XG4gIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHJlYWRvbmx5IGNhY2hlTWFuYWdlciA9IGluamVjdChDYWNoZU1hbmFnZXIpO1xuXG4gIGNoZWNrQXV0aCgpIHtcbiAgICAvLyDov5nph4znm7TmjqXnlKggbWVudXMgQVBJIOadpeWIpOaWreaYr+WQpuW3suiupOivgVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxNZW51W10+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3JvbGUtbWVudXMvJHt0aGlzLmNvbmZpZy5jbGllbnRJZH1gLCB7XG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKVxuICAgICAgICAuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICAgICAgLnNldChBVVRIX1JFRElSRUNUX1RPS0VOLCBmYWxzZSlcbiAgICAgICAgLnNldChDQVRDSF9IVFRQX0VSUk9SX1RPS0VOLCBmYWxzZSlcbiAgICB9KS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgKTtcbiAgfVxuXG4gIGNoZWNrUGVybWlzc2lvbihzZWdtZW50czogVXJsU2VnbWVudFtdKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PE1lbnVbXT4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvcm9sZS1tZW51cy8ke3RoaXMuY29uZmlnLmNsaWVudElkfWAsIHtcbiAgICAgIGNvbnRleHQ6IG5ldyBIdHRwQ29udGV4dCgpXG4gICAgICAgIC5zZXQoQ0FDSEVBQkxFX1RPS0VOLCB0cnVlKVxuICAgICAgICAuc2V0KEFVVEhfUkVESVJFQ1RfVE9LRU4sIGZhbHNlKVxuICAgICAgICAuc2V0KENBVENIX0hUVFBfRVJST1JfVE9LRU4sIGZhbHNlKVxuICAgIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHRyZWUgPSBub3JtYWxpemVNZW51cyhkYXRhKTtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRyZWUybGlzdCh0cmVlKTtcbiAgICAgICAgLy8g5oiR5Lus55qE5p2D6ZmQ6I+c5Y2V5Y+q5pyJ5Lik57qn77yM5oiR5Lus5Y+q5Yik5pat5YmN5Lik5LiqIHBhdGgg54mH5q61XG4gICAgICAgIGNvbnN0IHBhdGggPSAnLycgKyBzZWdtZW50c1xuICAgICAgICAgIC5maWx0ZXIoKF8sIGluZGV4KSA9PiBpbmRleCA8PSAxKVxuICAgICAgICAgIC5tYXAobyA9PiBvLnBhdGgucmVwbGFjZSgvOy4rJC8sICcnKSkgLy8gcGF0aCDkuK3lj6/og73mnInlj4LmlbDvvIzmiJHku6zlj6rlj5bliY3pnaLnmoTpg6jliIbvvJovYTtpZD0xID0+IC9hXG4gICAgICAgICAgLmpvaW4oJy8nKTtcbiAgICAgICAgcmV0dXJuIGxpc3Quc29tZShtZW51ID0+IG1lbnUucGF0aCA9PT0gcGF0aCk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICk7XG4gIH1cblxuICBhY2NvdW50KCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxBY2NvdW50TmFtZT4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvYWNjL2luZm9gLCB7XG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoQ0FDSEVBQkxFX1RPS0VOLCB0cnVlKVxuICAgIH0pO1xuICB9XG5cbiAgdXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8VXNlckluZm8+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3Vzci9pbmZvYCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KTtcbiAgfVxuXG4gIG1lbnVzKCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxNZW51W10+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3JvbGUtbWVudXMvJHt0aGlzLmNvbmZpZy5jbGllbnRJZH1gLCB7XG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoQ0FDSEVBQkxFX1RPS0VOLCB0cnVlKVxuICAgIH0pLnBpcGUoXG4gICAgICBmaWx0ZXJSZXN1bHQoKSxcbiAgICAgIG1hcCgoeyBkYXRhIH0pID0+IG5vcm1hbGl6ZU1lbnVzKGRhdGEpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICog5Y+Y5pu05a+G56CBXG4gICAqIEBwYXJhbSBvXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjaGFuZ2VQYXNzd29yZChvOiB7IG9sZFBzdzogc3RyaW5nLCBuZXdQc3c6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3VsdD4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS91c2VyL3Bzd2AsIG8pLnBpcGUoXG4gICAgICB0YXAoKHsgY29kZSB9KSA9PiB7XG4gICAgICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5jYWNoZU1hbmFnZXIucmV2b2tlQWxsKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNoYW5uZWxzKG9yaWdpbjogT3JpZ2luKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PENoYW5uZWxbXT4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvY2hhbm5lbC8ke29yaWdpbn1gLCB7XG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoQ0FDSEVBQkxFX1RPS0VOLCB0cnVlKVxuICAgIH0pO1xuICB9XG5cbiAgY2F0ZWdvcmllcyhvcmlnaW46IE9yaWdpbikge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxDYXRlZ29yeVtdPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9jYXRlZ29yeS8ke29yaWdpbn1gLCB7XG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoQ0FDSEVBQkxFX1RPS0VOLCB0cnVlKVxuICAgIH0pO1xuICB9XG5cbiAgYWRkcmVzcyhwaWQ/OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8QWRkcmVzc1tdPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9hZGRyc2AsIHtcbiAgICAgIHBhcmFtczogcGlkID8geyBwaWQgfSA6IHVuZGVmaW5lZCxcbiAgICAgIGNvbnRleHQ6IG5ldyBIdHRwQ29udGV4dCgpLnNldChDQUNIRUFCTEVfVE9LRU4sIHRydWUpXG4gICAgfSk7XG4gIH1cblxuICBhdmF0YXJVcGxvYWRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PFVwbG9hZEtleXM+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3Fpbml1L2F2YXRhci91cGxvYWQta2V5YCk7XG4gIH1cblxuICBtZWRpYVVwbG9hZEtleXMoa2V5U2l6ZSA9IDEpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8VXBsb2FkS2V5cz4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvcWluaXUvbWVkaWEvdXBsb2FkLWtleXNgLCB7XG4gICAgICBwYXJhbXM6IHsga2V5U2l6ZSB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Injectable, ChangeDetectorRef, Pipe } from '@angular/core';
3
+ import { Origin } from '@solar-kit/planets/earth';
3
4
  import { filterResult, unpackResult } from '@solar-kit/planets/sun';
4
5
  import { HttpClient, HttpContext } from '@angular/common/http';
5
- import { SOLAR_CONFIG, tree2list } from '@solar-angular/core';
6
+ import { SOLAR_CONFIG } from '@solar-angular/core';
6
7
  import { CacheManager, CACHEABLE_TOKEN, AUTH_REDIRECT_TOKEN, CATCH_HTTP_ERROR_TOKEN, API_TOKEN } from '@solar-angular/http';
8
+ import { tree2list } from '@solar-kit/core';
7
9
  import { map, catchError, of, tap, shareReplay } from 'rxjs';
8
10
  import { Router, ActivatedRoute } from '@angular/router';
9
11
 
@@ -167,7 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
167
169
  }] });
168
170
  class UnitCategoryPipe extends CategoryPipe {
169
171
  transform(value) {
170
- return super.transform(value, 13 /* Origin.Unit */);
172
+ return super.transform(value, Origin.Unit);
171
173
  }
172
174
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnitCategoryPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
173
175
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UnitCategoryPipe, isStandalone: true, name: "unit", pure: false }); }
@@ -1 +1 @@
1
- {"version":3,"file":"solar-angular-planets-earth.mjs","sources":["../../../packages/planets/earth/earth.service.ts","../../../packages/planets/earth/earth.pipe.ts","../../../packages/planets/earth/earth.resolver.ts","../../../packages/planets/earth/guards/auth.guard.ts","../../../packages/planets/earth/guards/permission.guard.ts","../../../packages/planets/earth/guards/unauth.guard.ts","../../../packages/planets/earth/menus.ts","../../../packages/planets/earth/object-storage.service.ts","../../../packages/planets/earth/solar-angular-planets-earth.ts"],"sourcesContent":["import { HttpClient, HttpContext } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { UrlSegment } from '@angular/router';\nimport { SOLAR_CONFIG, tree2list } from '@solar-angular/core';\nimport { AUTH_REDIRECT_TOKEN, CACHEABLE_TOKEN, CacheManager, CATCH_HTTP_ERROR_TOKEN } from '@solar-angular/http';\nimport { AccountName, Address, Category, Channel, Menu, Origin, UploadKeys, UserInfo } from '@solar-kit/planets/earth';\nimport { filterResult, Result } from '@solar-kit/planets/sun';\nimport { catchError, map, of, tap } from 'rxjs';\n\nfunction normalizeMenus(menus: Menu[]) {\n const dashboard = {\n id: 0,\n fullName: 'Dashboard',\n icon: 'dashboard',\n seq: 0,\n url: 'dashboard',\n } as Menu;\n\n menus = menus.concat(dashboard);\n\n menus.forEach(o => {\n o.level = 1;\n o.children = menus.filter(child => child.pid === o.id).sort((a, b) => a.seq - b.seq);\n o.children!.forEach(child => child.parent = o);\n });\n\n // 设置 level\n menus.forEach(o => {\n let menu = o;\n while (menu?.parent) { // 如果有上一级,就自增一\n o.level!++;\n menu = menu.parent;\n }\n });\n\n // 设置末端子节点的 path\n menus.filter(o => o.children?.length === 0).forEach(o => {\n let segment = '', menu: Menu | undefined = o;\n\n while (menu) {\n segment = '/' + menu.url + segment;\n menu = menu.parent;\n }\n\n o.path = segment;\n });\n\n menus.sort((a, b) => a.seq - b.seq);\n\n return menus;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EarthService {\n readonly config = inject(SOLAR_CONFIG);\n readonly http = inject(HttpClient);\n readonly cacheManager = inject(CacheManager);\n\n checkAuth() {\n // 这里直接用 menus API 来判断是否已认证\n return this.http.get<Result<Menu[]>>(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {\n context: new HttpContext()\n .set(CACHEABLE_TOKEN, true)\n .set(AUTH_REDIRECT_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }).pipe(\n map(() => true),\n catchError(() => of(false))\n );\n }\n\n checkPermission(segments: UrlSegment[]) {\n return this.http.get<Result<Menu[]>>(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {\n context: new HttpContext()\n .set(CACHEABLE_TOKEN, true)\n .set(AUTH_REDIRECT_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }).pipe(\n map(({ data }) => {\n const tree = normalizeMenus(data);\n const list = tree2list(tree);\n // 我们的权限菜单只有两级,我们只判断前两个 path 片段\n const path = '/' + segments\n .filter((_, index) => index <= 1)\n .map(o => o.path.replace(/;.+$/, '')) // path 中可能有参数,我们只取前面的部分:/a;id=1 => /a\n .join('/');\n return list.some(menu => menu.path === path);\n }),\n catchError(() => of(false))\n );\n }\n\n account() {\n return this.http.get<Result<AccountName>>(`${this.config.earthUrl}/api/acc/info`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n user() {\n return this.http.get<Result<UserInfo>>(`${this.config.earthUrl}/api/usr/info`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n menus() {\n return this.http.get<Result<Menu[]>>(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n }).pipe(\n filterResult(),\n map(({ data }) => normalizeMenus(data))\n );\n }\n\n /**\n * 变更密码\n * @param o\n * @returns\n */\n changePassword(o: { oldPsw: string, newPsw: string }) {\n return this.http.post<Result>(`${this.config.earthUrl}/api/user/psw`, o).pipe(\n tap(({ code }) => {\n if (code === 0) {\n this.cacheManager.revokeAll();\n }\n })\n );\n }\n\n channels(origin: Origin) {\n return this.http.get<Result<Channel[]>>(`${this.config.earthUrl}/api/channel/${origin}`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n categories(origin: Origin) {\n return this.http.get<Result<Category[]>>(`${this.config.earthUrl}/api/category/${origin}`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n address(pid?: number) {\n return this.http.get<Result<Address[]>>(`${this.config.earthUrl}/api/addrs`, {\n params: pid ? { pid } : undefined,\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n avatarUploadKey() {\n return this.http.get<Result<UploadKeys>>(`${this.config.earthUrl}/api/qiniu/avatar/upload-key`);\n }\n\n mediaUploadKeys(keySize = 1) {\n return this.http.get<Result<UploadKeys>>(`${this.config.earthUrl}/api/qiniu/media/upload-keys`, {\n params: { keySize }\n });\n }\n}\n","import { ChangeDetectorRef, inject, Pipe, PipeTransform } from '@angular/core';\nimport { Category, Origin } from '@solar-kit/planets/earth';\nimport { filterResult } from '@solar-kit/planets/sun';\nimport { EarthService } from './earth.service';\n\n@Pipe({\n name: 'category',\n pure: false,\n standalone: true\n})\nexport class CategoryPipe implements PipeTransform {\n protected latestId: Category['id'] | null = null;\n protected latestOrigin: Origin | null = null;\n protected latestValue: Category | null = null;\n protected readonly service = inject(EarthService);\n protected readonly cdr = inject(ChangeDetectorRef);\n\n transform(id: Category['id'], origin: Origin) {\n if (id !== this.latestId || origin !== this.latestOrigin) {\n this.latestId = id;\n this.latestOrigin = origin;\n\n // 这个 API 是带缓存的,不用担心重复执行\n this.service.categories(origin).pipe(\n filterResult()\n ).subscribe(({ data }) => {\n this.latestValue = data.find(o => o.id === id) ?? null;\n this.cdr.markForCheck();\n });\n }\n\n return this.latestValue;\n }\n\n}\n\n@Pipe({\n name: 'unit',\n pure: false,\n standalone: true\n})\nexport class UnitCategoryPipe extends CategoryPipe implements PipeTransform {\n override transform(value: Category['id']) {\n return super.transform(value, Origin.Unit);\n }\n}\n","import { inject } from '@angular/core';\nimport { ResolveFn } from '@angular/router';\nimport { Category, Channel, Origin } from '@solar-kit/planets/earth';\nimport { unpackResult } from '@solar-kit/planets/sun';\nimport { EarthService } from './earth.service';\n\nexport function channelResolver(origin: Origin): ResolveFn<Channel[]> {\n return () => inject(EarthService).channels(origin).pipe(unpackResult());\n}\n\nexport function categoryResolver(origin: Origin): ResolveFn<Category[]> {\n return () => inject(EarthService).categories(origin).pipe(unpackResult());\n}\n","import { inject } from '@angular/core';\nimport { CanMatchFn, Route, Router, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable, map } from 'rxjs';\nimport { EarthService } from '../earth.service';\n\ninterface AuthMatchGuardOptions {\n /** 是否在登陆后重定向回当前页 */\n redirect?: boolean;\n}\n\n/**\n * 认证路由守卫\n * 认证后才允许进入,否则将导航到登录页(/login)\n * @param options\n */\nexport function authMatchGuard(options?: AuthMatchGuardOptions): CanMatchFn {\n return (_route: Route, segments: UrlSegment[]): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree => {\n const router = inject(Router);\n const earthService = inject(EarthService);\n\n const redirectUrl = {\n redirect: router.createUrlTree(\n ['/' + segments.join('/')],\n {\n queryParams: Object.fromEntries(new URLSearchParams(location.search))\n }\n ).toString()\n };\n\n return earthService.checkAuth().pipe(\n map(bool => {\n if (!bool) {\n return router.createUrlTree([\n '/login',\n options?.redirect === undefined || options.redirect ? redirectUrl : {}\n ]);\n }\n\n return bool;\n })\n );\n };\n}\n","import { inject } from '@angular/core';\nimport { CanMatchFn, Route, Router, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable, map } from 'rxjs';\nimport { EarthService } from '../earth.service';\n\n/**\n * 权限路由守卫\n * 有权限才允许进入,否则导航到无权限页(/forbidden)\n */\nexport function permissionMatchGuard(): CanMatchFn {\n return (_route: Route, segments: UrlSegment[]): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree => {\n const router = inject(Router);\n const earthService = inject(EarthService);\n\n return earthService.checkPermission(segments).pipe(\n map(bool =>\n bool || router.parseUrl('/forbidden')\n )\n );\n };\n}\n","import { inject } from '@angular/core';\nimport { CanMatchFn, Route, Router, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable, map } from 'rxjs';\nimport { EarthService } from '../earth.service';\n\n/**\n * 未认证路由守卫\n * 未认证才允许进入,否则将导航到首页\n */\nexport function unauthMatchGuard(): CanMatchFn {\n return (_route: Route, _segments: UrlSegment[]): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree => {\n const router = inject(Router);\n const earthService = inject(EarthService);\n\n return earthService.checkAuth().pipe(\n map(bool => bool ? router.parseUrl('/') : true),\n );\n };\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Menu } from '@solar-kit/planets/earth';\nimport { map, shareReplay } from 'rxjs';\nimport { EarthService } from './earth.service';\n\nexport function injectMenus() {\n const earthService = inject(EarthService);\n const activatedRoute = inject(ActivatedRoute);\n // 如果 path='',那么 url 是空的,此时需要取父路由\n const route = activatedRoute.snapshot.url.length ? activatedRoute : activatedRoute.parent!;\n\n return earthService.menus().pipe(\n map(data => {\n const menus: Menu[] = [];\n const lastPath = route.snapshot.url[route.snapshot.url.length - 1].path\n let end = data.find(o => o.url === lastPath);\n\n while (end) {\n menus.unshift(end);\n end = end.parent;\n }\n\n return menus;\n }),\n shareReplay(1)\n );\n}\n","import { HttpClient, HttpContext } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { API_TOKEN } from '@solar-angular/http';\nimport { UploadKeys } from '@solar-kit/planets/earth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ObjectStorageService {\n private readonly http = inject(HttpClient);\n\n /**\n * 目前只支持了 qiniu oss\n * @param filePath\n * @param options\n * @returns\n */\n upload(file: Blob, key: string, options: Pick<UploadKeys, 'host' | 'token'>) {\n const formData = new FormData();\n formData.set('key', key);\n formData.set('file', file);\n formData.set('token', options.token);\n\n return this.http.post<{ hash: string, key: string }>(`https://${options.host}`, formData, {\n context: new HttpContext().set(API_TOKEN, false)\n });\n }\n\n uploadWithEvents(file: Blob, key: string, options: Pick<UploadKeys, 'host' | 'token'>) {\n const formData = new FormData();\n formData.set('key', key);\n formData.set('file', file);\n formData.set('token', options.token);\n\n return this.http.post<{ hash: string, key: string }>(`https://${options.host}`, formData, {\n context: new HttpContext().set(API_TOKEN, false),\n observe: 'events',\n reportProgress: true,\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solar-angular-planets-earth.mjs","sources":["../../../packages/planets/earth/earth.service.ts","../../../packages/planets/earth/earth.pipe.ts","../../../packages/planets/earth/earth.resolver.ts","../../../packages/planets/earth/guards/auth.guard.ts","../../../packages/planets/earth/guards/permission.guard.ts","../../../packages/planets/earth/guards/unauth.guard.ts","../../../packages/planets/earth/menus.ts","../../../packages/planets/earth/object-storage.service.ts","../../../packages/planets/earth/solar-angular-planets-earth.ts"],"sourcesContent":["import { HttpClient, HttpContext } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { UrlSegment } from '@angular/router';\nimport { SOLAR_CONFIG } from '@solar-angular/core';\nimport { AUTH_REDIRECT_TOKEN, CACHEABLE_TOKEN, CacheManager, CATCH_HTTP_ERROR_TOKEN } from '@solar-angular/http';\nimport { tree2list } from '@solar-kit/core';\nimport { AccountName, Address, Category, Channel, Menu, Origin, UploadKeys, UserInfo } from '@solar-kit/planets/earth';\nimport { filterResult, Result } from '@solar-kit/planets/sun';\nimport { catchError, map, of, tap } from 'rxjs';\n\nfunction normalizeMenus(menus: Menu[]) {\n const dashboard = {\n id: 0,\n fullName: 'Dashboard',\n icon: 'dashboard',\n seq: 0,\n url: 'dashboard',\n } as Menu;\n\n menus = menus.concat(dashboard);\n\n menus.forEach(o => {\n o.level = 1;\n o.children = menus.filter(child => child.pid === o.id).sort((a, b) => a.seq - b.seq);\n o.children!.forEach(child => child.parent = o);\n });\n\n // 设置 level\n menus.forEach(o => {\n let menu = o;\n while (menu?.parent) { // 如果有上一级,就自增一\n o.level!++;\n menu = menu.parent;\n }\n });\n\n // 设置末端子节点的 path\n menus.filter(o => o.children?.length === 0).forEach(o => {\n let segment = '', menu: Menu | undefined = o;\n\n while (menu) {\n segment = '/' + menu.url + segment;\n menu = menu.parent;\n }\n\n o.path = segment;\n });\n\n menus.sort((a, b) => a.seq - b.seq);\n\n return menus;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EarthService {\n readonly config = inject(SOLAR_CONFIG);\n readonly http = inject(HttpClient);\n readonly cacheManager = inject(CacheManager);\n\n checkAuth() {\n // 这里直接用 menus API 来判断是否已认证\n return this.http.get<Result<Menu[]>>(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {\n context: new HttpContext()\n .set(CACHEABLE_TOKEN, true)\n .set(AUTH_REDIRECT_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }).pipe(\n map(() => true),\n catchError(() => of(false))\n );\n }\n\n checkPermission(segments: UrlSegment[]) {\n return this.http.get<Result<Menu[]>>(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {\n context: new HttpContext()\n .set(CACHEABLE_TOKEN, true)\n .set(AUTH_REDIRECT_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }).pipe(\n map(({ data }) => {\n const tree = normalizeMenus(data);\n const list = tree2list(tree);\n // 我们的权限菜单只有两级,我们只判断前两个 path 片段\n const path = '/' + segments\n .filter((_, index) => index <= 1)\n .map(o => o.path.replace(/;.+$/, '')) // path 中可能有参数,我们只取前面的部分:/a;id=1 => /a\n .join('/');\n return list.some(menu => menu.path === path);\n }),\n catchError(() => of(false))\n );\n }\n\n account() {\n return this.http.get<Result<AccountName>>(`${this.config.earthUrl}/api/acc/info`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n user() {\n return this.http.get<Result<UserInfo>>(`${this.config.earthUrl}/api/usr/info`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n menus() {\n return this.http.get<Result<Menu[]>>(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n }).pipe(\n filterResult(),\n map(({ data }) => normalizeMenus(data))\n );\n }\n\n /**\n * 变更密码\n * @param o\n * @returns\n */\n changePassword(o: { oldPsw: string, newPsw: string }) {\n return this.http.post<Result>(`${this.config.earthUrl}/api/user/psw`, o).pipe(\n tap(({ code }) => {\n if (code === 0) {\n this.cacheManager.revokeAll();\n }\n })\n );\n }\n\n channels(origin: Origin) {\n return this.http.get<Result<Channel[]>>(`${this.config.earthUrl}/api/channel/${origin}`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n categories(origin: Origin) {\n return this.http.get<Result<Category[]>>(`${this.config.earthUrl}/api/category/${origin}`, {\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n address(pid?: number) {\n return this.http.get<Result<Address[]>>(`${this.config.earthUrl}/api/addrs`, {\n params: pid ? { pid } : undefined,\n context: new HttpContext().set(CACHEABLE_TOKEN, true)\n });\n }\n\n avatarUploadKey() {\n return this.http.get<Result<UploadKeys>>(`${this.config.earthUrl}/api/qiniu/avatar/upload-key`);\n }\n\n mediaUploadKeys(keySize = 1) {\n return this.http.get<Result<UploadKeys>>(`${this.config.earthUrl}/api/qiniu/media/upload-keys`, {\n params: { keySize }\n });\n }\n}\n","import { ChangeDetectorRef, inject, Pipe, PipeTransform } from '@angular/core';\nimport { Category, Origin } from '@solar-kit/planets/earth';\nimport { filterResult } from '@solar-kit/planets/sun';\nimport { EarthService } from './earth.service';\n\n@Pipe({\n name: 'category',\n pure: false,\n standalone: true\n})\nexport class CategoryPipe implements PipeTransform {\n protected latestId: Category['id'] | null = null;\n protected latestOrigin: Origin | null = null;\n protected latestValue: Category | null = null;\n protected readonly service = inject(EarthService);\n protected readonly cdr = inject(ChangeDetectorRef);\n\n transform(id: Category['id'], origin: Origin) {\n if (id !== this.latestId || origin !== this.latestOrigin) {\n this.latestId = id;\n this.latestOrigin = origin;\n\n // 这个 API 是带缓存的,不用担心重复执行\n this.service.categories(origin).pipe(\n filterResult()\n ).subscribe(({ data }) => {\n this.latestValue = data.find(o => o.id === id) ?? null;\n this.cdr.markForCheck();\n });\n }\n\n return this.latestValue;\n }\n\n}\n\n@Pipe({\n name: 'unit',\n pure: false,\n standalone: true\n})\nexport class UnitCategoryPipe extends CategoryPipe implements PipeTransform {\n override transform(value: Category['id']) {\n return super.transform(value, Origin.Unit);\n }\n}\n","import { inject } from '@angular/core';\nimport { ResolveFn } from '@angular/router';\nimport { Category, Channel, Origin } from '@solar-kit/planets/earth';\nimport { unpackResult } from '@solar-kit/planets/sun';\nimport { EarthService } from './earth.service';\n\nexport function channelResolver(origin: Origin): ResolveFn<Channel[]> {\n return () => inject(EarthService).channels(origin).pipe(unpackResult());\n}\n\nexport function categoryResolver(origin: Origin): ResolveFn<Category[]> {\n return () => inject(EarthService).categories(origin).pipe(unpackResult());\n}\n","import { inject } from '@angular/core';\nimport { CanMatchFn, Route, Router, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable, map } from 'rxjs';\nimport { EarthService } from '../earth.service';\n\ninterface AuthMatchGuardOptions {\n /** 是否在登陆后重定向回当前页 */\n redirect?: boolean;\n}\n\n/**\n * 认证路由守卫\n * 认证后才允许进入,否则将导航到登录页(/login)\n * @param options\n */\nexport function authMatchGuard(options?: AuthMatchGuardOptions): CanMatchFn {\n return (_route: Route, segments: UrlSegment[]): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree => {\n const router = inject(Router);\n const earthService = inject(EarthService);\n\n const redirectUrl = {\n redirect: router.createUrlTree(\n ['/' + segments.join('/')],\n {\n queryParams: Object.fromEntries(new URLSearchParams(location.search))\n }\n ).toString()\n };\n\n return earthService.checkAuth().pipe(\n map(bool => {\n if (!bool) {\n return router.createUrlTree([\n '/login',\n options?.redirect === undefined || options.redirect ? redirectUrl : {}\n ]);\n }\n\n return bool;\n })\n );\n };\n}\n","import { inject } from '@angular/core';\nimport { CanMatchFn, Route, Router, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable, map } from 'rxjs';\nimport { EarthService } from '../earth.service';\n\n/**\n * 权限路由守卫\n * 有权限才允许进入,否则导航到无权限页(/forbidden)\n */\nexport function permissionMatchGuard(): CanMatchFn {\n return (_route: Route, segments: UrlSegment[]): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree => {\n const router = inject(Router);\n const earthService = inject(EarthService);\n\n return earthService.checkPermission(segments).pipe(\n map(bool =>\n bool || router.parseUrl('/forbidden')\n )\n );\n };\n}\n","import { inject } from '@angular/core';\nimport { CanMatchFn, Route, Router, UrlSegment, UrlTree } from '@angular/router';\nimport { Observable, map } from 'rxjs';\nimport { EarthService } from '../earth.service';\n\n/**\n * 未认证路由守卫\n * 未认证才允许进入,否则将导航到首页\n */\nexport function unauthMatchGuard(): CanMatchFn {\n return (_route: Route, _segments: UrlSegment[]): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree => {\n const router = inject(Router);\n const earthService = inject(EarthService);\n\n return earthService.checkAuth().pipe(\n map(bool => bool ? router.parseUrl('/') : true),\n );\n };\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Menu } from '@solar-kit/planets/earth';\nimport { map, shareReplay } from 'rxjs';\nimport { EarthService } from './earth.service';\n\nexport function injectMenus() {\n const earthService = inject(EarthService);\n const activatedRoute = inject(ActivatedRoute);\n // 如果 path='',那么 url 是空的,此时需要取父路由\n const route = activatedRoute.snapshot.url.length ? activatedRoute : activatedRoute.parent!;\n\n return earthService.menus().pipe(\n map(data => {\n const menus: Menu[] = [];\n const lastPath = route.snapshot.url[route.snapshot.url.length - 1].path\n let end = data.find(o => o.url === lastPath);\n\n while (end) {\n menus.unshift(end);\n end = end.parent;\n }\n\n return menus;\n }),\n shareReplay(1)\n );\n}\n","import { HttpClient, HttpContext } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { API_TOKEN } from '@solar-angular/http';\nimport { UploadKeys } from '@solar-kit/planets/earth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ObjectStorageService {\n private readonly http = inject(HttpClient);\n\n /**\n * 目前只支持了 qiniu oss\n * @param filePath\n * @param options\n * @returns\n */\n upload(file: Blob, key: string, options: Pick<UploadKeys, 'host' | 'token'>) {\n const formData = new FormData();\n formData.set('key', key);\n formData.set('file', file);\n formData.set('token', options.token);\n\n return this.http.post<{ hash: string, key: string }>(`https://${options.host}`, formData, {\n context: new HttpContext().set(API_TOKEN, false)\n });\n }\n\n uploadWithEvents(file: Blob, key: string, options: Pick<UploadKeys, 'host' | 'token'>) {\n const formData = new FormData();\n formData.set('key', key);\n formData.set('file', file);\n formData.set('token', options.token);\n\n return this.http.post<{ hash: string, key: string }>(`https://${options.host}`, formData, {\n context: new HttpContext().set(API_TOKEN, false),\n observe: 'events',\n reportProgress: true,\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@solar-angular/planets",
3
- "version": "18.1.1",
3
+ "version": "18.3.0",
4
4
  "sideEffects": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "dependencies": {
9
- "@solar-angular/core": "18.1.1",
10
- "@solar-angular/http": "18.1.1",
9
+ "@solar-angular/core": "18.3.0",
10
+ "@solar-angular/http": "18.3.0",
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "peerDependencies": {
@@ -32,17 +32,17 @@
32
32
  "esm": "./esm2022/earth/solar-angular-planets-earth.mjs",
33
33
  "default": "./fesm2022/solar-angular-planets-earth.mjs"
34
34
  },
35
- "./sun": {
36
- "types": "./sun/index.d.ts",
37
- "esm2022": "./esm2022/sun/solar-angular-planets-sun.mjs",
38
- "esm": "./esm2022/sun/solar-angular-planets-sun.mjs",
39
- "default": "./fesm2022/solar-angular-planets-sun.mjs"
40
- },
41
35
  "./mercury": {
42
36
  "types": "./mercury/index.d.ts",
43
37
  "esm2022": "./esm2022/mercury/solar-angular-planets-mercury.mjs",
44
38
  "esm": "./esm2022/mercury/solar-angular-planets-mercury.mjs",
45
39
  "default": "./fesm2022/solar-angular-planets-mercury.mjs"
40
+ },
41
+ "./sun": {
42
+ "types": "./sun/index.d.ts",
43
+ "esm2022": "./esm2022/sun/solar-angular-planets-sun.mjs",
44
+ "esm": "./esm2022/sun/solar-angular-planets-sun.mjs",
45
+ "default": "./fesm2022/solar-angular-planets-sun.mjs"
46
46
  }
47
47
  }
48
48
  }