<commit_before>//
//  SECGroupGraphic.swift
//  SwiftyEcharts
//
//  Created by <NAME> on 10/02/2017.
//  Copyright © 2017 com.pluto-y. All rights reserved.
//

public struct SECGroupGraphic : SECGraphic {
    public var type: SECGraphicType {
        return .group
    }
    
    public var id: String?
    public var action: SECGraphicAction?
    public var left: SECPosition?
    public var right: SECPosition?
    public var top: SECPosition?
    public var bottom: SECPosition?
    public var bounding: SECGraphicBounding?
    public var z: Float?
    public var zlevel: Float?
    public var silent: Bool?
    public var invisible: Bool?
    public var cursor: String?
    public var draggable: Bool?
    public var progressiv: Bool?
    public var width: Float?
    public var height: Float?
    public var children: [SECGraphic]?
    
}

extension SECGroupGraphic : SECMappable {
    public func mapping(map: SECMap) {
        // TODO: 添加实现代码
    }
}<commit_msg>Make `SECGroupGraphic` conform to `SECEnumable` and `SECMappable`<commit_after>//
//  SECGroupGraphic.swift
//  SwiftyEcharts
//
//  Created by <NAME> on 10/02/2017.
//  Copyright © 2017 com.pluto-y. All rights reserved.
//

public struct SECGroupGraphic : SECGraphic {
    public var type: SECGraphicType {
        return .group
    }
    
    public var id: String?
    public var action: SECGraphicAction?
    public var left: SECPosition?
    public var right: SECPosition?
    public var top: SECPosition?
    public var bottom: SECPosition?
    public var bounding: SECGraphicBounding?
    public var z: Float?
    public var zlevel: Float?
    public var silent: Bool?
    public var invisible: Bool?
    public var cursor: String?
    public var draggable: Bool?
    public var progressiv: Bool?
    public var width: Float?
    public var height: Float?
    public var children: [SECGraphic]?
    
}

extension SECGroupGraphic : SECEnumable {
    public enum Enums {
        case id(String), action(SECGraphicAction), left(SECPosition), right(SECPosition), top(SECPosition), bottom(SECPosition), bounding(SECGraphicBounding), z(Float), zlevel(Float), silent(Bool), invisible(Bool), cursor(String), draggable(Bool), progressiv(Bool), width(Float), height(Float), children([SECGraphic])
    }
    
    public typealias ContentEnum = Enums
    
    public init(_ elements: Enums...) {
        for ele in elements {
            switch ele {
            case let .id(id):
                self.id = id
            case let .action(action):
                self.action = action
            case let .left(left):
                self.left = left
            case let .right(right):
                self.right = right
            case let .top(top):
                self.top = top
            case let .bottom(bottom):
                self.bottom = bottom
            case let .bounding(bounding):
                self.bounding = bounding
            case let .z(z):
                self.z = z
            case let .zlevel(zlevel):
                self.zlevel = zlevel
            case let .silent(silent):
                self.silent = silent
            case let .invisible(invisible):
                self.invisible = invisible
            case let .cursor(cursor):
                self.cursor = cursor
            case let .draggable(draggable):
                self.draggable = draggable
            case let .progressiv(progressiv):
                self.progressiv = progressiv
            case let .width(width):
                self.width = width
            case let .height(height):
                self.height = height
            case let .children(children):
                self.children = children
            }
        }
    }
}

extension SECGroupGraphic : SECMappable {
    public func mapping(map: SECMap) {
        map["id"] = id
        map["action"] = action
        map["left"] = left
        map["right"] = right
        map["top"] = top
        map["bottom"] = bottom
        map["bounding"] = bounding
        map["z"] = z
        map["zlevel"] = zlevel
        map["silent"] = silent
        map["invisible"] = invisible
        map["cursor"] = cursor
        map["draggable"] = draggable
        map["progressiv"] = progressiv
        map["width"] = width
        map["height"] = height
        map["children"] = children
    }
}
{'fraction_non_alphanumeric': 0.09798936907788305, 'fraction_numerical': 0.005546568061012249, 'mean_word_length': 1.9993069993069994, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5146408', 'n_tokens_mistral': 1259, 'n_tokens_neox': 1208, 'n_words': 365}