File

src/lib/version.service.ts

Index

Properties
Methods

Methods

Public get
get()
Returns : KeyValue<Version>
Public setModule
setModule(moduleId: string, version: Version)
Parameters :
Name Type Optional
moduleId string No
version Version No
Returns : void

Properties

Public update$
Default value : new Subject<void>()
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,
                }), {});
  }

}

results matching ""

    No results matching ""