Skip to content
sciratsPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

Exo

Exo es un lenguaje de configuración declarativo, pequeño y orientado a árboles de datos.

Sintaxis

deps ["npm", "nodejs"]
workspace "https://github.com/scirats/scirats.git"

services [
	{
		name "api"
		ports [8080, 8443]
		env {
			mode "production"
		}
	}
]

database.options {
	pool-size 10
	tls.enabled true
}

Las propiedades usan la forma nombre valor. Los strings requieren comillas. Los valores disponibles son strings, booleanos, enteros, flotantes, null, arrays y objetos.

Los arrays aceptan valores anidados, arrays de objetos y comas finales:

routes [
	{
		path "/api"
		methods ["GET", "POST"]
	}
]

Los objetos pueden expresarse como bloques, como objetos anidados o mediante rutas con puntos:

database {
	options {}
}

database.options.pool-size 10

Los comentarios de línea usan # o //.

API

cfg, err := exo.ParseFile("exo.conf")
if err != nil {
	return err
}

port, ok := cfg.Int("database.options.pool-size")
if ok {
	fmt.Println(port)
}

Lookup, Values, Object, StringValue, Bool, Int y Float permiten consultar valores sin panic.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages