0.21.0 • Published 3 months ago

@open-cyber-range/wasm-sdl-parser v0.21.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

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.

0.21.0

3 months ago

0.20.0

4 months ago

0.19.0

7 months ago

0.18.0

7 months ago

0.17.0

7 months ago

0.16.0

7 months ago

0.15.0

8 months ago

0.14.0

8 months ago

0.1.5

10 months ago