JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 96
  • Score
    100M100P100Q85248F
  • License MIT

Node specifications and helpers for the Kinobi standard

Package Exports

  • @kinobi-so/nodes-from-anchor

Readme

Kinobi ➤ Nodes From Anchor

Parse Anchor IDL version 0.0 or 0.1 (from Anchor 0.30) into Kinobi node definitions.

// node ./kinobi.mjs

import path from 'path';
import { renderRustVisitor, renderJavaScriptVisitor } from '@kinobi-so/renderers';
import { rootNodeFromAnchor } from '@kinobi-so/nodes-from-anchor';
import { readJson } from '@kinobi-so/renderers-core';
import { visit } from '@kinobi-so/visitors-core';

const clientDir = path.join(__dirname, 'clients');

const idlPath = path.join(__dirname, 'target', 'idl', 'anchor_program.json');
const idl = readJson(idlPath);

const node = rootNodeFromAnchor(idl);

const sdkName = idl.metadata.name;

await visit(node, renderJavaScriptVisitor(path.join(clientDir, 'js', sdkName, 'src', 'generated')));

visit(node, renderRustVisitor(path.join(clientDir, 'rust', sdkName, 'src', 'generated'), { format: true }));