{"_id":"@c-rostad/lotide","name":"@c-rostad/lotide","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@c-rostad/lotide","version":"1.0.0","main":"index.js","directories":{"test":"test"},"scripts":{"test":"mocha"},"keywords":[],"author":{"name":"Carter Rostad"},"license":"ISC","description":"Implementation of functions similar to Lodash by Carter Rostad for LHL web dev","devDependencies":{"chai":"^4.3.1","mocha":"^9.2.2"},"dependencies":{"ansi-colors":"^4.1.1","ansi-regex":"^5.0.1","ansi-styles":"^4.3.0","anymatch":"^3.1.3","argparse":"^2.0.1","assertion-error":"^1.1.0","balanced-match":"^1.0.2","binary-extensions":"^2.3.0","brace-expansion":"^1.1.11","braces":"^3.0.3","browser-stdout":"^1.3.1","camelcase":"^6.3.0","chalk":"^4.1.2","check-error":"^1.0.3","chokidar":"^3.5.3","cliui":"^7.0.4","color-convert":"^2.0.1","color-name":"^1.1.4","concat-map":"^0.0.1","debug":"^4.3.3","decamelize":"^4.0.0","deep-eql":"^3.0.1","diff":"^5.0.0","emoji-regex":"^8.0.0","escalade":"^3.2.0","escape-string-regexp":"^4.0.0","fill-range":"^7.1.1","find-up":"^5.0.0","flat":"^5.0.2","fs.realpath":"^1.0.0","get-caller-file":"^2.0.5","get-func-name":"^2.0.2","glob":"^7.2.0","glob-parent":"^5.1.2","growl":"^1.10.5","has-flag":"^4.0.0","he":"^1.2.0","inflight":"^1.0.6","inherits":"^2.0.4","is-binary-path":"^2.1.0","is-extglob":"^2.1.1","is-fullwidth-code-point":"^3.0.0","is-glob":"^4.0.3","is-number":"^7.0.0","is-plain-obj":"^2.1.0","is-unicode-supported":"^0.1.0","isexe":"^2.0.0","js-yaml":"^4.1.0","locate-path":"^6.0.0","log-symbols":"^4.1.0","lotide":"^1.0.1","minimatch":"^4.2.1","ms":"^2.1.3","nanoid":"^3.3.1","normalize-path":"^3.0.0","once":"^1.4.0","p-limit":"^3.1.0","p-locate":"^5.0.0","path-exists":"^4.0.0","path-is-absolute":"^1.0.1","pathval":"^1.1.1","picomatch":"^2.3.1","randombytes":"^2.1.0","readdirp":"^3.6.0","require-directory":"^2.1.1","safe-buffer":"^5.2.1","serialize-javascript":"^6.0.0","string-width":"^4.2.3","strip-ansi":"^6.0.1","strip-json-comments":"^3.1.1","supports-color":"^8.1.1","to-regex-range":"^5.0.1","type-detect":"^4.1.0","which":"^2.0.2","workerpool":"^6.2.0","wrap-ansi":"^7.0.0","wrappy":"^1.0.2","y18n":"^5.0.8","yargs":"^16.2.0","yargs-parser":"^20.2.4","yargs-unparser":"^2.0.0","yocto-queue":"^0.1.0"},"_id":"@c-rostad/lotide@1.0.0","gitHead":"0f7b2142614de13fb0e235af34d2e36a0224ab49","_nodeVersion":"18.20.8","_npmVersion":"10.9.2","dist":{"integrity":"sha512-GyTdHHsWl7IBt3HWswy02Is9cQa88wtV4NaVHXFfFiHkDZEWRvP4nVe7HxrJO0vLzdeJ4xZ6uEWR6mukn59icg==","shasum":"750ed78ea2b53805300cf7bd27f3ce50b4e2c2df","tarball":"https://registry.npmjs.org/@c-rostad/lotide/-/lotide-1.0.0.tgz","fileCount":27,"unpackedSize":37868,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBXljPk+pQ2WhxIxdtlVr0ScA5ym6cPtKl7oz++QwXGuAiEA+Ds23f4IpNktw1WO1odQgV5SjbkpPV0/uI45Gssn1/A="}]},"_npmUser":{"name":"c-rostad","email":"carter@rostad.ca"},"maintainers":[{"name":"c-rostad","email":"carter@rostad.ca"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lotide_1.0.0_1749848838586_0.31556765029797385"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-13T21:07:18.526Z","1.0.0":"2025-06-13T21:07:18.747Z","modified":"2025-06-13T21:07:18.988Z"},"maintainers":[{"name":"c-rostad","email":"carter@rostad.ca"}],"description":"Implementation of functions similar to Lodash by Carter Rostad for LHL web dev","keywords":[],"author":{"name":"Carter Rostad"},"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 @C-rostad/lotide`\n\n**Require it:**\n\n`const _ = require('@C-rostad/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(arrayOne, arrayTwo): console logs whether or not two arrays are equal\n  assertEqual(actual, expected): console logs whether two values are equal\n  assertObjectsEqual(object1, object2): console logs whether two objects are equal\n  countLetters(sentence): returns an object with the amount of times each letter appears in the string\n  countOnly(allItems, itemsToCount): returns an object with the amount of times an item appears in the allItems array based on the itemsToCount \n  eqArrays(array1, array2): returns true if both arrays are equal\n  eqObjects(object1, object2): returns true if both objects have identical keys with identical values\n  findKey(object, callback): returns the first key in the object that has a truthy value;\n  findKeyByValue(object, value): returns the key in the object based on the input value;\n  flatten(array): takes an array of arrays and returns a new array with all values in one array;\n  head(inputArray): returns the first element of an array\n  letterPositions(sentence): returns an object with all indices for each character found in the string;\n  map(array, callback): iterates over an array and performs the callback function on each element;\n  middle(inputArray): returns the middle element of an array, the middle two if there is an even number of elements\n  tail(inputArray): returns a new array with the first element removed\n  takeUntil(array, callback): populates an returns a new array with all values until the callback truty value is false\n  without(arrayOne, arrayTwo): returns a new array with all values from arrayTwo removed from arrayOne","readmeFilename":"README.md","_rev":"1-65ffe77a96b344f2ff9dd2e15b87673b"}