cymbal

Build YAML in Gleam!

Package Version Hex Docs

gleam add cymbal
import cymbal.{block, array, string, int}

pub fn main() {
 let document = 
   block([
     #("apiVersion", string("v1")),
     #("kind", string("Pod")),
     #("metadata", block([#("name", string("example-pod"))])),
     #(
       "spec",
       block([
         #(
           "containers",
           array([
             block([
               #("name", string("example-container")),
               #("image", string("nginx")),
               #("ports", array([block([#("containerPort", int(80))])])),
             ]),
           ]),
         ),
       ]),
     ),
   ])

 cymbal.encode(document)
 // ---
 // apiVersion: v1
 // kind: Pod
 // metadata:
 //   name: example-pod
 // spec:
 //   containers:
 //   - name: example-container
 //     image: nginx
 //     ports:
 //     - containerPort: 80
 )
}

Further documentation can be found at https://hexdocs.pm/cymbal.

Development

gleam run   # Run the project
gleam test  # Run the tests
gleam shell # Run an Erlang shell
Search Document