angular-toolbox 0.9.2 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/esm2022/lib/angular-toolbox.module.mjs +7 -3
- package/esm2022/lib/component/angular-toolbox-logo/angular-toolbox-logo.component.mjs +18 -0
- package/esm2022/lib/component/index.mjs +9 -0
- package/esm2022/lib/core/abstract/abstract-subscription-manager.mjs +113 -0
- package/esm2022/lib/core/abstract/abstract-version-manager.mjs +37 -0
- package/esm2022/lib/core/abstract/index.mjs +3 -0
- package/esm2022/lib/core/impl/version/version.impl.mjs +6 -3
- package/esm2022/lib/core/index.mjs +2 -1
- package/esm2022/lib/model/business/index.mjs +2 -1
- package/esm2022/lib/model/business/subscription/index.mjs +2 -0
- package/esm2022/lib/model/business/subscription/subscription-manager.mjs +9 -0
- package/esm2022/lib/model/business/version/index.mjs +2 -1
- package/esm2022/lib/model/business/version/version-config.mjs +1 -1
- package/esm2022/lib/model/business/version/version-manager.mjs +10 -0
- package/esm2022/lib/model/business/version/version.mjs +1 -1
- package/esm2022/lib/model/service/subscription/subscription.service.mjs +6 -98
- package/esm2022/lib/model/service/version/angular-toolbox-version.service.mjs +38 -0
- package/esm2022/lib/model/service/version/version.service.mjs +4 -20
- package/esm2022/lib/pipe/safe/safe-html.pipe.mjs +2 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/angular-toolbox.mjs +289 -169
- package/fesm2022/angular-toolbox.mjs.map +1 -1
- package/lib/component/angular-toolbox-logo/angular-toolbox-logo.component.d.ts +5 -0
- package/lib/component/index.d.ts +8 -0
- package/lib/core/abstract/abstract-subscription-manager.d.ts +73 -0
- package/lib/core/abstract/abstract-version-manager.d.ts +34 -0
- package/lib/core/abstract/index.d.ts +2 -0
- package/lib/core/impl/version/version.impl.d.ts +5 -1
- package/lib/core/index.d.ts +1 -0
- package/lib/model/business/index.d.ts +1 -0
- package/lib/model/business/subscription/index.d.ts +1 -0
- package/lib/model/business/subscription/subscription-manager.d.ts +52 -0
- package/lib/model/business/version/index.d.ts +1 -0
- package/lib/model/business/version/version-config.d.ts +4 -0
- package/lib/model/business/version/version-manager.d.ts +25 -0
- package/lib/model/business/version/version.d.ts +4 -0
- package/lib/model/service/subscription/subscription.service.d.ts +3 -59
- package/lib/model/service/version/angular-toolbox-version.service.d.ts +13 -0
- package/lib/model/service/version/version.service.d.ts +3 -18
- package/lib/pipe/safe/safe-html.pipe.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -7,34 +7,18 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { Inject, Injectable } from '@angular/core';
|
|
9
9
|
import { VERSION_CONFIG } from '../../business';
|
|
10
|
-
import {
|
|
10
|
+
import { AbstractVersionManager } from '../../../core';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
/**
|
|
13
13
|
* A lightweight service that provides Semantic Versioning implementation for your Angular projects.
|
|
14
14
|
*/
|
|
15
|
-
export class VersionService {
|
|
15
|
+
export class VersionService extends AbstractVersionManager {
|
|
16
16
|
/**
|
|
17
17
|
* Creates a new VersionService instance.
|
|
18
18
|
* @param config the reference to the VersionConfig provider.
|
|
19
19
|
*/
|
|
20
20
|
constructor(config) {
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Returns the version of the associated Angular project.
|
|
25
|
-
*
|
|
26
|
-
* @return the version of the associated Angular project.
|
|
27
|
-
*/
|
|
28
|
-
getVersion() {
|
|
29
|
-
return this._version;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Returns the build timestamp of the associated Angular project.
|
|
33
|
-
*
|
|
34
|
-
* @return the build timestamp of the associated Angular project.
|
|
35
|
-
*/
|
|
36
|
-
getBuildTimestamp() {
|
|
37
|
-
return this._version.buildTimeStamp;
|
|
21
|
+
super(config);
|
|
38
22
|
}
|
|
39
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: VersionService, deps: [{ token: VERSION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
24
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: VersionService, providedIn: 'root' }); }
|
|
@@ -48,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
48
32
|
type: Inject,
|
|
49
33
|
args: [VERSION_CONFIG]
|
|
50
34
|
}] }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvbW9kZWwvc2VydmljZS92ZXJzaW9uL3ZlcnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFpQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sY0FBZSxTQUFRLHNCQUFzQjtJQUV4RDs7O09BR0c7SUFDSCxZQUFvQyxNQUFxQjtRQUN2RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQzs4R0FSVSxjQUFjLGtCQU1MLGNBQWM7a0hBTnZCLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT2MsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZFUlNJT05fQ09ORklHLCBWZXJzaW9uQ29uZmlnLCBWZXJzaW9uTWFuYWdlciB9IGZyb20gJy4uLy4uL2J1c2luZXNzJztcclxuaW1wb3J0IHsgQWJzdHJhY3RWZXJzaW9uTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEEgbGlnaHR3ZWlnaHQgc2VydmljZSB0aGF0IHByb3ZpZGVzIFNlbWFudGljIFZlcnNpb25pbmcgaW1wbGVtZW50YXRpb24gZm9yIHlvdXIgQW5ndWxhciBwcm9qZWN0cy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFZlcnNpb25TZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RWZXJzaW9uTWFuYWdlciBpbXBsZW1lbnRzIFZlcnNpb25NYW5hZ2VyIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIG5ldyBWZXJzaW9uU2VydmljZSBpbnN0YW5jZS5cclxuICAgKiBAcGFyYW0gY29uZmlnIHRoZSByZWZlcmVuY2UgdG8gdGhlIFZlcnNpb25Db25maWcgcHJvdmlkZXIuXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChWRVJTSU9OX0NPTkZJRykgY29uZmlnOiBWZXJzaW9uQ29uZmlnKSB7XHJcbiAgICBzdXBlcihjb25maWcpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { Pipe } from "@angular/core";
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/platform-browser";
|
|
4
4
|
/**
|
|
5
|
-
* A basic implementation of HTML sanitization pipe.
|
|
5
|
+
* A basic implementation of a HTML sanitization pipe.
|
|
6
6
|
*/
|
|
7
7
|
export class SafeHtmlPipe {
|
|
8
8
|
/**
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
31
31
|
standalone: true
|
|
32
32
|
}]
|
|
33
33
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9waXBlL3NhZmUvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVwRDs7R0FFRztBQUtILE1BQU0sT0FBTyxZQUFZO0lBRXZCOztPQUVHO0lBQ0gsWUFBb0IsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUFHLENBQUM7SUFFaEQ7Ozs7OztPQU1HO0lBQ0ksU0FBUyxDQUFDLEtBQWE7UUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7OEdBaEJVLFlBQVk7NEdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXHJcbmltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIEEgYmFzaWMgaW1wbGVtZW50YXRpb24gb2YgYSBIVE1MIHNhbml0aXphdGlvbiBwaXBlLlxyXG4gKi9cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzYWZlSHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSAge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm1zIHRoZSBIVE1MIGlucHV0IHN0cmluZyB2YWx1ZSBpbnRvIGEgYFNhZmVIdG1sYCBpbnN0YW5jZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0XHJcbiAgICogb2YgdGhlIHRyYW5zZm9ybWF0aW9uLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgSFRNTCBpbnB1dCB2YWx1ZSB0byB0cmFuc2Zvcm0gaW50byBhIGBTYWZlSHRtbGAgaW5zdGFuY2UuXHJcbiAgICogQHJldHVybnMgQSBgU2FmZUh0bWxgIGluc3RhbmNlIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgaW5wdXQgdmFsdWUuXHJcbiAgICovXHJcbiAgcHVibGljIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogU2FmZUh0bWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XHJcbiAgfVxyXG59Il19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
* Public API Surface of angular-toolbox
|
|
10
10
|
*/
|
|
11
11
|
export * from './lib/angular-toolbox.module';
|
|
12
|
+
export * from './lib/component';
|
|
12
13
|
export * from './lib/core';
|
|
13
14
|
export * from './lib/directive';
|
|
14
15
|
export * from './lib/framework';
|
|
15
16
|
export * from './lib/model';
|
|
16
17
|
export * from './lib/pipe';
|
|
17
18
|
export * from './lib/util';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7R0FFRztBQUVILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxuICovXG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW5ndWxhci10b29sYm94XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ndWxhci10b29sYm94Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnJhbWV3b3JrJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbCc7XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { NgModule, EventEmitter, Directive, Output, Input, HostListener, Inject,
|
|
2
|
+
import { Injectable, NgModule, Component, EventEmitter, Directive, Output, Input, HostListener, Inject, inject, Pipe } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/router';
|
|
4
4
|
import { RouterModule } from '@angular/router';
|
|
5
5
|
import { DOCUMENT, XhrFactory } from '@angular/common';
|
|
@@ -7,25 +7,6 @@ import { HttpStatusCode, HttpHeaders, HttpRequest } from '@angular/common/http';
|
|
|
7
7
|
import { Observable, of } from 'rxjs';
|
|
8
8
|
import * as i1$1 from '@angular/platform-browser';
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* @license
|
|
12
|
-
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
13
|
-
*
|
|
14
|
-
* Use of this source code is governed by an MIT-style license that can be found in
|
|
15
|
-
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* @private
|
|
19
|
-
*/
|
|
20
|
-
class AngularToolboxModule {
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
22
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule }); }
|
|
23
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, decorators: [{
|
|
26
|
-
type: NgModule
|
|
27
|
-
}] });
|
|
28
|
-
|
|
29
10
|
/**
|
|
30
11
|
* @license
|
|
31
12
|
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
@@ -366,6 +347,269 @@ class IdentifiableComponent {
|
|
|
366
347
|
}
|
|
367
348
|
;
|
|
368
349
|
|
|
350
|
+
/**
|
|
351
|
+
* @license
|
|
352
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
353
|
+
*
|
|
354
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
355
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
356
|
+
*/
|
|
357
|
+
/**
|
|
358
|
+
* The abstract class for all services that implement the `SubscriptionManager` interface.
|
|
359
|
+
*/
|
|
360
|
+
class AbstractSubscriptionManager {
|
|
361
|
+
constructor() {
|
|
362
|
+
/**
|
|
363
|
+
* @private
|
|
364
|
+
* Stores an internal reference to the last reference used with the `register()`
|
|
365
|
+
* method.
|
|
366
|
+
*/
|
|
367
|
+
this._lastRef = null;
|
|
368
|
+
/**
|
|
369
|
+
* @private
|
|
370
|
+
* The internal `Subscription` instances storage.
|
|
371
|
+
*/
|
|
372
|
+
this._subMap = new Map();
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Stores a new `Subscription` instance associated with the specified reference.
|
|
376
|
+
*
|
|
377
|
+
* @param ref The reference for which to store a new `Subscription` instance.
|
|
378
|
+
* Can be either a string or an `Identifiable` object.
|
|
379
|
+
* @param subscription The `Subscription` instance to register.
|
|
380
|
+
*
|
|
381
|
+
* @returns A reference to this `SubscriptionService` instance.
|
|
382
|
+
*/
|
|
383
|
+
register(ref, subscription) {
|
|
384
|
+
const REF = this.getRef(ref);
|
|
385
|
+
this._lastRef = REF;
|
|
386
|
+
if (!this._subMap.has(REF))
|
|
387
|
+
this._subMap.set(REF, []);
|
|
388
|
+
this._subMap.get(REF)?.push(subscription);
|
|
389
|
+
return this;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Stores a new `Subscription` instance associated with the reference specified
|
|
393
|
+
* by the last `register()` method invokation.
|
|
394
|
+
*
|
|
395
|
+
* @param subscription The `Subscription` instance to register.
|
|
396
|
+
*
|
|
397
|
+
* @returns A reference to this `SubscriptionService` instance.
|
|
398
|
+
*/
|
|
399
|
+
append(subscription) {
|
|
400
|
+
if (!this._lastRef)
|
|
401
|
+
throw new SubscriptionError("Illegal Access Error: you must call the register() method before invoking the append() method.");
|
|
402
|
+
return this.register(this._lastRef, subscription);
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Unsubscribes and removes all `Subscription` instances associated with the specified reference.
|
|
406
|
+
*
|
|
407
|
+
* @param ref The reference for which to remove all `Subscription` instances.
|
|
408
|
+
* Can be either a string or an `Identifiable` object.
|
|
409
|
+
*
|
|
410
|
+
* @returns `true` whether the specified reference exists; `false` otherwise.
|
|
411
|
+
*/
|
|
412
|
+
clearAll(ref) {
|
|
413
|
+
const REF = this.getRef(ref);
|
|
414
|
+
let result = false;
|
|
415
|
+
if (this._lastRef === REF)
|
|
416
|
+
this._lastRef = null;
|
|
417
|
+
if (this._subMap.has(REF)) {
|
|
418
|
+
this._subMap.get(REF)?.forEach(subscription => {
|
|
419
|
+
if (!subscription.closed)
|
|
420
|
+
subscription.unsubscribe();
|
|
421
|
+
});
|
|
422
|
+
this._subMap.delete(REF);
|
|
423
|
+
result = true;
|
|
424
|
+
}
|
|
425
|
+
return result;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Returns all `Subscription` instances associated with the specified reference.
|
|
429
|
+
*
|
|
430
|
+
* @param ref The reference for which to remove get `Subscription` instances.
|
|
431
|
+
* Can be either a string or an `Identifiable` object.
|
|
432
|
+
*
|
|
433
|
+
* @returns All `Subscription` instances associated with the specified reference, or
|
|
434
|
+
* `null` whether the specified reference does not exists.
|
|
435
|
+
*/
|
|
436
|
+
get(ref) {
|
|
437
|
+
return this._subMap.get(this.getRef(ref)) || null;
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* @private
|
|
441
|
+
* Returns the string reference for the regsitration process.
|
|
442
|
+
*
|
|
443
|
+
* @param ref The reference to be used the regsitration process.
|
|
444
|
+
* Can be either a string or an `Identifiable` object.
|
|
445
|
+
*
|
|
446
|
+
* @returns the string reference for the regsitration process.
|
|
447
|
+
*/
|
|
448
|
+
getRef(ref) {
|
|
449
|
+
let targetRef;
|
|
450
|
+
if (typeof ref === STRING)
|
|
451
|
+
targetRef = ref;
|
|
452
|
+
else if (ref instanceof IdentifiableComponent)
|
|
453
|
+
targetRef = ref.getID().toString();
|
|
454
|
+
else
|
|
455
|
+
throw new TypeError("ref must be of type of string or Identifiable");
|
|
456
|
+
return targetRef;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* @license
|
|
462
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
463
|
+
*
|
|
464
|
+
* Use of this source code is governed by an MIT-style license that can be ound in
|
|
465
|
+
* fthe LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
466
|
+
*/
|
|
467
|
+
/**
|
|
468
|
+
* @private
|
|
469
|
+
* Specifies the semantic versioning of an API.
|
|
470
|
+
*/
|
|
471
|
+
class VersionImpl {
|
|
472
|
+
/**
|
|
473
|
+
* @private
|
|
474
|
+
*/
|
|
475
|
+
constructor(major, minor, patch, buildTimeStamp, metadata) {
|
|
476
|
+
this.major = major;
|
|
477
|
+
this.minor = minor;
|
|
478
|
+
this.patch = patch;
|
|
479
|
+
this.buildTimeStamp = buildTimeStamp;
|
|
480
|
+
this.metadata = metadata;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Returns a string representation of this `Version` object in the form `M.m.p`, where
|
|
484
|
+
* `M` represents the major number, `m` represents the minor number and `p` represents
|
|
485
|
+
* the patch number of this `VersionImpl` instance.
|
|
486
|
+
*
|
|
487
|
+
* @returns A string representation of this `VersionImpl` instance.
|
|
488
|
+
*/
|
|
489
|
+
toString() {
|
|
490
|
+
const m = this.metadata;
|
|
491
|
+
return `${this.major}.${this.minor}.${this.patch}${m ? "-" + m : EMPTY_STRING}`;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
;
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* @license
|
|
498
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
499
|
+
*
|
|
500
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
501
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
502
|
+
*/
|
|
503
|
+
/**
|
|
504
|
+
* The abstract class for all services that implement the `VersionManager` interface.
|
|
505
|
+
*/
|
|
506
|
+
class AbstractVersionManager {
|
|
507
|
+
/**
|
|
508
|
+
* Creates a new VersionManager object.
|
|
509
|
+
* @param config the reference to the VersionConfig provider.
|
|
510
|
+
*/
|
|
511
|
+
constructor(config) {
|
|
512
|
+
this._version = new VersionImpl(config.major, config.minor, config.patch, config.buildTimestamp, config.metadata);
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Returns the version of the associated Angular project.
|
|
516
|
+
*
|
|
517
|
+
* @return the version of the associated Angular project.
|
|
518
|
+
*/
|
|
519
|
+
getVersion() {
|
|
520
|
+
return this._version;
|
|
521
|
+
}
|
|
522
|
+
/**
|
|
523
|
+
* Returns the build timestamp of the associated Angular project.
|
|
524
|
+
*
|
|
525
|
+
* @return the build timestamp of the associated Angular project.
|
|
526
|
+
*/
|
|
527
|
+
getBuildTimestamp() {
|
|
528
|
+
return this._version.buildTimeStamp;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* @license
|
|
534
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
535
|
+
*
|
|
536
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
537
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
538
|
+
*/
|
|
539
|
+
/**
|
|
540
|
+
* @private
|
|
541
|
+
* The current version of the Angular Toolbox library.
|
|
542
|
+
*/
|
|
543
|
+
const LAYERS_VERSION_CONFIG = {
|
|
544
|
+
major: 0,
|
|
545
|
+
minor: 9,
|
|
546
|
+
patch: 4,
|
|
547
|
+
buildTimestamp: 1720937502057,
|
|
548
|
+
metadata: "beta"
|
|
549
|
+
};
|
|
550
|
+
/**
|
|
551
|
+
* The public service that exposes the current version of the Angular Toolbox library.
|
|
552
|
+
*/
|
|
553
|
+
class AngularToolboxVersionService extends AbstractVersionManager {
|
|
554
|
+
/**
|
|
555
|
+
* @private
|
|
556
|
+
*/
|
|
557
|
+
constructor() {
|
|
558
|
+
super(LAYERS_VERSION_CONFIG);
|
|
559
|
+
}
|
|
560
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
561
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService }); }
|
|
562
|
+
}
|
|
563
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxVersionService, decorators: [{
|
|
564
|
+
type: Injectable
|
|
565
|
+
}], ctorParameters: () => [] });
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* @license
|
|
569
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
570
|
+
*
|
|
571
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
572
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
573
|
+
*/
|
|
574
|
+
/**
|
|
575
|
+
* @private
|
|
576
|
+
*/
|
|
577
|
+
class AngularToolboxModule {
|
|
578
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
579
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule }); }
|
|
580
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, providers: [AngularToolboxVersionService] }); }
|
|
581
|
+
}
|
|
582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxModule, decorators: [{
|
|
583
|
+
type: NgModule,
|
|
584
|
+
args: [{
|
|
585
|
+
providers: [AngularToolboxVersionService]
|
|
586
|
+
}]
|
|
587
|
+
}] });
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* @license
|
|
591
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
592
|
+
*
|
|
593
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
594
|
+
* found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
595
|
+
*/
|
|
596
|
+
class AngularToolboxLogoComponent {
|
|
597
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
598
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: AngularToolboxLogoComponent, isStandalone: true, selector: "atx-logo", ngImport: i0, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t viewBox=\"0 0 185.6 200\" style=\"enable-background:new 0 0 185.6 200;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0{fill:#03A9F4;}\r\n\t.st1{fill:#039BE5;}\r\n\t.st2{fill:#FFFFFF;}\r\n\t.st3{opacity:0.75;fill:#FFFFFF;}\r\n</style>\r\n<g id=\"Layer_2\">\r\n\t<g id=\"Layer_1-2\">\r\n\t\t<polygon class=\"st0\" points=\"92.4,1.9 92.4,1.9 92.4,1.9 1.8,34.6 15.5,155 92.4,198.1 92.4,198.1 92.4,198.1 169.8,155 \r\n\t\t\t183.8,34.6 \t\t\"/>\r\n\t\t<polygon class=\"st1\" points=\"92.4,1.9 92.4,23.7 92.4,23.7 92.4,122.8 92.4,122.8 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6 \t\t\r\n\t\t\t\"/>\r\n\t</g>\r\n</g>\r\n<g>\r\n\t<path class=\"st2\" d=\"M60.3,75.1l17.9,17.9c3.1-2.9,5.7-5.5,7.7-7.4L67.9,67.5l-2.2-9.8l-16.1-9.8l-4.4,4.4l-4.4,4.4l9.8,16.1\r\n\t\tL60.3,75.1z\"/>\r\n\t<path class=\"st3\" d=\"M114.7,104.3l26.5,26.4c4.9,4.9,4.9,12.8,0,17.7c-4.9,4.9-12.8,4.9-17.7,0L97.1,122L114.7,104.3z\"/>\r\n\t<path class=\"st2\" d=\"M92.4,114.6V89l-49.2,47.2c-0.1,0.1-0.2,0.2-0.3,0.3c-4.3,4.3-4.2,11.1-0.1,15.3c4.1,4.1,11.1,4.2,15.4,0\r\n\t\tc0.2-0.2,0.4-0.4,0.6-0.6\"/>\r\n\t<path class=\"st3\" d=\"M144.3,61.6l-1.8-1.5c-0.3-0.3-0.7-0.4-1.2-0.4c-0.4,0-0.8,0.3-1.1,0.6L129.7,74c-0.3,0.4-0.8,0.6-1.3,0.6\r\n\t\tl-3.8,0.3c-0.3,0-0.6-0.1-0.9-0.3l-7.4-6.3c-0.3-0.2-0.5-0.6-0.5-1l-0.5-3.5c-0.1-0.4,0-0.8,0.3-1.1l9.9-13.4\r\n\t\tc0.4-0.6,0.4-1.5-0.2-2l-2.4-1.9c-0.5-0.4-1-0.4-1.7-0.2c-6.8,1.3-18.5,8-21.4,17.1c-2.6,8-1.7,13.7-1.7,13.7\r\n\t\tc0,4.5-1.5,8.9-3.3,10.7L92.4,89v25.7l15.9-17.2c6.1-5.4,18.2,0.4,28.2-8.7c9.1-8.3,10.6-17.7,8.6-25.6\r\n\t\tC145,62.5,144.9,62,144.3,61.6z\"/>\r\n</g>\r\n</svg>\r\n" }); }
|
|
599
|
+
}
|
|
600
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: AngularToolboxLogoComponent, decorators: [{
|
|
601
|
+
type: Component,
|
|
602
|
+
args: [{ selector: 'atx-logo', standalone: true, template: "<!--\r\n * LICENSE\r\n * Copyright Pascal ECHEMANN. All Rights Reserved.\r\n *\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license\r\n-->\r\n \r\n<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t viewBox=\"0 0 185.6 200\" style=\"enable-background:new 0 0 185.6 200;\" xml:space=\"preserve\">\r\n<style type=\"text/css\">\r\n\t.st0{fill:#03A9F4;}\r\n\t.st1{fill:#039BE5;}\r\n\t.st2{fill:#FFFFFF;}\r\n\t.st3{opacity:0.75;fill:#FFFFFF;}\r\n</style>\r\n<g id=\"Layer_2\">\r\n\t<g id=\"Layer_1-2\">\r\n\t\t<polygon class=\"st0\" points=\"92.4,1.9 92.4,1.9 92.4,1.9 1.8,34.6 15.5,155 92.4,198.1 92.4,198.1 92.4,198.1 169.8,155 \r\n\t\t\t183.8,34.6 \t\t\"/>\r\n\t\t<polygon class=\"st1\" points=\"92.4,1.9 92.4,23.7 92.4,23.7 92.4,122.8 92.4,122.8 92.4,198.1 92.4,198.1 169.8,155 183.8,34.6 \t\t\r\n\t\t\t\"/>\r\n\t</g>\r\n</g>\r\n<g>\r\n\t<path class=\"st2\" d=\"M60.3,75.1l17.9,17.9c3.1-2.9,5.7-5.5,7.7-7.4L67.9,67.5l-2.2-9.8l-16.1-9.8l-4.4,4.4l-4.4,4.4l9.8,16.1\r\n\t\tL60.3,75.1z\"/>\r\n\t<path class=\"st3\" d=\"M114.7,104.3l26.5,26.4c4.9,4.9,4.9,12.8,0,17.7c-4.9,4.9-12.8,4.9-17.7,0L97.1,122L114.7,104.3z\"/>\r\n\t<path class=\"st2\" d=\"M92.4,114.6V89l-49.2,47.2c-0.1,0.1-0.2,0.2-0.3,0.3c-4.3,4.3-4.2,11.1-0.1,15.3c4.1,4.1,11.1,4.2,15.4,0\r\n\t\tc0.2-0.2,0.4-0.4,0.6-0.6\"/>\r\n\t<path class=\"st3\" d=\"M144.3,61.6l-1.8-1.5c-0.3-0.3-0.7-0.4-1.2-0.4c-0.4,0-0.8,0.3-1.1,0.6L129.7,74c-0.3,0.4-0.8,0.6-1.3,0.6\r\n\t\tl-3.8,0.3c-0.3,0-0.6-0.1-0.9-0.3l-7.4-6.3c-0.3-0.2-0.5-0.6-0.5-1l-0.5-3.5c-0.1-0.4,0-0.8,0.3-1.1l9.9-13.4\r\n\t\tc0.4-0.6,0.4-1.5-0.2-2l-2.4-1.9c-0.5-0.4-1-0.4-1.7-0.2c-6.8,1.3-18.5,8-21.4,17.1c-2.6,8-1.7,13.7-1.7,13.7\r\n\t\tc0,4.5-1.5,8.9-3.3,10.7L92.4,89v25.7l15.9-17.2c6.1-5.4,18.2,0.4,28.2-8.7c9.1-8.3,10.6-17.7,8.6-25.6\r\n\t\tC145,62.5,144.9,62,144.3,61.6z\"/>\r\n</g>\r\n</svg>\r\n" }]
|
|
603
|
+
}] });
|
|
604
|
+
|
|
605
|
+
/**
|
|
606
|
+
* @license
|
|
607
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
608
|
+
*
|
|
609
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
610
|
+
* found in the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
611
|
+
*/
|
|
612
|
+
|
|
369
613
|
/**
|
|
370
614
|
* @license
|
|
371
615
|
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
@@ -723,6 +967,15 @@ const VERSION_CONFIG = {
|
|
|
723
967
|
buildTimestamp: NaN
|
|
724
968
|
};
|
|
725
969
|
|
|
970
|
+
/**
|
|
971
|
+
* @license
|
|
972
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
973
|
+
*
|
|
974
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
975
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
976
|
+
*/
|
|
977
|
+
;
|
|
978
|
+
|
|
726
979
|
/**
|
|
727
980
|
* @license
|
|
728
981
|
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
@@ -885,6 +1138,14 @@ const DARK_MODE_CONFIG = {
|
|
|
885
1138
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
886
1139
|
*/
|
|
887
1140
|
|
|
1141
|
+
/**
|
|
1142
|
+
* @license
|
|
1143
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
1144
|
+
*
|
|
1145
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
1146
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
1147
|
+
*/
|
|
1148
|
+
|
|
888
1149
|
/**
|
|
889
1150
|
* @license
|
|
890
1151
|
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
@@ -895,103 +1156,12 @@ const DARK_MODE_CONFIG = {
|
|
|
895
1156
|
/**
|
|
896
1157
|
* A lightweight service that helps to manage unregistration issues of Angular subscriptions.
|
|
897
1158
|
*/
|
|
898
|
-
class SubscriptionService {
|
|
899
|
-
constructor() {
|
|
900
|
-
/**
|
|
901
|
-
* @private
|
|
902
|
-
* Stores an internal reference to the last reference used with the `register()`
|
|
903
|
-
* method.
|
|
904
|
-
*/
|
|
905
|
-
this._lastRef = null;
|
|
906
|
-
/**
|
|
907
|
-
* @private
|
|
908
|
-
* The internal `Subscription` instances storage.
|
|
909
|
-
*/
|
|
910
|
-
this._subMap = new Map();
|
|
911
|
-
}
|
|
912
|
-
/**
|
|
913
|
-
* Stores a new `Subscription` instance associated with the specified reference.
|
|
914
|
-
*
|
|
915
|
-
* @param ref The reference for which to store a new `Subscription` instance.
|
|
916
|
-
* Can be either a string or an `Identifiable` object.
|
|
917
|
-
* @param subscription The `Subscription` instance to register.
|
|
918
|
-
*
|
|
919
|
-
* @returns A reference to this `SubscriptionService` instance.
|
|
920
|
-
*/
|
|
921
|
-
register(ref, subscription) {
|
|
922
|
-
const REF = this.getRef(ref);
|
|
923
|
-
this._lastRef = REF;
|
|
924
|
-
if (!this._subMap.has(REF))
|
|
925
|
-
this._subMap.set(REF, []);
|
|
926
|
-
this._subMap.get(REF)?.push(subscription);
|
|
927
|
-
return this;
|
|
928
|
-
}
|
|
929
|
-
/**
|
|
930
|
-
* Stores a new `Subscription` instance associated with the reference specified
|
|
931
|
-
* by the last `register()` method invokation.
|
|
932
|
-
*
|
|
933
|
-
* @param subscription The `Subscription` instance to register.
|
|
934
|
-
*
|
|
935
|
-
* @returns A reference to this `SubscriptionService` instance.
|
|
936
|
-
*/
|
|
937
|
-
append(subscription) {
|
|
938
|
-
if (!this._lastRef)
|
|
939
|
-
throw new SubscriptionError("Illegal Access Error: you must call the register() method before invoking the append() method.");
|
|
940
|
-
return this.register(this._lastRef, subscription);
|
|
941
|
-
}
|
|
942
|
-
/**
|
|
943
|
-
* Unsubscribes and removes all `Subscription` instances associated with the specified reference.
|
|
944
|
-
*
|
|
945
|
-
* @param ref The reference for which to remove all `Subscription` instances.
|
|
946
|
-
* Can be either a string or an `Identifiable` object.
|
|
947
|
-
*
|
|
948
|
-
* @returns `true` whether the specified reference exists; `false` otherwise.
|
|
949
|
-
*/
|
|
950
|
-
clearAll(ref) {
|
|
951
|
-
const REF = this.getRef(ref);
|
|
952
|
-
let result = false;
|
|
953
|
-
if (this._lastRef === REF)
|
|
954
|
-
this._lastRef = null;
|
|
955
|
-
if (this._subMap.has(REF)) {
|
|
956
|
-
this._subMap.get(REF)?.forEach(subscription => {
|
|
957
|
-
if (!subscription.closed)
|
|
958
|
-
subscription.unsubscribe();
|
|
959
|
-
});
|
|
960
|
-
this._subMap.delete(REF);
|
|
961
|
-
result = true;
|
|
962
|
-
}
|
|
963
|
-
return result;
|
|
964
|
-
}
|
|
965
|
-
/**
|
|
966
|
-
* Returns all `Subscription` instances associated with the specified reference.
|
|
967
|
-
*
|
|
968
|
-
* @param ref The reference for which to remove get `Subscription` instances.
|
|
969
|
-
* Can be either a string or an `Identifiable` object.
|
|
970
|
-
*
|
|
971
|
-
* @returns All `Subscription` instances associated with the specified reference, or
|
|
972
|
-
* `null` whether the specified reference does not exists.
|
|
973
|
-
*/
|
|
974
|
-
get(ref) {
|
|
975
|
-
return this._subMap.get(this.getRef(ref)) || null;
|
|
976
|
-
}
|
|
1159
|
+
class SubscriptionService extends AbstractSubscriptionManager {
|
|
977
1160
|
/**
|
|
978
1161
|
* @private
|
|
979
|
-
* Returns the string reference for the regsitration process.
|
|
980
|
-
*
|
|
981
|
-
* @param ref The reference to be used the regsitration process.
|
|
982
|
-
* Can be either a string or an `Identifiable` object.
|
|
983
|
-
*
|
|
984
|
-
* @returns the string reference for the regsitration process.
|
|
985
1162
|
*/
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
if (typeof ref === "string")
|
|
989
|
-
targetRef = ref;
|
|
990
|
-
else if (ref instanceof IdentifiableComponent)
|
|
991
|
-
targetRef = ref.getID().toString();
|
|
992
|
-
else
|
|
993
|
-
throw new TypeError("ref must be of type of string or Identifiable");
|
|
994
|
-
return targetRef;
|
|
1163
|
+
constructor() {
|
|
1164
|
+
super();
|
|
995
1165
|
}
|
|
996
1166
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
997
1167
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SubscriptionService, providedIn: 'root' }); }
|
|
@@ -1001,7 +1171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
1001
1171
|
args: [{
|
|
1002
1172
|
providedIn: 'root'
|
|
1003
1173
|
}]
|
|
1004
|
-
}] });
|
|
1174
|
+
}], ctorParameters: () => [] });
|
|
1005
1175
|
|
|
1006
1176
|
/**
|
|
1007
1177
|
* @license
|
|
@@ -1482,40 +1652,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
1482
1652
|
args: [DOCUMENT]
|
|
1483
1653
|
}] }] });
|
|
1484
1654
|
|
|
1485
|
-
/**
|
|
1486
|
-
* @license
|
|
1487
|
-
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
1488
|
-
*
|
|
1489
|
-
* Use of this source code is governed by an MIT-style license that can be ound in
|
|
1490
|
-
* fthe LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
1491
|
-
*/
|
|
1492
|
-
/**
|
|
1493
|
-
* @private
|
|
1494
|
-
* Specifies the semantic versioning of an API.
|
|
1495
|
-
*/
|
|
1496
|
-
class VersionImpl {
|
|
1497
|
-
/**
|
|
1498
|
-
* @private
|
|
1499
|
-
*/
|
|
1500
|
-
constructor(major, minor, patch, buildTimeStamp) {
|
|
1501
|
-
this.major = major;
|
|
1502
|
-
this.minor = minor;
|
|
1503
|
-
this.patch = patch;
|
|
1504
|
-
this.buildTimeStamp = buildTimeStamp;
|
|
1505
|
-
}
|
|
1506
|
-
/**
|
|
1507
|
-
* Returns a string representation of this `Version` object in the form `M.m.p`, where
|
|
1508
|
-
* `M` represents the major number, `m` represents the minor number and `p` represents
|
|
1509
|
-
* the patch number of this `VersionImpl` instance.
|
|
1510
|
-
*
|
|
1511
|
-
* @returns A string representation of this `VersionImpl` instance.
|
|
1512
|
-
*/
|
|
1513
|
-
toString() {
|
|
1514
|
-
return `${this.major}.${this.minor}.${this.patch}`;
|
|
1515
|
-
}
|
|
1516
|
-
}
|
|
1517
|
-
;
|
|
1518
|
-
|
|
1519
1655
|
/**
|
|
1520
1656
|
* @license
|
|
1521
1657
|
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
@@ -1526,29 +1662,13 @@ class VersionImpl {
|
|
|
1526
1662
|
/**
|
|
1527
1663
|
* A lightweight service that provides Semantic Versioning implementation for your Angular projects.
|
|
1528
1664
|
*/
|
|
1529
|
-
class VersionService {
|
|
1665
|
+
class VersionService extends AbstractVersionManager {
|
|
1530
1666
|
/**
|
|
1531
1667
|
* Creates a new VersionService instance.
|
|
1532
1668
|
* @param config the reference to the VersionConfig provider.
|
|
1533
1669
|
*/
|
|
1534
1670
|
constructor(config) {
|
|
1535
|
-
|
|
1536
|
-
}
|
|
1537
|
-
/**
|
|
1538
|
-
* Returns the version of the associated Angular project.
|
|
1539
|
-
*
|
|
1540
|
-
* @return the version of the associated Angular project.
|
|
1541
|
-
*/
|
|
1542
|
-
getVersion() {
|
|
1543
|
-
return this._version;
|
|
1544
|
-
}
|
|
1545
|
-
/**
|
|
1546
|
-
* Returns the build timestamp of the associated Angular project.
|
|
1547
|
-
*
|
|
1548
|
-
* @return the build timestamp of the associated Angular project.
|
|
1549
|
-
*/
|
|
1550
|
-
getBuildTimestamp() {
|
|
1551
|
-
return this._version.buildTimeStamp;
|
|
1671
|
+
super(config);
|
|
1552
1672
|
}
|
|
1553
1673
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: VersionService, deps: [{ token: VERSION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1554
1674
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: VersionService, providedIn: 'root' }); }
|
|
@@ -3676,7 +3796,7 @@ const httpMockFactory = () => {
|
|
|
3676
3796
|
};
|
|
3677
3797
|
|
|
3678
3798
|
/**
|
|
3679
|
-
* A basic implementation of HTML sanitization pipe.
|
|
3799
|
+
* A basic implementation of a HTML sanitization pipe.
|
|
3680
3800
|
*/
|
|
3681
3801
|
class SafeHtmlPipe {
|
|
3682
3802
|
/**
|
|
@@ -3721,5 +3841,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
3721
3841
|
* Generated bundle index. Do not edit.
|
|
3722
3842
|
*/
|
|
3723
3843
|
|
|
3724
|
-
export { APP_PRIDGE_REF, AnchorLinklDirective, AngularToolboxModule, AppBridgeError, AppBrigeService, BIGINT, BOOLEAN, BUTTON_ROLE, ButtonRoleDirective, CSS_PROP, ContentRendererDirective, DARK_MODE_CONFIG, DarkModeService, EMPTY_STRING, FUNCTION, HTTP_MOCK_SERVICE, HttpHeadersMockBuilder, HttpMock, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, IdentifiableComponent, IntegrityError, LINK_ROLE, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, httpHeadersMock, httpMockFactory, httpResponseMock };
|
|
3844
|
+
export { APP_PRIDGE_REF, AbstractSubscriptionManager, AbstractVersionManager, AnchorLinklDirective, AngularToolboxLogoComponent, AngularToolboxModule, AppBridgeError, AppBrigeService, BIGINT, BOOLEAN, BUTTON_ROLE, ButtonRoleDirective, CSS_PROP, ContentRendererDirective, DARK_MODE_CONFIG, DarkModeService, EMPTY_STRING, FUNCTION, HTTP_MOCK_SERVICE, HttpHeadersMockBuilder, HttpMock, HttpMockService, HttpMockServiceError, HttpResponseMockBuilder, IdentifiableComponent, IntegrityError, LINK_ROLE, NUMBER, NavigateToUrlDirective, OBJECT, STORAGE_KEY, STRING, SYMBOL, SafeHtmlPipe, ScrollService, SubscriptionError, SubscriptionService, UNDEFINED, Uuid, VERSION_CONFIG, VersionService, httpHeadersMock, httpMockFactory, httpResponseMock };
|
|
3725
3845
|
//# sourceMappingURL=angular-toolbox.mjs.map
|