12 releases

0.6.2 Oct 26, 2023
0.6.0 May 24, 2023
0.5.0 Nov 3, 2022
0.4.0 Jul 8, 2022
0.1.2 Mar 4, 2020

#602 in Text processing

Download history 288/week @ 2024-07-22 44/week @ 2024-07-29 31/week @ 2024-08-05 134/week @ 2024-08-12 9/week @ 2024-08-19 51/week @ 2024-08-26 69/week @ 2024-09-02 12/week @ 2024-09-09 26/week @ 2024-09-16 178/week @ 2024-09-23 163/week @ 2024-09-30 23/week @ 2024-10-07 189/week @ 2024-10-14 165/week @ 2024-10-21 86/week @ 2024-10-28 10/week @ 2024-11-04

453 downloads per month
Used in 2 crates (via tremor-script)

Apache-2.0

28KB
551 lines

KV   Latest Version Build Status Quality Checks License Checks Security Checks Code Coverage

kv parser


KV parsing inspired by logstash's kv plugin.

Parses a string into a map. It is possible to split based on different characters that represent either field or key value boundaries.

A good part of the logstash functionality will be handled outside of this function and in a generic way in tremor script.

Use as a library

The kv parser was designed so that KV style parsing could be embedded into tremor's scripting language for extract operations.

The parser can also be used standalone

  let kv = Pattern::compile("%{key}%{%{val}").expect("Failed to build pattern");
  let r = kv.run("this%{is a%{test").expect("Failed to split input");
  assert_eq!(r.len(), 2);
  assert_eq!(r["this"], "is");
  assert_eq!(r["a"], "test");

Dependencies

~6MB
~108K SLoC