0.10.7 • Published 8 months ago

@kcl-lang/wasm-lib v0.10.7

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 months ago

KCL WASM Library for Node.js and Browser

Quick Start

Node.js

npm install @kcl-lang/wasm-lib
import { load, invokeKCLRun } from "@kcl-lang/wasm-lib";

async function main() {
  const inst = await load();
  const result = invokeKCLRun(inst, {
    filename: "test.k",
    source: `
schema Person:
  name: str

p = Person {name = "Alice"}`,
  });
  console.log(result);
}

main();

Rust

cargo add kcl-wasm-lib --git https://github.com/kcl-lang/lib
cargo add anyhow
use anyhow::Result;
use kcl_wasm_lib::{KCLModule, RunOptions};

fn main() -> Result<()> {
    let opts = RunOptions {
        filename: "test.k".to_string(),
        source: "a = 1".to_string(),
    };
    let mut module = KCLModule::from_path("path/to/kcl.wasm")?;
    let result = module.run(&opts)?;
    println!("{}", result);
    Ok(())
}

Go

package main

import (
	"fmt"

	"github.com/kcl-lang/wasm-lib/pkg/module"
)

func main() {
	m, err := module.New("../../kcl.wasm")
	if err != nil {
		panic(err)
	}
	result, err := m.Run(&module.RunOptions{
		Filename: "test.k",
		Source:   "a = 1",
	})
	if err != nil {
		panic(err)
	}
	fmt.Println(result)
}

Developing

  • Install node.js
  • Install dependencies
npm install

Building

npm run compile

Testing

npm run test

Format

npm run format
0.10.7

8 months ago

0.10.5

8 months ago

0.10.6

8 months ago

0.10.4

8 months ago

0.10.3

8 months ago

0.10.2

8 months ago

0.10.0-rc.2

9 months ago

0.10.0-rc.1

9 months ago

0.10.0

9 months ago

0.10.0-beta.2

10 months ago

0.10.0-beta.1

10 months ago

0.10.0-alpha.2

11 months ago

0.10.0-alpha.1

11 months ago

0.9.3

11 months ago

0.9.2

11 months ago

0.9.1

11 months ago

0.9.0-rc.2

12 months ago

0.9.0-beta.2

1 year ago

0.9.0-beta.1

1 year ago