1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 16:23:44 +00:00

Switch to MonoTypeOperatorFunction

This commit is contained in:
Justin Baur
2024-05-25 12:21:06 -04:00
parent a0527cf44b
commit aa3d42d3a5
4 changed files with 9 additions and 17 deletions

View File

@@ -3,7 +3,7 @@
* @jest-environment ../../libs/shared/test.environment.ts * @jest-environment ../../libs/shared/test.environment.ts
*/ */
import { OperatorFunction, Subject, firstValueFrom, identity } from "rxjs"; import { Subject, firstValueFrom, identity } from "rxjs";
import { DeriveDefinition } from "@bitwarden/common/platform/state"; import { DeriveDefinition } from "@bitwarden/common/platform/state";
// eslint-disable-next-line import/no-restricted-paths -- needed to define a derive definition // eslint-disable-next-line import/no-restricted-paths -- needed to define a derive definition
@@ -41,11 +41,7 @@ describe("foreground background derived state interactions", () => {
parentState$ = new Subject<string>(); parentState$ = new Subject<string>();
background = new BackgroundDerivedState(parentState$, deriveDefinition, portName, {}); background = new BackgroundDerivedState(parentState$, deriveDefinition, portName, {});
foreground = new ForegroundDerivedState<Date>( foreground = new ForegroundDerivedState<Date>(deriveDefinition, portName, identity);
deriveDefinition,
portName,
identity as OperatorFunction<string, Date>,
);
}); });
afterEach(() => { afterEach(() => {

View File

@@ -1,4 +1,4 @@
import { Observable, OperatorFunction } from "rxjs"; import { MonoTypeOperatorFunction, Observable } from "rxjs";
import { DeriveDefinition, DerivedState } from "@bitwarden/common/platform/state"; import { DeriveDefinition, DerivedState } from "@bitwarden/common/platform/state";
// eslint-disable-next-line import/no-restricted-paths -- extending this class for this client // eslint-disable-next-line import/no-restricted-paths -- extending this class for this client
@@ -8,7 +8,7 @@ import { DerivedStateDependencies } from "@bitwarden/common/src/types/state";
import { ForegroundDerivedState } from "./foreground-derived-state"; import { ForegroundDerivedState } from "./foreground-derived-state";
export class ForegroundDerivedStateProvider extends DefaultDerivedStateProvider { export class ForegroundDerivedStateProvider extends DefaultDerivedStateProvider {
constructor(private pipeCustomizer: OperatorFunction<unknown, unknown>) { constructor(private pipeCustomizer: MonoTypeOperatorFunction<unknown>) {
super(); super();
} }
override buildDerivedState<TFrom, TTo, TDeps extends DerivedStateDependencies>( override buildDerivedState<TFrom, TTo, TDeps extends DerivedStateDependencies>(
@@ -19,7 +19,7 @@ export class ForegroundDerivedStateProvider extends DefaultDerivedStateProvider
return new ForegroundDerivedState( return new ForegroundDerivedState(
deriveDefinition, deriveDefinition,
deriveDefinition.buildCacheKey(), deriveDefinition.buildCacheKey(),
this.pipeCustomizer as OperatorFunction<TFrom, TTo>, this.pipeCustomizer as MonoTypeOperatorFunction<TTo>,
); );
} }
} }

View File

@@ -1,5 +1,5 @@
import { awaitAsync } from "@bitwarden/common/../spec"; import { awaitAsync } from "@bitwarden/common/../spec";
import { OperatorFunction, identity } from "rxjs"; import { identity } from "rxjs";
import { DeriveDefinition } from "@bitwarden/common/platform/state"; import { DeriveDefinition } from "@bitwarden/common/platform/state";
// eslint-disable-next-line import/no-restricted-paths -- needed to define a derive definition // eslint-disable-next-line import/no-restricted-paths -- needed to define a derive definition
@@ -22,11 +22,7 @@ describe("ForegroundDerivedState", () => {
beforeEach(() => { beforeEach(() => {
mockPorts(); mockPorts();
sut = new ForegroundDerivedState<Date>( sut = new ForegroundDerivedState<Date>(deriveDefinition, portName, identity);
deriveDefinition,
portName,
identity as OperatorFunction<unknown, Date>,
);
}); });
afterEach(() => { afterEach(() => {

View File

@@ -1,6 +1,6 @@
import { import {
MonoTypeOperatorFunction,
Observable, Observable,
OperatorFunction,
ReplaySubject, ReplaySubject,
defer, defer,
filter, filter,
@@ -28,7 +28,7 @@ export class ForegroundDerivedState<TTo> implements DerivedState<TTo> {
constructor( constructor(
private deriveDefinition: DeriveDefinition<unknown, TTo, DerivedStateDependencies>, private deriveDefinition: DeriveDefinition<unknown, TTo, DerivedStateDependencies>,
private portName: string, private portName: string,
private pipeCustomizer: OperatorFunction<unknown, TTo>, private pipeCustomizer: MonoTypeOperatorFunction<TTo>,
) { ) {
const latestValueFromPort$ = (port: chrome.runtime.Port) => { const latestValueFromPort$ = (port: chrome.runtime.Port) => {
return fromChromeEvent(port.onMessage).pipe( return fromChromeEvent(port.onMessage).pipe(