1 line
9.5 KiB
Plaintext
1 line
9.5 KiB
Plaintext
{"_id":"split-skip","_rev":"7-d89b9dcd5af849cf7d77acce77a79059","name":"split-skip","description":"Splits a String into an Array of substrings with the option to skip some cases where the separator is found, based on some truthy condition.","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"name":"split-skip","version":"0.0.1","description":"Splits a String into an Array of substrings with the option to skip some cases where the separator is found, based on some truthy condition.","main":"lib/split-skip.js","author":{"name":"Diego ZoracKy","email":"diego.zoracky@gmail.com","url":"https://github.com/DiegoZoracKy/"},"scripts":{"test":"mocha ./test/main.test.js"},"keywords":["split","skip"],"license":"MIT","devDependencies":{"chai":"^4.0.0","mocha":"^3.4.2"},"gitHead":"4c246368754c47d22c00a42ff4042bcf4c4d992c","_id":"split-skip@0.0.1","_shasum":"80ad8e36e98e576454cc3b667c1dd25d865e8f00","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"dist":{"shasum":"80ad8e36e98e576454cc3b667c1dd25d865e8f00","tarball":"https://registry.npmjs.org/split-skip/-/split-skip-0.0.1.tgz","integrity":"sha512-7dkvq+gofI4M8zx4iZnEZ3O1s7FP4Y/iaIDHJh5RyWrs8idcPauFi2OZe3TBi36fLvR2j5z3kSzVtz6IhPdncQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQZe09/saJeNJk3IeggmRVo+GTuROazf5/JSCdZmN2+QIgDpI+1Lhud13q73UKApbABJqd+HtX+CncCTow7wwpB7E="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/split-skip-0.0.1.tgz_1495939651905_0.38042799895629287"}},"0.0.2":{"name":"split-skip","version":"0.0.2","description":"Splits a String into an Array of substrings with the option to skip some cases where the separator is found, based on some truthy condition.","main":"lib/split-skip.js","author":{"name":"Diego ZoracKy","email":"diego.zoracky@gmail.com","url":"https://github.com/DiegoZoracKy/"},"scripts":{"test":"mocha ./test/main.test.js"},"keywords":["split","skip"],"license":"MIT","devDependencies":{"chai":"^4.0.0","mocha":"^3.4.2"},"gitHead":"168a87482789806910938cf5814863d1bbe72e04","_id":"split-skip@0.0.2","_shasum":"d89d88bbd2f73e46b5158aa370a561224e80d461","_from":".","_npmVersion":"4.5.0","_nodeVersion":"6.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"dist":{"shasum":"d89d88bbd2f73e46b5158aa370a561224e80d461","tarball":"https://registry.npmjs.org/split-skip/-/split-skip-0.0.2.tgz","integrity":"sha512-weHOi8BolsDnGIwhhWHbA+wKSuSpvWwjRrdj8SdbIIis2vSwOE37CQP8x3EleuzxanUr3AK8BdUy4MkiOULPZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEKxPLXZk05Z6b9B9tOVwhFQ38JsODSzMA8RSaN+HQndAiEA5zSTIgoPpn6o4pCU/mma7AIzGUjfjZ9hFFcpuhWh4BQ="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/split-skip-0.0.2.tgz_1495940299421_0.6469964904244989"}},"0.0.3":{"name":"split-skip","version":"0.0.3","description":"Splits a String into an Array of substrings with the option to skip some cases where the separator is found, based on some truthy condition.","main":"lib/split-skip.js","author":{"name":"Diego ZoracKy","email":"diego.zoracky@gmail.com","url":"https://github.com/DiegoZoracKy/"},"scripts":{"test":"mocha ./test/main.test.js"},"keywords":["split","skip"],"license":"MIT","devDependencies":{"chai":"^4.0.0","mocha":"^3.4.2"},"dependencies":{"magicli":"0.0.8"},"gitHead":"05ec411ccec441670a1ca5b60e50e011d613eed5","_id":"split-skip@0.0.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-bMhfsKu/FYDcK2nFoBuRLVZkntHLNZ9XUQbXIpAkYggnzkFoa/eeTnnPLUWyUdzmOEVYQREpD4YImxJbNAVkzA==","shasum":"0f249589b6d5493a7c9321c1ca2e89851177bc9d","tarball":"https://registry.npmjs.org/split-skip/-/split-skip-0.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/h8K7jEPwGbH84pY4i+86HkuYZoLJ0IVEzrcdhjxFYAiEA7SKcP5umW0IutVeYOp9/Qz4D0gI97UfaSVDBVw5VdiU="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/split-skip-0.0.3.tgz_1510191825513_0.2395806156564504"}},"0.0.4":{"name":"split-skip","version":"0.0.4","description":"Splits a String into an Array of substrings with the option to skip some cases where the separator is found, based on some truthy condition.","main":"lib/split-skip.js","author":{"name":"Diego ZoracKy","email":"diego.zoracky@gmail.com","url":"https://github.com/DiegoZoracKy/"},"scripts":{"test":"mocha ./test/main.test.js"},"keywords":["split","skip"],"license":"MIT","devDependencies":{"chai":"^4.0.0","mocha":"^3.4.2"},"dependencies":{"magicli":"0.0.8"},"gitHead":"211510c8b08c659f43fcac2cd178b903e74e2777","_id":"split-skip@0.0.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-zLE2DUHgZbeeEClXm5Ekp3Zv+magZcWsE9YBaltWIstfUEw2nXyRNe+6mQ4Szl2S6YzuWo4Av3pxsVwNuACJHQ==","shasum":"0420100fce9a2ad7f23064a685e05219c07ee55f","tarball":"https://registry.npmjs.org/split-skip/-/split-skip-0.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRtCn0twhlQSks1yD5V9XE+7Bm3IgrObCv1kf6CTbD6AiBercMA+U6FGCJCs8rnyLKlO/WOF9Ki8gPKxadGiW4/DQ=="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/split-skip-0.0.4.tgz_1510193059029_0.8722524477634579"}},"0.0.5":{"name":"split-skip","version":"0.0.5","description":"Splits a String into an Array of substrings with the option to skip some cases where the separator is found, based on some truthy condition.","main":"lib/split-skip.js","author":{"name":"Diego ZoracKy","email":"diego.zoracky@gmail.com","url":"https://github.com/DiegoZoracKy/"},"scripts":{"test":"mocha ./test/main.test.js"},"keywords":["split","skip"],"license":"MIT","devDependencies":{"chai":"^4.0.0","mocha":"^3.4.2"},"dependencies":{"magicli":"0.0.8"},"api":{},"gitHead":"211510c8b08c659f43fcac2cd178b903e74e2777","_id":"split-skip@0.0.5","_npmVersion":"5.5.1","_nodeVersion":"8.9.0","_npmUser":{"name":"diegozoracky","email":"diego.zoracky@gmail.com"},"dist":{"integrity":"sha512-jlCipkgYLsNrBDks0zGpMhQSnsU/EGVqri/yhLbZgZoMsOfHfnHnO3EuDKY/nZ1hhuRkgKAcozeKn5abwgFcHg==","shasum":"1dbfbc0a780ef484a78bc4bb3d103ff6417d64d5","tarball":"https://registry.npmjs.org/split-skip/-/split-skip-0.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZSFtQ89PjTgS4BzmOy9duX33BqQrld2oHAKUpVKFJ3gIgIWn9vnTfLbaiO54jLz0Z0SaUPD/orHaxVAMJWR5f4Z0="}]},"maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/split-skip-0.0.5.tgz_1511033730971_0.9530118906404823"}}},"readme":"# split-skip\n\n[](https://travis-ci.org/DiegoZoracKy/split-skip)\n\nSplits a String into an Array of substrings with the option to skip some cases where the separator is found, based on some *truthy* condition.\n\n**Node.js** and **Browser** ready.\n\n## Installation\n\n```bash\nnpm install split-skip\n```\n**CLI**\n```bash\nnpm install split-skip -g\n```\n```bash\nnpx split-skip --help\n```\n\n## Usage\n\n```javascript\nconst splitSkip = require('split-skip');\n\n//@param {String} str - Input String\nconst str = 'Some,String,as,an,Input';\n\n// @param {String} separator - Specifies the character(s) to use for separating the string\nconst separator = ',';\n\n// @param {Function} skipState - Function to be called on each iteration, to manage the skip state. Parameters: `(state, char, i)`\nconst skipState = (state, char, i) => {\n\n\t/*\n\tSome logic to define state.skip equals to some truthy value\n\te.g. state.skip = true, state.skip = 1\n\twhen it should skip if the current char matches the separator\n\t*/\n\n\t/*\n\tAnd define state.skip equals to some falsy value\n\te.g. state.skip = false, state.skip = 0\n\twhen it should get back splitting if the current char matches the separator\n\t*/\n\n\t// Must alway return the state;\n\treturn state;\n};\n\nconst resultArray = splitSkip(str, separator, skipState);\n```\n\n## Example\n\nAs an input we have a string representing the parameters definition of a function from where we want to get each individual parameter. One idea of doing this is to split on every comma, but skipping the commas that are present on destructuring parameters definitions.\nUsing splitSkip, it could be like:\n\n```javascript\nconst input = `[destru,cturu,cing]=[1],param,{dd,ee,ff}={dd:{b:1,c:2,arr:[1,6]}},last`;\n\nconst result = splitSkip(input, ',', (state, char, i) => {\n\tif ('{[('.indexOf(char) >= 0) {\n\t\tstate.skip += 1;\n\t}\n\n\tif ('}])'.indexOf(char) >= 0) {\n\t\tstate.skip -= 1;\n\t}\n\n\treturn state;\n});\n\n// result === ['[destru,cturu,cing]=[1]', 'param', '{dd,ee,ff}={dd:{b:1,c:2,arr:[1,6]}}', 'last'];\n```","maintainers":[{"name":"diegozoracky","email":"diego.zoracky@gmail.com"}],"time":{"modified":"2022-06-26T22:57:57.910Z","created":"2017-05-28T02:47:32.046Z","0.0.1":"2017-05-28T02:47:32.046Z","0.0.2":"2017-05-28T02:58:19.674Z","0.0.3":"2017-11-09T01:43:45.574Z","0.0.4":"2017-11-09T02:04:19.088Z","0.0.5":"2017-11-18T19:35:31.063Z"},"keywords":["split","skip"],"author":{"name":"Diego ZoracKy","email":"diego.zoracky@gmail.com","url":"https://github.com/DiegoZoracKy/"},"license":"MIT","readmeFilename":"README.md"} |