Skip to content

Transforms

Transforms modify taxonomy values when generating event keys.

They are defined in opentp.yaml as named pipelines of steps and referenced in spec.events.key.pattern using {field | transformName}.

opentp.yaml
spec:
transforms:
slug:
- lower
- trim
- replace:
from: " "
to: "_"
- truncate: 160

Each step is either:

  • a string step name (e.g. lower)
  • a single-key object with parameters (e.g. replace: { from: " ", to: "_" })
opentp.yaml
spec:
events:
key:
pattern: "{area | slug}::{event | slug}"
  • lower, upper, trim
  • replace, truncate
  • collapse, keep
  • to-snake-case, to-kebab, to-camel-case, to-underscore
  • transliterate

Load additional transform steps from a directory:

Terminal window
opentp validate --external-transforms ./my-transforms

Example step module:

my-transforms/reverse/index.js
module.exports = {
name: "reverse",
factory: () => (value) => value.split("").reverse().join(""),
};