go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/nodes/pkg/model/gen/cutoff_expression.go (about)

     1  // File generated by nodegen. DO NOT EDIT.
     2  package gen
     3  
     4  import (
     5  	"fmt"
     6  	"time"
     7  
     8  	"github.com/wcharczuk/go-incr"
     9  	"go.charczuk.com/projects/nodes/pkg/funcs"
    10  	"go.charczuk.com/projects/nodes/pkg/incrutil"
    11  	"go.charczuk.com/projects/nodes/pkg/types"
    12  )
    13  
    14  func CutoffExpressionForNode(graph *incr.Graph, n *types.Node) (output incr.INode, err error) {
    15  	switch n.Metadata.InputType {
    16  	case "[]bool":
    17  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[[]bool](n.Metadata.Expression))
    18  		return
    19  	case "[]float64":
    20  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[[]float64](n.Metadata.Expression))
    21  		return
    22  	case "[]int64":
    23  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[[]int64](n.Metadata.Expression))
    24  		return
    25  	case "[]string":
    26  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[[]string](n.Metadata.Expression))
    27  		return
    28  	case "[]duration":
    29  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[[]time.Duration](n.Metadata.Expression))
    30  		return
    31  	case "[]timestamp":
    32  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[[]time.Time](n.Metadata.Expression))
    33  		return
    34  	case "bool":
    35  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[bool](n.Metadata.Expression))
    36  		return
    37  	case "float64":
    38  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[float64](n.Metadata.Expression))
    39  		return
    40  	case "int64":
    41  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[int64](n.Metadata.Expression))
    42  		return
    43  	case "string":
    44  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[string](n.Metadata.Expression))
    45  		return
    46  	case "duration":
    47  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[time.Duration](n.Metadata.Expression))
    48  		return
    49  	case "timestamp":
    50  		output = incrutil.CutoffContext(graph, funcs.CutoffExpression[time.Time](n.Metadata.Expression))
    51  		return
    52  	default:
    53  		err = fmt.Errorf("invalid cutoffexpression input type %v", n.Metadata.InputType)
    54  		return
    55  	}
    56  }