{"_id":"@adamhirzalla/lotide","_rev":"3-d8d1ccdcb5a4cdf1a1da9ee59e112057","name":"@adamhirzalla/lotide","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@adamhirzalla/lotide","version":"1.0.0","description":"A mini clone of the [Lodash](https://lodash.com) library.","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha","start":"node ."},"repository":{"type":"git","url":"git+https://github.com/adamhirzalla/lotide.git"},"keywords":[],"author":{"name":"Adam Hirzalla","email":"AdamHirzalla@outlook.com","url":"https://github.com/adamhirzalla"},"license":"ISC","bugs":{"url":"https://github.com/adamhirzalla/lotide/issues"},"homepage":"https://github.com/adamhirzalla/lotide#readme","devDependencies":{"chai":"^4.3.4","mocha":"^9.1.3"},"gitHead":"2f4670995572ed5346bd4cede1b4cffa59eeac3a","_id":"@adamhirzalla/lotide@1.0.0","_nodeVersion":"12.18.4","_npmVersion":"8.0.0","dist":{"integrity":"sha512-0RGaFsnHQL0ocijK9HYboYeBWRT7du/Z8Z4HqZu4R0jIEY9o6BUH5mRhEq+oYJ4ZvMY4HoQTYrD5DwFx9augxQ==","shasum":"a604ab8dd86b638adf015c1ab363123bb2523fa9","tarball":"https://registry.npmjs.org/@adamhirzalla/lotide/-/lotide-1.0.0.tgz","fileCount":37,"unpackedSize":16234,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG/XomYDQElNo3D/z4heOhd8bWg+OMnNR/Mk0xMwo1j6AiEA6hdd5B2lbThzbluDZaje/QjwiGMb4I0F3L4ZQh+CfzM="}]},"_npmUser":{"name":"adamhirzalla","email":"adamhirzalla@outlook.com"},"maintainers":[{"name":"adamhirzalla","email":"adamhirzalla@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1635807619684_0.5128603623956911"},"_hasShrinkwrap":false},"1.0.1":{"name":"@adamhirzalla/lotide","version":"1.0.1","description":"A mini clone of the [Lodash](https://lodash.com) library.","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha","start":"node ."},"repository":{"type":"git","url":"git+https://github.com/adamhirzalla/lotide.git"},"keywords":[],"author":{"name":"Adam Hirzalla","email":"AdamHirzalla@outlook.com","url":"https://github.com/adamhirzalla"},"license":"ISC","bugs":{"url":"https://github.com/adamhirzalla/lotide/issues"},"homepage":"https://github.com/adamhirzalla/lotide#readme","devDependencies":{"chai":"^4.3.4","mocha":"^9.1.3"},"gitHead":"6b6fb53cee5a2f6f736449463735e32cdc7966d2","_id":"@adamhirzalla/lotide@1.0.1","_nodeVersion":"12.18.4","_npmVersion":"8.0.0","dist":{"integrity":"sha512-G1qDs4VMQiBHu2nz+OCg7NrsZ0ESYlrsX4WpdWmAfF8/lRvbVwh0377pFBAAovfPrUYZKHXGfD+3kMnTCnDf8Q==","shasum":"5ca54d759cc3cf3107932a64cd2773b96b874272","tarball":"https://registry.npmjs.org/@adamhirzalla/lotide/-/lotide-1.0.1.tgz","fileCount":37,"unpackedSize":20684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhu2IMCRA9TVsSAnZWagAAB4IP/A9RnmgqBd3A1zj77Y5i\n3rYr6xi1vYTuo/fipm2c9m1JC+Y8U9sA8EFE3HMrtDN417t7Q3sp+Ow9BeiO\nZGQpWD1MFTaZsatDUoQhwqTPYv20ME/zRrPkaFGMEsYZo0NaaNEI1BwlW9id\nduHwc2YZFPtL0ApAECVTbLWv/20tgKiY5PMDku6doCGZe1PVU/CMVfeeYSf8\nzJneIAEkWAKek+C+zLDfql1lxkfrnI7x5JiTdPuLRFhXXwR5y6XkfK6BWnWC\n8LIaJjV8dolI4UM5KV7d+sDzXf74rynBtAGUovRGYHffAY5cY15v6HD9zbcX\nZ0d2xCSdzskhIWqMCykdNYVfy4ZUFES6nveWqx0k46m1xRscV72JpTbZnMzu\nJaoFBK3kNQGFPAgFcU62IHE/lyh6cwRNrIXgXuVg5+BzxABrwLDk0PNIgwGA\nJT/A/kvT/3C2w6Lepw3KrPl/LEX9CtbeeOKg7JhEBwjR2FM4QexjFdZC9SE7\nIWtTiHKCh6lRWQwZl10AJB549E445HBzxPHlORV1tA+6NaMyAct8+0fbs5lc\nGaWCopiM0Owjst9IIO1mrssoBKJRht5XFm5pwVCPxKXlx6G/0Beu+GWViwVO\nyoVCowwqAwajNL9Jc6ZLzYz8vq2EdJ8YdDpYagcoxWS9t5K6fuFkNPcn9PFq\nGtW2\r\n=U7iH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmF/6dNFynphlxUw36zwM9ejevAhuNthAxNf+/qec7iQIgOfRqWIeHo8LMOEFQ8ohKpYT6Z2mJmiXak1IyQY9qrgo="}]},"_npmUser":{"name":"adamhirzalla","email":"adamhirzalla@outlook.com"},"maintainers":[{"name":"adamhirzalla","email":"adamhirzalla@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.1_1635821147714_0.8952574861436011"},"_hasShrinkwrap":false}},"time":{"created":"2021-11-01T23:00:19.646Z","1.0.0":"2021-11-01T23:00:19.835Z","modified":"2022-04-04T11:25:15.792Z","1.0.1":"2021-11-02T02:45:47.867Z"},"maintainers":[{"name":"adamhirzalla","email":"adamhirzalla@outlook.com"}],"description":"A mini clone of the [Lodash](https://lodash.com) library.","homepage":"https://github.com/adamhirzalla/lotide#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/adamhirzalla/lotide.git"},"author":{"name":"Adam Hirzalla","email":"AdamHirzalla@outlook.com","url":"https://github.com/adamhirzalla"},"bugs":{"url":"https://github.com/adamhirzalla/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 @adamhirzalla/lotide`\n\n**Require it:**\n\n`const _ = require('@adamhirzalla/lotide');`\n\n**Call it:**\n\n`const results = _.middle([1, 2, 3]) // => [2]`\n\n## Documentation\n\nThe following functions are currently implemented:\n\n* `assertEqual(actual, expected)`: logs assertion message - Pass/Fail (operator: ===)\n* `eqArrays(firstArray, secondArray)`: returns true if both arrays are equal, otherwise false (operator: ===)\n* `assertArraysEqual(firstArray, secondArray)`: logs assertion message - Pass/Fail (operator: ===)\n* `eqObjects(firstObject, secondObject)`: returns true if both objects are equal, otherwise false (operator: ===)\n* `assertObjectsEqual(firstObject, secondObject)`: logs assertion message - Pass/Fail (operator: ===)\n* `head(array)`: returns the head element of a given array\n* `tail(array)`: returns the tail array of a given array\n* `middle(array)`: returns an array of the middle element for a given array \n  * If array length is less than or equal 2: returns an empty array\n  * If array length is odd and greater than 2: returns an array with the middle element\n  * If array length is even and greater than 2: returns an array with both middle elements\n* `flatten(array)`: flattens a given array into a single array\n* `map(array, callback)`: calls a given callback function on every element of a given array\n* `countLetters(string)`: returns an object with each character from a given string as the key, and its number of occurances as the key-value\n* `countOnly(allItems, itemsToCount)`: given an object itemsToCount with keys of what to count and a value of true/false, returns an object with number of occurances of each key from a given array of allItems\n* `findKey(object, callback)`: returns the key-name of the first truthy return of the callback function on a given object\n* `findKeyByValue(object, value)`: returns the key-name of the first key-value matching the given value\n* `takeUntil(array, callback)`: returns an array with all elements of a given array until it reaches a truthy return value from the given callback function\n* `without(allItems, elementsToRemove)`: removes all instances of elements from a given array elementsToRemove from a main given array allItems\n* `lettPositions(string)`: returns an object with keys of all characters and their indices as key-values from a given string","readmeFilename":"README.md"}