string-process-comma-separated
v4.1.5
Published
Extracts chunks from possibly comma or whatever-separated string
Downloads
178
Maintainers
Readme
Install
This package is pure ESM. If you're not ready yet, install an older version of this program, 2.1.0 (npm i [email protected]
).
npm i string-process-comma-separated
Quick Take
import { strict as assert } from "assert";
import { processCommaSep } from "string-process-comma-separated";
const gatheredChunks = [];
const gatheredErrors = [];
const rawnbsp = "\u00a0";
// it's a callback-interface:
processCommaSep(`<FRAMESET rows=" ,,\t50% ,${rawnbsp} 50% ,\t\t,">`, {
from: 16, // <- beginning of the attribute's value
to: 35, // <- ending of the attribute's value
separator: ",",
cb: (idxFrom, idxTo) => {
gatheredChunks.push([idxFrom, idxTo]);
},
errCb: (ranges, message) => {
gatheredErrors.push({ ranges, message });
},
});
assert.deepEqual(gatheredChunks, [
[20, 23],
[27, 30],
]);
assert.deepEqual(gatheredErrors, [
{ ranges: [[16, 17]], message: "Remove whitespace." },
{ ranges: [[17, 18]], message: "Remove separator." },
{ ranges: [[18, 19]], message: "Remove separator." },
{ ranges: [[19, 20]], message: "Remove whitespace." },
{ ranges: [[23, 24]], message: "Remove whitespace." },
{ ranges: [[25, 27]], message: "Remove whitespace." },
{ ranges: [[30, 31]], message: "Remove whitespace." },
{ ranges: [[32, 34]], message: "Remove whitespace." },
{ ranges: [[31, 32]], message: "Remove separator." },
{ ranges: [[34, 35]], message: "Remove separator." },
]);
Documentation
Please visit codsen.com for a full description of the API.
Contributing
To report bugs or request features or assistance, raise an issue on GitHub.
Licence
MIT License.
Copyright © 2010-2024 Roy Revelt and other contributors.