Remove Store.list() from interface #11

Closed
opened 2026-05-18 14:29:42 +00:00 by xiaoju · 0 comments
Owner

Summary

Remove list(): Hash[] from the Store interface. It encourages full CAS scans which are an O(n) performance trap.

Motivation

With listByType() now available, there is no legitimate use case for iterating all nodes. Any code using list() should be migrated to listByType() or removed.

Tasks

  • Remove list() from Store type in json-cas/src/types.ts
  • Remove implementation from json-cas/src/store.ts (memory store)
  • Remove implementation from json-cas-fs/src/store.ts (fs store)
  • Update/remove any tests that depend on list()
  • Check for internal usages (e.g. walk, refs, bootstrap) and migrate if needed
## Summary Remove `list(): Hash[]` from the `Store` interface. It encourages full CAS scans which are an O(n) performance trap. ## Motivation With `listByType()` now available, there is no legitimate use case for iterating all nodes. Any code using `list()` should be migrated to `listByType()` or removed. ## Tasks - [ ] Remove `list()` from `Store` type in `json-cas/src/types.ts` - [ ] Remove implementation from `json-cas/src/store.ts` (memory store) - [ ] Remove implementation from `json-cas-fs/src/store.ts` (fs store) - [ ] Update/remove any tests that depend on `list()` - [ ] Check for internal usages (e.g. `walk`, `refs`, `bootstrap`) and migrate if needed
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/json-cas#11