
ocaml.model.mustache Maven / Gradle / Ivy
The newest version!
{{>partial_header}}
{{#models}}
{{#model}}
{{#description}}
* Schema {{{classname}}} : {{{description}}}
*)
{{/description}}
{{^description}}
*)
{{/description}}
{{^isEnum}}
type t = {
{{#vars}}
{{#description}}
(* {{{.}}} *)
{{/description}}
{{#isEnum}}
{{{name}}}: {{^isMap}}Enums.{{/isMap}}{{{datatypeWithEnum}}}
{{^isContainer}}
{{#required}}
{{#defaultValue}}[@default {{{.}}}]{{/defaultValue}}
{{#isNullable}} option [@default
{{#defaultValue}}Some({{{.}}}){{/defaultValue}}
{{^defaultValue}}None{{/defaultValue}}
]
{{/isNullable}}
{{/required}}
{{^required}} option [@default
{{#defaultValue}}Some({{{.}}}){{/defaultValue}}
{{^defaultValue}}None{{/defaultValue}}
]
{{/required}}
{{/isContainer}}; [@key "{{{baseName}}}"]
{{/isEnum}}
{{^isEnum}}
{{{name}}}: {{{datatypeWithEnum}}}
{{^isContainer}}
{{#required}}{{#isNullable}} option{{/isNullable}}{{/required}}
{{^required}} option [@default None]{{/required}}
{{/isContainer}}
{{#isArray}}{{^required}} [@default []]{{/required}}{{/isArray}}
; [@key "{{{baseName}}}"]
{{/isEnum}}
{{/vars}}
} [@@deriving yojson { strict = false }, show ];;
{{#description}}
(** {{{.}}} *)
{{/description}}
let create {{#requiredVars}}({{{name}}} : {{#isEnum}}Enums.{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{#isNullable}} option{{/isNullable}}){{^-last}} {{/-last}}{{/requiredVars}}{{^hasRequired}}(){{/hasRequired}} : t = {
{{#vars}}
{{{name}}} = {{#required}}{{{name}}}{{/required}}{{^required}}{{#isContainer}}[]{{/isContainer}}{{^isContainer}}None{{/isContainer}}{{/required}};
{{/vars}}
}
{{/isEnum}}
{{/model}}
{{/models}}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy