BoxLang 🚀 A New JVM Dynamic Language Learn More...

cbyaml

v1.0.5 Modules

cbyaml

Master Branch Build Status

Provides easy serialization and deserialization of yaml files

Parser component

There is only one component provided by cbyaml, the Parser component. You can inject it using the Parser@cbyaml mapping.

There are four methods on the Parser:

function serialize( required any content );
function serializeToFile( required any content, required string path );
function deserialize( required string content );
function deserializeFile( required string path );

CAUTION: When serializing content to yaml, the key order will not be preserved unless you are using an ordered struct, a LinkedHashMap, or a similar data structure.

Application Helpers

Application helpers are automatically registered to be used in your handlers and views.

function serializeYaml( required any content );
function deserializeYaml( required string content );

These call the parser.serialize and parser.deserialize methods under the hood.

You can disable this by setting settings.autoLoadHelpers = false.

Mixins

You can also use the serializeYaml and deserializeYaml helpers in any model by utilizing WireBox's mixins.

component mixins="/cbyaml/helpers" {

    function parse( required string content ) {
        return deserializeYaml( arguments.content );
    }

    function stringify( required any content ) {
        return serializeYaml( arguments.content );
    }

}

v1.0.5

22 Apr 2022 — 21:09: 19 UTC

other

  • *: Convert to GitHub Actions (#4) (9af7de1)

v1.0.4

20 Feb 2020 — 18:11: 12 UTC

fix

  • ModuleConfig: Update to be ColdBox Controller aware (dbf9557)

v1.0.3

13 Feb 2020 — 16:22: 24 UTC

other

  • *: chore: Store binaries on ForgeBox storage (60b610f)

v1.0.2

20 Dec 2019 — 05:26: 04 UTC

other

  • *: fix: Only cast true and false as booleans (2b61851)

v1.0.1

24 Sep 2019 — 04:36: 33 UTC

chore

  • build: Fix package scripts for semantic-release (e869857)

other

$ box install cbyaml

     
  • {{ getFullDate("2019-09-23T23:29:42Z") }}
  • {{ getFullDate("2022-04-22T21:09:21Z") }}
  • 3,647
  • 43,076