1234567891011121314151617181920212223242526272829303132 |
- 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 {},
- }
|