angular-toolbox 0.9.1 → 0.9.3
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/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/lang/identifiable-component.mjs +18 -2
- package/esm2022/lib/core/index.mjs +2 -1
- package/esm2022/lib/model/business/index.mjs +2 -1
- package/esm2022/lib/model/business/lang/identifiable.mjs +1 -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-manager.mjs +10 -0
- package/esm2022/lib/model/service/subscription/subscription.service.mjs +6 -98
- package/esm2022/lib/model/service/version/version.service.mjs +4 -20
- package/fesm2022/angular-toolbox.mjs +221 -149
- package/fesm2022/angular-toolbox.mjs.map +1 -1
- 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/lang/identifiable-component.d.ts +18 -0
- package/lib/core/index.d.ts +1 -0
- package/lib/model/business/index.d.ts +1 -0
- package/lib/model/business/lang/identifiable.d.ts +7 -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-manager.d.ts +25 -0
- package/lib/model/service/subscription/subscription.service.d.ts +3 -59
- package/lib/model/service/version/version.service.d.ts +3 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Angular Toolbox
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="
|
|
4
|
+
<img src="https://pascalechemann.com/angular-toolbox/logo/angular-toolbox.png" alt="angular-toolbox-logo" width="120px" height="120px"/>
|
|
5
5
|
<br>
|
|
6
6
|
<i>A library that provides useful tools for Angular apps development.</i>
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
|
-
[]()
|
|
10
10
|
|
|
11
11
|
## License
|
|
12
12
|
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { SubscriptionError } from '../error';
|
|
9
|
+
import { IdentifiableComponent } from '../impl';
|
|
10
|
+
import { STRING } from '../../util';
|
|
11
|
+
/**
|
|
12
|
+
* The abstract class for all services that implement the `SubscriptionManager` interface.
|
|
13
|
+
*/
|
|
14
|
+
export class AbstractSubscriptionManager {
|
|
15
|
+
constructor() {
|
|
16
|
+
/**
|
|
17
|
+
* @private
|
|
18
|
+
* Stores an internal reference to the last reference used with the `register()`
|
|
19
|
+
* method.
|
|
20
|
+
*/
|
|
21
|
+
this._lastRef = null;
|
|
22
|
+
/**
|
|
23
|
+
* @private
|
|
24
|
+
* The internal `Subscription` instances storage.
|
|
25
|
+
*/
|
|
26
|
+
this._subMap = new Map();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Stores a new `Subscription` instance associated with the specified reference.
|
|
30
|
+
*
|
|
31
|
+
* @param ref The reference for which to store a new `Subscription` instance.
|
|
32
|
+
* Can be either a string or an `Identifiable` object.
|
|
33
|
+
* @param subscription The `Subscription` instance to register.
|
|
34
|
+
*
|
|
35
|
+
* @returns A reference to this `SubscriptionService` instance.
|
|
36
|
+
*/
|
|
37
|
+
register(ref, subscription) {
|
|
38
|
+
const REF = this.getRef(ref);
|
|
39
|
+
this._lastRef = REF;
|
|
40
|
+
if (!this._subMap.has(REF))
|
|
41
|
+
this._subMap.set(REF, []);
|
|
42
|
+
this._subMap.get(REF)?.push(subscription);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Stores a new `Subscription` instance associated with the reference specified
|
|
47
|
+
* by the last `register()` method invokation.
|
|
48
|
+
*
|
|
49
|
+
* @param subscription The `Subscription` instance to register.
|
|
50
|
+
*
|
|
51
|
+
* @returns A reference to this `SubscriptionService` instance.
|
|
52
|
+
*/
|
|
53
|
+
append(subscription) {
|
|
54
|
+
if (!this._lastRef)
|
|
55
|
+
throw new SubscriptionError("Illegal Access Error: you must call the register() method before invoking the append() method.");
|
|
56
|
+
return this.register(this._lastRef, subscription);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Unsubscribes and removes all `Subscription` instances associated with the specified reference.
|
|
60
|
+
*
|
|
61
|
+
* @param ref The reference for which to remove all `Subscription` instances.
|
|
62
|
+
* Can be either a string or an `Identifiable` object.
|
|
63
|
+
*
|
|
64
|
+
* @returns `true` whether the specified reference exists; `false` otherwise.
|
|
65
|
+
*/
|
|
66
|
+
clearAll(ref) {
|
|
67
|
+
const REF = this.getRef(ref);
|
|
68
|
+
let result = false;
|
|
69
|
+
if (this._lastRef === REF)
|
|
70
|
+
this._lastRef = null;
|
|
71
|
+
if (this._subMap.has(REF)) {
|
|
72
|
+
this._subMap.get(REF)?.forEach(subscription => {
|
|
73
|
+
if (!subscription.closed)
|
|
74
|
+
subscription.unsubscribe();
|
|
75
|
+
});
|
|
76
|
+
this._subMap.delete(REF);
|
|
77
|
+
result = true;
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Returns all `Subscription` instances associated with the specified reference.
|
|
83
|
+
*
|
|
84
|
+
* @param ref The reference for which to remove get `Subscription` instances.
|
|
85
|
+
* Can be either a string or an `Identifiable` object.
|
|
86
|
+
*
|
|
87
|
+
* @returns All `Subscription` instances associated with the specified reference, or
|
|
88
|
+
* `null` whether the specified reference does not exists.
|
|
89
|
+
*/
|
|
90
|
+
get(ref) {
|
|
91
|
+
return this._subMap.get(this.getRef(ref)) || null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @private
|
|
95
|
+
* Returns the string reference for the regsitration process.
|
|
96
|
+
*
|
|
97
|
+
* @param ref The reference to be used the regsitration process.
|
|
98
|
+
* Can be either a string or an `Identifiable` object.
|
|
99
|
+
*
|
|
100
|
+
* @returns the string reference for the regsitration process.
|
|
101
|
+
*/
|
|
102
|
+
getRef(ref) {
|
|
103
|
+
let targetRef;
|
|
104
|
+
if (typeof ref === STRING)
|
|
105
|
+
targetRef = ref;
|
|
106
|
+
else if (ref instanceof IdentifiableComponent)
|
|
107
|
+
targetRef = ref.getID().toString();
|
|
108
|
+
else
|
|
109
|
+
throw new TypeError("ref must be of type of string or Identifiable");
|
|
110
|
+
return targetRef;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc3Vic2NyaXB0aW9uLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9jb3JlL2Fic3RyYWN0L2Fic3RyYWN0LXN1YnNjcmlwdGlvbi1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUlILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwQzs7R0FFRztBQUNILE1BQU0sT0FBZ0IsMkJBQTJCO0lBQWpEO1FBRUk7Ozs7V0FJRztRQUNLLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBRXZDOzs7V0FHRztRQUNLLFlBQU8sR0FBcUMsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFtRi9GLENBQUM7SUFqRkc7Ozs7Ozs7O09BUUc7SUFDSSxRQUFRLENBQUMsR0FBMEIsRUFBRSxZQUEwQjtRQUNsRSxNQUFNLEdBQUcsR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFlBQTBCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxnR0FBZ0csQ0FBQyxDQUFDO1FBQ2xKLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksUUFBUSxDQUFDLEdBQTBCO1FBQ3RDLE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxNQUFNLEdBQVksS0FBSyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxHQUFHO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNO29CQUFFLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEdBQUcsQ0FBQyxHQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssTUFBTSxDQUFDLEdBQTBCO1FBQ3JDLElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLE9BQU8sR0FBRyxLQUFLLE1BQU07WUFBRSxTQUFTLEdBQUcsR0FBYSxDQUFDO2FBQ2hELElBQUksR0FBRyxZQUFZLHFCQUFxQjtZQUFFLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7O1lBQzdFLE1BQU0sSUFBSSxTQUFTLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUMxRSxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIFxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElkZW50aWZpYWJsZSwgU3Vic2NyaXB0aW9uTWFuYWdlciB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbkVycm9yIH0gZnJvbSAnLi4vZXJyb3InO1xuaW1wb3J0IHsgSWRlbnRpZmlhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vaW1wbCc7XG5pbXBvcnQgeyBTVFJJTkcgfSBmcm9tICcuLi8uLi91dGlsJztcblxuLyoqXG4gKiBUaGUgYWJzdHJhY3QgY2xhc3MgZm9yIGFsbCBzZXJ2aWNlcyB0aGF0IGltcGxlbWVudCB0aGUgYFN1YnNjcmlwdGlvbk1hbmFnZXJgIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3Vic2NyaXB0aW9uTWFuYWdlciBpbXBsZW1lbnRzIFN1YnNjcmlwdGlvbk1hbmFnZXIge1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBTdG9yZXMgYW4gaW50ZXJuYWwgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IHJlZmVyZW5jZSB1c2VkIHdpdGggdGhlIGByZWdpc3RlcigpYFxuICAgICAqIG1ldGhvZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9sYXN0UmVmOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogVGhlIGludGVybmFsIGBTdWJzY3JpcHRpb25gIGluc3RhbmNlcyBzdG9yYWdlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3N1Yk1hcDogTWFwPHN0cmluZywgQXJyYXk8U3Vic2NyaXB0aW9uPj4gPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8U3Vic2NyaXB0aW9uPj4oKTtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCByZWZlcmVuY2UuXG4gICAgICogXG4gICAgICogQHBhcmFtIHJlZiBUaGUgcmVmZXJlbmNlIGZvciB3aGljaCB0byBzdG9yZSBhIG5ldyBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZS5cbiAgICAgKiAgICAgICAgICAgIENhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gYElkZW50aWZpYWJsZWAgb2JqZWN0LlxuICAgICAqIEBwYXJhbSBzdWJzY3JpcHRpb24gVGhlIGBTdWJzY3JpcHRpb25gIGluc3RhbmNlIHRvIHJlZ2lzdGVyLlxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoaXMgYFN1YnNjcmlwdGlvblNlcnZpY2VgIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3RlcihyZWY6IHN0cmluZyB8IElkZW50aWZpYWJsZSwgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24pOiBTdWJzY3JpcHRpb25NYW5hZ2VyIHtcbiAgICAgICAgY29uc3QgUkVGOiBzdHJpbmcgPSB0aGlzLmdldFJlZihyZWYpO1xuICAgICAgICB0aGlzLl9sYXN0UmVmID0gUkVGO1xuICAgICAgICBpZiAoIXRoaXMuX3N1Yk1hcC5oYXMoUkVGKSkgdGhpcy5fc3ViTWFwLnNldChSRUYsIFtdKTtcbiAgICAgICAgdGhpcy5fc3ViTWFwLmdldChSRUYpPy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZmVyZW5jZSBzcGVjaWZpZWRcbiAgICAgKiBieSB0aGUgbGFzdCBgcmVnaXN0ZXIoKWAgbWV0aG9kIGludm9rYXRpb24uXG4gICAgICogXG4gICAgICogQHBhcmFtIHN1YnNjcmlwdGlvbiBUaGUgYFN1YnNjcmlwdGlvbmAgaW5zdGFuY2UgdG8gcmVnaXN0ZXIuXG4gICAgICogXG4gICAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhpcyBgU3Vic2NyaXB0aW9uU2VydmljZWAgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIGFwcGVuZChzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbik6IFN1YnNjcmlwdGlvbk1hbmFnZXIge1xuICAgICAgICBpZiAoIXRoaXMuX2xhc3RSZWYpIHRocm93IG5ldyBTdWJzY3JpcHRpb25FcnJvcihcIklsbGVnYWwgQWNjZXNzIEVycm9yOiB5b3UgbXVzdCBjYWxsIHRoZSByZWdpc3RlcigpIG1ldGhvZCBiZWZvcmUgaW52b2tpbmcgdGhlIGFwcGVuZCgpIG1ldGhvZC5cIik7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyKHRoaXMuX2xhc3RSZWYsIHN1YnNjcmlwdGlvbik7XG4gICAgfVxuIFxuICAgIC8qKlxuICAgICAqIFVuc3Vic2NyaWJlcyBhbmQgcmVtb3ZlcyBhbGwgYFN1YnNjcmlwdGlvbmAgaW5zdGFuY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZS5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gcmVmIFRoZSByZWZlcmVuY2UgZm9yIHdoaWNoIHRvIHJlbW92ZSBhbGwgYFN1YnNjcmlwdGlvbmAgaW5zdGFuY2VzLlxuICAgICAqICAgICAgICAgICAgQ2FuIGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBgSWRlbnRpZmlhYmxlYCBvYmplY3QuXG4gICAgICogXG4gICAgICogQHJldHVybnMgYHRydWVgIHdoZXRoZXIgdGhlIHNwZWNpZmllZCByZWZlcmVuY2UgZXhpc3RzOyBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXJBbGwocmVmOiBzdHJpbmcgfCBJZGVudGlmaWFibGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgUkVGOiBzdHJpbmcgPSB0aGlzLmdldFJlZihyZWYpO1xuICAgICAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLl9sYXN0UmVmID09PSBSRUYpIHRoaXMuX2xhc3RSZWYgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5fc3ViTWFwLmhhcyhSRUYpKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJNYXAuZ2V0KFJFRik/LmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXN1YnNjcmlwdGlvbi5jbG9zZWQpIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fc3ViTWFwLmRlbGV0ZShSRUYpO1xuICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYWxsIGBTdWJzY3JpcHRpb25gIGluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCByZWZlcmVuY2UuXG4gICAgICogXG4gICAgICogQHBhcmFtIHJlZiBUaGUgcmVmZXJlbmNlIGZvciB3aGljaCB0byByZW1vdmUgZ2V0IGBTdWJzY3JpcHRpb25gIGluc3RhbmNlcy5cbiAgICAgKiAgICAgICAgICAgIENhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gYElkZW50aWZpYWJsZWAgb2JqZWN0LlxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIEFsbCBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcmVmZXJlbmNlLCBvciBcbiAgICAgKiAgICAgICAgICBgbnVsbGAgd2hldGhlciB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZSBkb2VzIG5vdCBleGlzdHMuXG4gICAgICovXG4gICAgcHVibGljIGdldChyZWY6IHN0cmluZyB8IElkZW50aWZpYWJsZSk6IEFycmF5PFN1YnNjcmlwdGlvbj4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1Yk1hcC5nZXQodGhpcy5nZXRSZWYocmVmKSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZSBcbiAgICAgKiBSZXR1cm5zIHRoZSBzdHJpbmcgcmVmZXJlbmNlIGZvciB0aGUgcmVnc2l0cmF0aW9uIHByb2Nlc3MuIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSByZWYgVGhlIHJlZmVyZW5jZSB0byBiZSB1c2VkIHRoZSByZWdzaXRyYXRpb24gcHJvY2Vzcy4gXG4gICAgICogICAgICAgICAgICBDYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIGBJZGVudGlmaWFibGVgIG9iamVjdC5cbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB0aGUgc3RyaW5nIHJlZmVyZW5jZSBmb3IgdGhlIHJlZ3NpdHJhdGlvbiBwcm9jZXNzLiBcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFJlZihyZWY6IHN0cmluZyB8IElkZW50aWZpYWJsZSk6IHN0cmluZyB7XG4gICAgICAgIGxldCB0YXJnZXRSZWY6IHN0cmluZztcbiAgICAgICAgaWYgKHR5cGVvZiByZWYgPT09IFNUUklORykgdGFyZ2V0UmVmID0gcmVmIGFzIHN0cmluZztcbiAgICAgICAgZWxzZSBpZiAocmVmIGluc3RhbmNlb2YgSWRlbnRpZmlhYmxlQ29tcG9uZW50KSB0YXJnZXRSZWYgPSByZWYuZ2V0SUQoKS50b1N0cmluZygpO1xuICAgICAgICBlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoXCJyZWYgbXVzdCBiZSBvZiB0eXBlIG9mIHN0cmluZyBvciBJZGVudGlmaWFibGVcIik7XG4gICAgICAgIHJldHVybiB0YXJnZXRSZWY7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { VersionImpl } from "../impl/version/version.impl";
|
|
9
|
+
/**
|
|
10
|
+
* The abstract class for all services that implement the `VersionManager` interface.
|
|
11
|
+
*/
|
|
12
|
+
export class AbstractVersionManager {
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new VersionManager object.
|
|
15
|
+
* @param config the reference to the VersionConfig provider.
|
|
16
|
+
*/
|
|
17
|
+
constructor(config) {
|
|
18
|
+
this._version = new VersionImpl(config.major, config.minor, config.patch, config.buildTimestamp);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns the version of the associated Angular project.
|
|
22
|
+
*
|
|
23
|
+
* @return the version of the associated Angular project.
|
|
24
|
+
*/
|
|
25
|
+
getVersion() {
|
|
26
|
+
return this._version;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Returns the build timestamp of the associated Angular project.
|
|
30
|
+
*
|
|
31
|
+
* @return the build timestamp of the associated Angular project.
|
|
32
|
+
*/
|
|
33
|
+
getBuildTimestamp() {
|
|
34
|
+
return this._version.buildTimeStamp;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdmVyc2lvbi1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvY29yZS9hYnN0cmFjdC9hYnN0cmFjdC12ZXJzaW9uLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixzQkFBc0I7SUFPMUM7OztPQUdHO0lBQ0gsWUFBWSxNQUFxQjtRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksV0FBVyxDQUM3QixNQUFNLENBQUMsS0FBSyxFQUNaLE1BQU0sQ0FBQyxLQUFLLEVBQ1osTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNLENBQUMsY0FBYyxDQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluXHJcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgVmVyc2lvbiwgVmVyc2lvbkNvbmZpZywgVmVyc2lvbk1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxcIjtcclxuaW1wb3J0IHsgVmVyc2lvbkltcGwgfSBmcm9tIFwiLi4vaW1wbC92ZXJzaW9uL3ZlcnNpb24uaW1wbFwiO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBhYnN0cmFjdCBjbGFzcyBmb3IgYWxsIHNlcnZpY2VzIHRoYXQgaW1wbGVtZW50IHRoZSBgVmVyc2lvbk1hbmFnZXJgIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFZlcnNpb25NYW5hZ2VyIGltcGxlbWVudHMgVmVyc2lvbk1hbmFnZXIge1xyXG5cclxuICAvKipcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZlcnNpb246IFZlcnNpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgVmVyc2lvbk1hbmFnZXIgb2JqZWN0LlxyXG4gICAqIEBwYXJhbSBjb25maWcgdGhlIHJlZmVyZW5jZSB0byB0aGUgVmVyc2lvbkNvbmZpZyBwcm92aWRlci5cclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFZlcnNpb25Db25maWcpIHtcclxuICAgIHRoaXMuX3ZlcnNpb24gPSBuZXcgVmVyc2lvbkltcGwoXHJcbiAgICAgIGNvbmZpZy5tYWpvcixcclxuICAgICAgY29uZmlnLm1pbm9yLFxyXG4gICAgICBjb25maWcucGF0Y2gsXHJcbiAgICAgIGNvbmZpZy5idWlsZFRpbWVzdGFtcFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHZlcnNpb24gb2YgdGhlIGFzc29jaWF0ZWQgQW5ndWxhciBwcm9qZWN0LlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm4gdGhlIHZlcnNpb24gb2YgdGhlIGFzc29jaWF0ZWQgQW5ndWxhciBwcm9qZWN0LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRWZXJzaW9uKCk6IFZlcnNpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZlcnNpb247XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGJ1aWxkIHRpbWVzdGFtcCBvZiB0aGUgYXNzb2NpYXRlZCBBbmd1bGFyIHByb2plY3QuXHJcbiAgICogXHJcbiAgICogQHJldHVybiB0aGUgIGJ1aWxkIHRpbWVzdGFtcCBvZiB0aGUgYXNzb2NpYXRlZCBBbmd1bGFyIHByb2plY3QuXHJcbiAgICovXHJcbiAgcHVibGljIGdldEJ1aWxkVGltZXN0YW1wKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmVyc2lvbi5idWlsZFRpbWVTdGFtcDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './abstract-subscription-manager';
|
|
2
|
+
export * from './abstract-version-manager';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9jb3JlL2Fic3RyYWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3Qtc3Vic2NyaXB0aW9uLW1hbmFnZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0LXZlcnNpb24tbWFuYWdlcic7Il19
|
|
@@ -12,11 +12,18 @@ import { Uuid } from "../../../util";
|
|
|
12
12
|
* Angular Toolbox Subscription Service.
|
|
13
13
|
*/
|
|
14
14
|
export class IdentifiableComponent {
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* A string that represent the class reference for this object.
|
|
17
|
+
* This can be useful to workaround TypeScript compilation obfuscation.
|
|
18
|
+
*
|
|
19
|
+
* @param classRef The class reference for this object.
|
|
20
|
+
*/
|
|
21
|
+
constructor(classRef = undefined) {
|
|
16
22
|
/**
|
|
17
23
|
* @private
|
|
18
24
|
*/
|
|
19
25
|
this._uuid = Uuid.build();
|
|
26
|
+
this._classRef = classRef || this.constructor.name;
|
|
20
27
|
}
|
|
21
28
|
/**
|
|
22
29
|
* Returns the unique identifier for this object.
|
|
@@ -26,6 +33,15 @@ export class IdentifiableComponent {
|
|
|
26
33
|
getID() {
|
|
27
34
|
return this._uuid;
|
|
28
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Returns the class name reference of this object. Can be either the `classRef`
|
|
38
|
+
* paramter of the contructor method, or the constructor `name` property value.
|
|
39
|
+
*
|
|
40
|
+
* @returns the class name reference of this object.
|
|
41
|
+
*/
|
|
42
|
+
getClassRef() {
|
|
43
|
+
return this._classRef;
|
|
44
|
+
}
|
|
29
45
|
}
|
|
30
46
|
;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmlhYmxlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2NvcmUvaW1wbC9sYW5nL2lkZW50aWZpYWJsZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQVk5Qjs7Ozs7T0FLRztJQUNILFlBQVksV0FBK0IsU0FBUztRQVhwRDs7V0FFRztRQUNjLFVBQUssR0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFTeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgUGFzY2FsIEVDSEVNQU5OLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBvdW5kIGluXHJcbiAqIGZ0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IElkZW50aWZpYWJsZSB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbFwiO1xyXG5pbXBvcnQgeyBVdWlkIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxcIjtcclxuXHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKiBUaGUgYmFzZSBjbGFzcyB0aGF0IG11c3QgYmUgZXh0ZW5kZWQgYnkgb2JqZWN0cyB0byBiZSBpbmRlbnRpZmllZCBieSB0aGUgXHJcbiAqIEFuZ3VsYXIgVG9vbGJveCBTdWJzY3JpcHRpb24gU2VydmljZS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBJZGVudGlmaWFibGVDb21wb25lbnQgaW1wbGVtZW50cyBJZGVudGlmaWFibGUge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByaXZhdGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2xhc3NSZWY6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3V1aWQ6IFV1aWQgPSBVdWlkLmJ1aWxkKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBIHN0cmluZyB0aGF0IHJlcHJlc2VudCB0aGUgY2xhc3MgcmVmZXJlbmNlIGZvciB0aGlzIG9iamVjdC5cclxuICAgICAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byB3b3JrYXJvdW5kIFR5cGVTY3JpcHQgY29tcGlsYXRpb24gb2JmdXNjYXRpb24uXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBjbGFzc1JlZiBUaGUgY2xhc3MgcmVmZXJlbmNlIGZvciB0aGlzIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoY2xhc3NSZWY6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuX2NsYXNzUmVmID0gY2xhc3NSZWYgfHwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgb2JqZWN0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiB0aGUgYFV1aWRgIGNsYXNzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0SUQoKTogVXVpZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3V1aWQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgY2xhc3MgbmFtZSByZWZlcmVuY2Ugb2YgdGhpcyBvYmplY3QuIENhbiBiZSBlaXRoZXIgdGhlIGBjbGFzc1JlZmBcclxuICAgICAqIHBhcmFtdGVyIG9mIHRoZSBjb250cnVjdG9yIG1ldGhvZCwgb3IgdGhlIGNvbnN0cnVjdG9yIGBuYW1lYCBwcm9wZXJ0eSB2YWx1ZS5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgdGhlIGNsYXNzIG5hbWUgcmVmZXJlbmNlIG9mIHRoaXMgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q2xhc3NSZWYoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3NSZWY7XHJcbiAgICB9XHJcbn07Il19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './error';
|
|
2
2
|
export * from './impl';
|
|
3
|
-
|
|
3
|
+
export * from './abstract';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9jb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lcnJvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW1wbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QnOyJdfQ==
|
|
@@ -2,4 +2,5 @@ export * from './version';
|
|
|
2
2
|
export * from './ui';
|
|
3
3
|
export * from './lang';
|
|
4
4
|
export * from './mock/http';
|
|
5
|
-
|
|
5
|
+
export * from './subscription';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9idXNpbmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLE1BQU0sQ0FBQztBQUNyQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi92ZXJzaW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi91aSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGFuZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9jay9odHRwJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24nOyJdfQ==
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* fthe LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmlhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvbW9kZWwvYnVzaW5lc3MvbGFuZy9pZGVudGlmaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBsaWNlbnNlXHJcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqXHJcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlIG91bmQgaW5cclxuICogZnRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgVXVpZCB9IGZyb20gXCIuLi8uLi8uLi91dGlsXCI7XHJcblxyXG4vKipcclxuICogYElkZW50aWZpYWJsZWAgb2JqZWN0cyBhcmUgQW5ndWxhciBjb21wb25lbnRzIHRoYXQgY2FuIGJlIGlkZW50aWZpZWQgYnkgYSB1bmlxdWUgVVVJRCBpZGVudGlmaWVyLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWFibGUge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgb2JqZWN0LlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiB0aGUgYFV1aWRgIGNsYXNzLlxyXG4gICAgICovXHJcbiAgICBnZXRJRCgpOiBVdWlkO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGNsYXNzIG5hbWUgcmVmZXJlbmNlIG9mIHRoaXMgb2JqZWN0LlxyXG4gICAgICogVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHdvcmthcm91bmQgVHlwZVNjcmlwdCBjb21waWxhdGlvbiBvYmZ1c2NhdGlvbi5cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgdGhlIGNsYXNzIG5hbWUgcmVmZXJlbmNlIG9mIHRoaXMgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBnZXRDbGFzc1JlZigpOiBzdHJpbmdcclxufSJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './subscription-manager';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9idXNpbmVzcy9zdWJzY3JpcHRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uLW1hbmFnZXInOyJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9idXNpbmVzcy9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiBcbiAqIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9wYXNjYWxlY2hlbWFubi5jb20vYW5ndWxhci10b29sYm94L3Jlc291cmNlcy9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZGVudGlmaWFibGUgfSBmcm9tICcuLi9sYW5nJztcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBBUEkgdG8gaW1wbGVtZW50IHRvIGNyZWF0ZSBBbmd1bGFyIHN1YnNjcmlwdGlvbiBtYW5hZ2VtZW50IG9iamVjdHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uTWFuYWdlciB7XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZXMgYSBuZXcgYFN1YnNjcmlwdGlvbmAgaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcmVmZXJlbmNlLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSByZWYgVGhlIHJlZmVyZW5jZSBmb3Igd2hpY2ggdG8gc3RvcmUgYSBuZXcgYFN1YnNjcmlwdGlvbmAgaW5zdGFuY2UuXG4gICAgICogICAgICAgICAgICBDYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIGBJZGVudGlmaWFibGVgIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uIFRoZSBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZSB0byByZWdpc3Rlci5cbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGlzIGBTdWJzY3JpcHRpb25NYW5hZ2VyYCBvYmplY3QuXG4gICAgICovXG4gICAgcmVnaXN0ZXIocmVmOiBzdHJpbmcgfCBJZGVudGlmaWFibGUsIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKTogU3Vic2NyaXB0aW9uTWFuYWdlcjtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZmVyZW5jZSBzcGVjaWZpZWRcbiAgICAgKiBieSB0aGUgbGFzdCBgcmVnaXN0ZXIoKWAgbWV0aG9kIGludm9rYXRpb24uXG4gICAgICogXG4gICAgICogQHBhcmFtIHN1YnNjcmlwdGlvbiBUaGUgYFN1YnNjcmlwdGlvbmAgaW5zdGFuY2UgdG8gcmVnaXN0ZXIuXG4gICAgICogXG4gICAgICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhpcyBgU3Vic2NyaXB0aW9uTWFuYWdlcmAgb2JqZWN0LlxuICAgICAqL1xuICAgIGFwcGVuZChzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbik6IFN1YnNjcmlwdGlvbk1hbmFnZXI7XG4gXG4gICAgLyoqXG4gICAgICogVW5zdWJzY3JpYmVzIGFuZCByZW1vdmVzIGFsbCBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcmVmZXJlbmNlLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSByZWYgVGhlIHJlZmVyZW5jZSBmb3Igd2hpY2ggdG8gcmVtb3ZlIGFsbCBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZXMuXG4gICAgICogICAgICAgICAgICBDYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIGBJZGVudGlmaWFibGVgIG9iamVjdC5cbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgd2hldGhlciB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZSBleGlzdHM7IGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGNsZWFyQWxsKHJlZjogc3RyaW5nIHwgSWRlbnRpZmlhYmxlKTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYWxsIGBTdWJzY3JpcHRpb25gIGluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCByZWZlcmVuY2UuXG4gICAgICogXG4gICAgICogQHBhcmFtIHJlZiBUaGUgcmVmZXJlbmNlIGZvciB3aGljaCB0byByZW1vdmUgZ2V0IGBTdWJzY3JpcHRpb25gIGluc3RhbmNlcy5cbiAgICAgKiAgICAgICAgICAgIENhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gYElkZW50aWZpYWJsZWAgb2JqZWN0LlxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIEFsbCBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcmVmZXJlbmNlLCBvciBcbiAgICAgKiAgICAgICAgICBgbnVsbGAgd2hldGhlciB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZSBkb2VzIG5vdCBleGlzdHMuXG4gICAgICovXG4gICAgZ2V0KHJlZjogc3RyaW5nIHwgSWRlbnRpZmlhYmxlKTogQXJyYXk8U3Vic2NyaXB0aW9uPiB8IG51bGw7XG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './version';
|
|
2
2
|
export * from './version-config';
|
|
3
3
|
export * from './version-config.provider';
|
|
4
|
-
|
|
4
|
+
export * from './version-manager';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9idXNpbmVzcy92ZXJzaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi92ZXJzaW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi92ZXJzaW9uLWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmVyc2lvbi1jb25maWcucHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZlcnNpb24tbWFuYWdlcic7Il19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10b29sYm94L3NyYy9saWIvbW9kZWwvYnVzaW5lc3MvdmVyc2lvbi92ZXJzaW9uLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBc0JGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IFBhc2NhbCBFQ0hFTUFOTi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cclxuICpcclxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW5cclxuICogdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Bhc2NhbGVjaGVtYW5uLmNvbS9hbmd1bGFyLXRvb2xib3gvcmVzb3VyY2VzL2xpY2Vuc2VcclxuICovXHJcblxyXG5pbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSBcIi4vdmVyc2lvblwiO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBpbnRlcmZhY2UgaW1wbGVtZW50ZWQgYnkgc2VydmljZXMgdGhhdCBzcGVjaWZpZSB0aGUgc2VtYW50aWMgdmVyc2lvbmluZyBvZiBhbiBBbmd1bGFyIGFwcGxpY2F0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBWZXJzaW9uTWFuYWdlciB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHZlcnNpb24gb2YgdGhlIGFzc29jaWF0ZWQgQW5ndWxhciBwcm9qZWN0LlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm4gdGhlIHZlcnNpb24gb2YgdGhlIGFzc29jaWF0ZWQgQW5ndWxhciBwcm9qZWN0LlxyXG4gICAqL1xyXG4gIGdldFZlcnNpb24oKTogVmVyc2lvbjtcclxuICBcclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBidWlsZCB0aW1lc3RhbXAgb2YgdGhlIGFzc29jaWF0ZWQgQW5ndWxhciBwcm9qZWN0LlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm4gdGhlICBidWlsZCB0aW1lc3RhbXAgb2YgdGhlIGFzc29jaWF0ZWQgQW5ndWxhciBwcm9qZWN0LlxyXG4gICAqL1xyXG4gIGdldEJ1aWxkVGltZXN0YW1wKCk6IG51bWJlcjtcclxufTsiXX0=
|
|
@@ -6,109 +6,17 @@
|
|
|
6
6
|
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
7
|
*/
|
|
8
8
|
import { Injectable } from '@angular/core';
|
|
9
|
-
import {
|
|
10
|
-
import { IdentifiableComponent } from '../../../core/impl';
|
|
9
|
+
import { AbstractSubscriptionManager } from '../../../core';
|
|
11
10
|
import * as i0 from "@angular/core";
|
|
12
11
|
/**
|
|
13
12
|
* A lightweight service that helps to manage unregistration issues of Angular subscriptions.
|
|
14
13
|
*/
|
|
15
|
-
export class SubscriptionService {
|
|
16
|
-
constructor() {
|
|
17
|
-
/**
|
|
18
|
-
* @private
|
|
19
|
-
* Stores an internal reference to the last reference used with the `register()`
|
|
20
|
-
* method.
|
|
21
|
-
*/
|
|
22
|
-
this._lastRef = null;
|
|
23
|
-
/**
|
|
24
|
-
* @private
|
|
25
|
-
* The internal `Subscription` instances storage.
|
|
26
|
-
*/
|
|
27
|
-
this._subMap = new Map();
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Stores a new `Subscription` instance associated with the specified reference.
|
|
31
|
-
*
|
|
32
|
-
* @param ref The reference for which to store a new `Subscription` instance.
|
|
33
|
-
* Can be either a string or an `Identifiable` object.
|
|
34
|
-
* @param subscription The `Subscription` instance to register.
|
|
35
|
-
*
|
|
36
|
-
* @returns A reference to this `SubscriptionService` instance.
|
|
37
|
-
*/
|
|
38
|
-
register(ref, subscription) {
|
|
39
|
-
const REF = this.getRef(ref);
|
|
40
|
-
this._lastRef = REF;
|
|
41
|
-
if (!this._subMap.has(REF))
|
|
42
|
-
this._subMap.set(REF, []);
|
|
43
|
-
this._subMap.get(REF)?.push(subscription);
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Stores a new `Subscription` instance associated with the reference specified
|
|
48
|
-
* by the last `register()` method invokation.
|
|
49
|
-
*
|
|
50
|
-
* @param subscription The `Subscription` instance to register.
|
|
51
|
-
*
|
|
52
|
-
* @returns A reference to this `SubscriptionService` instance.
|
|
53
|
-
*/
|
|
54
|
-
append(subscription) {
|
|
55
|
-
if (!this._lastRef)
|
|
56
|
-
throw new SubscriptionError("Illegal Access Error: you must call the register() method before invoking the append() method.");
|
|
57
|
-
return this.register(this._lastRef, subscription);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Unsubscribes and removes all `Subscription` instances associated with the specified reference.
|
|
61
|
-
*
|
|
62
|
-
* @param ref The reference for which to remove all `Subscription` instances.
|
|
63
|
-
* Can be either a string or an `Identifiable` object.
|
|
64
|
-
*
|
|
65
|
-
* @returns `true` whether the specified reference exists; `false` otherwise.
|
|
66
|
-
*/
|
|
67
|
-
clearAll(ref) {
|
|
68
|
-
const REF = this.getRef(ref);
|
|
69
|
-
let result = false;
|
|
70
|
-
if (this._lastRef === REF)
|
|
71
|
-
this._lastRef = null;
|
|
72
|
-
if (this._subMap.has(REF)) {
|
|
73
|
-
this._subMap.get(REF)?.forEach(subscription => {
|
|
74
|
-
if (!subscription.closed)
|
|
75
|
-
subscription.unsubscribe();
|
|
76
|
-
});
|
|
77
|
-
this._subMap.delete(REF);
|
|
78
|
-
result = true;
|
|
79
|
-
}
|
|
80
|
-
return result;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Returns all `Subscription` instances associated with the specified reference.
|
|
84
|
-
*
|
|
85
|
-
* @param ref The reference for which to remove get `Subscription` instances.
|
|
86
|
-
* Can be either a string or an `Identifiable` object.
|
|
87
|
-
*
|
|
88
|
-
* @returns All `Subscription` instances associated with the specified reference, or
|
|
89
|
-
* `null` whether the specified reference does not exists.
|
|
90
|
-
*/
|
|
91
|
-
get(ref) {
|
|
92
|
-
return this._subMap.get(this.getRef(ref)) || null;
|
|
93
|
-
}
|
|
14
|
+
export class SubscriptionService extends AbstractSubscriptionManager {
|
|
94
15
|
/**
|
|
95
16
|
* @private
|
|
96
|
-
* Returns the string reference for the regsitration process.
|
|
97
|
-
*
|
|
98
|
-
* @param ref The reference to be used the regsitration process.
|
|
99
|
-
* Can be either a string or an `Identifiable` object.
|
|
100
|
-
*
|
|
101
|
-
* @returns the string reference for the regsitration process.
|
|
102
17
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (typeof ref === "string")
|
|
106
|
-
targetRef = ref;
|
|
107
|
-
else if (ref instanceof IdentifiableComponent)
|
|
108
|
-
targetRef = ref.getID().toString();
|
|
109
|
-
else
|
|
110
|
-
throw new TypeError("ref must be of type of string or Identifiable");
|
|
111
|
-
return targetRef;
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
112
20
|
}
|
|
113
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
114
22
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: SubscriptionService, providedIn: 'root' }); }
|
|
@@ -118,5 +26,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
118
26
|
args: [{
|
|
119
27
|
providedIn: 'root'
|
|
120
28
|
}]
|
|
121
|
-
}] });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
}], ctorParameters: () => [] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9tb2RlbC9zZXJ2aWNlL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsMkJBQTJCO0lBRWhFOztPQUVHO0lBQ0g7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBUFEsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FMaEIsTUFBTTs7MkZBS1QsbUJBQW1CO2tCQU4vQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBQYXNjYWwgRUNIRU1BTk4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gXG4gKiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vcGFzY2FsZWNoZW1hbm4uY29tL2FuZ3VsYXItdG9vbGJveC9yZXNvdXJjZXMvbGljZW5zZVxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuLyoqXG4gKiBBIGxpZ2h0d2VpZ2h0IHNlcnZpY2UgdGhhdCBoZWxwcyB0byBtYW5hZ2UgdW5yZWdpc3RyYXRpb24gaXNzdWVzIG9mIEFuZ3VsYXIgc3Vic2NyaXB0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1YnNjcmlwdGlvblNlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbk1hbmFnZXIge1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -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=
|