"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModelTypes = void 0;
/********************************************************************************
 * Copyright (c) 2022-2023 STMicroelectronics and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/
/* eslint-disable @typescript-eslint/padding-line-between-statements */
var ModelTypes;
(function (ModelTypes) {
    ModelTypes.LABEL_HEADING = 'label:heading';
    ModelTypes.LABEL_TEXT = 'label:text';
    ModelTypes.COMP_HEADER = 'comp:header';
    ModelTypes.LABEL_ICON = 'label:icon';
    ModelTypes.WEIGHTED_EDGE = 'edge:weighted';
    ModelTypes.ICON = 'icon';
    ModelTypes.ACTIVITY_NODE = 'activityNode';
    ModelTypes.DECISION_NODE = `${ModelTypes.ACTIVITY_NODE}:decision`;
    ModelTypes.MERGE_NODE = `${ModelTypes.ACTIVITY_NODE}:merge`;
    ModelTypes.FORK_NODE = `${ModelTypes.ACTIVITY_NODE}:fork`;
    ModelTypes.JOIN_NODE = `${ModelTypes.ACTIVITY_NODE}:join`;
    ModelTypes.TASK = 'task';
    ModelTypes.MANUAL_TASK = `${ModelTypes.TASK}:manual`;
    ModelTypes.AUTOMATED_TASK = `${ModelTypes.TASK}:automated`;
    ModelTypes.CATEGORY = 'category';
    ModelTypes.STRUCTURE = 'struct';
    function toNodeType(type) {
        switch (type) {
            case ModelTypes.DECISION_NODE:
                return 'decisionNode';
            case ModelTypes.MERGE_NODE:
                return 'mergeNode';
            case ModelTypes.FORK_NODE:
                return 'forkNode';
            case ModelTypes.JOIN_NODE:
                return 'joinNode';
            case ModelTypes.MANUAL_TASK:
                return 'manual';
            case ModelTypes.AUTOMATED_TASK:
                return 'automated';
            case ModelTypes.CATEGORY:
                return 'category';
            default:
                return 'unknown';
        }
    }
    ModelTypes.toNodeType = toNodeType;
})(ModelTypes = exports.ModelTypes || (exports.ModelTypes = {}));
//# sourceMappingURL=model-types.js.map