{"_id":"@ahyagoub40/lotide","_rev":"1-17d1b69a78dba79a6a9f9d6d8a848463","name":"@ahyagoub40/lotide","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@ahyagoub40/lotide","version":"1.0.0","description":"lotide library with all the related function","main":"assertArraysEqual.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/ahyagoub40/lotide.git"},"author":{"name":"Ahmed Yagoub"},"license":"ISC","bugs":{"url":"https://github.com/ahyagoub40/lotide/issues"},"homepage":"https://github.com/ahyagoub40/lotide#readme","devDependencies":{"chai":"^4.2.0","mocha":"^7.0.0"},"dependencies":{},"gitHead":"3f3b76845ed9e8a451ee111334ea4ddc543080f3","_id":"@ahyagoub40/lotide@1.0.0","_nodeVersion":"8.9.4","_npmVersion":"6.13.6","dist":{"integrity":"sha512-0JCNPLfxIRvNT4p6xE8LFhZBH4i9GoTPhTKeXDI3c4i5sLZoyiq21Jt/K/kNr4rZf6AgaGWrkb9wRlkK0GXOag==","shasum":"2a6cb66b800d72ecd9d8a73322adb4fa95e0bb59","tarball":"https://registry.npmjs.org/@ahyagoub40/lotide/-/lotide-1.0.0.tgz","fileCount":26,"unpackedSize":23817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHTHzCRA9TVsSAnZWagAAgVsP/RrXHK7FdvQNdZkq6Bav\ngKYXNx4acr2+vX9pw5dWOe3MViezjz0ex6srKaQ/oYrGTsii78AAP7dDmapX\nX6Icy5thnL0nwnEzOpd0n6BzICxx9r4+oW49XvvVhSQrTj5NzpBc8KeR+lxq\n1vMgORlN3IxdS4oiZ/B7PhE5/to8uBSROoxraF/lsotPheopOE96/JB0RAWl\nVO60O7Jd/dkkBlH9N+3whhfNxbYXBWUrm7bxwsxxRPhCbF/LtDLjZVR5U+1S\nGZDDRI+B8cyGK5WBmD083rBBsSuJsGUYBPqBFLcXNZQNgKQvdtYzQURdIHaz\n7BVu5lT2in1Jo/OGSqC1jfHKRFJ6STRQMsSfePZZk+gWbMNwV47t24mdh9kY\nuaI/sVOaw3AdnPa99sV7j6sX3J4ma7FJhv/EqK30u/Vkikzq94BnZNiGWTx2\nAaT4osw6SxFEk6QVNhiyYYX0DsOo9PUXTQpBiyeq7g5wjs8EQf61JlQ2e8jG\n+zLer4OUkiRCxAWTBj9UfEHG/SOQdf7nCmo5mTRodKKKzD7fnF9k6zKBu//4\nfKPLT+Wrd7K/ywHHGNGwpJ9l1QM7zIHFIwX80rdEGPtYVW4abaVsaVuqeAtG\nQnX/FY2b7YU6jwhHpKg4lS7vFHFD0SmBO7yWeqMFJTQHL4nLvVX7UGskDKO4\nE9bN\r\n=fl74\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEClpBK1rRuEOlt3n5UhK0rhvMuRNSopopxTc7bBFCKRAiARDOgfZlw3t9uH1tNdY45/j6eUyR/nYL+2oSXDOikXsA=="}]},"maintainers":[{"name":"ahyagoub40","email":"ahyagoub40@gmail.com"}],"_npmUser":{"name":"ahyagoub40","email":"ahyagoub40@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1578971634550_0.8355663901060393"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-14T03:13:54.521Z","1.0.0":"2020-01-14T03:13:54.642Z","modified":"2022-04-04T12:14:43.093Z"},"maintainers":[{"name":"ahyagoub40","email":"ahyagoub40@gmail.com"}],"description":"lotide library with all the related function","homepage":"https://github.com/ahyagoub40/lotide#readme","repository":{"type":"git","url":"git+https://github.com/ahyagoub40/lotide.git"},"author":{"name":"Ahmed Yagoub"},"bugs":{"url":"https://github.com/ahyagoub40/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 @ahyagoub40/lotide`\n\n**Require it:**\n\n`const _ = require('@ahyagoub40/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(array)`: returns the first item in the array\n* `tail(array)`: returns the element of the passed array excluding the first item\n* `middle(array)`: returns the middle indicies of the array\n* `assertArraysEqual((firstArray, secondArray))`: compare if two arrays are identical, that they have the same length and that they have identical items in the same indicies\n* `assertEqual(actual, expected)`: check two values that they are stricty equal in terms of type and value\n* `assertObjectsEqual(object1, object2)`: check if objects are identical\n* `countLetters(sentence)`: takes a sentence and returns an object with letters as keys and their num of occourances as valus\n* `countOnly(allItems, itemsToCount)`: function that takes an array and an abject, returns an object with key-value pair indicating how many times the key was present in the array\n* `eqArrays(array1, array2)`: returns true if the two passed arrays are identical\n* `eqObjects(object1, object2)`: compare two object that they are identical, have the same key value pairs\n* `findKey(object, callback)`: takes an object and a function as parameters. return the first key where the function is true\n* `findKeyByValue(object, value)`: return the first key int the object that its value matches the value provide as an argument to the function\n* `flatten(arrayOfArrays)`: takes an array of array and flatten the values into one single array\n* `letterPositions(sentence)`: returns an object with the letters and the indicies of the letter in the sentence \n* `map(array, callback)`: returns an array after applying the conditions of the callback function in the passed array\n* `takeUntil(array, callback)`: return items of the passed array up untill the the condition of the callback is true\n* `without(sourceArray, itemsToRemmoveArray)`: it filters out the items passed in the second array from the first one ","readmeFilename":"README.md"}