{"id":13541085,"url":"https://github.com/juliangruber/hypercore-index","last_synced_at":"2025-05-05T03:43:06.596Z","repository":{"id":65991455,"uuid":"69473716","full_name":"juliangruber/hypercore-index","owner":"juliangruber","description":"Linear asynchronous stateful indexing of a hypercore feed","archived":false,"fork":false,"pushed_at":"2018-01-29T11:45:38.000Z","size":31,"stargazers_count":24,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-05T03:42:44.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/juliangruber.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}},"created_at":"2016-09-28T14:50:31.000Z","updated_at":"2023-09-08T17:15:19.000Z","dependencies_parsed_at":"2023-02-28T11:17:14.108Z","dependency_job_id":null,"html_url":"https://github.com/juliangruber/hypercore-index","commit_stats":{"total_commits":50,"total_committers":5,"mean_commits":10.0,"dds":"0.21999999999999997","last_synced_commit":"c19af99580e25c909e650ab6b9e63a0e37bb26f0"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Fhypercore-index","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Fhypercore-index/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Fhypercore-index/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliangruber%2Fhypercore-index/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliangruber","download_url":"https://codeload.github.com/juliangruber/hypercore-index/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252436240,"owners_count":21747467,"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":[],"created_at":"2024-08-01T10:00:38.301Z","updated_at":"2025-05-05T03:43:06.573Z","avatar_url":"https://github.com/juliangruber.png","language":"JavaScript","readme":"\n# hypercore-index\n\nLinear asynchronous stateful indexing of a\n[hypercore](https://github.com/mafintosh/hypercore) feed.\n\n[![build status](https://travis-ci.org/juliangruber/hypercore-index.svg?branch=master)](http://travis-ci.org/juliangruber/hypercore-index)\n[![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/hypercore-index.svg)](https://greenkeeper.io/)\n\nTraverses a hypercore feed in chronologic order and lets you consume each\nentry via some asynchronous function. Remembers where you left inside the\nfeed's db and continues there on later runs.\n\n## Example\n\n```js\nconst ram = require('random-access-memory')\nconst hypercore = require('hypercore')\nconst index = require('hypercore-index')\n\nconst feed = hypercore(ram)\n\nindex(ram(), {\n  feed: feed\n}, function onentry (entry, next) {\n  console.log('entry', entry.toString())\n  next()\n}, function ondone (err) {\n  if (err) throw err\n  console.log('Done!')\n})\n```\n\n## Installation\n\n```bash\n$ npm install hypercore-index\n```\n\n## API\n\n### var append = index(storage, opts, onentry, [ondone])\n\n`storage` is an [abstract-random-access](https://github.com/juliangruber/abstract-random-access) compliant storage or file path.\n\nOptions:\n\n- `feed`: The hypercore feed. Required.\n- `start`: The first index. Default: `0`\n- `end`: The last index. Default: `Infinity`\n- `live`: Whether to keep scanning. Default: `true`, unless you pass `opts.end`\n\nIf you are the feed owner you can use the `append(data, callback)` method returned to append\ndata and and wait for it to be indexed\n\n## License\n\nMIT\n","funding_links":[],"categories":["Outdated"],"sub_categories":["Other Related Dat Project Modules"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliangruber%2Fhypercore-index","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliangruber%2Fhypercore-index","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliangruber%2Fhypercore-index/lists"}