49 lines
702 B
JavaScript
49 lines
702 B
JavaScript
'use strict'
|
|
|
|
var whitespace = require('is-whitespace-character')
|
|
|
|
module.exports = newline
|
|
|
|
var lineFeed = '\n'
|
|
|
|
function newline(eat, value, silent) {
|
|
var character = value.charAt(0)
|
|
var length
|
|
var subvalue
|
|
var queue
|
|
var index
|
|
|
|
if (character !== lineFeed) {
|
|
return
|
|
}
|
|
|
|
/* istanbul ignore if - never used (yet) */
|
|
if (silent) {
|
|
return true
|
|
}
|
|
|
|
index = 1
|
|
length = value.length
|
|
subvalue = character
|
|
queue = ''
|
|
|
|
while (index < length) {
|
|
character = value.charAt(index)
|
|
|
|
if (!whitespace(character)) {
|
|
break
|
|
}
|
|
|
|
queue += character
|
|
|
|
if (character === lineFeed) {
|
|
subvalue += queue
|
|
queue = ''
|
|
}
|
|
|
|
index++
|
|
}
|
|
|
|
eat(subvalue)
|
|
}
|