From 29a4738cd90d324006b260360db735c907b745bd Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Tue, 15 Aug 2023 16:28:10 +0200 Subject: [PATCH] backend-test-utils: detect internal features Signed-off-by: Vincenzo Scamporlino --- .../src/next/wiring/TestBackend.ts | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/backend-test-utils/src/next/wiring/TestBackend.ts b/packages/backend-test-utils/src/next/wiring/TestBackend.ts index 13c05eb61c..97da3543ae 100644 --- a/packages/backend-test-utils/src/next/wiring/TestBackend.ts +++ b/packages/backend-test-utils/src/next/wiring/TestBackend.ts @@ -103,13 +103,16 @@ function createExtensionPointTestModules( `Failed to add feature, invalid type '${feature.$$type}'`, ); } - const internalFeature = feature as InternalBackendFeature; - if (internalFeature.version !== 'v1') { - throw new Error( - `Failed to add feature, invalid version '${internalFeature.version}'`, - ); + + if (isInternalBackendFeature(feature)) { + if (feature.version !== 'v1') { + throw new Error( + `Failed to add feature, invalid version '${feature.version}'`, + ); + } + return feature.getRegistrations(); } - return internalFeature.getRegistrations(); + return []; }); const extensionPointMap = new Map( @@ -287,3 +290,11 @@ function registerTestHooks() { } registerTestHooks(); + +function isInternalBackendFeature( + feature: BackendFeature, +): feature is InternalBackendFeature { + return ( + typeof (feature as InternalBackendFeature).getRegistrations === 'function' + ); +}