{"_id":"@aliyasser20/lotide","_rev":"2-12aebca99b2ec45a76f5897edb00220f","name":"@aliyasser20/lotide","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aliyasser20/lotide","version":"1.0.0","author":{"name":"Ali Sayed"},"description":"A mini clone of the Lodash library.","main":"assertArraysEqual.js","directories":{"test":"test"},"dependencies":{"chai":"^4.2.0"},"devDependencies":{"mocha":"^7.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/aliyasser20/lotide.git"},"license":"ISC","bugs":{"url":"https://github.com/aliyasser20/lotide/issues"},"homepage":"https://github.com/aliyasser20/lotide#readme","gitHead":"511a54d06b38d1aa50728f2573e9f8bceab5203d","_id":"@aliyasser20/lotide@1.0.0","_nodeVersion":"13.5.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-Rg1pxGU7vxdQuz5rX5tjRL307jUKi0BGj9w28G03zQS8kioxwgdaPg/olaYT2Yw50PiFcB8Jd/RomGdiGumSHQ==","shasum":"eb2d515faf0718381b8dbb39162da1a113639aa1","tarball":"https://registry.npmjs.org/@aliyasser20/lotide/-/lotide-1.0.0.tgz","fileCount":26,"unpackedSize":20261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZmzjCRA9TVsSAnZWagAACuwQAKUXDulq33Ls7pUxxXnJ\nRtujgILY8apuikQBv69S+Ae66wYuJcjPB39E7hncGpAMtyVdLyTZ88+K5Nxv\nPg7Lm7/f1KoiCwXl9rMTr4FEAsSeqxLrRqYz3yiqEtr7zyUt3Yvbu5/TrlBD\nr+mtQaw2bPaz+IkcaK3Qq7AKN6SNyafXWEhfH+px7uCKgPcnLrbbJ6AvIqV5\nA7+pPo5TnFRHUE3lsxjQxg16O4D4PcM6vtn5ZsAF0OTTc69UAQKX5+akvX7H\nMKD4Ilt8UD/IT3nj9RuAb7bYzyVcPvpFL+N6Idv/QxRXZrDBqLVRW5Dshle1\n+JwbSj8W8dvxHYs+UelzHVRakccEg/1Wmm5dh+q+sxviMLfy2jRcnrUruW7e\nZNmpEAKwL0JCZLDEtrQnYVDWwbKmwpauBKFQ5f8liREjy2qaGUPL6reP2ikZ\nayGoIplv5G+SIb1NyMAbju4VCGoP1FjuF2nx6e9/WbmXQVEXtmCjAuRfjI/W\nQK02XUBE4VH4fkLUhL4t9livZBRgGI9fwpT0nE12hnmYmd5y9jXMlsaAt70c\nC7Ere6eq88MBKHCBeG3A6bZKQbJvxunP7/LQaXx1DePvhU1d+eK/nFqFsHDM\nL7IBxN9dTH3FTBFoLizUKvtNgWvH2zYmJerE5nFo6wMhZx93r3mLmj/jtpFj\n47uh\r\n=J/7x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhm0yT+2mEl46d0YlRbxZKu6AwZpYy8CKC2RNus1t04wIgIYl2B5xbwHhOQAA2aEgl1u9Uhh9i2VKOnh4uKetmqi4="}]},"maintainers":[{"name":"aliyasser20","email":"aliyasser20@hotmail.com"}],"_npmUser":{"name":"aliyasser20","email":"aliyasser20@hotmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1583770850353_0.924199169705153"},"_hasShrinkwrap":false},"1.0.1":{"name":"@aliyasser20/lotide","version":"1.0.1","author":{"name":"Ali Sayed"},"description":"A mini clone of the Lodash library.","main":"assertArraysEqual.js","directories":{"test":"test"},"dependencies":{"chai":"^4.2.0"},"devDependencies":{"mocha":"^7.1.0"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/aliyasser20/lotide.git"},"license":"ISC","bugs":{"url":"https://github.com/aliyasser20/lotide/issues"},"homepage":"https://github.com/aliyasser20/lotide#readme","gitHead":"4f677bddd7c619fb721d688b7fb936a9e42a85cc","_id":"@aliyasser20/lotide@1.0.1","_nodeVersion":"13.5.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-iPxH7/O2XBbo5I9LHjgFWDxGQnHrcAD8QtaMglHDX37YOBbt2nrN3KKAALjFCOV2e4qOVMt24++jb7y/2mj2Hw==","shasum":"2883fa5eeecf871ff42ce4c3ca8f3d43d200217c","tarball":"https://registry.npmjs.org/@aliyasser20/lotide/-/lotide-1.0.1.tgz","fileCount":31,"unpackedSize":21216,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZrTOCRA9TVsSAnZWagAA0xkP/jzjINMgBk/Qa5IpqwFX\nfLixL1dpLPwWgtloNnMs7pF4jowRKyU5gpBI212h0K2LVxaFZB751WPr8nOb\n3vILBrXG1wDR3WZWKy60rRkov5+t9uG1UQMMlRuxZoO02Ppj9rt8UZS5Bgct\nt+nGYfTUOChbICAOuW7F54wRwX/eSh1lPQhYsTJV90q7VLFEdG8axz0WuhD9\neRZnwnXIwuLVcyliXtulm+SqzMP2VGoMzno9VFPHQ+Yd8iIgeUfrkFKqjxqw\n1Dhihru78Mxjj9wN8k4EBs72h/l50HPRaU6+Zx10ogyUgRaOqW5T8J6rVetT\n7Q5qq5QGkGT61tW7ZutJQWn4BwpJmzpnuCySyYRCok+l/CAQPTRnvG6yltGX\n/OFxuT/7zz8YcH/fw3uEDi2VkHh9b+uZYTRwQC9d7lfll1oUpZH4nr+Td/Y0\ncV7xzvqYR3WpsGfosN4Qni0OVI8EQmz6pr6O4C6aQv4n1zthBIc7Cpcxevr0\nkimlOyLr+kCNvjLG28mz8syiRt3HsHf0xPvug1rQ13TA9ZW1rI/6q72lBBTP\nkuSbh6yrlf6VvEown0PGTnKD/d4VYoBbufLWkPr/dheYjORssiVo2FFqM/jF\nvC7cVObd0wfnelhmWn14/uCjybS5B6zljKyFtopFImWwGpv20iYhHCsG4+ny\nttv2\r\n=MjnO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLCbSV8odwnwjRWAbmlF/EUwA9S4RlG2HkQVDOKYDSrwIgLI9qx09H10TOck2/QRhWsGl7DscdfOd7KXlz/upLND8="}]},"maintainers":[{"name":"aliyasser20","email":"aliyasser20@hotmail.com"}],"_npmUser":{"name":"aliyasser20","email":"aliyasser20@hotmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.1_1583789262056_0.7331339067969089"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-09T16:20:50.118Z","1.0.0":"2020-03-09T16:20:50.533Z","modified":"2022-04-04T13:28:33.734Z","1.0.1":"2020-03-09T21:27:42.208Z"},"maintainers":[{"name":"aliyasser20","email":"aliyasser20@hotmail.com"}],"description":"A mini clone of the Lodash library.","homepage":"https://github.com/aliyasser20/lotide#readme","repository":{"type":"git","url":"git+https://github.com/aliyasser20/lotide.git"},"author":{"name":"Ali Sayed"},"bugs":{"url":"https://github.com/aliyasser20/lotide/issues"},"license":"ISC","readme":"# Lotide\n\nA mini clone of the [Lodash](https://lodash.com) library.\n\n## Purpose\n\n**_BEWARE:_ This library was published for learning purposes. It is _not_ intended for use in production-grade software.**\n\nThis project was created and published by me as part of my learnings at Lighthouse Labs.\n\n## Usage\n\n**Install it:**\n\n`npm install @aliyasser20/lotide`\n\n**Require it:**\n\n`const _ = require('@aliyasser20/lotide');`\n\n**Call it:**\n\n`const results = _.tail([1, 2, 3]) // => [2, 3]`\n\n## Documentation\n\nThe following functions are currently implemented:\n\n- `head([a, b, c, ...])`: Returns the first element of an array.\n- `tail([a, b, c, ...])`: Returns an array of all elements expect for first.\n- `middle([a, b, c, ...])`: Returns the middle element/elements (single if array length is odd, double if array length is even). Returns empty array if array length is less than 3 elements.\n- `assertEqual(a, b)`: Returns true if a and b are equal, false otherwise.\n- `eqArrays([a, b, [c, d]], [a, b, [c, d]])`: Returns true if two input arrays are equal, false otherwise.\n- `assertArraysEqual([a, b, [c, d]], [a, b, [c, d]])`: Logs if two input arrays are equal or not to the console.\n- `eqObjects({a: ... , b: {...}}, {a: ... , b: {...}})`: Returns true if two input objects are equal, false otherwise.\n- `assertObjectsEqual({a: ... , b: {...}}, {a: ... , b: {...}})`: Logs if two input objects are equal or not to the console.\n- `countOnly([a, b, c, ...], {a: true, b: false, ...})`: Returns an object with the number of instances of true properties of second argument in the first argument. Example - input: `([a, a, b, c], {a: true, c: true})` => output: `{a: 2, b: 1}`.\n- `countLetters(\"string\")`: Returns an object with the number of letters in a string. Example - input: `\"javascript\"` => output: `{a: 2, c: 1, i: 1, j: 1, s: 1, p: 1, t: 1, v: 1, r: 1}`\n- `takeUntil([a, b, c, ...], b)`: Returns a new array with the elements before the second argument is reached.\n- `without([a, b, c, ...], [a, b])`: Returns a new array without the elements passed in the second array argument.\n- `findKey({a: b, c: d}, callback)`: Returns the first key of the property that has a value matching the callback input function. Callback must return true or false if matches or not.\n- `findKeyByValue({a: b, c: d}, b)`: Returns the key of the property which has a value matching the second input.\n- `letterPositions(\"string\")`: Returns an object with the the positions of each letter in a string. Example - input: `(\"javascript\")` => output: `{j: [ 0 ], a: [ 1, 3 ], v: [ 2 ], s: [ 4 ], c: [ 5 ], r: [ 6 ], i: [ 7 ], p: [ 8 ], t: [ 9 ]}`.\n- `flatten([a, b, [c, d]])`: Returns a new array with all elements and sub-elements.\n- `map([a, b, c, ...], callback)`: Returns a new array with elements matching callback argument.\n","readmeFilename":"README.md"}