diff options
Diffstat (limited to 'tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js')
-rw-r--r-- | tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js new file mode 100644 index 0000000000..ef6d3f2879 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js @@ -0,0 +1,67 @@ +/** + * @author Titus Wormer + * @copyright 2015 Titus Wormer + * @license MIT + * @module remark:parse:tokenize:text + * @fileoverview Tokenise text. + */ + +'use strict'; + +module.exports = text; + +/* Tokenise 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, function (content, position, source) { + eat(source || content)({ + type: 'text', + value: content + }); + }); +} |