mirror of
https://github.com/navidrome/navidrome.git
synced 2026-04-03 06:41:01 +00:00
138 lines
3.4 KiB
Cheetah
138 lines
3.4 KiB
Cheetah
// Code generated by ndpgen. DO NOT EDIT.
|
|
//
|
|
// This file provides stub implementations for non-WASM platforms.
|
|
// It allows Go plugins to compile and run tests outside of WASM,
|
|
// but the actual functionality is only available in WASM builds.
|
|
//
|
|
//go:build !wasip1
|
|
|
|
package {{.Package}}
|
|
|
|
{{- /* Generate type alias definitions */ -}}
|
|
{{- range .Capability.TypeAliases}}
|
|
|
|
{{- if .Doc}}
|
|
{{formatDoc .Doc}}
|
|
{{- end}}
|
|
type {{.Name}} {{.Type}}
|
|
{{- end}}
|
|
|
|
{{- /* Generate const definitions */ -}}
|
|
{{- range .Capability.Consts}}
|
|
{{- if .Values}}
|
|
|
|
const (
|
|
{{- $type := .Type}}
|
|
{{- range $i, $v := .Values}}
|
|
{{- if $v.Doc}}
|
|
{{formatDoc $v.Doc | indent 1}}
|
|
{{- end}}
|
|
{{- if $type}}
|
|
{{$v.Name}} {{$type}} = {{$v.Value}}
|
|
{{- else}}
|
|
{{$v.Name}} = {{$v.Value}}
|
|
{{- end}}
|
|
{{- end}}
|
|
)
|
|
{{- end}}
|
|
{{- end}}
|
|
|
|
{{- /* Generate Error() methods for string type aliases with const values (implements error interface) */ -}}
|
|
{{- $consts := .Capability.Consts}}
|
|
{{- range .Capability.TypeAliases}}
|
|
{{- if eq .Type "string"}}
|
|
{{- $typeName := .Name}}
|
|
{{- range $consts}}
|
|
{{- if eq .Type $typeName}}
|
|
|
|
// Error implements the error interface for {{$typeName}}.
|
|
func (e {{$typeName}}) Error() string { return string(e) }
|
|
{{- end}}
|
|
{{- end}}
|
|
{{- end}}
|
|
{{- end}}
|
|
|
|
{{- /* Generate struct definitions */ -}}
|
|
{{- $capability := .Capability}}
|
|
{{- range .Capability.Structs}}
|
|
|
|
{{- if .Doc}}
|
|
{{formatDoc .Doc}}
|
|
{{- else}}
|
|
// {{.Name}} represents the {{.Name}} data structure.
|
|
{{- end}}
|
|
type {{.Name}} struct {
|
|
{{- range .Fields}}
|
|
{{- if .Doc}}
|
|
{{formatDoc .Doc | indent 1}}
|
|
{{- end}}
|
|
{{- if and (eq .Type "[]byte") $capability.HasRawMethods}}
|
|
{{.Name}} {{.Type}} `json:"-"`
|
|
{{- else}}
|
|
{{.Name}} {{.Type}} `json:"{{.JSONTag}}{{if .OmitEmpty}},omitempty{{end}}"`
|
|
{{- end}}
|
|
{{- end}}
|
|
}
|
|
{{- end}}
|
|
|
|
{{- /* Generate main interface based on required flag */ -}}
|
|
{{if .Capability.Required}}
|
|
|
|
// {{agentName .Capability}} requires all methods to be implemented.
|
|
{{- if .Capability.Doc}}
|
|
{{formatDoc .Capability.Doc}}
|
|
{{- end}}
|
|
type {{agentName .Capability}} interface {
|
|
{{- range .Capability.Methods}}
|
|
// {{.Name}}{{if .Doc}} - {{.Doc}}{{end}}
|
|
{{- if and .HasInput .HasOutput}}
|
|
{{.Name}}({{.Input.Type}}) ({{.Output.Type}}, error)
|
|
{{- else if .HasInput}}
|
|
{{.Name}}({{.Input.Type}}) error
|
|
{{- else if .HasOutput}}
|
|
{{.Name}}() ({{.Output.Type}}, error)
|
|
{{- else}}
|
|
{{.Name}}() error
|
|
{{- end}}
|
|
{{- end}}
|
|
}
|
|
{{- else}}
|
|
|
|
// {{agentName .Capability}} is the marker interface for {{.Package}} plugins.
|
|
// Implement one or more of the provider interfaces below.
|
|
{{- if .Capability.Doc}}
|
|
{{formatDoc .Capability.Doc}}
|
|
{{- end}}
|
|
type {{agentName .Capability}} interface{}
|
|
{{- end}}
|
|
|
|
{{- /* Generate optional provider interfaces for non-required capabilities */ -}}
|
|
{{- if not .Capability.Required}}
|
|
{{- range .Capability.Methods}}
|
|
|
|
// {{providerInterface .}} provides the {{.Name}} function.
|
|
type {{providerInterface .}} interface {
|
|
{{- if and .HasInput .HasOutput}}
|
|
{{.Name}}({{.Input.Type}}) ({{.Output.Type}}, error)
|
|
{{- else if .HasInput}}
|
|
{{.Name}}({{.Input.Type}}) error
|
|
{{- else if .HasOutput}}
|
|
{{.Name}}() ({{.Output.Type}}, error)
|
|
{{- else}}
|
|
{{.Name}}() error
|
|
{{- end}}
|
|
}
|
|
{{- end}}
|
|
{{- end}}
|
|
|
|
// NotImplementedCode is the standard return code for unimplemented functions.
|
|
const NotImplementedCode int32 = -2
|
|
|
|
// Register is a no-op on non-WASM platforms.
|
|
// This stub allows code to compile outside of WASM.
|
|
{{- if .Capability.Required}}
|
|
func Register(_ {{agentName .Capability}}) {}
|
|
{{- else}}
|
|
func Register(_ {{agentName .Capability}}) {}
|
|
{{- end}}
|