github.com/selefra/selefra-provider-sdk@v0.0.23/provider/transformer/column_value_extractor/examples/column_value_extractor_wrapper/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"github.com/selefra/selefra-provider-sdk/provider/schema"
     6  	"github.com/selefra/selefra-provider-sdk/provider/transformer/column_value_extractor"
     7  )
     8  
     9  type RawResult struct {
    10  	N int
    11  }
    12  
    13  func main() {
    14  	exampleTable := &schema.Table{
    15  		TableName: "example_table",
    16  		Columns: []*schema.Column{
    17  			{
    18  				ColumnName: "n_plus",
    19  				Type:       schema.ColumnTypeInt,
    20  				Extractor: column_value_extractor.WrapperExtractFunction(func(ctx context.Context, clientMeta *schema.ClientMeta, client any, task *schema.DataSourcePullTask, row *schema.Row, column *schema.Column, result any) (any, *schema.Diagnostics) {
    21  					r := result.(*RawResult)
    22  					return r.N + 1, nil
    23  				}),
    24  			},
    25  		},
    26  	}
    27  	_ = exampleTable
    28  }