Ivandt logo

Transformers

Complete reference for all built-in transformers

Ivandt provides 25 built-in transformers for comprehensive data transformation.

Quick reference

TransformerPurposeExample
trimWhitespaceRemove leading/trailing spaces" hello " → "hello"
toUpperCaseConvert to uppercase"hello" → "HELLO"
toLowerCaseConvert to lowercase"HELLO" → "hello"
titleCaseTextCapitalize words"hello world" → "Hello World"
padStringPad string to length"42" → "00042"
truncateTextLimit text length"Hello World!" → "Hello Worl..."
stripHtmlTagsRemove HTML tags"<p>Hello</p>" → "Hello"
regexReplacePattern-based replace"abc123" → "abcXXX"
cleanNumbersParse and clean numbers"$1,234.56" → 1234.56
roundNumbersRound to decimals3.14159 → 3.14
scaleNumbersMultiply by factor0.5 → 50 (×100)
clampRangeLimit to min/max150 → 100 (max: 100)
normalizeZScoreZ-score normalization[1, 3] → [-1, 1]
formatDatesParse and format dates"12/31/2024" → "2024-12-31"
fillWithTimestampFill empty with datenull → "2025-01-15"
formatBooleansConvert to true/false"yes" → true
formatEmailsClean email addresses"JOHN@EXAMPLE.COM" → "john@example.com"
formatPhoneNumbersFormat phone numbers"4139009670" → "+1 413 900 9670"
normalizeUrlsStandardize URLs"example.com" → "https://example.com"
mapCountryNamesConvert country codes"US" → "United States"
combineColumnsMerge multiple fieldsfirstName + lastName → "John Doe"
defaultValueFill empty cellsnull → "N/A"
autoIncrementIdsGenerate sequential IDsnull → 1, 2, 3...
generateUUIDGenerate UUIDsnull → "550e8400-e29b..."
fuzzyFixFix typos via fuzzy match"Unted States" → "United States"
mapToEnumMap to enum values"yes" → "true"

How transformers work

Transformers modify cell values during data import. They run automatically based on configured triggers:

  • On load: When data is first imported
  • On cell change: When a user edits a cell
  • On error: After validation errors are detected

Basic usage

Add transformers to any field in your schema:

{
  key: 'email',
  label: 'Email address',
  type: 'text',
  transformers: [
    {
      action: 'trimWhitespace'
    },
    {
      action: 'toLowerCase'
    }
  ]
}

Transformers with configuration

Some transformers require a payload for configuration:

{
  key: 'price',
  label: 'Price',
  type: 'numeric',
  transformers: [
    {
      action: 'cleanNumbers',
      payload: {
        dropNonNumbers: true,
        options: {
          allowCurrency: true,
          decimalHandling: 'round',
          decimalPlaces: 2
        }
      }
    }
  ]
}

Execution order

When multiple transformers are applied to a field, they execute in the order they appear in the array. See Execution order for details.