Skip to content

transform

awekrx edited this page May 29, 2026 · 1 revision

transform

Import

import { transform } from '@dev-suite/decorators/transform'

Category

  • property

Use Case

Transform property value on assignment/access.

Replaces

  • Manual normalization in setters
  • Repeated mapper calls in business code

Example 1

Without decorator

class UserProfile {
  private _name = '';

  set name(next: string) {
    this._name = next.trim();
  }
}

With decorator

import { transform } from '@dev-suite/decorators/transform';

class UserProfile {
  @transform(({ value }) => String(value).trim())
  name = '';
}

Why better

  • Centralizes cross-cutting behavior.
  • Method/class/property code stays focused on domain logic.

Example 2

Without decorator

class CurrencyState {
  private _code = 'USD';

  set code(next: string) {
    this._code = next.toUpperCase();
  }
}

With decorator

import { transform } from '@dev-suite/decorators/transform';

class CurrencyState {
  @transform(({ value }) => String(value).toUpperCase())
  code = 'USD';
}

Why better

  • Second scenario reuses same policy without duplication.
  • Behavior is more consistent and easier to audit.

Clone this wiki locally