| | |
| | | import { QuartzPluginData } from "../plugins/vfile" |
| | | import { resolveRelative } from "../util/path" |
| | | |
| | | type OrderEntries = "sort" | "filter" | "map" |
| | | |
| | | export interface Options { |
| | | title: string |
| | | folderDefaultState: "collapsed" | "open" |
| | |
| | | sortFn: (a: FileNode, b: FileNode) => number |
| | | filterFn?: (node: FileNode) => boolean |
| | | mapFn?: (node: FileNode) => void |
| | | order?: OrderEntries[] |
| | | } |
| | | |
| | | type DataWrapper = { |
| | |
| | | constructor(name: string, file?: QuartzPluginData, depth?: number) { |
| | | this.children = [] |
| | | this.name = name |
| | | this.file = file ?? null |
| | | this.file = file ? structuredClone(file) : null |
| | | this.depth = depth ?? 0 |
| | | } |
| | | |