{"_id":"@ehabahmed23/lotide","_rev":"2-edb66df3374e0aec7490e7ed615512fe","name":"@ehabahmed23/lotide","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@ehabahmed23/lotide","version":"1.0.0","description":"This is a mini clone of lotide created by me for learning purposes and is not intended for use in production-grade software","main":"assertArraysEqual.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/ehabahmed23/lotide.git"},"author":{"name":"ehab ahmed"},"license":"ISC","bugs":{"url":"https://github.com/ehabahmed23/lotide"},"homepage":"https://github.com/ehabahmed23/lotide#readme","devDependencies":{"chai":"^4.3.10","mocha":"^9.2.2"},"gitHead":"7f2a5ef0889a741aec93073b21709937a41b5a06","_id":"@ehabahmed23/lotide@1.0.0","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-mW0GO2VVVpoF529lXlM7P+dJzVXDpjj8EJcY7j5rIksbgd2806F5vd9fLcF/mTWy8zwwsDY8Ozq6zIjWCQIhDA==","shasum":"5701d188f698b2e9538086251c0f1be29867bdb3","tarball":"https://registry.npmjs.org/@ehabahmed23/lotide/-/lotide-1.0.0.tgz","fileCount":25,"unpackedSize":10699,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsr31fpaBv6lyrbufzY6CM74lPEgTjpOprKimyyPWszAIhAJhlQqVMEDEn3iArjNSo4lnZdE2yH/IqqLXKxRDtiG3g"}]},"_npmUser":{"name":"ehabahmed23","email":"ehabahmed2456@gmail.com"},"maintainers":[{"name":"ehabahmed23","email":"ehabahmed2456@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1698261402158_0.0950462468901283"},"_hasShrinkwrap":false},"1.0.1":{"name":"@ehabahmed23/lotide","version":"1.0.1","description":"This is a mini clone of lotide created by me for learning purposes and is not intended for use in production-grade software","main":"assertArraysEqual.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/ehabahmed23/lotide.git"},"author":{"name":"ehab ahmed"},"license":"ISC","bugs":{"url":"https://github.com/ehabahmed23/lotide"},"homepage":"https://github.com/ehabahmed23/lotide#readme","devDependencies":{"chai":"^4.3.10","mocha":"^9.2.2"},"gitHead":"7f2a5ef0889a741aec93073b21709937a41b5a06","_id":"@ehabahmed23/lotide@1.0.1","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-7/tCfmRMepZ1SyYlmRih2DMorU75KoDhkEJDk/Lsuwym+5xkZY6F0RTXHsq7hw+VyQ4KFC8oU49IPIXcY28gNQ==","shasum":"958ed20bfeea3a8b184a7c304da24ef46f43dc54","tarball":"https://registry.npmjs.org/@ehabahmed23/lotide/-/lotide-1.0.1.tgz","fileCount":25,"unpackedSize":10699,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEOy2y85zminp4LAKcaQrmgdgzkiyziyZ7YVt5ICXr3QIgMxuNAOZhzXVckwyApJEZNgeDmvKXjYLSdntzzWSv/VA="}]},"_npmUser":{"name":"ehabahmed23","email":"ehabahmed2456@gmail.com"},"maintainers":[{"name":"ehabahmed23","email":"ehabahmed2456@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.1_1698266508908_0.4061263921227052"},"_hasShrinkwrap":false},"1.0.2":{"name":"@ehabahmed23/lotide","version":"1.0.2","description":"This is a mini clone of lotide created by me for learning purposes and is not intended for use in production-grade software","main":"assertArraysEqual.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/ehabahmed23/lotide.git"},"author":{"name":"ehab ahmed"},"license":"ISC","bugs":{"url":"https://github.com/ehabahmed23/lotide"},"homepage":"https://github.com/ehabahmed23/lotide#readme","devDependencies":{"chai":"^4.3.10","mocha":"^9.2.2"},"gitHead":"2251c3755308b4b56887956b8723fe038457ce25","_id":"@ehabahmed23/lotide@1.0.2","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-ecof+Ejlo3lfQiKq4W/IMAzGVFkbxUMlGvhViuWMkiSxXJFHshjQiMI09q9TJyb4X9eM6vDqIpTN36QlEfptig==","shasum":"018d3dee19788afd679e96d153a61e1491577728","tarball":"https://registry.npmjs.org/@ehabahmed23/lotide/-/lotide-1.0.2.tgz","fileCount":25,"unpackedSize":10699,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwkKdQWj6PVEl/0oj293bb1FmqSp8vxY5Z645UQOzg0QIhANjHheoyZikNKh3nHX+bodKxFlx1A6em3eZ2PWEos+bk"}]},"_npmUser":{"name":"ehabahmed23","email":"ehabahmed2456@gmail.com"},"maintainers":[{"name":"ehabahmed23","email":"ehabahmed2456@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.2_1698274453189_0.9750633429256947"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-25T19:16:42.081Z","1.0.0":"2023-10-25T19:16:42.360Z","modified":"2023-10-25T22:54:13.633Z","1.0.1":"2023-10-25T20:41:49.132Z","1.0.2":"2023-10-25T22:54:13.447Z"},"maintainers":[{"name":"ehabahmed23","email":"ehabahmed2456@gmail.com"}],"description":"This is a mini clone of lotide created by me for learning purposes and is not intended for use in production-grade software","homepage":"https://github.com/ehabahmed23/lotide#readme","repository":{"type":"git","url":"git+https://github.com/ehabahmed23/lotide.git"},"author":{"name":"ehab ahmed"},"bugs":{"url":"https://github.com/ehabahmed23/lotide"},"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 @ehabahmed23/lotide`\n\n**Require it:**\n\n`const _ = require('@ehabahmed23/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)`: Takes an array and returns the first element.\n* `_.tail(array)`: Takes an array and returns all elements except the first.\n* `_.middle(array)`: Takes an array and returns the 2 middle element if even and 1 if odd.\n* `_.eqArrays(arr1, arr2)`: Takes 2 arrays and return true if they are the same and false if they are not.\n* `_.assertArraysEqual(arr1,arr2)`: Used for testing and needs _.eqArrays to print a message if the 2 arrays are equal.\n* `_.assertEqual(actual, excpected)`: takes in 2 variables to see if they are strictly equal(used for testing) and prints a message.\n* `_.eqObjects(obj1, obj2)`: Takes in 2 objects and retuns true if they are strictly equal and false if not.\n* `_.assertObjectsEqual(array)`: Used for testing and needs _.eqObjects to print a message if the 2 objects are equal.\n* `_.countletters(array)`: takes in a string and counts how many of each letter was used and returns it in an object\n* `_.countOnly(array, object)`: takes an array and an object. It will return an object containing counts of everything that the input object listed.\n* `_.findKey(array)`: Which takes in an object and a callback. It should scan the object and return the first key for which the callback returns a truthy value. If no key is found, then it should return undefined. \n* `_.findKeyByValue(object, value)`: takes in an object and a value. It should scan the object and return the first key which contains the given value. If no key with that given value is found, then it should return undefined.\n* `_.letterPositions(string)`: Will return all the indices (zero-based positions) in the string where each character is found.\n* `_.takeUntil(array, callback)`: Which will keep collecting items from a provided array until the callback provided returns a truthy value. \n* `_.without(array, itemsToRemove)`: This function should take in a source array and a itemsToRemove array. It should return a new array with only those elements from source that are not present in the itemsToRemove array.","readmeFilename":"README.md"}