AK-21/Graphite-Industrial-Intelligence
0
1'use strict'2 3let Container = require('./container')4 5let LazyResult, Processor6 7class Document extends Container {8 constructor(defaults) {9 // type needs to be passed to super, otherwise child roots won't be normalized correctly10 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 = dependant26}27 28Document.registerProcessor = dependant => {29 Processor = dependant30}31 32module.exports = Document33Document.default = Document34 