{"_id":"@averenceanu/lotide","_rev":"1-4bf86a5a6ddac1930e11704767c6b9f9","name":"@averenceanu/lotide","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@averenceanu/lotide","version":"1.0.0","description":"A mini clone of the [Lodash](https://lodash.com) library.","main":"assertArraysEqual.js","directories":{"test":"test"},"scripts":{"test":"./node_modules/mocha/bin/mocha"},"repository":{"type":"git","url":"git+https://github.com/averenceanu/lotide.git"},"author":{"name":"Alexandra Verenceanu"},"license":"ISC","bugs":{"url":"https://github.com/averenceanu/lotide/issues"},"homepage":"https://github.com/averenceanu/lotide#readme","devDependencies":{"chai":"^4.3.4","mocha":"^9.1.3"},"gitHead":"fa967406edf1add99a0d8192b19104319e3f0e94","_id":"@averenceanu/lotide@1.0.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-O0/l6+VjO/iQOyjQ5BkxUbKaKyUtJHxkUGPVdDWUW7NWQWiv08LOWaiiKlojpSY7XvVXyuNru5h4nbmKUieVSg==","shasum":"5ef65fd027a33a9428499487914dd85f463014ed","tarball":"https://registry.npmjs.org/@averenceanu/lotide/-/lotide-1.0.0.tgz","fileCount":25,"unpackedSize":16213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpUS+CRA9TVsSAnZWagAATokP/R7kXyidPV/FHFiC9NHX\nKeq0OqicTJJy9gx7CZPCzejE3VyqUiod4ypj5W3v8CoC+IgD/kK6h4bvF/4w\nbrqVSPbX9m4tiRY+Qdvqulyj0VyXDsdNEpqky8sIvZXaYuw7+A464uEXfuzL\n5d19FJ6jUhfK3NgNrMQRV1PwM839O0z/r3y0N5hn8ClunqunQuR4eKot/i6+\n+KMkoxTzT0YKAggvGLhgIaDKi/snTnyKH552aT6lCb2WuICS75tQdpLGXSbk\n0o6EuWcBjZQdRYUKWGrxGqAD1aFKtVkHNpZhFwiLWyVqIsOWxeW6C3NlyhrK\nWU3O8+423miLyJ7u8bvhXctE/4yZH6cDSvI0A3WGonBDBOWGEI8KhLjcdJMt\neVI7yY/L+gkoqdYv6Vprf33mXN4PEF2AWrbw1L8jh8dMXbpwYc0u9GEm6U+y\nLphtP8R/gvqqpVhpOW9HgfVYxuem7JUr0U5+dJgJBmgkiPwZBt0n6m4SjuCc\n3U+MNVWxO4WuVXUtDNJ+WEfMr64xU0AXuXci9lZNCxUIgRNSNGanLmi4LoPm\nsG+hZY7CnkSefaG2yGUoMTqvOvaD++mMW4BBQaullDbHB5d6yPGL+fmXjJgR\nqGi0l4Z2ca8EXCn5LIMpWLjJZTEfqgl016GXVEaXWKmMt7RQt/hc2KI4YOyS\nCGi3\r\n=y+un\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDY4xAYAU0HRMcjNgWNOn5cGv0EGKp4/blc/opXqaoqyQIhAPdSf3JuUe8EOwe3OBodAAU6Vj9lmptOqSzo4fqpvwY6"}]},"_npmUser":{"name":"averenceanu","email":"alexandra.verenceanu@mail.mcgill.ca"},"maintainers":[{"name":"averenceanu","email":"alexandra.verenceanu@mail.mcgill.ca"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1638220990399_0.8649260281099245"},"_hasShrinkwrap":false}},"time":{"created":"2021-11-29T21:23:10.361Z","1.0.0":"2021-11-29T21:23:10.565Z","modified":"2022-04-04T16:46:12.919Z"},"maintainers":[{"name":"averenceanu","email":"alexandra.verenceanu@mail.mcgill.ca"}],"description":"A mini clone of the [Lodash](https://lodash.com) library.","homepage":"https://github.com/averenceanu/lotide#readme","repository":{"type":"git","url":"git+https://github.com/averenceanu/lotide.git"},"author":{"name":"Alexandra Verenceanu"},"bugs":{"url":"https://github.com/averenceanu/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 @averenceanu/lotide`\n\n**Require it:**\n\n`const _ = require('@averenceanu/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* `function head`: Retrieves the first element from the array.\n* `function tail`: Retrieves every element except the head of the array.\n* `function middle`: Takes in an array and return the middle-most element(s) of the given array.\n* `function assertArrayEqual`: A message of success or failure printed to the console, letting us know if two arrays are a perfect match. To be implemented with `eqArrays`. \n* `function assertEqual`: A message of success or failure printed to the console, letting us know if our functions are behaving as expected. \n* `function assertObjectsEqual`: Takes in two objects and console.log an appropriate message to the console base on if they are a perfect match. \n* `function countLetters`: Takes in a sentence (as a string) and then return a count of each of the letters in that sentence.\n* `function countOnly`: When given an array and an object, it will return an object containing counts of everything that the input object listed.\n* `function eqArrays`: Compares two arrays for a perfect match.\n* `function eqObjects`: Takes in two objects and returns true or false, based on a perfect match.\n* `function findKey`: 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* `function findKeyByValue`: Takes in an object and a value. It returns the first key which contains the given value. If no key with that given value is found, then it should return undefined.\n* `function letterPositions`: Returns all the indices (zero-based positions) in the string where each character is found.\n* `function map`: It takes in two arguments: an array to map, a callback function. It returns a new array based on the results of the callback function. \n* `function takeUntil`: The function will return a \"slice of the array with elements taken from the beginning.\" It should keep going until the callback/predicate returns a truthy value.\n* `function without`: Returns a subset of a given array, removing unwanted elements.\n","readmeFilename":"README.md"}