Quis DSL Parser

Interactive demonstration of the lightweight data sorting DSL

🚀 Interactive Demo

📚 Example Expressions

Boolean Logic

true && false

Numeric Comparison

$user.age >= 21

String Equality

$user.name == "Alice"

Complex Expression

($user.level > 3 && $user.active) || $user.admin

Shorthand Operators

$score gt 100 and $lives gte 1

Negation

!$config.debug && $config.production

Custom Conditions

$text custom:contains "hello"

📖 Supported Operations

Comparison Operators

==, !=, >, <, >=, <= is, is not, gt, lt, gte, lte

Boolean Operators

&&, ||, ! AND, OR, and, or

Data Types

Numbers: 42, 3.14 Strings: "hello", 'world' Booleans: true, false Null: null

Variable Access

$variableName $object.property $nested.deep.value

Custom Conditions

$value custom:conditionName $expected // Add custom condition quis.addCustomCondition('contains', (value, expected) => String(value).includes(String(expected)) );