UNPKG

654 BJavaScriptView Raw
1'use strict'
2
3let Container = require('./container')
4
5let LazyResult, Processor
6
7class Document extends Container {
8 constructor(defaults) {
9 // type needs to be passed to super, otherwise child roots won't be normalized correctly
10 super({ type: 'document', ...defaults })
11
12 if (!this.nodes) {
13 this.nodes = []
14 }
15 }
16
17 toResult(opts = {}) {
18 let lazy = new LazyResult(new Processor(), this, opts)
19
20 return lazy.stringify()
21 }
22}
23
24Document.registerLazyResult = dependant => {
25 LazyResult = dependant
26}
27
28Document.registerProcessor = dependant => {
29 Processor = dependant
30}
31
32module.exports = Document
33Document.default = Document