{"_id":"@benfinlay/lotide","name":"@benfinlay/lotide","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@benfinlay/lotide","version":"1.0.0","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/Ben-Finlay/lotide.git"},"author":{"name":"Ben Finlay"},"license":"ISC","bugs":{"url":"https://github.com/Ben-Finlay/lotide/issues"},"homepage":"https://github.com/Ben-Finlay/lotide#readme","devDependencies":{"chai":"^4.3.6","mocha":"^9.2.2"},"description":"A mini clone of the Lodash library. This library was created for learning purposes.","dependencies":{"ansi-regex":"^5.0.1","anymatch":"^3.1.2","ansi-colors":"^4.1.1","assertion-error":"^1.1.0","argparse":"^2.0.1","braces":"^3.0.2","brace-expansion":"^1.1.11","balanced-match":"^1.0.2","binary-extensions":"^2.2.0","camelcase":"^6.3.0","browser-stdout":"^1.3.1","ansi-styles":"^4.3.0","check-error":"^1.0.2","chokidar":"^3.5.3","color-convert":"^2.0.1","color-name":"^1.1.4","concat-map":"^0.0.1","decamelize":"^4.0.0","deep-eql":"^3.0.1","cliui":"^7.0.4","emoji-regex":"^8.0.0","escape-string-regexp":"^4.0.0","fill-range":"^7.0.1","debug":"^4.3.3","escalade":"^3.1.1","fs.realpath":"^1.0.0","chalk":"^4.1.2","find-up":"^5.0.0","diff":"^5.0.0","get-caller-file":"^2.0.5","fsevents":"^2.3.2","get-func-name":"^2.0.0","has-flag":"^4.0.0","flat":"^5.0.2","glob":"^7.2.0","growl":"^1.10.5","glob-parent":"^5.1.2","inherits":"^2.0.4","inflight":"^1.0.6","he":"^1.2.0","is-extglob":"^2.1.1","is-number":"^7.0.0","is-glob":"^4.0.3","is-fullwidth-code-point":"^3.0.0","is-plain-obj":"^2.1.0","locate-path":"^6.0.0","is-unicode-supported":"^0.1.0","js-yaml":"^4.1.0","is-binary-path":"^2.1.0","log-symbols":"^4.1.0","ms":"^2.1.3","nanoid":"^3.3.1","p-limit":"^3.1.0","p-locate":"^5.0.0","minimatch":"^4.2.1","once":"^1.4.0","path-exists":"^4.0.0","normalize-path":"^3.0.0","loupe":"^2.3.4","path-is-absolute":"^1.0.1","randombytes":"^2.1.0","picomatch":"^2.3.1","require-directory":"^2.1.1","readdirp":"^3.6.0","safe-buffer":"^5.2.1","serialize-javascript":"^6.0.0","strip-ansi":"^6.0.1","strip-json-comments":"^3.1.1","pathval":"^1.1.1","string-width":"^4.2.3","type-detect":"^4.0.8","wrappy":"^1.0.2","isexe":"^2.0.0","supports-color":"^8.1.1","which":"^2.0.2","workerpool":"^6.2.0","wrap-ansi":"^7.0.0","to-regex-range":"^5.0.1","yargs-parser":"^20.2.4","yargs":"^16.2.0","yargs-unparser":"^2.0.0","yocto-queue":"^0.1.0","y18n":"^5.0.8"},"gitHead":"5425b8b7652447d5edc8ca9c61a36acd8e2d8fcd","_id":"@benfinlay/lotide@1.0.0","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-tHLT0FpgXHTlTTicn4lPkejy5YJ79olVlf1b7AcQx/1Qet2ZMfwA1BtTV9bvPBak2wGbVEJZfb1WycDqfKU3sw==","shasum":"1e5f1622efe189f9c920ce8d3e321fbaf8c559ec","tarball":"https://registry.npmjs.org/@benfinlay/lotide/-/lotide-1.0.0.tgz","fileCount":26,"unpackedSize":13390,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDiRdVQPUOFfbQB99JD7jKfkVfKgp1qBIiQ/gwzx3oQ8AIgCVP7XgRMb+Fk1wvTgmPMjA3sGqiigpwoPetirmYuhOM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVIh6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmooVQ//ajCxIUvpMdJgmfhG+DN8ofMhVQxhRCH8n5J8tz5fEPGeEjyn\r\nZQeI8ir2smeG4v4gkEDPshdFEFNX5rN01teRd7OCaIK+Adfny6XnfUcBAtAf\r\nGQGC5JK8Q+cuQLKHLENknPRGW9PMpykf0PwWuxKJIZwDG657xpyuJopsgwG4\r\nyPNCuh810/Ld+26nyQSID7SJ8TcCcqXEQt9Q74iK4H0AfI2uZA6oKkEs2C0e\r\noQP75t2RR2l/PjSh5FBM0EpKsyjaZS/DuaoaWngdx2inC+9FmvoQZCc8mKGa\r\nVH56tF/2xAcX0hHpjUdMz/r/7Z+d9SR3QodyJkWZhtFfsBR0mZgZTBCCxqQz\r\n1q4RMpCztPTaUnCn2fZ6O4DuJimZSSbZAcTY4aVihIgd4Mx5spckP7WX1HF4\r\nm5qqViBpbQDiSJeB7q43uTmkie1gV9zbppY6iCMBOrJHM68Se6d61XGuSRxC\r\n/MR7wapvXosQgBdnqddnt/cpACJHNQf4QMxQvMs5EVIdfnuAgCz5t6k3t8Y6\r\nutCDcNGTq0Zl92gbV3vNgkfuosqxIzwCogYj+Xci0ozbddUSPILqvuEZNAjD\r\n0ULMdzFFtclZsCjz79v7ovdw08vXHLCfjoaqRHlSq/i0EfBuRiMOaVVlzMEb\r\nhxK15LdQaBRZtiQpdl636atSGxTg75etSLs=\r\n=Y5u7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"benfinlay","email":"benjamin.finlay@gmail.com"},"maintainers":[{"name":"benfinlay","email":"benjamin.finlay@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1649707130789_0.7464541569892869"},"_hasShrinkwrap":false}},"time":{"created":"2022-04-11T19:58:50.714Z","1.0.0":"2022-04-11T19:58:50.937Z","modified":"2022-04-11T19:58:51.091Z"},"maintainers":[{"name":"benfinlay","email":"benjamin.finlay@gmail.com"}],"description":"A mini clone of the Lodash library. This library was created for learning purposes.","homepage":"https://github.com/Ben-Finlay/lotide#readme","repository":{"type":"git","url":"git+https://github.com/Ben-Finlay/lotide.git"},"author":{"name":"Ben Finlay"},"bugs":{"url":"https://github.com/Ben-Finlay/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 Ben Finlay as part of my learnings at Lighthouse Labs. \n\n## Usage\n\n**Install it:**\n\n`npm install @benfinlay/lotide`\n\n**Require it:**\n\n`const _ = require('@benfinlay/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\n* `head(array)`: returns the first entry in an array.\n* `tail(array)`: returns an array with the first entry of the input array removed.\n* `middle(array)`: returns and array with the middle values the input array.\n* `countLetters(string)`: returns a count of all letters in a string.\n* `countOnly(allItems, itemsToCount)`: takes in a collection of items and returns counts for a specific subset of those items. \n* `eqArrays(arr1, arr2)`: compares two arrays to check if they are the same.\n* `eqObjects(object1, object2)`: compares two objects to check if they are the same.\n* `findKey(obj, callback)`: takes in an object and callback. Scans the object and returns the first key for which the callback returns a truthy value.\n* `findKeyByValue(obj, val)`: searches for a corresponding value, and returns the associated object key.\n* `flatten(array)`: takes in an array with nested arrays, and returns a single array with all values.\n* `letterPositions(string)`: takes in a string and returns an object with the keys as chars, and the values as the positions of the letters in the string.\n* `map(array, callback)`: takes in an array and callback and return a new array based on the results of the callback function.\n* `takeUntil(array, callback)`: returns a slice of an array starting from array[0], and stopping at when the callback value reaches a truthy position.\n* `without(source, itemsToRemove)`: takes in two arrays, and removes any of values in the source array that appear in the itemsToRemove array.","readmeFilename":"README.md"}