feat: implement pagination methods for OPFSStorage adapter

- Add getNounsWithPagination and getVerbsWithPagination methods
- Update mock to provide async iterators for entries/values/keys
- Fix compatibility with BaseStorage pagination requirements
- Resolve test failures related to getAllNouns/getAllVerbs deprecation
This commit is contained in:
David Snelling 2025-08-06 15:00:34 -07:00
parent 2139f69754
commit 3d46dea814
2 changed files with 268 additions and 1 deletions

View file

@ -138,7 +138,7 @@ export function createMockDirectoryHandle(dirName: string, entries: Map<string,
return Promise.resolve()
}),
entries: vi.fn().mockImplementation(function* () {
entries: vi.fn().mockImplementation(async function* () {
const dirEntries = mockFileSystem.get(fullPath) || new Map()
for (const [name, entry] of dirEntries.entries()) {
@ -148,6 +148,24 @@ export function createMockDirectoryHandle(dirName: string, entries: Map<string,
yield [name, createMockDirectoryHandle(name, entry.content)]
}
}
}),
values: vi.fn().mockImplementation(async function* () {
const dirEntries = mockFileSystem.get(fullPath) || new Map()
for (const [name, entry] of dirEntries.entries()) {
if (entry.type === 'file') {
yield createMockFileHandle(name, entry.content)
} else {
yield createMockDirectoryHandle(name, entry.content)
}
}
}),
keys: vi.fn().mockImplementation(async function* () {
const dirEntries = mockFileSystem.get(fullPath) || new Map()
for (const name of dirEntries.keys()) {
yield name
}
})
}
}