'use strict' var assert = require('assert') function _interopDefaultLegacy(e) { return e && typeof e === 'object' && 'default' in e ? e : {default: e} } var assert__default = /*#__PURE__*/ _interopDefaultLegacy(assert) function sliceChunks(chunks, token) { var startIndex = token.start._index var startBufferIndex = token.start._bufferIndex var endIndex = token.end._index var endBufferIndex = token.end._bufferIndex var view if (startIndex === endIndex) { assert__default['default']( endBufferIndex > -1, 'expected non-negative end buffer index' ) assert__default['default']( startBufferIndex > -1, 'expected non-negative start buffer index' ) view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)] } else { view = chunks.slice(startIndex, endIndex) if (startBufferIndex > -1) { view[0] = view[0].slice(startBufferIndex) } if (endBufferIndex > 0) { view.push(chunks[endIndex].slice(0, endBufferIndex)) } } return view } module.exports = sliceChunks