src/lib/version.service.ts
Properties |
|
Methods |
| Public get |
get()
|
|
Defined in src/lib/version.service.ts:22
|
|
Returns :
KeyValue<Version>
|
| Public setModule |
setModule(moduleId: string, version: Version)
|
|
Defined in src/lib/version.service.ts:17
|
|
Returns :
void
|
| Public update$ |
Default value : new Subject<void>()
|
|
Defined in src/lib/version.service.ts:14
|
import { Injectable } from '@angular/core';
import { KeyValue } from '@rxap/utilities';
import { Subject } from 'rxjs';
export interface Version {
name: string;
hash: string;
semantic: string;
}
@Injectable({ providedIn: 'root' })
export class VersionService {
public update$ = new Subject<void>();
private modules = new Map<string, Version>();
public setModule(moduleId: string, version: Version): void {
this.modules.set(moduleId, version);
this.update$.next();
}
public get(): KeyValue<Version> {
return Array.from(this.modules.entries())
.reduce((map, [ moduleId, version ]) => ({
...map,
[moduleId]: version,
}), {});
}
}