{"id":21851818,"url":"https://github.com/nberlette/iterable","last_synced_at":"2026-04-18T04:31:06.764Z","repository":{"id":182211712,"uuid":"668134191","full_name":"nberlette/iterable","owner":"nberlette","description":"Type-safe utilities for iterables and iterators in TypeScript and JavaScript.","archived":false,"fork":false,"pushed_at":"2026-03-18T03:01:31.000Z","size":516,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-18T19:20:53.959Z","etag":null,"topics":["collections","data-structures","deno","iterable","iterables","iteration","iterator","jsr","monorepo","typescript"],"latest_commit_sha":null,"homepage":"https://jsr.io/@iter","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nberlette.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"nberlette"}},"created_at":"2023-07-19T05:32:19.000Z","updated_at":"2026-03-18T03:01:34.000Z","dependencies_parsed_at":"2025-03-18T23:21:22.810Z","dependency_job_id":"ea1ae074-6dcf-43c3-ba7e-1faa10c9a088","html_url":"https://github.com/nberlette/iterable","commit_stats":null,"previous_names":["nberlette/iterable"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/nberlette/iterable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fiterable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fiterable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fiterable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fiterable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nberlette","download_url":"https://codeload.github.com/nberlette/iterable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fiterable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31956775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["collections","data-structures","deno","iterable","iterables","iteration","iterator","jsr","monorepo","typescript"],"created_at":"2024-11-28T01:11:26.299Z","updated_at":"2026-04-18T04:31:06.745Z","avatar_url":"https://github.com/nberlette.png","language":"TypeScript","funding_links":["https://ko-fi.com/nberlette"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003e\n\u003cpicture\u003e\n  \u003csource srcset=\"./.github/assets/banner.svg\" type=\"image/svg+xml\" /\u003e\n  \u003cimg src=\"./.github/assets/banner.png\" alt=\"@iter/monorepo\" width=\"100%\" height=\"auto\" /\u003e\n\u003c/picture\u003e\n\u003cspan class=\"sr-only\" hidden\u003e@iter/able monorepo\u003c/span\u003e\n\u003c/h1\u003e\n\n\u003cbig class=\"sr-only\" hidden\u003e\u003cstrong class=\"sr-only\" hidden\u003eTypeScript tools for\niterables, iterators, and collections.\u003c/strong\u003e\u003c/big\u003e\n\n\u003csmall\u003e\u003cb\u003eCompatible with Deno, Bun, Node, Cloudflare Workers, and\nmore.\u003c/b\u003e\u003c/small\u003e\n\n---\n\n[![JSR][badge-jsr]][JSR] [![NPM][badge-npm]][NPM] [![MIT][badge-mit]][MIT]\n\n\u003c/div\u003e\n\n## Packages\n\nThe packages currently published by this project are summarized below, with\nbrief examples and install instructions.\n\nAll of our packages are published to [JSR], a modern TypeScript-first registry\nwith a focus on security, performance, and compatibility. Packages are published\non JSR under the [`@iter/*`][jsr] scope, and mirrored on [NPM] for convenience\nunder the [`@itter/*`][npm] organization.\n\n\u003c!-- deno-fmt-ignore --\u003e\n\u003e [!TIP]\n\u003e Click on the name of any package below to be taken to a dedicated `README.md`\n\u003e file, located in the corresponding subfolder of the [`./packages`](./packages)\n\u003e directory. There you will find complete API documentation, in-depth install\n\u003e instructions, and real-world usage examples, and more.\n\n### [`@iter/weak-map`](./packages/weak_map/README.md) [![](https://jsr.io/badges/@iter/weak-map?logoColor=f7df1e\u0026color=123\u0026labelColor=123\u0026style=flat)][jsr-weak-map]\n\nThis package provides an `IterableWeakMap` class that can be used as a drop-in\nreplacement for the standard `WeakMap` class. With an iterable API that\nimplements both the standard `Map` **and** `WeakMap` interfaces, it provides a\nfamiliar surface area that can be used in place of either of its native\ncounterparts.\n\n#### Installation\n\n\u003cimg src=\"./.github/assets/deno.svg\" width=\"48\" height=\"44\" align=\"left\" alt=\"Deno\" /\u003e\n\n```sh\ndeno add jsr:@iter/weak-map\n```\n\n\u003cimg src=\"./.github/assets/jsr.svg\" width=\"48\" height=\"44\" align=\"left\" alt=\"JSR\" /\u003e\n\n```sh\nnpx jsr add @iter/weak-map\n```\n\n\u003cimg src=\"./.github/assets/npm.svg\" width=\"48\" height=\"44\" align=\"left\" alt=\"NPM\" /\u003e\n\n```sh\nnpm install @itter/weak-map\n```\n\n#### Example Usage\n\n```ts\nimport { IterableWeakMap } from \"@iter/weak-map\";\n\n// drop-in replacement for WeakMap\nconst weakMap = new IterableWeakMap([\n  [{ key: 42 }, \"Hello, World!\"],\n  [{ key: 41 }, \"Goodbye, World!\"],\n]);\n\n// but with an iterable API similar to Map\nfor (const [key, value] of weakMap) {\n  console.log(key, value);\n}\n\n// and all the methods you'd expect from a Map\nweakMap.set({ key: 43 }, \"How do we get the key with no reference?\");\n\nconst likeThis = [...weakMap.keys()].pop();\n```\n\n---\n\n\u003e [!NOTE]\n\u003e In the context of this project, the phrase _\"Supports Deno\"_ includes both\n\u003e Deno Deploy and the Deno Runtime (also known as the _\"Deno CLI\"_), unless\n\u003e otherwise specified.\n\u003e\n\u003e Note that not all runtime APIs are available in Deno Deploy that are available\n\u003e in the Deno CLI. If a package is not fully compatible with the Deno Deploy\n\u003e serverless (edge) runtime, it will be noted in the package's `README.md` file.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[MIT] © [Nicholas Berlette]. All rights reserved.**\n\n\u003csmall\u003e\n\n**[GitHub] · [Issues] · [JSR] · [NPM] · [Deno]**\n\n\u003c/small\u003e\n\n[![][badge-jsr]][jsr]\n\n\u003c/div\u003e\n\n[MIT]: https://nick.mit-license.org \"Copyright © 2023-2024 Nicholas Berlette. MIT License.\"\n[Nicholas Berlette]: https://github.com/nberlette \"Nicholas Berlette's GitHub Profile\"\n[Issues]: https://github.com/nberlette/iterable/issues/new?assignees=nberlette \"Found a bug? Let's squash it!\"\n[GitHub]: https://github.com/nberlette/iterable \"View the `iterable` Repository on GitHub\"\n[jsr]: https://jsr.io/@iter \"View all @iter/* packages on jsr.io\"\n[npm]: https://www.npmjs.com/org/itter \"View @itter organization on NPM\"\n[deno]: https://deno.land/x/iterable \"View iterable on deno.land/x\"\n[badge-jsr]: https://jsr.io/badges/@iter?labelColor=123\u0026color=123\u0026logoColor=f7df1e \"View all @iter/* packages on jsr.io\"\n[badge-npm]: https://img.shields.io/badge/@itter-tomato.svg?logoWidth=32\u0026logoColor=white\u0026color=firebrick\u0026logo=data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzLjExZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIC0yNSA1MTIgMTkwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTU3LjUzOCAxNjQuMTAzaDY1LjY0MXYtMzIuODJoNjUuNjQyVjBIMTU3LjUzOHpNMjIzLjE4IDMyLjgySDI1NnY2NS42NGgtMzIuODJ6TTMxNS4wNzcgMHYxMzEuMjgyaDY1LjY0VjMyLjgyMWgzMi44MjF2OTguNDYxaDMyLjgyMVYzMi44MjFoMzIuODJ2OTguNDYxSDUxMlYwek0wIDEzMS4yODJoNjUuNjQxVjMyLjgyMWgzMi44MnY5OC40NjFoMzIuODIxVjBIMHoiLz48L3N2Zz4= \"View all @itter packages on NPM\"\n[badge-mit]: https://img.shields.io/badge/-MIT-blue.svg?logo=github \"MIT License\"\n[jsr-weak-map]: https://jsr.io/@iter/weak-map/doc \"View the @iter/weak-map package on jsr.io\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Fiterable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnberlette%2Fiterable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Fiterable/lists"}