in schema/v1/outputs.go [40:72]
func (o *Output) compileToProto() (*proto.Spec_Content_Output, error) {
protoOutput := &proto.Spec_Content_Output{}
if o.Type == nil {
return nil, fmt.Errorf("missing output type")
}
switch *o.Type {
case OutputTypeBoolean:
protoOutput.Type = proto.ValueType_boolean
case OutputTypeArray:
protoOutput.Type = proto.ValueType_array
case OutputTypeNumber:
protoOutput.Type = proto.ValueType_number
case OutputTypeString:
protoOutput.Type = proto.ValueType_string
case OutputTypeStruct:
protoOutput.Type = proto.ValueType_struct
default:
return nil, fmt.Errorf("unsupported output type: %v", o.Type)
}
if o.Default != nil {
protoV, err := (&valueCompiler{o.Default}).compile()
if err != nil {
return nil, fmt.Errorf("compiling default %v: %w", o.Default, err)
}
protoOutput.Default = protoV
}
if o.Sensitive != nil && *o.Sensitive {
protoOutput.Sensitive = true
}
return protoOutput, nil
}