From b4419b5de320a55f5505d4ad3cf0316daa152df6 Mon Sep 17 00:00:00 2001 From: KoloMl Date: Sun, 5 Apr 2026 18:33:34 +0400 Subject: [PATCH] Validate `exclusive` and `conditional` as optional booleans --- src/lib/extension/transporting/validators.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib/extension/transporting/validators.ts b/src/lib/extension/transporting/validators.ts index 510a591..53ceceb 100644 --- a/src/lib/extension/transporting/validators.ts +++ b/src/lib/extension/transporting/validators.ts @@ -32,6 +32,14 @@ function validateOptionalArray(value: unknown): boolean { return typeof value === 'undefined' || value === null || Array.isArray(value); } +/** + * Check if the following value is not set or is a valid boolean. + * @param value Value to be checked. + */ +function validateOptionalBoolean(value: unknown): boolean { + return typeof value === 'undefined' || typeof value === 'boolean'; +} + /** * Map of validators for each entity. Function should throw the error if validation failed. */ @@ -73,7 +81,8 @@ const entitiesValidators: EntitiesValidationMap = { !validateRequiredString(importedObject?.id) || !validateRequiredString(importedObject?.name) || !validateOptionalArray(importedObject?.tags) - || typeof importedObject.conditional !== 'boolean' + || !validateOptionalBoolean(importedObject?.exclusive) + || !validateOptionalBoolean(importedObject?.conditional) || !validateOptionalArray(importedObject?.requiredTags) ) { throw new Error('Invalid preset format detected!');