Skip to content

Source mapping

A Source mapping translates one Source's records into the Startup's Nouns, field by field.

PropertyValue
Pathmappings/[source].ts
HoldsSource
Kindfile
Leadersdb-first, git-first
TeamEngineering Team
Written byChange.merge
Compiled bySoftwareBuilder

Example

mappings/bank-statement.ts in a Startup repository.

mappings/bank-statement.ts
import { mapping } from 'startup-builder'

export default mapping({
  from: 'csv',
  to: 'Transaction',
  fields: {
    occurredAt: 'Date',
    description: 'Description',
    amount: (row) => ({ amount: Number(row['Amount']), currency: 'USD' }),
  },
})

Exports

ExportKindType
defaultdefaultMapping

Signature

TypeScript
mapping(definition: { from: string; to: string; fields: Record<string, string | ((row: Row) => unknown)> }): Mapping

Generates

SoftwareBuilder compiles it into these records, Verbs and routes.

KindWhat
RecordsMapping, Source
VerbsNone.
RoutesNone.