All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
'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
|