jrsonnet-evaluator 0.5.0-pre95

jsonnet interpreter
Documentation
[package]
name = "jrsonnet-evaluator"
description = "jsonnet interpreter"
version.workspace = true
repository.workspace = true
authors = ["Yaroslav Bolyukin <iam@lach.pw>"]
license = "MIT"
edition = "2021"

[features]
default = ["explaining-traces"]
# Rustc-like trace visualization
explaining-traces = ["annotate-snippets"]
# Allows library authors to throw custom errors
anyhow-error = ["anyhow"]
# Adds ability to build import closure in async
async-import = ["async-trait"]

# Allows to preserve field order in objects
exp-preserve-order = []
# Implements field destructuring
exp-destruct = ["jrsonnet-parser/exp-destruct"]
# Iteration over objects yields [key, value] elements
exp-object-iteration = []
# Bigint type
exp-bigint = ["num-bigint", "jrsonnet-types/exp-bigint"]
# obj?.field, obj?.['field']
exp-null-coaelse = ["jrsonnet-parser/exp-null-coaelse"]

# Improves performance, and implements some useful things using nightly-only features
nightly = ["hashbrown/nightly"]

[dependencies]
jrsonnet-interner.workspace = true
jrsonnet-parser.workspace = true
jrsonnet-types.workspace = true
jrsonnet-macros.workspace = true
jrsonnet-gcmodule.workspace = true

pathdiff = "0.2.1"
hashbrown = "0.13.2"
static_assertions = "1.1"

rustc-hash = "1.1"

thiserror = "1.0"
# Friendly errors
strsim = { version = "0.10.0" }

serde = "1.0"

anyhow = { version = "1.0", optional = true }
# Serialized stdlib
bincode = { version = "1.3", optional = true }
# Explaining traces
annotate-snippets = { version = "0.9.1", features = ["color"], optional = true }
# Async imports
async-trait = { version = "0.1.60", optional = true }
# Bigint
num-bigint = { version = "0.4.3", features = ["serde"], optional = true }
derivative = "2.2.0"