{{ define "JsBindingsHeader" }}// This file has been generated by beamsplitter #include #include #include using namespace emscripten; using namespace filament; EMSCRIPTEN_BINDINGS(jsbindings_generated) { {{end}} {{define "JsBindingsStruct"}} {{- $struct_name := .QualifiedName }} value_object<{{ cprefix }}{{ $struct_name }}>("{{ jsprefix }}{{ qualifiedtype .QualifiedName }}") {{- range $index, $field := .Fields}} {{- if flag $field "skip_javascript" }} // JavaScript binding for {{$field.Name}} is not yet supported, must use default value. {{- else }} .field("{{ $field.Name }}", &{{ cprefix }}{{ $struct_name }}::{{ $field.Name }}) {{- end }} {{- end }} ; {{end}} {{define "JsBindingsFooter"}} } // EMSCRIPTEN_BINDINGS {{end}} //////////////////////////////////////////////////////////////////////////////////////////////////// {{define "JsEnumsHeader"}}// This file has been generated by beamsplitter #include #include #include using namespace emscripten; using namespace filament; EMSCRIPTEN_BINDINGS(jsenums_generated) { {{end}} {{define "JsEnum"}} {{- $enum_name := .QualifiedName }} enum_<{{ cprefix }}{{ $enum_name }}>("{{ jsprefix }}{{ qualifiedtype .QualifiedName }}") {{- range .Values}} .value("{{ .Name }}", {{ cprefix }}{{ $enum_name }}::{{ .Name }}) {{- end }} ; {{end}} {{define "JsEnumsFooter"}} } // EMSCRIPTEN_BINDINGS {{end}} //////////////////////////////////////////////////////////////////////////////////////////////////// {{define "JsExtensionsHeader"}}// This file has been generated by beamsplitter Filament.loadGeneratedExtensions = function() { {{end}} {{define "JsExtension"}} Filament.{{ classprefix}}set{{ .BaseName }}Defaults = function(overrides) { const options = { {{- range $index, $field := .Fields}} {{- if flag $field "skip_javascript" }} // JavaScript binding for {{$field.Name}} is not yet supported, must use default value. {{- else }} {{$field.Name}}: {{qualifiedvalue $field.DefaultValue}}, {{- end }} {{- end }} }; return Object.assign(options, overrides); }; {{end}} {{define "JsExtensionsFooter"}} }; {{end}} //////////////////////////////////////////////////////////////////////////////////////////////////// {{define "TsStruct"}} {{- $struct_name := .QualifiedName }} {{.Description}}export interface {{ jsprefix }}{{ qualifiedtype .QualifiedName }} { {{- range $index, $field := .Fields}} {{- if flag $field "skip_javascript" }} // JavaScript binding for {{$field.Name}} is not yet supported, must use default value. {{- else }} {{ docblock $field 1 }} {{- $field.Name }}?: {{ tstype $field.TypeString }}; {{- end }} {{- end }} } {{end}} {{define "TsEnum"}} {{.Description}}export enum {{ jsprefix }}{{ qualifiedtype .QualifiedName }} { {{- range .Values}} {{ .Name }},{{if .Description}} // {{.Description}}{{end}} {{- end }} } {{end}}