es-guard
Version:
A tool to check JavaScript compatibility with target environments
70 lines • 1.72 kB
JavaScript
// Static global state variables
export let verboseMode = false;
export let debugMode = false;
export let projectType = undefined;
export let projectTypeDetected = false;
/**
* Set the global verbose mode
*/
export const setVerboseMode = (enabled) => {
verboseMode = enabled;
};
/**
* Set the global debug mode
*/
export const setDebugMode = (enabled) => {
debugMode = enabled;
};
/**
* Get the entire global state
*/
export const getGlobalState = () => {
return {
verbose: verboseMode,
debug: debugMode,
projectType,
projectTypeDetected,
};
};
/**
* Set multiple global state options at once
*/
export const setGlobalState = (options) => {
if (options.verbose !== undefined)
verboseMode = options.verbose;
if (options.debug !== undefined)
debugMode = options.debug;
if (options.projectType !== undefined)
projectType = options.projectType;
if (options.projectTypeDetected !== undefined)
projectTypeDetected = options.projectTypeDetected;
};
/**
* Reset global state to defaults
*/
export const resetGlobalState = () => {
verboseMode = false;
debugMode = false;
projectType = undefined;
projectTypeDetected = false;
};
/**
* Set the detected project type globally
*/
export const setProjectType = (detectedType) => {
projectType = detectedType;
projectTypeDetected = true;
};
/**
* Get the detected project type (lazy detection if not already done)
*/
export const getProjectType = () => {
return projectType;
};
/**
* Check if project type has been detected
*/
export const isProjectTypeDetected = () => {
return projectTypeDetected;
};
//# sourceMappingURL=globalState.js.map