Skip to content

KillWolfVlad/expressions.kt

Repository files navigation

expressions.kt


Embedded Extendable Expression Language for Kotlin.

Inspired by Excel, Clojure, JavaScript and Kotlin

Features

  • Built-in primitives support: number, string and boolean with your own implementation under the hood (e.g. use double or BigDecimal for numbers)
  • Extend expressions with your own binary, left and right unary operators, types and functions
  • With memory you can add support of variables and user functions
  • Parse expression and work with tokens
  • Powerful interop with Kotlin and fully coroutines (suspend) support

Install

See also official docs about using GitHub Packages.

build.gradle.kts

plugins {
    id("net.saliman.properties") version "1.5.2"
}

repositories {
    mavenCentral()

    maven {
        url = uri("https://maven.pkg.github.com/KillWolfVlad/expressions.kt")

        credentials {
            username = project.findProperty("gpr.user") as String?
            password = project.findProperty("gpr.key") as String?
        }
    }
}

dependencies {
    implementation("ru.killwolfvlad:expressions:version")
}

gradle-local.properties

gpr.user=xxx
gpr.key=xxx

You can find latest version in GitHub Packages.

WARNING! Don' forget add gradle-local.properties to .gitignore

Usage

Supported platforms

  • Java v21+ LTS
  • Kotlin v1.9+

Maintainers

License

This repository is released under version 2.0 of the Apache License.

About

Embedded Extendable Expression Language for Kotlin

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages