[package]
name = "jetro-core"
version = "0.5.7"
edition = "2021"
authors = ["Milad (Mike) Taghavi <mitghi.at.me.com>"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/mitghi/jetro"
description = "jetro-core: parser, compiler, and VM for the Jetro JSON query language"
keywords = ["json-search", "json-query", "json-path", "jmespath", "serde"]
categories = ["algorithms", "encoding"]

[dependencies]
serde_json = "1.0.102"
pest = "2.7.0"
pest_derive = "2.7.0"
serde = { version = "1.0.171", features = ["derive"] }
smallvec = { version = "1", features = ["union"] }
indexmap = "2"
memchr = "2"
regex = "1.10"
itoa = "1"
ryu = "1"
simd-json = { version = "0.13", optional = true }
jetro-experimental = "0.2"

[features]
# simd-json default-on per cold_start_direct_parse plan: routes
# from_bytes / from_slice through the direct bytes→Val parser,
# skipping the serde_json::Value intermediate.  ~4× cold-start win.
# Users wanting the legacy serde-only path: default-features = false.
default = ["simd-json"]
simd-json = ["dep:simd-json"]
# fuzz_internal: re-exports parser/planner internals for cargo-fuzz harness.
# Not for production use; API has no stability guarantees.
fuzz_internal = []

[dev-dependencies]
jaq-core = "3.0"
jaq-std = "3.0"
jaq-json = "2.0"
criterion = { version = "0.5", default-features = false }

[[bench]]
name = "match_bench"
harness = false
