0.2.0 • Published 6 months ago

@tonkite/tlb-parser v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

TL-B Parser

Installation

pnpm add @tonkite/tlb-parser

Usage

Create a file with TLB scheme according to the documentation. This is an example of such a file (call it example.tlb):

t$_ x:# y:(uint 5) = A;

Then do:

npx tlb-parser example.tlb

Or you can use the tool from inside JS or TS code.

import { parse, NodeVisitor, ASTRootBase } from '@tonkite/tlb-parser';

class TestVisitor extends NodeVisitor {
  public visited: { [key: string]: number };

  constructor() {
    super();
    this.visited = {};
  }

  override genericVisit(node: nodes.ASTRootBase): void {
    if (this.visited[node.constructor.name] === undefined) {
      this.visited[node.constructor.name] = 0;
    }

    this.visited[node.constructor.name] += 1;
    return super.genericVisit(node);
  }
}

const schema = `
t$_ x:# y:(uint 5) = A;
`;

const tree = parse(schema);
const visitor = new TestVisitor();
visitor.visit(tree);

console.log(util.inspect(visitor.visited, { showHidden: false, depth: null, colors: true }));

console.log(util.inspect(tree, { showHidden: false, depth: null, colors: true }));

Related

License

0.2.0

6 months ago