{"_id":"@baovevni/lotide","_rev":"1-572bcf9a0a547603ee1b62b2e1122b23","name":"@baovevni/lotide","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@baovevni/lotide","version":"1.0.0","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"author":"","license":"ISC","description":"A mini clone of the [Lodash](https://lodash.com) library.","devDependencies":{"chai":"^4.3.1","mocha":"^9.2.2"},"_id":"@baovevni/lotide@1.0.0","gitHead":"9d5df170a4c8677c98bd2560a491f309d04885a5","_nodeVersion":"16.20.2","_npmVersion":"10.6.0","dist":{"integrity":"sha512-ioT6JONguhb8/SZ+0YJ5Q2qtr8WbRQYJChLs3T/QbgQeUrXnoutwli6LNVazUjBk+GQrZUQEH9iojnRo9Dv0Jg==","shasum":"5c00e390bf281894622c80a0835335726ba4b7f0","tarball":"https://registry.npmjs.org/@baovevni/lotide/-/lotide-1.0.0.tgz","fileCount":26,"unpackedSize":25319,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZNMS8qq7Py3gYrqy9SktnquJrmOxdozo0rGhrhTxRaAIgNjEhCoc02ZfY8qw15nZ4OUtNJM3O7KzdmskNDoTIfYw="}]},"_npmUser":{"name":"baovevni","email":"evghenii.barducov@gmail.com"},"maintainers":[{"name":"baovevni","email":"evghenii.barducov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.0_1715044440311_0.6055097847393984"},"_hasShrinkwrap":false},"1.0.1":{"name":"@baovevni/lotide","version":"1.0.1","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"author":"","license":"ISC","description":"A mini clone of the [Lodash](https://lodash.com) library.","devDependencies":{"chai":"^4.3.1","mocha":"^9.2.2"},"_id":"@baovevni/lotide@1.0.1","gitHead":"f6f34a43645a546524fd7969e26c9659502ee218","_nodeVersion":"16.20.2","_npmVersion":"10.6.0","dist":{"integrity":"sha512-7uwH5y5G4KI1z+LeCnHmNXLXBurEZ0GmjJkKu+ogeJrEMeEtsp3H6xv4hnpjEY9jpigRS0Slh767+zQyjHBVTA==","shasum":"9ef988cbc0d8683b643d1b2c403ad7bc80d58b54","tarball":"https://registry.npmjs.org/@baovevni/lotide/-/lotide-1.0.1.tgz","fileCount":31,"unpackedSize":24536,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6uoCVwSlqrW81e57o7HwH1edBwv7FBK/pUWTC/zWZWwIhAKKbdnPKyvhLc41ekDD4xtBeWpy4S7oDqxKOcukDt8hb"}]},"_npmUser":{"name":"baovevni","email":"evghenii.barducov@gmail.com"},"maintainers":[{"name":"baovevni","email":"evghenii.barducov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lotide_1.0.1_1715090185269_0.7072140504385434"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-07T01:14:00.187Z","1.0.0":"2024-05-07T01:14:00.497Z","modified":"2024-05-07T13:56:25.634Z","1.0.1":"2024-05-07T13:56:25.446Z"},"maintainers":[{"name":"baovevni","email":"evghenii.barducov@gmail.com"}],"description":"A mini clone of the [Lodash](https://lodash.com) library.","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 @baovevni/lotide`\n\n**Require it:**\n\n`const _ = require('@baovevni/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- `assertArraysEqual(actual, expected)`: This function compares two arrays and only console logs an assertion pass or fail statement. There is no return value.\n- `assertEqual(actual, expected)`: This function compares two values and only console logs an assertion pass or fail statement. There is no return value.\n- `assertObjectsEqual(actual, expected)`: This function compares two objects and only console logs an assertion pass or fail statement. There is no return value.\n- `countLetters(sentence)`: This function takes the sentence and returns the count for each letter in the sentence skipping spaces.\n- `countOnly(allItems, itemsToCount)`: This function iterates through the array looking for the vlaues from itemsToCount and returns the count of each items from itemsToCount in the array.\n- `eqArrays(arr1, arr2)`: This function compares two arrays and returns a true if equal and false if arrays are unequal.\n- `eqObjects(object1, object2)`: This function compares two objects and returns a true if equal and false if arrays are unequal.\n- `findKey(object, callback)`: This function iterates through the object and returns a key from the callback function where the required key is specified.\n- `findKeyByValue(object, value)`: This function iterates through the object and returns a key by vlaue provided in the value argument.\n- `flatten(array)`: The function processes the input arrays element by element, flattening nested arrays and appending non-array elements directly to the result array.\n- `head(array)`: The function processes the input array returning first element of the array. It doesn't modify the input array. \n- `letterPositions(sentence)`: This function takes the sentence and returns the positions of every letter in the sentence. \n- `map(array, callback)`: This function transforms each element of an array using a callback function and returns a new array containing the transformed elements.\n- `middle(array)`: This function takes an array and returns a new array containing the middle value for odd-lengthed arrays and the two middle values for even-lengthed arrays.\n- `tail(array)`: This function returns a new array containing all elements of the input array except for the first element, preserving the original array if it is empty or has only one element.\n- `takeUntil(array, callback)`: This function iterates through an array until the callback function returns true for an element, returning a new array containing all elements before that point.\n- `without(source, itemsToRemove)`: This function removes specified items from a source array, returning a new array containing the remaining elements.","readmeFilename":"README.md"}