@norwegian-cyber-range/wasm-sdl-parser
v0.21.2
Published
Parser library for Scenario Defined Language (SDL)
Downloads
5
Readme
SDL Verifier WebAssembly
This Rust-based WebAssembly library is forked from SDL-parser and 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
Clone this repository:
git clone <https://github.com/Open-Cyber-Range/SDL-parser.git> cd wasm-sdl-parser
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 theparse_and_verify_sdl
function.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.