{"id":14984987,"url":"https://github.com/bevry/eachr","last_synced_at":"2025-08-22T01:32:57.573Z","repository":{"id":7708455,"uuid":"9073318","full_name":"bevry/eachr","owner":"bevry","description":"Deprecated: Use `for ( const [key, value] of Object.entries(thing) )`","archived":false,"fork":false,"pushed_at":"2024-10-12T17:09:11.000Z","size":828,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-30T00:55:54.341Z","etag":null,"topics":["client-side","iterator","nodejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bevry.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["balupton"],"patreon":"bevry","open_collective":"bevry","ko_fi":"balupton","liberapay":"bevry","tidelift":"npm/eachr","custom":["https://bevry.me/fund"]}},"created_at":"2013-03-28T08:51:56.000Z","updated_at":"2024-10-12T17:09:08.000Z","dependencies_parsed_at":"2023-12-02T17:24:13.842Z","dependency_job_id":"9b30f0f6-f413-407c-bf33-b0a9341d3141","html_url":"https://github.com/bevry/eachr","commit_stats":{"total_commits":198,"total_committers":7,"mean_commits":"28.285714285714285","dds":0.09595959595959591,"last_synced_commit":"9ffa12f132fbaf6e8178ad5ff4fcad1b7e3170ec"},"previous_names":["bevry/eachr","bevry-archive/eachr"],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry%2Feachr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry%2Feachr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry%2Feachr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bevry%2Feachr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bevry","download_url":"https://codeload.github.com/bevry/eachr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230220347,"owners_count":18192269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-side","iterator","nodejs"],"created_at":"2024-09-24T14:10:02.713Z","updated_at":"2024-12-20T07:07:22.088Z","avatar_url":"https://github.com/bevry.png","language":"TypeScript","funding_links":["https://github.com/sponsors/balupton","https://patreon.com/bevry","https://opencollective.com/bevry","https://ko-fi.com/balupton","https://liberapay.com/bevry","https://tidelift.com/funding/github/npm/eachr","https://bevry.me/fund","https://thanks.dev/u/gh/bevry","https://buymeacoffee.com/balupton","https://opencollective.com/chad8"],"categories":[],"sub_categories":[],"readme":"\u003c!-- TITLE/ --\u003e\n\n# eachr\n\n\u003c!-- /TITLE --\u003e\n\n\u003c!-- BADGES/ --\u003e\n\n\u003cspan class=\"badge-githubworkflow\"\u003e\u003ca href=\"https://github.com/bevry/eachr/actions?query=workflow%3Abevry\" title=\"View the status of this project's GitHub Workflow: bevry\"\u003e\u003cimg src=\"https://github.com/bevry/eachr/workflows/bevry/badge.svg\" alt=\"Status of the GitHub Workflow: bevry\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-npmversion\"\u003e\u003ca href=\"https://npmjs.org/package/eachr\" title=\"View this project on NPM\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/eachr.svg\" alt=\"NPM version\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-npmdownloads\"\u003e\u003ca href=\"https://npmjs.org/package/eachr\" title=\"View this project on NPM\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/eachr.svg\" alt=\"NPM downloads\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cbr class=\"badge-separator\" /\u003e\n\u003cspan class=\"badge-githubsponsors\"\u003e\u003ca href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"\u003e\u003cimg src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-thanksdev\"\u003e\u003ca href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"\u003e\u003cimg src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-patreon\"\u003e\u003ca href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-liberapay\"\u003e\u003ca href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"\u003e\u003cimg src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-buymeacoffee\"\u003e\u003ca href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"\u003e\u003cimg src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-opencollective\"\u003e\u003ca href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"\u003e\u003cimg src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-crypto\"\u003e\u003ca href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"\u003e\u003cimg src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-paypal\"\u003e\u003ca href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"\u003e\u003cimg src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cbr class=\"badge-separator\" /\u003e\n\u003cspan class=\"badge-discord\"\u003e\u003ca href=\"https://discord.gg/nQuXddV7VP\" title=\"Join this project's community on Discord\"\u003e\u003cimg src=\"https://img.shields.io/discord/1147436445783560193?logo=discord\u0026amp;label=discord\" alt=\"Discord server badge\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-twitch\"\u003e\u003ca href=\"https://www.twitch.tv/balupton\" title=\"Join this project's community on Twitch\"\u003e\u003cimg src=\"https://img.shields.io/twitch/status/balupton?logo=twitch\" alt=\"Twitch community badge\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\n\u003c!-- /BADGES --\u003e\n\n\u003c!-- DESCRIPTION/ --\u003e\n\nGive eachr an item to iterate (array, object or map) and an iterator, then in return eachr gives iterator the value and key of each item, and will stop if the iterator returned false.\n\n\u003c!-- /DESCRIPTION --\u003e\n\n\n## Usage\n\n[Complete API Documentation.](http://master.eachr.bevry.surge.sh/docs/)\n\nEachr accepts an array, object, or map. The iterator is bound to the list, and receives three arguments: the value, key, and list.\n\n```javascript\n// Prepare\nconst eachr = require('eachr')\nconst arr = ['first', 'second', 'third']\nconst obj = { a: 'first', b: 'second', c: 'third' }\nconst map = new Map([\n    ['a', 'first'],\n    ['b', 'second'],\n    ['c', 'third'],\n])\nfunction iterator(value, key) {\n    console.log({ value: value, key: key })\n    if (value === 'second') {\n        console.log('break')\n        return false\n    }\n}\n\n// Cycle Array\neachr(arr, iterator)\n// {'value': 'first',  'key': 0}\n// {'value': 'second', 'key': 1}\n// break\n\n// Cycle Object\neachr(obj, iterator)\n// {'value': 'first',  'key': 'a'}\n// {'value': 'second', 'key': 'b'}\n// break\n\n// Cycle Map\neachr(map, iterator)\n// {'value': 'first',  'key': 'a'}\n// {'value': 'second', 'key': 'b'}\n// break\n```\n\n\u003c!-- INSTALL/ --\u003e\n\n## Install\n\n### [npm](https://npmjs.com \"npm is a package manager for javascript\")\n\n-   Install: `npm install --save eachr`\n-   Import: `import pkg from ('eachr')`\n-   Require: `const pkg = require('eachr').default`\n\n### [Deno](https://deno.land \"Deno is a secure runtime for JavaScript and TypeScript, it is an alternative for Node.js\")\n\n``` typescript\nimport pkg from 'https://unpkg.com/eachr@^7.4.0/edition-deno/index.ts'\n```\n### [Skypack](https://www.skypack.dev \"Skypack is a JavaScript Delivery Network for modern web apps\")\n\n``` html\n\u003cscript type=\"module\"\u003e\n    import pkg from '//cdn.skypack.dev/eachr@^7.4.0'\n\u003c/script\u003e\n```\n### [unpkg](https://unpkg.com \"unpkg is a fast, global content delivery network for everything on npm\")\n\n``` html\n\u003cscript type=\"module\"\u003e\n    import pkg from '//unpkg.com/eachr@^7.4.0'\n\u003c/script\u003e\n```\n### [jspm](https://jspm.io \"Native ES Modules CDN\")\n\n``` html\n\u003cscript type=\"module\"\u003e\n    import pkg from '//dev.jspm.io/eachr@7.4.0'\n\u003c/script\u003e\n```\n### [Editions](https://editions.bevry.me \"Editions are the best way to produce and consume packages you care about.\")\n\nThis package is published with the following editions:\n-   `eachr` aliases `eachr/index.cjs` which uses the [Editions Autoloader](https://github.com/bevry/editions \"You can use the Editions Autoloader to autoload the appropriate edition for your consumers environment\") to automatically select the correct edition for the consumer's environment\n-   `eachr/source/index.ts` is [TypeScript](https://www.typescriptlang.org/ \"TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.\") source code with [Import](https://babeljs.io/docs/learn-es2015/#modules \"ECMAScript Modules\") for modules\n-   `eachr/edition-browsers/index.js` is [TypeScript](https://www.typescriptlang.org/ \"TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.\") compiled against [ES2022](https://en.wikipedia.org/wiki/ES2022 \"ECMAScript 2022\") for web browsers with [Import](https://babeljs.io/docs/learn-es2015/#modules \"ECMAScript Modules\") for modules\n-   `eachr/edition-es2022/index.js` is [TypeScript](https://www.typescriptlang.org/ \"TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.\") compiled against [ES2022](https://en.wikipedia.org/wiki/ES2022 \"ECMAScript 2022\") for [Node.js](https://nodejs.org \"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\") 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n-   `eachr/edition-es5/index.js` is [TypeScript](https://www.typescriptlang.org/ \"TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.\") compiled against ES5 for [Node.js](https://nodejs.org \"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\") 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html \"Node/CJS Modules\") for modules\n-   `eachr/edition-es2022-esm/index.js` is [TypeScript](https://www.typescriptlang.org/ \"TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.\") compiled against [ES2022](https://en.wikipedia.org/wiki/ES2022 \"ECMAScript 2022\") for [Node.js](https://nodejs.org \"Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\") 12 || 14 || 16 || 18 || 20 || 21 with [Import](https://babeljs.io/docs/learn-es2015/#modules \"ECMAScript Modules\") for modules\n-   `eachr/edition-types/index.d.ts` is [TypeScript](https://www.typescriptlang.org/ \"TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.\") compiled Types with [Import](https://babeljs.io/docs/learn-es2015/#modules \"ECMAScript Modules\") for modules\n-   `eachr/edition-deno/index.ts` is [TypeScript](https://www.typescriptlang.org/ \"TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.\") source code made to be compatible with [Deno](https://deno.land \"Deno is a secure runtime for JavaScript and TypeScript, it is an alternative to Node.js\")\n\n\u003c!-- /INSTALL --\u003e\n\n\u003c!-- HISTORY/ --\u003e\n\n## History\n\n[Discover the release history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/eachr/blob/HEAD/HISTORY.md#files)\n\n\u003c!-- /HISTORY --\u003e\n\n\u003c!-- BACKERS/ --\u003e\n\n## Backers\n\n### Code\n\n[Discover how to contribute via the `CONTRIBUTING.md` file.](https://github.com/bevry/eachr/blob/HEAD/CONTRIBUTING.md#files)\n\n#### Authors\n\n-   [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.\n\n#### Maintainers\n\n-   [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.\n\n#### Contributors\n\n-   [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/eachr/commits?author=balupton \"View the GitHub contributions of Benjamin Lupton on repository bevry/eachr\")\n-   [Rob Loach](https://github.com/RobLoach) — [view contributions](https://github.com/bevry/eachr/commits?author=RobLoach \"View the GitHub contributions of Rob Loach on repository bevry/eachr\")\n-   [Sean Fridman](https://seanfridman.com)\n-   [Sean Fridman](https://github.com/sfrdmn) — [view contributions](https://github.com/bevry/eachr/commits?author=sfrdmn \"View the GitHub contributions of Sean Fridman on repository bevry/eachr\")\n\n### Finances\n\n\u003cspan class=\"badge-githubsponsors\"\u003e\u003ca href=\"https://github.com/sponsors/balupton\" title=\"Donate to this project using GitHub Sponsors\"\u003e\u003cimg src=\"https://img.shields.io/badge/github-donate-yellow.svg\" alt=\"GitHub Sponsors donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-thanksdev\"\u003e\u003ca href=\"https://thanks.dev/u/gh/bevry\" title=\"Donate to this project using ThanksDev\"\u003e\u003cimg src=\"https://img.shields.io/badge/thanksdev-donate-yellow.svg\" alt=\"ThanksDev donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-patreon\"\u003e\u003ca href=\"https://patreon.com/bevry\" title=\"Donate to this project using Patreon\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-yellow.svg\" alt=\"Patreon donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-liberapay\"\u003e\u003ca href=\"https://liberapay.com/bevry\" title=\"Donate to this project using Liberapay\"\u003e\u003cimg src=\"https://img.shields.io/badge/liberapay-donate-yellow.svg\" alt=\"Liberapay donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-buymeacoffee\"\u003e\u003ca href=\"https://buymeacoffee.com/balupton\" title=\"Donate to this project using Buy Me A Coffee\"\u003e\u003cimg src=\"https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg\" alt=\"Buy Me A Coffee donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-opencollective\"\u003e\u003ca href=\"https://opencollective.com/bevry\" title=\"Donate to this project using Open Collective\"\u003e\u003cimg src=\"https://img.shields.io/badge/open%20collective-donate-yellow.svg\" alt=\"Open Collective donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-crypto\"\u003e\u003ca href=\"https://bevry.me/crypto\" title=\"Donate to this project using Cryptocurrency\"\u003e\u003cimg src=\"https://img.shields.io/badge/crypto-donate-yellow.svg\" alt=\"crypto donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\u003cspan class=\"badge-paypal\"\u003e\u003ca href=\"https://bevry.me/paypal\" title=\"Donate to this project using Paypal\"\u003e\u003cimg src=\"https://img.shields.io/badge/paypal-donate-yellow.svg\" alt=\"PayPal donate button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n\n#### Sponsors\n\n-   [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher\n-   [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders.\n-   [Codecov](https://codecov.io) — Empower developers with tools to improve code quality and testing.\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games.\n-   [Syntax](https://syntax.fm) — Syntax Podcast\n\n#### Donors\n\n-   [Andrew Nesbitt](https://nesbitt.io)\n-   [Armen Mkrtchian](https://mogoni.dev)\n-   [Balsa](https://balsa.com)\n-   [Chad](https://opencollective.com/chad8)\n-   [Codecov](https://codecov.io)\n-   [dr.dimitru](https://veliovgroup.com)\n-   [Elliott Ditman](https://elliottditman.com)\n-   [entroniq](https://gitlab.com/entroniq)\n-   [GitHub](https://github.com/about)\n-   [Hunter Beast](https://cryptoquick.com)\n-   [Jean-Luc Geering](https://github.com/jlgeering)\n-   [Michael Duane Mooring](https://mdm.cc)\n-   [Michael Harry Scepaniak](https://michaelscepaniak.com)\n-   [Mohammed Shah](https://github.com/smashah)\n-   [Mr. Henry](https://mrhenry.be)\n-   [Nermal](https://arjunaditya.vercel.app)\n-   [Pleo](https://www.pleo.io)\n-   [Poonacha Medappa](https://poonachamedappa.com)\n-   [Rob Morris](https://github.com/Rob-Morris)\n-   [Robert de Forest](https://github.com/rdeforest)\n-   [Sentry](https://sentry.io)\n-   [ServieJS](https://github.com/serviejs)\n-   [Skunk Team](https://skunk.team)\n-   [Syntax](https://syntax.fm)\n-   [WriterJohnBuck](https://github.com/WriterJohnBuck)\n\n\u003c!-- /BACKERS --\u003e\n\n\u003c!-- LICENSE/ --\u003e\n\n## License\n\nUnless stated otherwise all works are:\n\n-   Copyright \u0026copy; [Benjamin Lupton](https://balupton.com)\n\nand licensed under:\n\n-   [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html)\n\n\u003c!-- /LICENSE --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbevry%2Feachr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbevry%2Feachr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbevry%2Feachr/lists"}