TypeScript-Unterstützung
Mind Elixir Core ist in TypeScript geschrieben und benötigt keine zusätzlichen npm-Pakete. TypeScript wird von Haus aus unterstützt.
import MindElixir, { MindElixirData, Options } from 'mind-elixir'
const options: Options = {
el: '#map',
}
const data: MindElixirData = {
nodeData: {
id: 'root',
topic: 'root',
children: [
{
id: 'sub1',
topic: 'sub1',
children: [
{
id: 'sub2',
topic: 'sub2',
},
],
},
],
},
}
const mei = new MindElixir(options)
mei.init(data)
Generische Typen
Der Standard-Export ist eine generische Klasse, sodass benutzerdefinierte Knoten-Metadaten durch die Klasse selbst fließen:
import MindElixir, { type NodeObj, type Options } from 'mind-elixir'
type Metadata = { owner?: string; due?: string }
const options: Options<Metadata> = { el: '#map' }
const mind = new MindElixir<Metadata>(options)
const root: NodeObj<Metadata> = mind.nodeData
Wenn eine Variable den Konstruktor enthält (etwa in einer Factory), annotiere sie mit typeof MindElixir:
const Ctor: typeof MindElixir = MindElixir
const anotherMind = new Ctor<Metadata>({ el: '#map' })
Options, MindElixirData, NodeObj, NodeObjExport und Theme akzeptieren alle denselben Metadaten-Typparameter. Den Rest der API findest du im v6-API-Leitfaden.