deps: bump flexsearch

This commit is contained in:
Jacky Zhao 2024-01-27 22:15:25 -08:00
parent 2739457c86
commit efdce070e1
5 changed files with 15 additions and 23 deletions

View file

@ -258,6 +258,7 @@ export async function handleBuild(argv) {
},
write: false,
bundle: true,
minify: true,
platform: "browser",
format: "esm",
})

View file

@ -1,4 +1,4 @@
import { Document, SimpleDocumentSearchResultSetUnit } from "flexsearch"
import FlexSearch from "flexsearch"
import { ContentDetails } from "../../plugins/emitters/contentIndex"
import { registerEscapeHandler, removeAllChildren } from "./util"
import { FullSlug, resolveRelative } from "../../util/path"
@ -11,7 +11,7 @@ interface Item {
tags: string[]
}
let index: Document<Item> | undefined = undefined
let index: FlexSearch.Document<Item> | undefined = undefined
// Can be expanded with things like "term" in the future
type SearchType = "basic" | "tags"
@ -250,7 +250,7 @@ document.addEventListener("nav", async (e: unknown) => {
async function onType(e: HTMLElementEventMap["input"]) {
let term = (e.target as HTMLInputElement).value
let searchResults: SimpleDocumentSearchResultSetUnit[]
let searchResults: FlexSearch.SimpleDocumentSearchResultSetUnit[]
if (term.toLowerCase().startsWith("#")) {
searchType = "tags"
@ -305,24 +305,23 @@ document.addEventListener("nav", async (e: unknown) => {
// setup index if it hasn't been already
if (!index) {
index = new Document({
index = new FlexSearch.Document({
charset: "latin:extra",
optimize: true,
encode: encoder,
document: {
id: "id",
index: [
{
field: "title",
tokenize: "reverse",
tokenize: "forward",
},
{
field: "content",
tokenize: "reverse",
tokenize: "forward",
},
{
field: "tags",
tokenize: "reverse",
tokenize: "forward",
},
],
},
@ -340,7 +339,7 @@ document.addEventListener("nav", async (e: unknown) => {
* @param index index to fill
* @param data data to fill index with
*/
async function fillDocument(index: Document<Item, false>, data: any) {
async function fillDocument(index: FlexSearch.Document<Item, false>, data: any) {
let id = 0
for (const [slug, fileData] of Object.entries<ContentDetails>(data)) {
await index.addAsync(id, {