12345678910111213141516171819202122232425262728293031323334353637383940 |
- 'use strict'
-
- var fromCharCode = require('../constant/from-char-code.js')
-
- function serializeChunks(chunks) {
- var index = -1
- var result = []
- var chunk
- var value
- var atTab
-
- while (++index < chunks.length) {
- chunk = chunks[index]
-
- if (typeof chunk === 'string') {
- value = chunk
- } else if (chunk === -5) {
- value = '\r'
- } else if (chunk === -4) {
- value = '\n'
- } else if (chunk === -3) {
- value = '\r' + '\n'
- } else if (chunk === -2) {
- value = '\t'
- } else if (chunk === -1) {
- if (atTab) continue
- value = ' '
- } else {
- // Currently only replacement character.
- value = fromCharCode(chunk)
- }
-
- atTab = chunk === -2
- result.push(value)
- }
-
- return result.join('')
- }
-
- module.exports = serializeChunks
|