@open-cyber-range/wasm-sdl-parser
TypeScript icon, indicating that this package has built-in type declarations

0.21.0 • Public • Published
CR14 Logo       EAS Logo       Taltech Logo       NG Logo       NTNU Logo

SDL Verifier WebAssembly

This Rust-based WebAssembly library provides a simple function to verify SDL (Schema Definition Language) text using the provided Scenario parsing and verification code. It is intended to be used in web applications for efficient client-side SDL validation.

Features

  • Validates SDL text using a Rust-based custom Scenario parser.
  • Exposes a WebAssembly function for use in web applications.
  • Optimized for small binary size and fast execution.

Prerequisites

Usage

  1. Clone this repository:

    git clone <https://github.com/Open-Cyber-Range/SDL-parser.git>
    cd wasm-sdl-parser
  2. Build the project and generate the WebAssembly binary:

    wasm-pack build --target web --release

    This will create a pkg directory containing the WebAssembly binary and a JavaScript wrapper for the parse_and_verify_sdl function.

  3. Integrate the generated files into your web application:

    <script type="module">
    import init, { parse_and_verify_sdl } from './pkg/wasm-sdl-parser.js';
    
    async function main() {
        await init(); // Initialize the WebAssembly module
    
        const sdl_text = `
            name: test-scenario
            description: some-description
            start: 2022-01-20T13:00:00Z
            end: 2022-01-20T23:00:00Z
        `;
    
        try {
            const scenario_json = parse_and_verify_sdl(sdl_text);
            console.log(scenario_json);
        } catch (error) {
            console.log(error)
        }
    }
    
    main();
    </script>

    Replace the sdl_text variable with the SDL text you want to verify.

Customization

If you need to customize the SDL validation logic, modify the parse_and_verify_sdl function in src/lib.rs.

License

This project is licensed under the MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i @open-cyber-range/wasm-sdl-parser

Weekly Downloads

1

Version

0.21.0

License

MIT

Unpacked Size

1.91 MB

Total Files

5

Last publish

Collaborators

  • kristireispass
  • m.antson