@zero-scripts/core
Version:
Framework for creating presets, configurations and extensions
37 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getConfigurationMeta = void 0;
const types_1 = require("./types");
function getConfigurationMeta(configuration) {
const workspaceConfig = configuration.workspace, workflowConfig = configuration.workflow;
let workspaceType = types_1.WorkspaceConfigurationType.WRONG;
if (Array.isArray(workspaceConfig)) {
workspaceType = types_1.WorkspaceConfigurationType.ARRAY;
}
else if (typeof workspaceConfig === 'object') {
workspaceType = types_1.WorkspaceConfigurationType.MAPPED_ARRAYS;
}
let workflowType = types_1.WorkflowConfigurationType.WRONG;
if (Array.isArray(workflowConfig)) {
workflowType = types_1.WorkflowConfigurationType.ARRAY;
}
else if (typeof workflowConfig === 'object') {
if ('useWorkspace' in workflowConfig && 'taskFlow' in workflowConfig) {
workflowType = types_1.WorkflowConfigurationType.OBJECT;
}
else {
workflowType = types_1.WorkflowConfigurationType.MAPPED_OBJECTS;
}
}
else if (workflowConfig === undefined) {
workflowType = types_1.WorkflowConfigurationType.UNSET;
}
return {
isWorkspaceDefined: Boolean(workspaceConfig),
workspaceType,
isWorkflowDefined: Boolean(workflowConfig),
workflowType
};
}
exports.getConfigurationMeta = getConfigurationMeta;
//# sourceMappingURL=getConfigurationMeta.js.map