You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
594 B
JavaScript
29 lines
594 B
JavaScript
var parse = require('./parse')
|
|
var walk = require('./walk')
|
|
var stringify = require('./stringify')
|
|
|
|
function ValueParser(value) {
|
|
if (this instanceof ValueParser) {
|
|
this.nodes = parse(value)
|
|
return this
|
|
}
|
|
return new ValueParser(value)
|
|
}
|
|
|
|
ValueParser.prototype.toString = function () {
|
|
return Array.isArray(this.nodes) ? stringify(this.nodes) : ''
|
|
}
|
|
|
|
ValueParser.prototype.walk = function (cb, bubble) {
|
|
walk(this.nodes, cb, bubble)
|
|
return this
|
|
}
|
|
|
|
ValueParser.unit = require('./unit')
|
|
|
|
ValueParser.walk = walk
|
|
|
|
ValueParser.stringify = stringify
|
|
|
|
module.exports = ValueParser
|