fix: parallelize search indexing
This commit is contained in:
		@@ -464,8 +464,8 @@ document.addEventListener("nav", async (e: CustomEventMap["nav"]) => {
 | 
			
		||||
  searchBar?.addEventListener("input", onType)
 | 
			
		||||
  window.addCleanup(() => searchBar?.removeEventListener("input", onType))
 | 
			
		||||
 | 
			
		||||
  await fillDocument(data)
 | 
			
		||||
  registerEscapeHandler(container, hideSearch)
 | 
			
		||||
  await fillDocument(data)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -475,13 +475,18 @@ document.addEventListener("nav", async (e: CustomEventMap["nav"]) => {
 | 
			
		||||
 */
 | 
			
		||||
async function fillDocument(data: { [key: FullSlug]: ContentDetails }) {
 | 
			
		||||
  let id = 0
 | 
			
		||||
  const promises: Array<Promise<unknown>> = []
 | 
			
		||||
  for (const [slug, fileData] of Object.entries<ContentDetails>(data)) {
 | 
			
		||||
    await index.addAsync(id++, {
 | 
			
		||||
      id,
 | 
			
		||||
      slug: slug as FullSlug,
 | 
			
		||||
      title: fileData.title,
 | 
			
		||||
      content: fileData.content,
 | 
			
		||||
      tags: fileData.tags,
 | 
			
		||||
    })
 | 
			
		||||
    promises.push(
 | 
			
		||||
      index.addAsync(id++, {
 | 
			
		||||
        id,
 | 
			
		||||
        slug: slug as FullSlug,
 | 
			
		||||
        title: fileData.title,
 | 
			
		||||
        content: fileData.content,
 | 
			
		||||
        tags: fileData.tags,
 | 
			
		||||
      }),
 | 
			
		||||
    )
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return await Promise.all(promises)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user