Module Kaitai.Print

val scalar : ?anchor:string -> ?tag:string -> ?plain_implicit:bool -> ?quoted_implicit:bool -> ?style:Yaml.scalar_style -> string -> [> `Scalar of Yaml.scalar ]
val sequence : Yaml.yaml list -> [> `A of Yaml.sequence ]
val mapping : (string * Yaml.yaml) list -> [> `O of Yaml.mapping ]
val mapping_flatten : (string * Yaml.yaml) list list -> [> `O of Yaml.mapping ]
val bool : bool -> [> `Scalar of Yaml.scalar ]
val map_list_of_option : ('a -> 'b) -> 'c option -> 'd list
val metaSpec : Types.MetaSpec.t -> [> `O of Yaml.mapping ]
val doc_spec : Types.DocSpec.t -> (string * [> `A of Yaml.sequence | `Scalar of Yaml.scalar ]) list
val instanceSpec : Types.InstanceSpec.t -> [> `O of Yaml.mapping ]
val instances_spec : (string * Types.InstanceSpec.t) list -> [> `O of Yaml.mapping ]
val enumSpec : Types.EnumSpec.t -> [> `O of Yaml.mapping ]
val enums_spec : (string * Types.EnumSpec.t) list -> [> `O of Yaml.mapping ]
val type_spec : Types.AttrSpec.t -> (string * [> `Scalar of Yaml.scalar ]) list

We only add "type" to Yaml if not AnyType.

val repeat_spec : Types.RepeatSpec.t -> (string * [> `Scalar of Yaml.scalar ]) list
val if_spec : Types.Ast.t option -> (string * [> `Scalar of Yaml.scalar ]) list
val valid_spec : Types.ValidationSpec.t option -> (string * [> `O of Yaml.mapping ]) list
val enum_spec : Types.AttrSpec.t -> (string * [> `Scalar of Yaml.scalar ]) list
val size_spec : Types.AttrSpec.t -> (string * [> `Scalar of Yaml.scalar ]) list
val attr_spec : Types.AttrSpec.t -> [> `O of Yaml.mapping ] list
val seq_spec : Types.AttrSpec.t list -> [> `A of Yaml.sequence ]
val spec_if_non_empty : 'a -> 'b list -> ('b list -> 'c) -> ('d * 'e) list
val id_only_meta : Types.MetaSpec.t -> bool
val to_yaml : toplevel:bool -> Types.ClassSpec.t -> Yaml.yaml
val types_spec : (string * Types.ClassSpec.t) list -> Yaml.yaml
val to_string : Types.ClassSpec.t -> string
val print_diff : string -> Types.ClassSpec.t -> Types.ClassSpec.t -> unit
val print : Types.ClassSpec.t -> string