openfga-dsl-parser 1.0.0

Parsing and JSON transformer for the OpenFGA authorization DSL
Documentation
  • Coverage
  • 3.85%
    2 out of 52 items documented1 out of 18 items with examples
  • Size
  • Source code size: 49.88 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.08 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 20s Average build duration of successful builds.
  • all releases: 20s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • maxmindlin/openfga-dsl-parser
    8 0 2
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • maxmindlin

OpenFGA DSL Parser

The OpenFGA DSL Parser provides utilities for parsing DSL file string inputs into an AST representation, as well as transforming them into a JSON representation.

This library is meant to be a utility for services using OpenFGA for their authorization solution, but need a way to translate from their DSL to the JSON format the HTTP API expects. A Typescript library is available that does something similar, however this library aims to target Rust as well as be a base for other potential languages to bind to.

Usage

use openfga_dsl_parser::{json, Parser};

let input = "type group
  relations
    define member as self
type resource
  relations
    define writer as self
    define reader as self but not writer";

let mut parser = Parser::new(input);
let doc = parser.parse_document()?;

let json = json::JsonTransformer::new(&doc).serialize();