Adds utils for target opening method (#289)

This commit is contained in:
Alicia Sykes
2021-10-23 01:18:56 +01:00
parent 38fc1e429e
commit 3ac29d2a98
3 changed files with 47 additions and 11 deletions

View File

@@ -7,6 +7,8 @@ import {
theme as defaultTheme,
language as defaultLanguage,
} from '@/utils/defaults';
import ErrorHandler from '@/utils/ErrorHandler';
import ConfigSchema from '@/utils/ConfigSchema.json';
/**
* Initiates the Accumulator class and generates a complete config object
@@ -97,3 +99,17 @@ export const getUsersLanguage = () => {
const langObj = languages.find(lang => lang.code === langCode);
return langObj;
};
/**
* validator for item target attribute
* Uses enum values from config schema, and shows warning if invalid
* @param {String} target
* @returns {Boolean} isValid
*/
export const targetValidator = (target) => {
const acceptedTargets = ConfigSchema.properties.sections.items
.properties.items.items.properties.target.enum;
const isTargetValid = acceptedTargets.indexOf(target) !== -1;
if (!isTargetValid) ErrorHandler(`Unknown target value: ${target}`);
return isTargetValid;
};