123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 'use strict'
- module.exports = text
- function text(eat, value, silent) {
- var self = this
- var methods
- var tokenizers
- var index
- var length
- var subvalue
- var position
- var tokenizer
- var name
- var min
- var now
- /* istanbul ignore if - never used (yet) */
- if (silent) {
- return true
- }
- methods = self.inlineMethods
- length = methods.length
- tokenizers = self.inlineTokenizers
- index = -1
- min = value.length
- while (++index < length) {
- name = methods[index]
- if (name === 'text' || !tokenizers[name]) {
- continue
- }
- tokenizer = tokenizers[name].locator
- if (!tokenizer) {
- eat.file.fail('Missing locator: `' + name + '`')
- }
- position = tokenizer.call(self, value, 1)
- if (position !== -1 && position < min) {
- min = position
- }
- }
- subvalue = value.slice(0, min)
- now = eat.now()
- self.decode(subvalue, now, handler)
- function handler(content, position, source) {
- eat(source || content)({type: 'text', value: content})
- }
- }
|