@n3okill/utils
Version:
Many javascript helpers
20 lines • 800 B
JavaScript
import { toString } from "./toString";
import { detectEncoding } from "./detectEncoding";
import { balancedData as balancedDataString } from "../string/balancedData";
/**
* Return a Array<BalancedDataBuffer> mapping the chunks of 'open' and 'close' locations, if input buffer is unbalanced will return empty
* @param input Buffer
* @param open string
* @param close string
*/
export function balancedData(input, open = "{", close = "}") {
const encoding = detectEncoding(input);
return balancedDataString(toString(input, encoding), open, close).map((s) => ({
start: s.start,
end: s.end,
pre: Buffer.from(s.pre, encoding),
body: Buffer.from(s.body, encoding),
post: Buffer.from(s.post, encoding),
}));
}
//# sourceMappingURL=balancedData.js.map