CodeTemplate

Provides a script-able means to produce some type B for any type A

class Object
trait Matchable
class Any

Type members

Classlikes

case
class Compiled[A, B](code: String, inputType: String, thunk: A => B) extends A => B
case
class CompiledExpression[A, B](contextType: String, code: String, thunk: A => B) extends A => B

Types

type Expression[A, B] = Context[A] => B

Value members

Concrete methods

def apply[A : ClassTag, B](expression: String, scriptPrefix: String): Try[A => B]

We bias these codetemplate for DynamicJson inputs

We bias these codetemplate for DynamicJson inputs

def compile[A : ClassTag, B](script: String): Try[Compiled[A, B]]
def compile[A : ClassTag, B](inputType: String, script: String): Try[Compiled[A, B]]
def compileAsExpression[A, B](contextType: String, script: String): Try[A => B]
def const[A, B](value: B): A => B
def forAnyInput[A : ClassTag, B](expression: String): Try[A => B]

The resulting code is intended to work for a Context that has a DynamicJson as a message content.

The resulting code is intended to work for a Context that has a DynamicJson as a message content.

This allows scripts to work more fluidly w/ json messages in a scripting style, such as:


def forAnyInput[A, B](contextType: String, expression: String): Try[A => B]
def newCache[A : ClassTag, B](scriptPrefix: String): Cache[A => B]
def scalaEngine(): ScriptEngine