{"_id":"bs-rebel","_rev":"5-b5d5957d759fc316f0c514055a80b95d","name":"bs-rebel","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"bs-rebel","version":"0.1.0","main":"lib/js/src/Rebel.js","module":"src/Rebel.js","scripts":{"clean":"bsb -clean-world","build":"bsb -make-world","watch":"bsb -make-world -w","prepublishOnly":"run-p build"},"license":"MIT","peerDependencies":{"bs-platform":">=2.2.0"},"devDependencies":{"bs-platform":"^4.0.18","npm-run-all":"^4.1.5"},"gitHead":"e66f4fe6262db1390e3cdd2be0db498a21efe4cb","description":"A simple collection toolkit for Bucklescript that attempts to optimize for bundlesize on JS with `bsb` and simply falls back to `Array` and `Belt` on `bsb-native`.","_id":"bs-rebel@0.1.0","_npmVersion":"6.5.0","_nodeVersion":"10.15.0","_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"dist":{"integrity":"sha512-oCbBHYqnxZdg0PdI9zHk4RjNWzUqtO3QuYxWX/O7FJTGx/0OTbT846NHnHY8wRVlxZdfAInqvJ2/oI0XTG7FUw==","shasum":"a479a9ef53b4b1a2cd09a16e6da7b9f02abd76c0","tarball":"https://registry.npmjs.org/bs-rebel/-/bs-rebel-0.1.0.tgz","fileCount":16,"unpackedSize":13724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOomjCRA9TVsSAnZWagAAXHQP/3vdQ4rQnTEPTn+DQkTm\ngtpGHb7w6vxmijmNPt4A67ExyAGUj/RipBksAWP9WQtjcSGmdaDE+4U/kKi0\nRHkn43TUCZoR+nZSAp+C9Y2u+hsgrb7n0974r4CK3juavLDE4uHetSLyFTAh\nVUnfjfNvkIfUqjeudmTX/PQkr/CWw2BslqaojmaMpOmyEgVhK7AuO7eGAE/Y\nUEDzmtvBQ/+MDJttlOGlE4XVYFIxK3TEv6a/WCGOaMwN21yjMByaBuSPD//4\nnyPOW31lhpwbpHDqwey0dx+YSwZHr35+LIblUO7r43sWaEap151YiHLsdp1+\nzFVq+zHZzykWlfytjfZo6ZlgNA1vLrGxWylkKLVKxQ3ndzAvwrNHpNr6+S+j\nUDI/IskH0au1nabPjJAy4usgbcX1ezF7QOCQYCgXMO3PvvaA1gyEw0Zp826j\n9efZIHI4qXC1c+q9k+89FBEuiXZCcormbRglc+CPOOph5rlIn9PL2X2vqvCy\nDoBF7ams2DsOHVtkoGoyaKQmuKLup89AvqTrFRyjwLcCsJrBtUVBVI2KijcZ\ngYhc6cC8HteI0YdT1P7HvOLQpSmErcp0IWxSpAusgHhSgGC58b3GULa5qlsD\n88Z9xCP7JMjBuqVREKuSceiSlBqELcgS6W95AGhbBWIBlGOnWrEE5pyb+U5f\nDiQA\r\n=XmCG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFMKhXerHSPB5fJrW46h0fh8QLX2umUf391Md+UMGZirAiBm2uo8L/g95hn5wqXj87/yp3qaoJ1Kx4EFOBivcSDNWA=="}]},"maintainers":[{"name":"philpl","email":"phil@kitten.sh"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-rebel_0.1.0_1547340194173_0.34959629853407015"},"_hasShrinkwrap":false},"0.2.0":{"name":"bs-rebel","version":"0.2.0","description":"A toolkit for collections for bsb-native and bsb aimed at bundle size and performance","main":"lib/js/src/Rebel.js","module":"src/Rebel.js","scripts":{"clean":"bsb -clean-world","build":"bsb -make-world","watch":"bsb -make-world -w","prepublishOnly":"run-p build"},"license":"MIT","peerDependencies":{"bs-platform":">=2.2.0"},"devDependencies":{"bs-platform":"^4.0.18","npm-run-all":"^4.1.5"},"gitHead":"c45cbeee7b13b5efaf5dbe52faac166f2328337d","_id":"bs-rebel@0.2.0","_npmVersion":"6.5.0","_nodeVersion":"10.15.0","_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"dist":{"integrity":"sha512-mUQv/z22IC3NrgaTBvEJnp9/tI7rHgqWkpNFalzkzLOvzvXCC6qjixM7mQRi3zk0bWXh64e9ODv7PDTlOLOcxA==","shasum":"3e89fe25a71ebb0711c548a703cff6f50d330008","tarball":"https://registry.npmjs.org/bs-rebel/-/bs-rebel-0.2.0.tgz","fileCount":28,"unpackedSize":54357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOrIdCRA9TVsSAnZWagAApgoP/i4gKQFxAyt4857TZpPI\npQhoQrr8QJvNuH1TJt4NuoSlsbiqTySkpnq/L5aqaxHp57MGGJQmZ3HRgsD1\nAeFq2Ng74p7K1aacbRbw3JzpbNe2xqon0k0q28/rxB+inIWHNtZKvIU34l/w\ncMFwuCB0pzWSLHNRmQhfzS1GMWXiUySJl2z9ISlT7vtz/ZU9rEo6YYSNLTtO\neWNl+Qq9eSa6a4TBuJlFnYI6Ag199gJ2xjk3EHIcoeFXrp2QBQrSW0bJGqgy\n4YhjXUFNpbk10DFLhbvG+HM+9MWowXWGw4xkoSJ5ut2nXxJtJ8y0r4FXhbXd\n4W/OSFykkFMWPrUQqmXrKQkTx5zztVxmGaMH7aRNGxbcmjmnDTHyIrZsOjD2\nDdqlwSzAE+nnF6CyieKjuXoqd+t3MNTWpj6Y/WJUkDW24wmoL8bwBnyI/qzR\nJIzZUNahENeUT5+0gIp921dNT5lCBODyE1aCD6CIbXokp6RAv0mzXLQ3EjTx\n7nO+A/JgOx+AyiW+YQlTDUkuwYpPJ+HfLDSm5U3AoVO+ei9LK1lYSBcQWtbj\nLM088CWZT6nGN+EeAsWsiNoz/YeQ1Gdrde7yoQ42Zq1IipcJy+9LeznefgNZ\nLkKDgFDpzqlslAyUh5hp/oBfWT2eIpHfiSru8lonNPRhQaVugd4q7pHgFnrJ\nNAkl\r\n=STbh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCa4P7owM8uDmcouOWT2R8Zp6t0TqWMizT45YuCTf+SEQIgNAxn7AsYl/Q76kOAvSyat4JEprswWOVstanVkjU/kUQ="}]},"maintainers":[{"name":"philpl","email":"phil@kitten.sh"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-rebel_0.2.0_1547350556729_0.48558543603530935"},"_hasShrinkwrap":false},"0.2.1":{"name":"bs-rebel","version":"0.2.1","description":"A toolkit for collections for bsb-native and bsb aimed at bundle size and performance","main":"lib/js/src/Rebel.js","module":"src/Rebel.js","scripts":{"clean":"bsb -clean-world","build":"bsb -make-world","watch":"bsb -make-world -w","prepublishOnly":"run-p build"},"license":"MIT","peerDependencies":{"bs-platform":">=2.2.0"},"devDependencies":{"bs-platform":"^4.0.18","npm-run-all":"^4.1.5"},"gitHead":"5ad387984e29f42fdca49d0281a6d46c7fe29674","_id":"bs-rebel@0.2.1","_npmVersion":"6.5.0","_nodeVersion":"10.15.0","_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"dist":{"integrity":"sha512-R+spwumjjXzNTdVWom+i/esLP4T40nGjZ6n3z0azYEF7gbQl6/cRjMIWIUtF1EjQPTTD42sj8r3uZ0mmQg9vcg==","shasum":"7ca9a8f355bcae5346b8a3100fdb7caf957c8546","tarball":"https://registry.npmjs.org/bs-rebel/-/bs-rebel-0.2.1.tgz","fileCount":28,"unpackedSize":54360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOrOiCRA9TVsSAnZWagAAooMP/RzLZ7sCwNmdM336z6+S\ndeF+HToQa5leA9K9nyht18Y8Ze+krLYxNOCZ8/eJvjBEzIiLFyYabTAYFEIY\nz18nq3UDs+L18+Hbh3zcz924pJ6eyI92g3+kcHeZiPnTW6K5nyHsIZC25PYS\nYhl4xNv6S4wtmd/CBNL8Xz7M5Bwq6pMr+ol/Gj7CcBVeGMZwn3o7RljhmRMo\nz4Eq7ovq+AU8vgrwwiLRwBcJmB9SjyB5LbTQ0dLdb4SL02HQw5E7XsuWDMnN\n4o2FshckEuoaFLetqS0AQNcrM6RKltUuER2R44+zbsbL0x7PZOgW9paChZvP\nzJX0JPVoh3fa8VmHluzawFBU1VObLTAt6WZMHyqkWKC765v+9NVkT3p3zlxo\nekkEySZGhhjoAKFZCWLFPl7aXu0NJnrrjDZVT/NoCHQHNNJWJFteZM4UpUsI\nEAT7yp5ErlTmPQ/HtzQ87wDiCgMEzwfw/TEd79xsRf8cvUwPdv9b+lrrpwEc\n1CXOA1BJLBIpikZrntUYy0bwDv95U2HZbCVAKrEhJQeCCYIAPJEiXRMXfXxD\nW+s00aB5D5Ark+oWt3OWRgQXRbdjK6sz65bxY7ZCxf2iT7oFoTgZgrbo/Beh\nx5gq1/DDO52wubtoV4780oF4jP1bVaGFpxqHfWmygiWmhiicCNLOQemPD+/H\nPXCD\r\n=UxDv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa81Cs5emztpafAlwdBdC9CrldB+0K/lmZTcwlJWITLgIhAJoLT3h0wgNf7FfkrQa0on81OTC+5Y4oSNSyBlVq1umb"}]},"maintainers":[{"name":"philpl","email":"phil@kitten.sh"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-rebel_0.2.1_1547350945998_0.9482460561421975"},"_hasShrinkwrap":false},"0.2.2":{"name":"bs-rebel","version":"0.2.2","description":"A toolkit for collections for bsb-native and bsb aimed at bundle size and performance","main":"lib/js/src/Rebel.js","module":"src/Rebel.js","scripts":{"clean":"bsb -clean-world","build":"bsb -make-world","watch":"bsb -make-world -w","prepublishOnly":"run-p build"},"license":"MIT","peerDependencies":{"bs-platform":">=2.2.0"},"devDependencies":{"bs-platform":"^4.0.18","npm-run-all":"^4.1.5"},"gitHead":"1acd75c659ccf5db0c97f2b8a7b325598797117f","_id":"bs-rebel@0.2.2","_npmVersion":"6.5.0","_nodeVersion":"10.15.0","_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"dist":{"integrity":"sha512-fHdyxs7iKWQ3QQpHwq/CwbFCuoQC39wX2c1RZaojP7wpjTrGobl2fgaq6q5zJaaPD1DEyiNn3ZrDNkyThWapIg==","shasum":"831d946db49173715e561a9cd7bc8cc72da8a62a","tarball":"https://registry.npmjs.org/bs-rebel/-/bs-rebel-0.2.2.tgz","fileCount":29,"unpackedSize":55355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOr0oCRA9TVsSAnZWagAAzV8P/0WgX5nrcjCYtZqIng6g\n6W824w2gFDnOprUnVXAuTZ5wFdf5rddJHJkvVyZFOgzYQgreRau4r5oF+b2K\nlUwARyJJrfMruJOIiXaYtziqe4B1HsUJY1LMyhnyOIhvCgaYXak9X6zVH6h2\nqu/khNArkI6smx+3LNjUTp/ClnkZj7GDM66i8/J+xt4q4CtYtlA3pah645Qd\nt6Wximt4tSTUnuJfYspp6KQ5IS76wuw+mYj9r0C6f9tl7p0XpJW88940bXX+\nlOY9ie6VYT61H2Kkd0t//UJSdSFHk0fyogjOCvqoKptC8NqHeSz0lodecSVL\n7JhajFPyBY30H9+FWVfaREhOyUJ2TyUWfIUCofQ2u6JU4SVn8IKc9IhmBqA9\nKksSU2Kwm3nSXu6XDeYyXo2xN5YF5aF7MjWy4DLQNrIZbaBVcG+InRpPsJ4D\n/j4UA/Hd94NBjdUS2Z9ohjpOr/mekA5nyRXoO/noLCCiyCOCkLcc4ygGwvlS\n7Z3vitpz4X6H/8D8iSUu6h3QwURIOgXE7iYYY+6lU5X2RRql9RRoO3kqlD/4\nJG6T0+wSvZYbDBdeyhrF7UJmPRC/d7GctdgjS6HVkPsVpvhXLFNw4i7LshbS\nsBbukaCU/x1GIn5qEV9nmxb6jFY3uWPAbXhm1/JMmMES+dswM2up7hAv6QxW\nISW6\r\n=9h5G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICzP4jbapLBYWLlvHAbLAGbTN8srv9m0bRi9vtRNkSe6AiA752PsvY6IkzNCF0uHu44Itnk1BUgVE6sqajK0r8BQVA=="}]},"maintainers":[{"name":"philpl","email":"phil@kitten.sh"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-rebel_0.2.2_1547353383482_0.14852173269572577"},"_hasShrinkwrap":false},"0.2.3":{"name":"bs-rebel","version":"0.2.3","description":"A toolkit for collections for bsb-native and bsb aimed at bundle size and performance","main":"lib/js/src/Rebel.js","module":"src/Rebel.js","scripts":{"clean":"bsb -clean-world","build":"bsb -make-world","watch":"bsb -make-world -w","prepublishOnly":"run-p build"},"license":"MIT","peerDependencies":{"bs-platform":">=2.2.0"},"devDependencies":{"bs-platform":"^4.0.18","npm-run-all":"^4.1.5"},"gitHead":"21f1942f39b6898c59e45eaca6787300c67eaf8f","_id":"bs-rebel@0.2.3","_npmVersion":"6.5.0","_nodeVersion":"10.15.0","_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"dist":{"integrity":"sha512-NTDUSkJ+KkIqmKHUE48luD2YaYh49XaU1zVSSk9lJ6KFNQzlRQnIfR+paNWYyvzxf5+TZ2inVgxBUHdCsZEiYA==","shasum":"11e1a95a4a3f16311575e8853a004cec6b9d19de","tarball":"https://registry.npmjs.org/bs-rebel/-/bs-rebel-0.2.3.tgz","fileCount":29,"unpackedSize":69972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcO/lICRA9TVsSAnZWagAABFYQAI5ZcthZbx+jQ+yi6yaN\n26lWKPx1FGLSixCfarvUtc+o2vQCq4QfrNWHSxx/1wUvvOMO1rIHzs14xjd1\nWEqh8x3d06lWw7cjuc0Qc5XuMn31O6VhNZepQ3QwUffDMUClQkv7iAMTTyfi\nDzlicZcS4v6OIIEVI63Qo805uiLTKVVREHEvbtOwlbRox5nBzeTScwpf055Z\n2oD7X88wKPriQxO9YHjiIIJvwku6NQTLhV2NLz3cZP5Unluh8k7CR3EB8rTU\n660zSovyMdAdl4Tuqi8cWOMFXlh3h32XiVtyfReGxokrCW3CSFWsxUw4l9/I\np+TuWNFTkj3Kzl3CVHmzgkCwMF4qD8ainDTJz0SucwI6/NmuxFa3Eypa0sxP\no8rd15kX575VIeOcRaguanz9xS+rmnn67+YSs1kZcEMQxWvVR/HubZsqteMd\nH/Xtja+bTV42tKD36tPPg28FVEqH7b0YyzE2f84/VzY25yLt4M4uRosZJUiw\no622eWh1dnU+ahx7lgonzL2iz8Ad2b4Xw6k3ajT/WjoxKACnrENEYyqSD8qf\nHB+xZkRrTIVXfsrRyP/V2O8DfEmqYSZoBtJbFoyo7V3pFm3H/e0/LAT/TKlp\nt8H7CLJ4TtY+ip/b8lqtrVnm4Ct6wUurO5fyzLe2d8D5wmQpXioxyCuiRy+y\nULin\r\n=0IAD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDWJp/BIokArUaR3hQHEjoVFiu9q9oyGtono8hFb0LbPAiA4NjCI5h2joe9zpBIJztdtOsrgC+NWHRdfFOdrY0nYQw=="}]},"maintainers":[{"name":"philpl","email":"phil@kitten.sh"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-rebel_0.2.3_1547434311714_0.13914876802836607"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-13T00:43:14.172Z","0.1.0":"2019-01-13T00:43:14.310Z","modified":"2022-04-12T04:32:53.472Z","0.2.0":"2019-01-13T03:35:56.869Z","0.2.1":"2019-01-13T03:42:26.176Z","0.2.2":"2019-01-13T04:23:03.621Z","0.2.3":"2019-01-14T02:51:51.866Z"},"maintainers":[{"name":"philpl","email":"phil@kitten.sh"}],"description":"A toolkit for collections for bsb-native and bsb aimed at bundle size and performance","license":"MIT","readme":"# bs-rebel\n\n**Rebel** is a toolkit for collection APIs that work with both `bsb-native` and `bsb`.\n\nWhen you're aiming to write libraries with BuckleScript you're\noften made to choose between using convenient APIs that only\nwork when compiling to JS, like `Js.Array` or to include more\n`bs-platform/lib` code, like `Array` or `Belt`.\n\nThink of **Rebel** as a standard library wrapper. It aims to\nuse JS built-ins as often as possible, but falls back to using\nthe BuckleScript standard library on native.\n\n*(Its name comes from \"Re\" as in \"Reason\" and \"bel\" as in \"belt\")*\n\n## Getting Started\n\nInstall the library from `npm`:\n\n```sh\nyarn add bs-rebel\n# or for npm\nnpm install --save bs-rebel\n```\n\nAnd add `bs-rebel` to your `bsconfig.json`\n\n```diff\n{\n  \"name\": \"<your name>\",\n  \"version\": \"0.1.0\",\n  \"sources\": [\"src\"],\n  \"bsc-flags\": [\"-bs-super-errors\"],\n  \"bs-dependencies\": [\n+    \"bs-rebel\"\n  ]\n}\n```\n\nAll of Rebel's module are namespaced as `Rebel`, so for instance to\naccess the `MutableQueue` module use: `Rebel.MutableQueue`\n\n## Supported APIs\n\n### `MutableQueue`\n\nSee [Belt.MutableQueue](https://bucklescript.github.io/bucklescript/api/Belt.MutableQueue.html) for this module's signature.\n\nIn JS, this module uses externals to mirror as many functions\nfrom the `Belt` module as possible. The only functions that don't\ncompletely compile away (but are rather small) are\n`reduce`, `reduceU`, and `transfer`.\n\nIt also adds an `addMany` function that does compile away, but\nisn't part of the standard `Belt.MutableQueue` module.\n\n### `MutableStack`\n\nSee [Belt.MutableStack](https://bucklescript.github.io/bucklescript/api/Belt.MutableStack.html) for this module's signature.\n\nIn JS, this module uses externals to mirror as many functions\nfrom the `Belt` module as possible. The only functions that don't\ncompletely compile away (but are rather small) are\n`isEmpty` and `top`.\n\nIt does not implement `dynamicPopIterU` and `dynamicPopIter`.\n\n### `Array`\n\nSee [Rebel_types.re](https://github.com/kitten/bs-rebel/blob/master/src/dev/Rebel_types.re) for this module's signature.\nUnfortunately there are no auto-generated docs yet.\n\nThis module slightly diverges from `Array`, `Js.Array`, and `Belt.Array`. It tries to match the implementation\nof the JS Array methods as closely as possible. However, there are some in-place modification methods that are\nnot implemented in `Belt.Array` and are thus not included in `Rebel.Array`.\n\nOther methods like `filter` and `removeCount` are present though.\n\nThe JS externals that don't compile away completely are:\n\n- `set` (as opposed to `setUnsafe` which compiles away)\n- `reverse` (as opposed to `reverseInPlace` which compiles away)\n- `remove` (as opposed to `removeInPlace` which compiles away)\n- `removeCount` (as opposed to `removeCountInPlace` which compiles away)\n- `shuffle`\n- `shuffleInPlace`\n- `make`\n- `set`\n- `includes`\n\nSome JS-only methods are for completeness' sake still included in `Rebel.Array.Js`, but they won't be\navailable during native compilation!\n","readmeFilename":"README.md"}