import { v4 as uuid } from 'uuid';
import { NodeGroupTypeEnums } from '../enums/unitySystemEnums';
export default class GroupNode {
    id;
    isGroupNode;
    groupType;
    children;
    isExpanded;
    parentId;
    parentGroupId;
    properties;
    isOutlierGroup;
    hideEmptyGroups;
    constructor(node) {
        this.id = node.id || uuid();
        this.isGroupNode = true;
        this.hideEmptyGroups = node.hideEmptyGroups || false;
        this.groupType = node.groupType || NodeGroupTypeEnums.Static;
        this.children = node.children || [];
        this.isExpanded = node.isExpanded || false;
        this.parentId = node.parentId || null;
        this.parentGroupId = node.parentGroupId || null;
        this.properties = node.properties
            ? Object.assign({ propertyMapping: null, jsonLogic: null, icon: {
                    name: 'GroupedListIcon',
                    type: '',
                    color: ''
                } }, node.properties) : {
            propertyMapping: null,
            jsonLogic: null,
            icon: {
                name: 'GroupedListIcon',
                type: '',
                color: ''
            }
        };
        this.isOutlierGroup = node.isOutlierGroup || false;
    }
}
//# sourceMappingURL=GroupNode.js.map