string-byte-slice
Version:
Like `string.slice()` but bytewise
12 lines (9 loc) • 383 B
JavaScript
import{getByteEnd,getByteStart}from"./bytes.js";
export const bufferSlice=(input,byteStart,byteEnd)=>{
const buffer=globalThis.Buffer.from(input);
const byteStartA=getByteStart(buffer,buffer.length,byteStart);
const byteEndA=getByteEnd(buffer,buffer.length,byteEnd);
return byteStartA===0&&byteEndA>=buffer.length?
buffer.toString():
buffer.toString("utf8",byteStartA,byteEndA)
};