Files
30-seconds-of-code/node_modules/parse-latin/lib/parser.js
2019-08-20 15:52:05 +02:00

25 lines
538 B
JavaScript

'use strict'
var tokenizer = require('./tokenizer')
module.exports = parserFactory
// Construct a parser based on `options`.
function parserFactory(options) {
var type = options.type
var tokenizerProperty = options.tokenizer
var delimiter = options.delimiter
var tokenize = delimiter && tokenizer(options.delimiterType, delimiter)
return parser
function parser(value) {
var children = this[tokenizerProperty](value)
return {
type: type,
children: tokenize ? tokenize(children) : children
}
}
}