INNER CODE UNIT · TypeScript

accessorExpression

f5/unovis · packages/mcp/src/codegen/index.ts:88

function accessorExpression (ref: AccessorRef, emit: Emit): string {
  if ('$field' in ref) {
    const access = `d.${/^[A-Za-z_$][\w$]*$/.test(ref.$field) ? ref.$field : `['${ref.$field}']`}`
    if (ref.as === 'date') return `d => new Date(${access}).getTime()`
    return `d => ${access}`
  }
  if ('$index' in ref) return '(d, i) => i'
  if ('$const' in ref) return `() => ${json(ref.$const)}`
  if ('$numTickFormat' in ref) {
    addHelper(emit, "const formatNumber = (value: number | Date): string =>\n  Number(value).toLocaleString('en-US', { maximumFractionDigits: 6 })")
    return 'formatNumber'
  }
  if ('$dateTickFormat' in ref) {
    addHelper(emit, "const formatDate = (value: number | Date): string =>\n  new Date(Number(value)).toLocaleDateString('en-US', { month: 'short', day: 'numeric', timeZone: 'UTC' })")
    return 'formatDate'
  }
  if ('$lookup' in ref) {
    addHelper(emit, `const categories = ${json(ref.$lookup)}`)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…