const selfClosingTags = require('./util/selfClosingTags') class Node { constructor(opts = false) { if (opts) { Object.keys(opts).forEach(opt => { this[opt] = opts[opt] }) } } } module.exports = { Application: class Application extends Node {}, Attribute: class Attribute extends Node {}, Boolean: class Boolean extends Node {}, Conditional: class Conditional extends Node {}, Definition: class Definition extends Node {}, HTMLElement: class HTMLElement extends Node { constructor(opts) { super(opts) this.selfClosing = selfClosingTags.includes(opts.name) } }, Identifier: class Identifier extends Node {}, Lambda: class Lambda extends Node {}, LetBinding: class LetBinding extends Node {}, List: class List extends Node {}, Number: class Number extends Node {}, String: class String extends Node {}, Symbol: class Symbol extends Node {}, }