Skip to content

Converter reference

Append

Append a fixed suffix to an input string.

Why: Use Append when a constant suffix must be added without changing the original value body.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="Append(append_char='_ARCHIVED')"/>

Parameters

  • append_char: str; Default required β€” Constant suffix appended after the complete input string.

CutLength

Keep at most the specified number of leading characters of a string.

Why: Use CutLength to enforce a maximum string length while retaining the leading characters.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="CutLength(length_to_cut=8)"/>

Parameters

  • length_to_cut: int; Default required β€” Maximum number of leading characters retained.

Date2Timestamp

Convert datetime data to a Unix timestamp.

Why: Use Date2Timestamp when an integration contract expects Unix epoch seconds instead of a datetime; use DateFormat when the target expects a formatted date string.

Category: core.

Output: int.

1
<key name="value" constant="sample" converter="Date2Timestamp()"/>

DateFormat

Format datetime values as strings.

Why: Use DateFormat when a datetime must be rendered in one explicit downstream string format.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="DateFormat(format_str='%Y-%m-%d')"/>

Parameters

  • format_str: str; Default required β€” Python strftime pattern used to render the input datetime.

Hash

Pseudonymize a string value into a stable hash, keyed by <setup rngSeed>.

Why: Use Hash for stable pseudonymization when equality must remain comparable without exposing the source value.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="Hash(hash_type='sha256', output_format='hex')"/>

Parameters

  • hash_type: str; Default required β€” Supported digest algorithm used for the pseudonym.
  • output_format: str; Default required β€” Encoding of the digest: hexadecimal or Base64.

JavaHash

Replicate the Java Hash function

Why: Use JavaHash only when a downstream compatibility test must reproduce Java String.hashCode semantics; use Hash for cryptographic pseudonymization.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="JavaHash()"/>

LowerCase

Convert string data to lower case.

Why: Use LowerCase to canonicalize case-insensitive keys, email addresses, or comparison fixtures; do not use it where original casing carries business meaning.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="LowerCase()"/>

Mask

Replace every input character with one configured mask character.

Why: Use Mask when the complete source value must be hidden while its length remains observable; use MiddleMask when operators still need recognisable leading or trailing characters.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="Mask(mask_char='*')"/>

Parameters

  • mask_char: str; Default * β€” Single character repeated once for every input character.

MiddleMask

Mask characters in the middle of a string while preserving configured edges.

Why: Use MiddleMask to hide the sensitive middle of a string while retaining recognizable edge characters.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="MiddleMask(start_mask_index=2, end_mask_offset=3)"/>

Parameters

  • start_mask_index: int; Default required β€” Zero-based index at which masking begins.
  • end_mask_offset: int; Default required β€” Number of trailing characters left visible.
  • mask_char: str; Default * β€” Single character used to replace every hidden character.

NumericBand

Mask a number with a uniformly random value from its own fixed-width band.

Why: Use NumericBand to de-identify numbers while preserving their configured analytical band.

Category: core.

Output: int.

1
<key name="value" constant="sample" converter="NumericBand(width=10)"/>

Parameters

  • width: int; Default required β€” Positive size of each numeric band.

ProjectFields

Keep exactly the declared mapping fields in caller-provided order.

Why: Use ProjectFields when a source-backed product must emit an explicit narrow row shape instead of passing through unrelated source fields.

Category: core.

Output: dict[str, object].

1
<key name="value" constant="sample" converter="ProjectFields('id', 'status')"/>

RemoveNoneOrEmptyElement

Remove None and empty elements recursively from nested data structures.

Why: Use RemoveNoneOrEmptyElement before JSON-like export when absent nested values should be omitted, not serialized; do not use it when empty and missing have distinct target semantics.

Category: core.

Output: T (input type preserved; empty nested collection members removed).

1
<key name="value" constant="sample" converter="RemoveNoneOrEmptyElement()"/>

Substring

Extract a substring with Python slice semantics, including negative bounds.

Why: Use Substring to extract a deterministic slice such as the visible tail of an identifier.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="Substring(start=-4)"/>

Parameters

  • start: int; Default required β€” Python-style inclusive start index; negative values count from the end.
  • end: int | null; Default None β€” Optional Python-style exclusive end index.

Timestamp2Date

Convert a Unix timestamp into a datetime.

Why: Use Timestamp2Date when a numeric Unix timestamp must become a datetime for later formatting or export; keep the numeric value when the target contract is epoch-based.

Category: core.

Output: datetime.

1
<key name="value" constant="sample" converter="Timestamp2Date()"/>

UpperCase

Convert string data to upper case.

Why: Use UpperCase for canonical codes and target contracts that require uppercase text; do not use it where original casing carries business meaning.

Category: core.

Output: str.

1
<key name="value" constant="sample" converter="UpperCase()"/>