From 69857a057a4612086d08b89a6eb99cddef20d2dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=9C=A8=20Audrey=20=E2=9C=A8?= Date: Thu, 24 Apr 2025 11:15:32 -0400 Subject: [PATCH] code cleanup --- .../src/credential-generator.component.ts | 5 +---- ...fault-credential-generator.service.spec.ts | 1 + .../default-credential-generator.service.ts | 19 ++++++++++++------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/libs/tools/generator/components/src/credential-generator.component.ts b/libs/tools/generator/components/src/credential-generator.component.ts index 18608ef67ce..65c887c9694 100644 --- a/libs/tools/generator/components/src/credential-generator.component.ts +++ b/libs/tools/generator/components/src/credential-generator.component.ts @@ -23,7 +23,6 @@ import { ReplaySubject, Subject, takeUntil, - tap, withLatestFrom, } from "rxjs"; @@ -234,9 +233,7 @@ export class CredentialGeneratorComponent implements OnInit, OnChanges, OnDestro // wire up the generator this.generatorService .generate$({ - on$: this.generate$.pipe( - tap((g) => this.log.debug(g, "generate request issued by component")), - ), + on$: this.generate$, account$: this.account$, }) .pipe( diff --git a/libs/tools/generator/core/src/services/default-credential-generator.service.spec.ts b/libs/tools/generator/core/src/services/default-credential-generator.service.spec.ts index 1b7831c910c..d870f4ead41 100644 --- a/libs/tools/generator/core/src/services/default-credential-generator.service.spec.ts +++ b/libs/tools/generator/core/src/services/default-credential-generator.service.spec.ts @@ -44,6 +44,7 @@ describe("DefaultCredentialGeneratorService", () => { beforeEach(() => { mockLogger = { info: jest.fn(), + debug: jest.fn(), panic: jest.fn().mockImplementationOnce((c, m) => { throw new Error(m ?? c); }), diff --git a/libs/tools/generator/core/src/services/default-credential-generator.service.ts b/libs/tools/generator/core/src/services/default-credential-generator.service.ts index 727a04212d3..f97225590e3 100644 --- a/libs/tools/generator/core/src/services/default-credential-generator.service.ts +++ b/libs/tools/generator/core/src/services/default-credential-generator.service.ts @@ -1,5 +1,6 @@ import { EMPTY, + combineLatest, concatMap, distinctUntilChanged, filter, @@ -54,7 +55,7 @@ export class DefaultCredentialGeneratorService implements CredentialGeneratorSer const account$ = dependencies.account$.pipe(shareReplay({ refCount: true, bufferSize: 1 })); // load algorithm metadata - const algorithm$ = on$.pipe( + const metadata$ = on$.pipe( switchMap((requested) => { if (isAlgorithmRequest(requested)) { return of(requested.algorithm); @@ -71,17 +72,21 @@ export class DefaultCredentialGeneratorService implements CredentialGeneratorSer shareReplay({ refCount: true, bufferSize: 1 }), ); - // load the active profile's algorithm settings - const settings$ = on$.pipe( + // load the active profile's settings + const profile$ = on$.pipe( map((request) => request.profile ?? Profile.account), distinctUntilChanged(), - withLatestReady(algorithm$), - switchMap(([profile, meta]) => this.settings(meta, { account$ }, profile)), + ); + const settings$ = combineLatest([metadata$, profile$]).pipe( + tap(([metadata, profile]) => + this.log.debug({ algorithm: metadata.id, profile }, "settings loaded"), + ), + switchMap(([metadata, profile]) => this.settings(metadata, { account$ }, profile)), ); // load the algorithm's engine - const engine$ = algorithm$.pipe( - tap((meta) => this.log.info({ algorithm: meta.id }, "engine selected")), + const engine$ = metadata$.pipe( + tap((metadata) => this.log.debug({ algorithm: metadata.id }, "engine selected")), map((meta) => meta.engine.create(this.provide.generator)), );