mirror of
https://github.com/langgenius/dify.git
synced 2026-04-05 01:39:18 +08:00
37 lines
812 B
TypeScript
37 lines
812 B
TypeScript
import { vi } from 'vitest'
|
|
|
|
const mockVirtualizer = ({
|
|
count,
|
|
estimateSize,
|
|
}: {
|
|
count: number
|
|
estimateSize?: (index: number) => number
|
|
}) => {
|
|
const getSize = (index: number) => estimateSize?.(index) ?? 0
|
|
|
|
return {
|
|
getTotalSize: () => Array.from({ length: count }).reduce<number>((total, _, index) => total + getSize(index), 0),
|
|
getVirtualItems: () => {
|
|
let start = 0
|
|
|
|
return Array.from({ length: count }).map((_, index) => {
|
|
const size = getSize(index)
|
|
const virtualItem = {
|
|
end: start + size,
|
|
index,
|
|
key: index,
|
|
size,
|
|
start,
|
|
}
|
|
|
|
start += size
|
|
return virtualItem
|
|
})
|
|
},
|
|
measureElement: vi.fn(),
|
|
scrollToIndex: vi.fn(),
|
|
}
|
|
}
|
|
|
|
export { mockVirtualizer as useVirtualizer }
|