Files
rappaurio-sae501_502/app/node_modules/hyntax/lib/stream-tree-constructor.js
2023-09-25 09:41:55 +02:00

32 lines
580 B
JavaScript

const { Transform } = require('stream')
const constructTree = require('./construct-tree')
class StreamTreeConstructor extends Transform {
constructor (options) {
super(Object.assign(
{},
options,
{
objectMode: true,
readableObjectMode: true
}
))
this.currentState = undefined
}
_transform (tokensChunk, encoding, callback) {
const { state, ast } = constructTree(
tokensChunk,
this.currentState
)
this.currentState = state
callback(null, ast)
}
}
module.exports = StreamTreeConstructor