streamdal-wasm-transform

Crates.iostreamdal-wasm-transform
lib.rsstreamdal-wasm-transform
version0.1.6
sourcesrc
created_at2023-10-21 01:15:58.246791
updated_at2024-01-05 15:08:14.350137
descriptionJSON data transformation lib used by snitch components
homepage
repositoryhttps://github.com/streamdal/wasm-transform
max_upload_size
id1009703
size50,120
Daniel Selans (dselans)

documentation

README

Release Test

streamdal-transform

Library used by streamdal/wasm to perform transformations on JSON payloads.

Usage

fn main() {
    let sample_json = r#"{"hello": "world"}"#;

    let req = streamdal_wasm_transform::transform::Request {
        data: sample_json.into(),
        path: "hello".to_string(),
        value: r#""baz""#.to_string(),
    };

    let updated_json = streamdal_wasm_transform::transform::overwrite(&req).unwrap();

    println!(
        "Input JSON: {} || Result JSON: {}",
        sample_json, updated_json,
    )
}

IMPORTANT

  1. overwrite()
    1. Overwrite value will be used as-is - if target is intended to be a string, then make sure to include quotes in the payload ( Ie. "123")
  2. mask() 2. Works for numbers and strings 3. For numbers, it will replace 80% of the number characters with 0 4. For strings, it will replace 80% of the characters with *
  3. obfuscate() 2. Works ONLY on strings 3. Will replace 100% of the characters with a sha256 hash
  4. delete_path() 2. Does not work on array elements yet
  5. truncate() 2. Works on strings 3. For strings, it will truncate the string to the specified length
Commit count: 33

cargo fmt