| 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 ? "?" : "");
}
} |