{"_id":"@emmanueletti/lotide","_rev":"1-771015141e7de3fd94af03f5175d0deb","name":"@emmanueletti/lotide","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@emmanueletti/lotide","version":"1.0.0","description":"A mini clone of the Lodash library","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/emmanueletti/lotide.git"},"author":{"name":"Emmanuel Etti"},"license":"ISC","bugs":{"url":"https://github.com/emmanueletti/lotide/issues"},"homepage":"https://github.com/emmanueletti/lotide#readme","devDependencies":{"chai":"^4.3.4","mocha":"^9.0.1"},"gitHead":"0912a48c112793ff611618edf6408926e6a5dc02","_id":"@emmanueletti/lotide@1.0.0","_nodeVersion":"12.18.2","_npmVersion":"7.19.0","dist":{"integrity":"sha512-BH/akJofRdG5jEpLyftaWhmPIGVqgkuCJ0CI3vbYUfeAD2/asux/j0B3xruUU52HEMJn2ExTpaamjMLQUZZ/aQ==","shasum":"47bcc43da193c1c3ead04f1605c09ef6a9944883","tarball":"https://registry.npmjs.org/@emmanueletti/lotide/-/lotide-1.0.0.tgz","fileCount":37,"unpackedSize":26312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2lnqCRA9TVsSAnZWagAAAyEP/3K+f3lhqXe8dpz+hyWp\n/0JuEY+svHhztY05YuDSYdEs81V23TyZYlljPBZxaCl+87nOUq8oBQ7j7Hpc\n4qepeqAlTgb7gIf1S3wPQPQ3V3/BNqdc6WoSqFCo4NKTmOHtWGbUbWo6KznE\nJ0OcvlK5FICKSBSe7IFBCKjGyc06F2cGlhocueTPTlkJsw8vKRrYRPlJmZO6\nW1AOnXiJRT9v5JzUcgv45obgq2kekzqQNvYSMaZs8PtsM1CSbmzYovN/HNef\nrAbYT1SaXY4cqlF0SNeGKQ07HW6aF3WRBo6P4pBqaxbB40oGZeHQPQcvLw/W\nflCJy4ohLYud0Ik5+yLY67cWO6S08wz43j1ho6X2c7EIPGA4G0kCSM9LUFcD\nA4Vi/IwUb6TlG2lbv/qRqACCBYnDdfnJXWKU4rNyk6/PqQHhtPMmUzmBmQ0I\nVMuGV8hTm11ca2DWMTvnVf/h1OLXbeG/qi9zKoID5KO1a/6qVtr3+/GgKOx8\n/X+E2VlzO7d8Mq5Ls1yXXm8u76dXQx2OPDB3/eHO2OpabPBSDyY5VdhVZBI9\nSfL2apRiOn94JsM9WRtzEOnSyFl27PBmKrAIEehvZF3QgyWf07JEJp1gV6Jx\nRBBwqnn/QFQCz10GYjGj2icgazXTHs1zAzPKvR7UyB75quzXKj+XuSHM9IxN\npUyw\r\n=4K0p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7NVydmQwgoPgLRHWLu/IAYKRmFv4vBk1N7WKAdzUZqwIgJ22esirkIk+rNZt1t1Cdd7fMlTqBpl6WRey1Ne6YW1Y="}]},"_npmUser":{"name":"emmanueletti","email":"emmanueletti@gmail.com"},"maintainers":[{"name":"emmanueletti","email":"emmanueletti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1624922601889_0.6426477073528698"},"_hasShrinkwrap":false}},"time":{"created":"2021-06-28T23:23:21.850Z","1.0.0":"2021-06-28T23:23:22.005Z","modified":"2022-04-05T07:34:06.442Z"},"maintainers":[{"name":"emmanueletti","email":"emmanueletti@gmail.com"}],"description":"A mini clone of the Lodash library","homepage":"https://github.com/emmanueletti/lotide#readme","repository":{"type":"git","url":"git+https://github.com/emmanueletti/lotide.git"},"author":{"name":"Emmanuel Etti"},"bugs":{"url":"https://github.com/emmanueletti/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 @emmanueletti/lotide`\n\n**Require it:**\n\n`const _ = require('@emmanueletti/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- `assertArrayEqual(arr1, arr2)`: checks if two arrays are equal\n- `assertEqual(value1, value2)`: checks if two primitative values are equal\n- `assertObjectsEqual(obj1, obj2)`: checks if two objects are equal\n- `countLetters('hello world')`: returns a histogram object tabulating all occurances of letters in a string\n- `countOnly(arr, obj)`: given an array and an object, function will return an object containing counts of everything that the input object listed\n- `findKey(obj, callbackFn)`: takes in an object and a callback function. Scans the object and return the first key for which the callback returns a truthy value. If no key is found, then returns undefined.\n- `findKeyByValue(obj, value)`: takes in an object and a value. It scans the object and returns the first key which contains the given value. If no key with that given value is found, then it returns undefined.\n- `flatten(arr)`: re-cursively flattens out an array nested to any level down to 1 level\n- `head(arr)`: returns the first index position of an array\n- `letterPositions(arr)`: takes a string and returns an object detailing the index positions of each letter\n- `map(arr, callbackFn)`: implementation of [Javascripts map function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\n- `middle(arr)`: takes an array and returns the middle element. If array is even numbered in length, function will return the middle 2 elements.\n- `tail(arr)`: returns the elements after the first array index\n- `takeUntil(arr, callback)`: will keep collecting items from a provided array until the callback provided returns a truthy value\n- `without(arr1, arr2)`: will return a subset of a given array (arr1), removing specified unwanted elements (arr2)\n","readmeFilename":"README.md"}