{"_id":"@curtis-wils0n/lotide","_rev":"1-99cb92248284f09e7c5f75d90c47104e","name":"@curtis-wils0n/lotide","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@curtis-wils0n/lotide","version":"1.0.0","description":"A mini clone of the https://lodash.com library","main":"assertArraysEqual.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/curtis-wils0n/lotide.git"},"author":{"name":"Curtis Wilson"},"license":"ISC","bugs":{"url":"https://github.com/curtis-wils0n/lotide/issues"},"homepage":"https://github.com/curtis-wils0n/lotide#readme","devDependencies":{"chai":"^4.3.6","mocha":"^9.2.2"},"gitHead":"946b97fbcc5fac252527feae215a106d6c7ec253","_id":"@curtis-wils0n/lotide@1.0.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-4VcbrAE8lXjL2zDxzy8F0T64X+6quCWQ3a01QkyRFB1LyjpSN9eYzVnj1M4diYCAVpzY5XvAbma4AM0ftf6duA==","shasum":"2baaeb783fa33890cae0fe282caf32ec6153e250","tarball":"https://registry.npmjs.org/@curtis-wils0n/lotide/-/lotide-1.0.0.tgz","fileCount":26,"unpackedSize":11556,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID97oHpvo3eKvfqsT9TkvDpR6WPKe76iI1PryZaVZA7AAiEAi3hudmbWCzxS7hNW2ia+aUQDq0nk1SOVn2JwDTRaelg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMiqLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoZ/A//V0wLKCj6p0qPPGRnuzpBpy5rI15QMku2eQm6tTqjYwoDyNAi\r\nXFMmubQGD32IRKXorvsCZbmMM/OFjJcoOArQBSBkmdQ/t45KMQitB5TEMruS\r\nojaj2jRCtuw2ruCKO21//q+kpQLbngsZpMGZ0cy+UBWyqQkbKAHFWMxsmMbH\r\nWaFeX9RZbG+r3DRlZQrPmW/09+3f8ZGIIpE+Q6C3Oc+1BeVdkLAvYq6bivQD\r\n+NQyvN6bpxwQpIQqPdzTeO7kBSvxULla77FknQjaGa2iK4ynP3zw+7v5Enk/\r\nxEuKQcbhlbHMtU/W2AHKH4oN9xcA7PMhSAyQSPA1+i5iQyui9dOHIIDvZFsM\r\n1DCtSx93ZUDU7bBLx1NDCJq2ZLQSn35xhOaWYdSrTUrImrcTvDG9nuJrzf9H\r\nCOSpbdmHUo+rAPo/wgKGR+0NVngZ4taAzymh+pc/LDk2RtD7SNSWU+VqVbCj\r\nCtjFKFzx0njwzbxXwCkeU8EeVwNxqn3KS4KNatd5lbUihU7fP2+LzjKvAl3d\r\nQDYdJ2/NM6y53kLa8qya14Ce5RhZCUfKDGQoN6QFYaaxu/urGTpNQhP0s+w5\r\n2YA3En+BWgggaK9bVUYFIVkXk/gTDJwVKIbsNM3d4LtF0xXIWLlAL1Ju0tdk\r\nmQnOhSiRhkbxkx4hHJYtzvOgKMGhQTnDyto=\r\n=ESVI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"curtis-wils0n","email":"curtis.wils0n@protonmail.com"},"maintainers":[{"name":"curtis-wils0n","email":"curtis.wils0n@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1664232075134_0.2594402097536139"},"_hasShrinkwrap":false},"1.0.1":{"name":"@curtis-wils0n/lotide","version":"1.0.1","description":"A mini clone of the https://lodash.com library","main":"assertArraysEqual.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/curtis-wils0n/lotide.git"},"author":{"name":"Curtis Wilson"},"license":"ISC","bugs":{"url":"https://github.com/curtis-wils0n/lotide/issues"},"homepage":"https://github.com/curtis-wils0n/lotide#readme","devDependencies":{"chai":"^4.3.6","mocha":"^9.2.2"},"gitHead":"946b97fbcc5fac252527feae215a106d6c7ec253","_id":"@curtis-wils0n/lotide@1.0.1","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-b0MJID24x8+yJI1poYONTJsEcbxBMpJdP9yV99FhsL7xa3MoeoCfLNaodiLKzbjKPfHd0MFpg5BM5cMrlHi4kA==","shasum":"16d9ca8b944948fb5af4ed8c11a3804e31e74ab9","tarball":"https://registry.npmjs.org/@curtis-wils0n/lotide/-/lotide-1.0.1.tgz","fileCount":30,"unpackedSize":16087,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFi8+5BHhqFGIoLnQ9YrmTF9FNeHYOIreSlwGqkND4HEAiB5Qs2GBY7mADQ+O9VukDtVrXc0mvKhoa6w0MQJaZLuSA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMkJkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZvhAAkBISqQmatc9lRLhFA3GJBQmnIK6P53DHkFEB5LlJXenM9QsQ\r\nxo7/n80K+pyjN38sKAHE249tVt/xWzdJeRl9FaMZzzYkiikOWtnXYhWJqg/V\r\ngTgVngLl7jcr1Nla52tmv2XpiXWZ7/n276qfs7rviEBkrlKIGcF86S1teu/M\r\nB/nhr3ZXtq8RdEWAQteNuvKJRJSsIc9A8TITLSvsxRXjZIOYoB6tLQmvMiRL\r\nqFuPcn1sS/SDsPc8lMSpEUBe9cV2/LMGONzTdJGmK5IY86UefS3wQ4PG8WyQ\r\nIMXA0PU4rxb5DCV2l0ppVnSdKrrYqkFQ/mYs0d0KqDcFpuEOnAK5aOAHZRGg\r\nTR1XSqzJbrJv61fs6HUofkUWY1Snma2OW/WJtfaC5T+hy7aMyL2H+zOmIIWH\r\ncg9HQ89E4h08Ji/xp2xK+FmVqfoP/yowEL0ZtlL+4kaGsAun7QM6dUVwqzJY\r\nNCV7edeVGnmWUW7K87kZ732ryyPqdxuext+LYG2onOgSH+mHD/gEN3uLvvKC\r\nhm6ItTFCpmQ7BmDpLdyjyzhHffrTEnaC4G86ThAjbm5OFUFk0Suro6+xVpY3\r\ntTmGxVC7oUY/O0oHESNFww8+iotW+Q930AdoI/ojerLnQ7NUVW1D8CBHNtJs\r\n1fKnxTY1p/ihcnTlbsJQwP5ZZdGftgP9FwI=\r\n=LzTN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"curtis-wils0n","email":"curtis.wils0n@protonmail.com"},"maintainers":[{"name":"curtis-wils0n","email":"curtis.wils0n@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.1_1664238179899_0.9490749988276272"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-26T22:41:15.066Z","1.0.0":"2022-09-26T22:41:15.322Z","modified":"2022-09-27T00:23:00.193Z","1.0.1":"2022-09-27T00:23:00.113Z"},"maintainers":[{"name":"curtis-wils0n","email":"curtis.wils0n@protonmail.com"}],"description":"A mini clone of the https://lodash.com library","homepage":"https://github.com/curtis-wils0n/lotide#readme","repository":{"type":"git","url":"git+https://github.com/curtis-wils0n/lotide.git"},"author":{"name":"Curtis Wilson"},"bugs":{"url":"https://github.com/curtis-wils0n/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 @curtis-wils0n/lotide`\n\n**Require it:**\n\n`const _ = require('@curtis-wils0n/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## Array functions\n\n`head(array)`: Returns the first value of the provided array.\n\n`tail(array)`: Returns the provided array without its first value (its head).\n\n`middle(array)`: Returns the middle value of the provided array (both middle values if array's length is even).\n\n`countOnly(array, itemsToCount)`: Receives an array of values and an object containing search keys with true and false values. Returns an object with a count per how many true-valued keys were found in the array.\n\n`flatten(nestedArray)`: Returns a one-dimensional array from the provided array of nested values. Works with any level of nesting.\n\n`map(array, callback)`: Returns a mutation of the provided array based on the results of the provided callback function.\n\n`takeUntil(array, callback)`: Returns a copy of the provided array with values up until the condition set by the provided callback function is met.\n\n`without(array, itemsToRemove)`: Returns a copy of the provided array with items specified by *itemsToRemove* removed.\n\n## Object functions\n\n`findKey(object, callback)`: Returns a key from the provided object based on specifications of the callback function.\n\n`findKeyByValue(object, value)`: Returns a key from the provided object based on the provided value.\n\n## String functions\n\n`countLetters(string)`: Returns an object containing the number of times a character appeared in the provided string.\n\n`letterPositions(string)`: Returns an object containing the index of each character found in the provided string.\n\n## Equality checkers\n\n`eqArrays(array1, array2)`: Returns *true* or *false* based on strict equality of values in provided arrays. Works with any level of array nesting.\n\n`eqObjects(object1, object2)`: Return *true* or *false* based on strict equality of keys and values in provided objects. Works with any level of nesting.\n\n## Assertion functions\n\n`assertEqual(actual, expected)`: Returns *true* or *false* based on strict equality of primitive values provided and logs an assertion message to the console.\n\n`assertArraysEqual(actual, expected)`: Returns *true* or *false* based on strict equality of arrays provided and logs an assertion message to the console.\n\n`assertObjectsEqual(actual, expected)`: Returns *true* or *false* based on strict equality of objects provided and logs an assertion message to the console.\n\n# Updates\n\n## 1.0.1\n\n- Made `flatten` recursive to handle any level of array nesting.\n- Developed more robust tests in the `test/` directory.","readmeFilename":"README.md"}