Files
loot-condition-interpreter/README.md
T
2018-10-21 14:42:50 +01:00

1.1 KiB

loot-condition-interpreter

A library for parsing and evaluating LOOT's metadata condition strings. This library improves upon LOOT's existing implementation in the following ways:

  • Condition expressions are parsed into an intermediate representation instead of being stringly typed, which allows parsing and evaluation to be separated.
  • State is uncoupled by necessity, and Rusts's concurrency guarantees mean it can be accessed more efficiently.
  • Results are cached with more granularity, per function instead of per expression, improving performance when expressions are not entirely different.
  • Result caching is guided by benchmarks, so results aren't cached unnecessarily.
  • Reading executable versions doesn't involve calling out to the shell and piping several commands together when on Linux.

The code is also not as much of a mess, it's got benchmarks, and probably better test coverage.

The tests need the testing-plugins and the LOOT API v0.13.8 Windows archives to be extracted and present in the repo root.