{"id":21831432,"url":"https://github.com/nodef/extra-ientries","last_synced_at":"2025-08-31T12:09:35.901Z","repository":{"id":234090543,"uuid":"625581216","full_name":"nodef/extra-ientries","owner":"nodef","description":"IEntries is an iterable list of key-value pairs, with unique keys.","archived":false,"fork":false,"pushed_at":"2025-04-08T17:18:59.000Z","size":488,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T18:28:54.738Z","etag":null,"topics":["chunk","compare","concat","count","count-as","difference","drop","entries","every","extra","filter","filter-at","find","find-all","flat","flat-map","for-each","from-lists","ientries","iterable"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/extra-ientries","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/nodef.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}},"created_at":"2023-04-09T14:59:19.000Z","updated_at":"2025-04-08T17:19:02.000Z","dependencies_parsed_at":"2024-04-18T05:48:01.457Z","dependency_job_id":"3086392d-84dc-4232-b99f-d1365373e9e8","html_url":"https://github.com/nodef/extra-ientries","commit_stats":null,"previous_names":["nodef/extra-ientries"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nodef/extra-ientries","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-ientries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-ientries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-ientries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-ientries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodef","download_url":"https://codeload.github.com/nodef/extra-ientries/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-ientries/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272977267,"owners_count":25025092,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"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":["chunk","compare","concat","count","count-as","difference","drop","entries","every","extra","filter","filter-at","find","find-all","flat","flat-map","for-each","from-lists","ientries","iterable"],"created_at":"2024-11-27T19:10:25.150Z","updated_at":"2025-08-31T12:09:35.884Z","avatar_url":"https://github.com/nodef.png","language":"TypeScript","readme":"A collection of functions for operating upon Entries.\u003cbr\u003e\n📦 [Node.js](https://www.npmjs.com/package/extra-ientries),\n🌐 [Web](https://www.npmjs.com/package/extra-ientries.web),\n📜 [Files](https://unpkg.com/extra-ientries/),\n📰 [Docs](https://nodef.github.io/extra-ientries/),\n📘 [Wiki](https://github.com/nodef/extra-ientries/wiki/).\n\n[Entries] is a list of key-value pairs, with unique keys. This package\nincludes common functions related to querying **about** entries, **generating**\nthem, **comparing** one with another, finding their **size**, **adding** and\n**removing** entries, obtaining its **properties**, getting a **part** of it,\ngetting a **subset** entries in it, **finding** an entry in it, performing\n**functional** operations, **manipulating** it in various ways, **combining**\ntogether entries or its sub-entries, of performing **set operations** upon it.\n\nAll functions except `fromLists()` take entries as 1st parameter, and expect it\nto be [iterable]. It does not need to be an array. **Entries** are returned\nby `Array`, `Object`, `Set`, `Map`.\n\nThis package is available in *Node.js* and *Web* formats. The web format\nis exposed as `extra_entries` standalone variable and can be loaded from\n[jsDelivr CDN].\n\n\u003e Stability: [Experimental](https://www.youtube.com/watch?v=L1j93RnIxEo).\n\n[Entries]: https://github.com/nodef/extra-ientries/wiki/Entries\n[iterable]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols\n[jsDelivr CDN]: https://cdn.jsdelivr.net/npm/extra-ientries.web/index.js\n\n\u003cbr\u003e\n\n```javascript\nconst entries = require('extra-ientries');\n// import * as entries from \"extra-ientries\";\n// import * as entries from \"https://unpkg.com/extra-ientries/index.mjs\"; (deno)\n\nvar x = [['a', 1], ['b', 2], ['c', 3], ['d', 4], ['e', 5]];\n[...entries.filter(x, v =\u003e v % 2 === 1)];\n// → [ [ 'a', 1 ], [ 'c', 3 ], [ 'e', 5 ] ]\n\nvar x = [['a', 1], ['b', 2], ['c', -3], ['d', -4]];\nentries.some(x, v =\u003e v \u003e 10);\n// → false\n\nvar x = [['a', 1], ['b', 2], ['c', -3], ['d', -4]];\nentries.min(x);\n// → -4\n\nvar x = [['a', 1], ['b', 2], ['c', 3]];\n[...entries.subsets(x)].map(a =\u003e [...a]);\n// → [\n// →   [],\n// →   [ [ 'a', 1 ] ],\n// →   [ [ 'b', 2 ] ],\n// →   [ [ 'a', 1 ], [ 'b', 2 ] ],\n// →   [ [ 'c', 3 ] ],\n// →   [ [ 'a', 1 ], [ 'c', 3 ] ],\n// →   [ [ 'b', 2 ], [ 'c', 3 ] ],\n// →   [ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ] ]\n// → ]\n```\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n## Index\n\n\n| Property | Description |\n|  ----  |  ----  |\n| [is] | Check if value is an iterable. |\n| [keys] | List all keys. |\n| [values] | List all values. |\n|  |  |\n| [fromLists] | Convert lists to entries. |\n|  |  |\n| [compare] | Compare two entries. |\n| [isEqual] | Check if two entries are equal. |\n|  |  |\n| [size] | Find the length of an iterable. |\n| [isEmpty] | Check if an iterable is empty. |\n|  |  |\n| [get] | Get value at key. |\n| [getAll] | Get values at keys. |\n| [getPath] | Get value at path in nested entries. |\n| [hasPath] | Check if nested entries has a path. |\n| [set] | Set value at key. |\n| [swap] | Exchange two values. |\n| [remove] | Remove value at key. |\n|  |  |\n| [count] | Count values which satisfy a test. |\n| [countAs] | Count occurrences of values. |\n| [min] | Find smallest value. |\n| [minEntry] | Find smallest entry. |\n| [max] | Find largest value. |\n| [maxEntry] | Find largest entry. |\n| [range] | Find smallest and largest values. |\n| [rangeEntries] | Find smallest and largest entries. |\n|  |  |\n| [head] | Get first value. |\n| [tail] | Get values except first. |\n| [take] | Keep first n values only. |\n| [drop] | Discard first n values only. |\n|  |  |\n| [subsets] | List all possible subsets. |\n| [randomKey] | Pick an arbitrary key. |\n| [randomEntry] | Pick an arbitrary entry. |\n| [randomSubset] | Pick an arbitrary subset. |\n|  |  |\n| [has] | Check if entries has a key. |\n| [hasValue] | Check if entries has a value. |\n| [hasEntry] | Check if entries has an entry. |\n| [hasSubset] | Check if entries has a subset. |\n| [find] | Find first value passing a test (default order). |\n| [findAll] | Find values passing a test. |\n| [search] | Finds key of an entry passing a test. |\n| [searchAll] | Find keys of entries passing a test. |\n| [searchValue] | Find a key with given value. |\n| [searchValueAll] | Finds keys with given value. |\n|  |  |\n| [forEach] | Call a function for each value. |\n| [some] | Check if any value satisfies a test. |\n| [every] | Check if all values satisfy a test. |\n| [map] | Transform values of entries. |\n| [reduce] | Reduce values of entries to a single value. |\n| [filter] | Keep entries which pass a test. |\n| [filterAt] | Keep entries with given keys. |\n| [reject] | Discard entries which pass a test. |\n| [rejectAt] | Discard entries with given keys. |\n| [flat] | Flatten nested entries to given depth. |\n| [flatMap] | Flatten nested entries, based on map function. |\n| [zip] | Combine matching entries from all entries. |\n|  |  |\n| [partition] | Segregate values by test result. |\n| [partitionAs] | Segregate entries by similarity. |\n| [chunk] | Break entries into chunks of given size. |\n|  |  |\n| [concat] | Append entries from all entries, preferring last. |\n| [join] | Join entries together into a string. |\n|  |  |\n| [isDisjoint] | Check if entries have no common keys. |\n| [unionKeys] | Obtain keys present in any entries. |\n| [union] | Obtain entries present in any entries. |\n| [intersection] | Obtain entries present in both entries. |\n| [difference] | Obtain entries not present in another entries. |\n| [symmetricDifference] | Obtain entries not present in both entries. |\n| [randomValue] | Pick an arbitrary value. |\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n[![](https://img.youtube.com/vi/5UABeDXf_iE/maxresdefault.jpg)](https://www.youtube.com/watch?v=5UABeDXf_iE)\u003cbr\u003e\n[![ORG](https://img.shields.io/badge/org-nodef-green?logo=Org)](https://nodef.github.io)\n[![DOI](https://zenodo.org/badge/133400406.svg)](https://zenodo.org/badge/latestdoi/133400406)\n[![Coverage Status](https://coveralls.io/repos/github/nodef/extra-ientries/badge.svg?branch=master)](https://coveralls.io/github/nodef/extra-ientries?branch=master)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/4624983540e6b87358dc/test_coverage)](https://codeclimate.com/github/nodef/extra-ientries/test_coverage)\n[![Maintainability](https://api.codeclimate.com/v1/badges/4624983540e6b87358dc/maintainability)](https://codeclimate.com/github/nodef/extra-ientries/maintainability)\n![](https://ga-beacon.deno.dev/G-RC63DPBH3P:SH3Eq-NoQ9mwgYeHWxu7cw/github.com/nodef/extra-ientries)\n\n[is]: https://github.com/nodef/extra-ientries/wiki/is\n[keys]: https://github.com/nodef/extra-ientries/wiki/keys\n[values]: https://github.com/nodef/extra-ientries/wiki/values\n[fromLists]: https://github.com/nodef/extra-ientries/wiki/fromLists\n[compare]: https://github.com/nodef/extra-ientries/wiki/compare\n[isEqual]: https://github.com/nodef/extra-ientries/wiki/isEqual\n[size]: https://github.com/nodef/extra-ientries/wiki/size\n[isEmpty]: https://github.com/nodef/extra-ientries/wiki/isEmpty\n[get]: https://github.com/nodef/extra-ientries/wiki/get\n[getAll]: https://github.com/nodef/extra-ientries/wiki/getAll\n[getPath]: https://github.com/nodef/extra-ientries/wiki/getPath\n[hasPath]: https://github.com/nodef/extra-ientries/wiki/hasPath\n[set]: https://github.com/nodef/extra-ientries/wiki/set\n[swap]: https://github.com/nodef/extra-ientries/wiki/swap\n[remove]: https://github.com/nodef/extra-ientries/wiki/remove\n[count]: https://github.com/nodef/extra-ientries/wiki/count\n[countAs]: https://github.com/nodef/extra-ientries/wiki/countAs\n[min]: https://github.com/nodef/extra-ientries/wiki/min\n[minEntry]: https://github.com/nodef/extra-ientries/wiki/minEntry\n[max]: https://github.com/nodef/extra-ientries/wiki/max\n[maxEntry]: https://github.com/nodef/extra-ientries/wiki/maxEntry\n[range]: https://github.com/nodef/extra-ientries/wiki/range\n[rangeEntries]: https://github.com/nodef/extra-ientries/wiki/rangeEntries\n[head]: https://github.com/nodef/extra-ientries/wiki/head\n[tail]: https://github.com/nodef/extra-ientries/wiki/tail\n[take]: https://github.com/nodef/extra-ientries/wiki/take\n[drop]: https://github.com/nodef/extra-ientries/wiki/drop\n[subsets]: https://github.com/nodef/extra-ientries/wiki/subsets\n[randomKey]: https://github.com/nodef/extra-ientries/wiki/randomKey\n[randomEntry]: https://github.com/nodef/extra-ientries/wiki/randomEntry\n[randomSubset]: https://github.com/nodef/extra-ientries/wiki/randomSubset\n[has]: https://github.com/nodef/extra-ientries/wiki/has\n[hasValue]: https://github.com/nodef/extra-ientries/wiki/hasValue\n[hasEntry]: https://github.com/nodef/extra-ientries/wiki/hasEntry\n[hasSubset]: https://github.com/nodef/extra-ientries/wiki/hasSubset\n[find]: https://github.com/nodef/extra-ientries/wiki/find\n[findAll]: https://github.com/nodef/extra-ientries/wiki/findAll\n[search]: https://github.com/nodef/extra-ientries/wiki/search\n[searchAll]: https://github.com/nodef/extra-ientries/wiki/searchAll\n[searchValue]: https://github.com/nodef/extra-ientries/wiki/searchValue\n[searchValueAll]: https://github.com/nodef/extra-ientries/wiki/searchValueAll\n[forEach]: https://github.com/nodef/extra-ientries/wiki/forEach\n[some]: https://github.com/nodef/extra-ientries/wiki/some\n[every]: https://github.com/nodef/extra-ientries/wiki/every\n[map]: https://github.com/nodef/extra-ientries/wiki/map\n[reduce]: https://github.com/nodef/extra-ientries/wiki/reduce\n[filter]: https://github.com/nodef/extra-ientries/wiki/filter\n[filterAt]: https://github.com/nodef/extra-ientries/wiki/filterAt\n[reject]: https://github.com/nodef/extra-ientries/wiki/reject\n[rejectAt]: https://github.com/nodef/extra-ientries/wiki/rejectAt\n[flat]: https://github.com/nodef/extra-ientries/wiki/flat\n[flatMap]: https://github.com/nodef/extra-ientries/wiki/flatMap\n[zip]: https://github.com/nodef/extra-ientries/wiki/zip\n[partition]: https://github.com/nodef/extra-ientries/wiki/partition\n[partitionAs]: https://github.com/nodef/extra-ientries/wiki/partitionAs\n[chunk]: https://github.com/nodef/extra-ientries/wiki/chunk\n[concat]: https://github.com/nodef/extra-ientries/wiki/concat\n[join]: https://github.com/nodef/extra-ientries/wiki/join\n[isDisjoint]: https://github.com/nodef/extra-ientries/wiki/isDisjoint\n[unionKeys]: https://github.com/nodef/extra-ientries/wiki/unionKeys\n[union]: https://github.com/nodef/extra-ientries/wiki/union\n[intersection]: https://github.com/nodef/extra-ientries/wiki/intersection\n[difference]: https://github.com/nodef/extra-ientries/wiki/difference\n[symmetricDifference]: https://github.com/nodef/extra-ientries/wiki/symmetricDifference\n[randomValue]: https://github.com/nodef/extra-ientries/wiki/randomValue\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fextra-ientries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodef%2Fextra-ientries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fextra-ientries/lists"}