[package]
edition = "2021"
name = "lemma-engine"
version = "0.8.12"
authors = ["Ben Rogmans <ben@amrai.nl>"]
build = false
include = [
"/src/**",
"/tests/**",
"/README.md",
"/LICENSE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A language that means business."
homepage = "https://github.com/lemma/lemma"
documentation = "https://docs.rs/lemma-engine"
readme = "README.md"
keywords = [
"logic",
"rules",
"declarative",
"dsl",
"rust",
]
categories = [
"parser-implementations",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/lemma/lemma"
resolver = "3"
[features]
default = ["registry"]
registry = ["reqwest"]
[lib]
name = "lemma"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "arithmetic_type_combinations"
path = "tests/arithmetic_type_combinations.rs"
[[test]]
name = "branch_aware_missing_data"
path = "tests/branch_aware_missing_data.rs"
[[test]]
name = "coffee_order"
path = "tests/coffee_order.rs"
[[test]]
name = "cross_spec_references"
path = "tests/cross_spec_references.rs"
[[test]]
name = "data_binding_type_validation"
path = "tests/data_binding_type_validation.rs"
[[test]]
name = "data_literals_coverage"
path = "tests/data_literals_coverage.rs"
[[test]]
name = "data_nested_bindings_coverage"
path = "tests/data_nested_bindings_coverage.rs"
[[test]]
name = "data_references"
path = "tests/data_references.rs"
[[test]]
name = "data_type_declarations_coverage"
path = "tests/data_type_declarations_coverage.rs"
[[test]]
name = "data_with_values_contract"
path = "tests/data_with_values_contract.rs"
[[test]]
name = "datetime_edge_cases"
path = "tests/datetime_edge_cases.rs"
[[test]]
name = "datetime_edge_hunting"
path = "tests/datetime_edge_hunting.rs"
[[test]]
name = "datetime_sugar"
path = "tests/datetime_sugar.rs"
[[test]]
name = "documentation_examples"
path = "tests/documentation_examples.rs"
[[test]]
name = "equal_operator"
path = "tests/equal_operator.rs"
[[test]]
name = "error_messages"
path = "tests/error_messages.rs"
[[test]]
name = "explanation_e2e"
path = "tests/explanation_e2e.rs"
[[test]]
name = "expression_syntax"
path = "tests/expression_syntax.rs"
[[test]]
name = "formatter"
path = "tests/formatter.rs"
[[test]]
name = "fuzz_api_surface"
path = "tests/fuzz_api_surface.rs"
[[test]]
name = "inline_type_imports"
path = "tests/inline_type_imports.rs"
[[test]]
name = "integration_comprehensive"
path = "tests/integration_comprehensive.rs"
[[test]]
name = "integration_examples"
path = "tests/integration_examples.rs"
[[test]]
name = "inversion_constraint_linear"
path = "tests/inversion_constraint_linear.rs"
[[test]]
name = "inversion_display_serialize"
path = "tests/inversion_display_serialize.rs"
[[test]]
name = "math_ops"
path = "tests/math_ops.rs"
[[test]]
name = "meta_fields"
path = "tests/meta_fields.rs"
[[test]]
name = "missing_data_propagation"
path = "tests/missing_data_propagation.rs"
[[test]]
name = "modulo_power"
path = "tests/modulo_power.rs"
[[test]]
name = "nested_spec_references"
path = "tests/nested_spec_references.rs"
[[test]]
name = "property_based"
path = "tests/property_based.rs"
[[test]]
name = "ratio_runtime_input"
path = "tests/ratio_runtime_input.rs"
[[test]]
name = "ratio_scale_units"
path = "tests/ratio_scale_units.rs"
[[test]]
name = "required_data_names_nested_spec"
path = "tests/required_data_names_nested_spec.rs"
[[test]]
name = "resource_limits_test"
path = "tests/resource_limits_test.rs"
[[test]]
name = "scale_number_refactoring"
path = "tests/scale_number_refactoring.rs"
[[test]]
name = "scale_unit_conversion"
path = "tests/scale_unit_conversion.rs"
[[test]]
name = "semantic_validation"
path = "tests/semantic_validation.rs"
[[test]]
name = "temporal_boundary_explosion"
path = "tests/temporal_boundary_explosion.rs"
[[test]]
name = "temporal_cycle_panic"
path = "tests/temporal_cycle_panic.rs"
[[test]]
name = "temporal_interface_deep_slice"
path = "tests/temporal_interface_deep_slice.rs"
[[test]]
name = "temporal_range_references"
path = "tests/temporal_range_references.rs"
[[test]]
name = "temporal_slicing"
path = "tests/temporal_slicing.rs"
[[test]]
name = "temporal_timezone_ordering"
path = "tests/temporal_timezone_ordering.rs"
[[test]]
name = "temporal_type_resolver_instant"
path = "tests/temporal_type_resolver_instant.rs"
[[test]]
name = "test_discount_inversion"
path = "tests/test_discount_inversion.rs"
[[test]]
name = "timezone"
path = "tests/timezone.rs"
[[test]]
name = "type_aware_arithmetic"
path = "tests/type_aware_arithmetic.rs"
[[test]]
name = "type_definitions"
path = "tests/type_definitions.rs"
[[test]]
name = "type_import_temporal"
path = "tests/type_import_temporal.rs"
[[test]]
name = "typed_values"
path = "tests/typed_values.rs"
[[test]]
name = "unit_percentage_operations"
path = "tests/unit_percentage_operations.rs"
[[test]]
name = "validator_type_checking"
path = "tests/validator_type_checking.rs"
[[test]]
name = "veto"
path = "tests/veto.rs"
[[test]]
name = "veto_inversion"
path = "tests/veto_inversion.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.boolean_expression]
version = "0.4"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.indexmap]
version = "2.0"
features = ["serde"]
[dependencies.postcard]
version = "1"
features = ["alloc"]
[dependencies.reqwest]
version = "0.13"
features = ["rustls"]
optional = true
default-features = false
[dependencies.rust_decimal]
version = "1.33"
features = ["serde"]
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dev-dependencies.insta]
version = "1.34"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tokio]
version = "1.39.2"
features = ["full"]
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1"
[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-net]
version = "0.6"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.serde-wasm-bindgen]
version = "0.6"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.104"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[lints.rust]
dead_code = "deny"