Saltar al contenido principal

Compatibilidad con TypeScript

Mind Elixir Core está escrito en TypeScript y no requiere instalar paquetes npm adicionales. Es compatible con TypeScript de forma nativa.

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)

Tipos genéricos​

La exportación por defecto es una clase genérica, por lo que los metadatos personalizados de los nodos fluyen a través de la propia clase:

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

Cuando una variable contiene el constructor (por ejemplo en una fábrica), anótala con typeof MindElixir:

const Ctor: typeof MindElixir = MindElixir
const anotherMind = new Ctor<Metadata>({ el: '#map' })

Options, MindElixirData, NodeObj, NodeObjExport y Theme aceptan el mismo parámetro de tipo para metadatos. Consulta la guía de la API v6 para ver el resto de la API.