All files / parser/nodes type.js

60% Statements 3/5
0% Branches 0/2
33.33% Functions 1/3
60% Lines 3/5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                          15x     15x     15x                        
import Node from './node';
 
/**
 * Wraps a type
 * 
 */
export default class Type extends Node {
    
    constructor(
        path: Node[],
        optional: bool,
        position: Object
    ) {
        super(position);
        
        /** @type {Node[]} */
        this.path = path;
        
        /** @type {bool} */
        this.optional = optional;
    }
    
    /** @override */
    get children() {
        return ['path'];
    }
    
    /** @override */
    toString() {
        return this.path[0] + (this.optional ? "?" : "");
    }
}