Transform

Namespace: Chimayo.Ssis.Ast
Parent Module: Transformation

Provides facilities to deeply transform a package

Functions and values

Function or valueDescription
flatten pkg
Signature: pkg:CftPackage -> AstElement list

Flattens the object graph of a package into a list of AstElement values

getConnectionManagerByName name
Signature: name:String -> AstElement list -> CfConnectionManager

Get a connection manager by name from a flattened package

getExecutableByPath path
Signature: path:string list -> AstElement list -> CftExecutable

Get an executable by path from a flattened package

getPipelineComponentByPath path
Signature: path:string list -> AstElement list -> DfComponent

Get a pipeline component by path from a flattened package

getVariableByPath path
Signature: path:string list -> AstElement list -> CfVariable

Get a variable by path from a flattened package

map mapper pkg
Signature: mapper:(AstElement -> T option) -> pkg:CftPackage -> CftPackage

Performs a deep transformation on a package. The mapper can remove, replace or add elements to the package. Removing elements is achieved by returning a value of None. Values should always be returned of the same element type as the type matched.The mapping is performed hierarchically, with parents being transformed before children. This allows new children to be injected and subsequently transfomed.It is possible to chain transformations as often as desired, however the translation is most efficient when transformations are combined into a single mapper function.