{"_id":"@abdmmn/lotide","name":"@abdmmn/lotide","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@abdmmn/lotide","version":"1.0.0","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/abdmmn/lotide.git"},"author":{"name":"Abdul Jabbar Memon"},"license":"ISC","bugs":{"url":"https://github.com/abdmmn/lotide/issues"},"homepage":"https://github.com/abdmmn/lotide#readme","devDependencies":{"chai":"^4.3.7","mocha":"^9.2.2"},"directories":{"test":"test"},"dependencies":{"ansi-colors":"^4.1.1","anymatch":"^3.1.3","argparse":"^2.0.1","ansi-styles":"^4.3.0","binary-extensions":"^2.2.0","balanced-match":"^1.0.2","ansi-regex":"^5.0.1","camelcase":"^6.3.0","assertion-error":"^1.1.0","braces":"^3.0.2","chai":"^4.3.7","chokidar":"^3.5.3","check-error":"^1.0.2","color-convert":"^2.0.1","concat-map":"^0.0.1","brace-expansion":"^1.1.11","cliui":"^7.0.4","chalk":"^4.1.2","decamelize":"^4.0.0","debug":"^4.3.3","emoji-regex":"^8.0.0","escalade":"^3.1.1","deep-eql":"^4.1.3","fill-range":"^7.0.1","escape-string-regexp":"^4.0.0","diff":"^5.0.0","fs.realpath":"^1.0.0","flat":"^5.0.2","color-name":"^1.1.4","get-func-name":"^2.0.0","get-caller-file":"^2.0.5","growl":"^1.10.5","has-flag":"^4.0.0","glob":"^7.2.0","inflight":"^1.0.6","glob-parent":"^5.1.2","is-binary-path":"^2.1.0","he":"^1.2.0","is-glob":"^4.0.3","is-extglob":"^2.1.1","inherits":"^2.0.4","is-unicode-supported":"^0.1.0","is-number":"^7.0.0","js-yaml":"^4.1.0","isexe":"^2.0.0","is-fullwidth-code-point":"^3.0.0","find-up":"^5.0.0","loupe":"^2.3.6","log-symbols":"^4.1.0","minimatch":"^4.2.1","nanoid":"^3.3.1","ms":"^2.1.3","p-locate":"^5.0.0","normalize-path":"^3.0.0","locate-path":"^6.0.0","once":"^1.4.0","path-exists":"^4.0.0","p-limit":"^3.1.0","is-plain-obj":"^2.1.0","pathval":"^1.1.1","path-is-absolute":"^1.0.1","picomatch":"^2.3.1","readdirp":"^3.6.0","require-directory":"^2.1.1","string-width":"^4.2.3","safe-buffer":"^5.2.1","randombytes":"^2.1.0","strip-ansi":"^6.0.1","serialize-javascript":"^6.0.0","supports-color":"^8.1.1","workerpool":"^6.2.0","to-regex-range":"^5.0.1","type-detect":"^4.0.8","wrap-ansi":"^7.0.0","wrappy":"^1.0.2","which":"^2.0.2","yargs-parser":"^20.2.4","y18n":"^5.0.8","yargs":"^16.2.0","yargs-unparser":"^2.0.0","strip-json-comments":"^3.1.1","browser-stdout":"^1.3.1","yocto-queue":"^0.1.0"},"description":"Lodash Library clone (educational purposes only)","gitHead":"bb37ce6ea7256079040b57bedfd60773ec9c3e05","_id":"@abdmmn/lotide@1.0.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-pKx/m51nCRrK2LavGD4u5/sIiecoKASwmiTJCEqlMQYYbSCguXyXlr2s1fagRBiPplyoxzyRqtgscLxMU5HYew==","shasum":"8492f649eef2cf6475902fb00e955ec91759fb45","tarball":"https://registry.npmjs.org/@abdmmn/lotide/-/lotide-1.0.0.tgz","fileCount":26,"unpackedSize":12338,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfmqAQYrJJs2pOAM09W6/HrPCkjJl6K3e8Ou2dtx9WYAiEA1tWn29ckWB3hpwlJJEaqvnRqCNA1SdENfH1oG9NRcfM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIKLbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMAQ/8DJ/5t19lX+6AsFYt3tZ/MiQt/A4Hsjrp8ItlMkgGcqnjDuq3\r\nL7JBwZVKhC6z0Pgg/6m7jLjZuesFZzfIeF0F0YBm/ZOZ3zmjNK9Isc5fxJSj\r\n9hdfhFABIhvlk09oaFgMTn7QQcQNVvJNJNLtVoNi/u/9Dlrr6w3zCjOgYAH+\r\n8VBXuNDn4LA9mx54XnY2bXgN0U9DyDftjThMlKhHp9NvFy2RiXgkiwsiZRGd\r\nnvhjsv2S/0Zt5Xc00PMVVUVSmw+lWi0wa2AZvnLXCm2Ov56jKFZ6QG5mraCo\r\nnoclCTKPKTQvZ5gX7+3/fpxVyQ0fQi1BevUEtvBou3WnSYklCrhSSZu+zLHC\r\nN2/TNoKhbk/H6cd8Z4A4ozq5qcXZXvzbLHQkrAOXPIjEUMpg4buXlLAu5OSs\r\n9DasUOIgVwL4pmSPSrQYk2mOWcYKSYUaKBtMhXKJNjvZ/e54GWaMNr+qVBpu\r\nwqLHnJ1tKI8hHJVcQge+XvD47+p2OLQupMq6BXndNCh3C2hZrmkS8+PyxOud\r\nEUdNOj2jY7Op424SXOs4ob4ONGEZwgR/z30MYbEkobjL+WfOmTvTDwAipb0E\r\neQ9hf1Bo0gdIYFggRHyLdoIaSxR05EBZ95X4TF543cwZAL/sVrQ0LL5AxqG5\r\n/w35wlaY/qsB2ZLb85oN9ntZ1tGS6HwLU9M=\r\n=OUhT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abdmmn","email":"abduljmemon@gmail.com"},"maintainers":[{"name":"abdmmn","email":"abduljmemon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1679860443716_0.07388607134992276"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-26T19:54:03.616Z","1.0.0":"2023-03-26T19:54:03.855Z","modified":"2023-03-26T19:54:04.065Z"},"maintainers":[{"name":"abdmmn","email":"abduljmemon@gmail.com"}],"description":"Lodash Library clone (educational purposes only)","homepage":"https://github.com/abdmmn/lotide#readme","repository":{"type":"git","url":"git+https://github.com/abdmmn/lotide.git"},"author":{"name":"Abdul Jabbar Memon"},"bugs":{"url":"https://github.com/abdmmn/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 @abdmmn/lotide`\n\n**Require it:**\n\n`const _ = require('@abdmmn/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(...)`: To retrieve the first element from the array\n* `tail(...)`: To retrieve every element except the head (first element) of the array\n* `middle(...)`: To retrieve the middle element of an array\n* `without(...)`: Creates an array excluding all given values\n* `takeUntil(...)`: Will return slice of the array with elements taken from the beginning until the callback/predicate returns a truthy value.\n* `map(...)`: Will return a new array based on the results of the callback function\n* `letterPositions(...)`: Will return all the indices (zero-based positions) in the string where each character is found\n* `flatten(...)`: Flattens a given Array\n* `findKeyByValue(...)`: Takes in an object and a value scans the object and returns the first key which contains the given value\n* `findKey(...)`: Takes in an object and a callback and scans the object and returns the first key for which the callback returns a truthy value.\n* `eqObjects(...)`: To compare two Objects\n* `eqArrays(...)`: To compare two Arrays\n* `countOnly(...)`:Takes in a collection of items and return counts for a specific subset of those items\n* `countLetters(...)`:Takes in a sentence (as a string) and then returns a count of each of the letters in that sentence\n* `assertObjectsEqual(...)`: Asserting that two objects are equal\n* `assertEqual(...)`: Asserting two boolean values\n* `assertArraysEqual(...)`: Asserting that two arrays are equal","readmeFilename":"README.md"}