B - Formatting

Raw vs Formatted

Most SDK data has two versions

  1. Raw version, to be used in calculations and interaction with contracts.

  2. Formatted version, to be used on UI to display human friendly data

Values, addresses and dates are formatted automatically. The formatting can also be customized

Value Formatter

service.formatting.setValueFormatter((params) => {
  let result = service.formatting.prebuild.formatValue({ ...params, digits: 4 })
  if (result.endsWith('.0')) {
    result = result.slice(0, -2)
  }
  return result
})

Address Formatter

service.formatting.setAddressFormatter((params) => {
  if (params.service === 'tokens') {
    service.formatting.prebuild.formatAddress({ ...params, icap: true })
    return params.address.toLowerCase()
  }
  return service.formatting.prebuild.formatAddress(params)
})

DateTime Formatter

service.formatting.setDateTimeFormatter((params) => {
  if (params.service === 'fct/active') {
    if (params.name === 'expires_at' || params.name === 'vaild_from') {
      return service.formatting.prebuild.formatDateTime({ ...params, relative: false })
    }
  }
  return service.formatting.prebuild.formatDateTime(params)
})

Last updated