123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 'use strict'
-
- var assert = require('assert')
- var codes = require('../character/codes.js')
- var values = require('../character/values.js')
- var fromCharCode = require('../constant/from-char-code.js')
-
- function _interopDefaultLegacy(e) {
- return e && typeof e === 'object' && 'default' in e ? e : {default: e}
- }
-
- var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert)
-
- 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 === codes.carriageReturn) {
- value = values.cr
- } else if (chunk === codes.lineFeed) {
- value = values.lf
- } else if (chunk === codes.carriageReturnLineFeed) {
- value = values.cr + values.lf
- } else if (chunk === codes.horizontalTab) {
- value = values.ht
- } else if (chunk === codes.virtualSpace) {
- if (atTab) continue
- value = values.space
- } else {
- assert__default['default'].equal(
- typeof chunk,
- 'number',
- 'expected number'
- )
- // Currently only replacement character.
- value = fromCharCode(chunk)
- }
-
- atTab = chunk === codes.horizontalTab
- result.push(value)
- }
-
- return result.join('')
- }
-
- module.exports = serializeChunks
|