From f6dbf5294c12e76eb721d54e4b989660d0e87fd8 Mon Sep 17 00:00:00 2001 From: Matt Gibson Date: Thu, 17 Nov 2022 14:12:38 -0500 Subject: [PATCH] Check all requirements while duck typing --- .../session-sync-observable/browser-session.decorator.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/browser/src/decorators/session-sync-observable/browser-session.decorator.ts b/apps/browser/src/decorators/session-sync-observable/browser-session.decorator.ts index 351343910f1..5d9d56c1d71 100644 --- a/apps/browser/src/decorators/session-sync-observable/browser-session.decorator.ts +++ b/apps/browser/src/decorators/session-sync-observable/browser-session.decorator.ts @@ -24,7 +24,11 @@ export function browserSession>(constructor: TCto // Require state service to be injected const stateService: BrowserStateService = [this as any] .concat(args) - .find((arg) => typeof arg.setInSessionMemory === "function"); + .find( + (arg) => + typeof arg.setInSessionMemory === "function" && + typeof arg.getFromSessionMemory === "function" + ); if (!stateService) { throw new Error( `Cannot decorate ${constructor.name} with browserSession, Browser's StateService must be injected`