Documentation
¶
Index ¶
- Variables
- func FindDynamicValue[T any](param *DynamicParameter, dynamicValues map[string]any, defaultValue T) (T, error)
- func FindParameter[T any](params ParameterValues, name string) (T, bool, error)
- func FindParameterArray[T any](params ParameterValues, name string) ([]T, bool, error)
- func FindParameterWithDefault[T any](params ParameterValues, name string, defaultValue T) (T, error)
- func ParseDynamicParameters(params ParameterValues) (map[string]*DynamicParameter, error)
- func ValidateParameters(provided map[string]any, expected []string) error
- type Config
- type Definition
- type DynamicParameter
- type JSONTransformer
- type LiteralStringTransformer
- type MaskingTransformer
- type Parameter
- type ParameterValues
- type PhoneNumberTransformer
- type StringTransformer
- type SupportedDataType
- type TemplateTransformer
- type Transformer
- type TransformerType
- type Value
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUnsupportedValueType = errors.New("unsupported value type for transformer") ErrUnsupportedGenerator = errors.New("transformer doesn't support the configured generator") ErrUnsupportedTransformer = errors.New("unsupported transformer config") ErrInvalidParameters = errors.New("invalid transformer parameters") ErrInvalidDynamicParameters = errors.New("invalid transformer dynamic parameters") ErrUnknownParameter = errors.New("unknown parameter provided to transformer") )
Functions ¶
func FindDynamicValue ¶ added in v0.5.0
func FindDynamicValue[T any](param *DynamicParameter, dynamicValues map[string]any, defaultValue T) (T, error)
func FindParameter ¶
func FindParameter[T any](params ParameterValues, name string) (T, bool, error)
func FindParameterArray ¶ added in v0.4.1
func FindParameterArray[T any](params ParameterValues, name string) ([]T, bool, error)
func FindParameterWithDefault ¶ added in v0.5.0
func FindParameterWithDefault[T any](params ParameterValues, name string, defaultValue T) (T, error)
func ParseDynamicParameters ¶ added in v0.5.0
func ParseDynamicParameters(params ParameterValues) (map[string]*DynamicParameter, error)
Types ¶
type Config ¶
type Config struct {
Name TransformerType
Parameters ParameterValues
DynamicParameters ParameterValues
}
type Definition ¶ added in v0.6.0
type Definition struct {
SupportedTypes []SupportedDataType
Parameters []Parameter
}
func JSONTransformerDefinition ¶ added in v0.6.5
func JSONTransformerDefinition() *Definition
func LiteralStringTransformerDefinition ¶ added in v0.6.0
func LiteralStringTransformerDefinition() *Definition
func MaskingTransformerDefinition ¶ added in v0.6.0
func MaskingTransformerDefinition() *Definition
func PhoneNumberTransformerDefinition ¶ added in v0.6.0
func PhoneNumberTransformerDefinition() *Definition
func StringTransformerDefinition ¶ added in v0.6.0
func StringTransformerDefinition() *Definition
func TemplateTransformerDefinition ¶ added in v0.6.0
func TemplateTransformerDefinition() *Definition
type DynamicParameter ¶ added in v0.5.0
type DynamicParameter struct {
Column string
}
type JSONTransformer ¶ added in v0.6.5
type JSONTransformer struct {
// contains filtered or unexported fields
}
func NewJSONTransformer ¶ added in v0.6.5
func NewJSONTransformer(params ParameterValues) (*JSONTransformer, error)
func (*JSONTransformer) CompatibleTypes ¶ added in v0.6.5
func (jt *JSONTransformer) CompatibleTypes() []SupportedDataType
func (*JSONTransformer) Type ¶ added in v0.6.5
func (jt *JSONTransformer) Type() TransformerType
type LiteralStringTransformer ¶ added in v0.5.0
type LiteralStringTransformer struct {
// contains filtered or unexported fields
}
func NewLiteralStringTransformer ¶ added in v0.5.0
func NewLiteralStringTransformer(params ParameterValues) (*LiteralStringTransformer, error)
func (*LiteralStringTransformer) CompatibleTypes ¶ added in v0.5.0
func (lst *LiteralStringTransformer) CompatibleTypes() []SupportedDataType
func (*LiteralStringTransformer) Type ¶ added in v0.6.0
func (lst *LiteralStringTransformer) Type() TransformerType
type MaskingTransformer ¶ added in v0.5.0
type MaskingTransformer struct {
// contains filtered or unexported fields
}
MaskingTransformer is a transformer that masks sensitive data using the Masker library.
func NewMaskingTransformer ¶ added in v0.5.0
func NewMaskingTransformer(params ParameterValues) (*MaskingTransformer, error)
NewMaskingTransformer creates a new MaskingTransformer with the given masking function.
func (*MaskingTransformer) CompatibleTypes ¶ added in v0.5.0
func (t *MaskingTransformer) CompatibleTypes() []SupportedDataType
func (*MaskingTransformer) Transform ¶ added in v0.5.0
Transform applies the masking function to the input value and returns the masked value.
func (*MaskingTransformer) Type ¶ added in v0.6.0
func (t *MaskingTransformer) Type() TransformerType
type ParameterValues ¶ added in v0.6.0
type PhoneNumberTransformer ¶ added in v0.5.0
type PhoneNumberTransformer struct {
// contains filtered or unexported fields
}
func NewPhoneNumberTransformer ¶ added in v0.5.0
func NewPhoneNumberTransformer(params, dynamicParams ParameterValues) (*PhoneNumberTransformer, error)
func (*PhoneNumberTransformer) CompatibleTypes ¶ added in v0.5.0
func (t *PhoneNumberTransformer) CompatibleTypes() []SupportedDataType
func (*PhoneNumberTransformer) Type ¶ added in v0.6.0
func (t *PhoneNumberTransformer) Type() TransformerType
type StringTransformer ¶
type StringTransformer struct {
}
func NewStringTransformer ¶
func NewStringTransformer(params ParameterValues) (*StringTransformer, error)
func (*StringTransformer) CompatibleTypes ¶ added in v0.5.0
func (st *StringTransformer) CompatibleTypes() []SupportedDataType
func (*StringTransformer) Type ¶ added in v0.6.0
func (st *StringTransformer) Type() TransformerType
type SupportedDataType ¶ added in v0.5.0
type SupportedDataType string
const ( ByteArrayDataType SupportedDataType = "byte_array" StringDataType SupportedDataType = "string" BooleanDataType SupportedDataType = "boolean" Integer8DataType SupportedDataType = "integer8" UInteger8DataType SupportedDataType = "uinteger8" Integer16DataType SupportedDataType = "integer16" UInteger16DataType SupportedDataType = "uinteger16" Integer32DataType SupportedDataType = "integer32" UInteger32DataType SupportedDataType = "uinteger32" Integer64DataType SupportedDataType = "integer64" UInteger64DataType SupportedDataType = "uinteger64" Float32DataType SupportedDataType = "float32" Float64DataType SupportedDataType = "float64" UUIDDataType SupportedDataType = "uuid" UInt8ArrayOf16DataType SupportedDataType = "uint8_array_of_16" DateDataType SupportedDataType = "date" DatetimeDataType SupportedDataType = "datetime" JSONDataType SupportedDataType = "json" AllDataTypes SupportedDataType = "all" )
type TemplateTransformer ¶ added in v0.6.0
type TemplateTransformer struct {
// contains filtered or unexported fields
}
func NewTemplateTransformer ¶ added in v0.6.0
func NewTemplateTransformer(params ParameterValues) (*TemplateTransformer, error)
func (*TemplateTransformer) CompatibleTypes ¶ added in v0.6.0
func (t *TemplateTransformer) CompatibleTypes() []SupportedDataType
func (*TemplateTransformer) Type ¶ added in v0.6.0
func (t *TemplateTransformer) Type() TransformerType
type Transformer ¶
type Transformer interface {
Transform(context.Context, Value) (any, error)
CompatibleTypes() []SupportedDataType
Type() TransformerType
}
type TransformerType ¶
type TransformerType string
const ( String TransformerType = "string" LiteralString TransformerType = "literal_string" PhoneNumber TransformerType = "phone_number" NeosyncString TransformerType = "neosync_string" GreenmaskString TransformerType = "greenmask_string" NeosyncFirstName TransformerType = "neosync_firstname" GreenmaskFirstName TransformerType = "greenmask_firstname" NeosyncLastName TransformerType = "neosync_lastname" NeosyncFullName TransformerType = "neosync_fullname" NeosyncEmail TransformerType = "neosync_email" GreenmaskInteger TransformerType = "greenmask_integer" GreenmaskFloat TransformerType = "greenmask_float" GreenmaskUUID TransformerType = "greenmask_uuid" GreenmaskBoolean TransformerType = "greenmask_boolean" GreenmaskChoice TransformerType = "greenmask_choice" GreenmaskUnixTimestamp TransformerType = "greenmask_unix_timestamp" GreenmaskDate TransformerType = "greenmask_date" GreenmaskUTCTimestamp TransformerType = "greenmask_utc_timestamp" Masking TransformerType = "masking" Template TransformerType = "template" JSON TransformerType = "json" )
Source Files
¶
Click to show internal directories.
Click to hide internal directories.