Skip to content

corn-config/corn-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Corn Go

Go implementation of libcorn.

This is a full-spec implementation, which passes the reference test suite, so should work as expected. That said, it has not currently been road-tested, and the code is rough around the edges, so I would not regard it production-ready.

Usage

Add the dependency:

go get github.com/corn-config/corn-go
package main

import (
  "fmt"
  "github.com/corn-config/corn-go"
)

func main() {
  input := "let { $foo = 42} in { num = $foo }"
  eval, err := corn.Evaluate(input)

  if err != nil {
    // handle
  }

  fmt.Println(eval.Value.Get("num")) // -> 42
}

Support for deserializing into structs is currently missing. Only Evaluate method is exposed currently, which will return an unstructured map.