@xmcl/text-component
TypeScript icon, indicating that this package has built-in type declarations

2.1.3 • Public • Published

Text-component Module

npm version Downloads Install size npm Build Status

Provide functions to parse Minecraft text component.

Usage

TextComponent

Create TextComponent from string OR Minecraft's formatted string, like '§cThis is red':

import { TextComponent, fromFormattedString } from "@xmcl/text-component";
const formattedString: string;
const fromFormatted: TextComponent = fromFormattedString(formattedString);

Render the TextComponent to css:

import { TextComponent, render, RenderNode } from "@xmcl/text-component";
const yourComponent: TextComponent;
const node: RenderNode = render(yourComponent);

node.text; // the text of the node
node.style; // style of the node
node.children; // children

// you can render in dom like this:

function renderToDom(node: RenderNode) {
    const span = document.createElement('span');
    span.style = node.style;
    span.textContent = node.text;
    for (const child of node.children) {
        span.appendChild(renderToDom(child));
    }
} 

Iterate the TextComponent and its children:

import { TextComponent, flat } from "@xmcl/text-component";
const yourComponent: TextComponent;
const selfAndAllChildren: Array<TextComponent> = flat(yourComponent);

Dependencies (0)

    Dev Dependencies (5)

    Package Sidebar

    Install

    npm i @xmcl/text-component

    Weekly Downloads

    52

    Version

    2.1.3

    License

    MIT

    Unpacked Size

    70.9 kB

    Total Files

    9

    Last publish

    Collaborators

    • ci010