feat: black magic

add config for `order` array, which determines the order in which all passed config functions for explorer will get executed in.

functions will now dynamically be called on `fileTree` via array accessor (e.g. fileTree["sort"].call(...)) with corresponding function from options being passed to call)
This commit is contained in:
Ben Schlegel
2023-09-16 21:58:38 +02:00
parent fea352849c
commit f7029012df
2 changed files with 29 additions and 9 deletions

View File

@ -2,6 +2,8 @@
import { QuartzPluginData } from "../plugins/vfile"
import { resolveRelative } from "../util/path"
type OrderEntries = "sort" | "filter" | "map"
export interface Options {
title: string
folderDefaultState: "collapsed" | "open"
@ -10,6 +12,7 @@ export interface Options {
sortFn: (a: FileNode, b: FileNode) => number
filterFn?: (node: FileNode) => boolean
mapFn?: (node: FileNode) => void
order?: OrderEntries[]
}
type DataWrapper = {