github.com/Jeffail/benthos/v3@v3.65.0/public/bloblang/environment_unwrapper.go (about)

     1  package bloblang
     2  
     3  import (
     4  	"github.com/Jeffail/benthos/v3/internal/bloblang"
     5  )
     6  
     7  type environmentUnwrapper struct {
     8  	child *bloblang.Environment
     9  }
    10  
    11  func (e environmentUnwrapper) Unwrap() *bloblang.Environment {
    12  	return e.child
    13  }
    14  
    15  // XUnwrapper is for internal use only, do not use this.
    16  func (e *Environment) XUnwrapper() interface{} {
    17  	return environmentUnwrapper{child: e.env}
    18  }
    19  
    20  // XWrapEnvironment is for internal use only, do not use this.
    21  func XWrapEnvironment(v interface{}) *Environment {
    22  	if bEnv, ok := v.(*bloblang.Environment); ok {
    23  		return &Environment{env: bEnv}
    24  	}
    25  	return NewEnvironment()
    26  }