@unified-latex/unified-latex-util-split
TypeScript icon, indicating that this package has built-in type declarations

1.7.1 • Public • Published

unified-latex-util-split

What is this?

Functions to manipulate unified-latex Abstract Syntax Tree (AST).

When should I use this?

If you want break apart or join an array of nodes based on a condition. For example, this is used to split on & characters in the align environment.

Install

npm install @unified-latex/unified-latex-util-split

This package contains both esm and commonjs exports. To explicitly access the esm export, import the .js file. To explicitly access the commonjs export, import the .cjs file.

Functions

arrayJoin(array, sep)

Joins an array of arrays with the item sep

function arrayJoin<T>(array: T[][], sep: T | T[]): T[];

Parameters

Param Type
array T[][]
sep T | T[]

splitOnCondition(nodes, splitFunc, options)

Split a list of nodes based on whether splitFunc returns true. If onlySplitOnFirstOccurrence is set to true in the options object, then there will be at most two segments returned.

function splitOnCondition(
  nodes: Ast.Node[],
  splitFunc: (node: Ast.Node) => boolean,
  options: { onlySplitOnFirstOccurrence?: boolean }
): { segments: Ast.Node[][]; separators: Ast.Node[] };

Parameters

Param Type
nodes Ast.Node[]
splitFunc (node: Ast.Node) => boolean
options Omitted

splitOnMacro(ast, macroName)

Split an array of AST nodes based on a macro. An object {segments: [], macros: []} is returned. The original array is reconstructed as segments[0] + macros[0] + segments[1] + ....

function splitOnMacro(
  ast: Ast.Node[],
  macroName: string | string[]
): { segments: Ast.Node[][]; macros: Ast.Macro[] };

Parameters

Param Type
ast Ast.Node[]
macroName string | string[]

unsplitOnMacro({ segments, macros, })

Does the reverse of splitOnMacro

function unsplitOnMacro({
  segments,
  macros,
}: {
  segments: Ast.Node[][];
  macros: Ast.Node[] | Ast.Node[][];
}): Ast.Node[];

Parameters

Param Type
{ segments, macros, } Omitted

/@unified-latex/unified-latex-util-split/

    Package Sidebar

    Install

    npm i @unified-latex/unified-latex-util-split

    Weekly Downloads

    1,811

    Version

    1.7.1

    License

    MIT

    Unpacked Size

    21 kB

    Total Files

    7

    Last publish

    Collaborators

    • siefkenj