ObjectStackObjectStack

Mapping

Mapping protocol schemas

Source: packages/spec/src/data/mapping.zod.ts

TypeScript Usage

import { ImportFieldMappingSchema, MappingSchema, TransformType } from '@objectstack/spec/data';
import type { ImportFieldMapping, Mapping, TransformType } from '@objectstack/spec/data';

// Validate data
const result = ImportFieldMappingSchema.parse(data);

ImportFieldMapping

Properties

PropertyTypeRequiredDescription
sourcestring | string[]Source column header(s)
targetstring | string[]Target object field(s)
transformEnum<'none' | 'constant' | 'lookup' | 'split' | 'join' | 'javascript' | 'map'>
params{ value?: any; object?: string; fromField?: string; toField?: string; … }optional

Mapping

Properties

PropertyTypeRequiredDescription
namestringMapping unique name (lowercase snake_case)
labelstringoptional
sourceFormatEnum<'csv' | 'json' | 'xml' | 'sql'>
targetObjectstringTarget Object Name
fieldMapping{ source: string | string[]; target: string | string[]; transform: Enum<'none' | 'constant' | 'lookup' | 'split' | 'join' | 'javascript' | 'map'>; params?: object }[]
modeEnum<'insert' | 'update' | 'upsert'>
upsertKeystring[]optionalFields to match for upsert (e.g. email)
_lockEnum<'none' | 'no-overlay' | 'no-delete' | 'full'>optionalItem-level lock — controls overlay & delete (ADR-0010).
_lockReasonstringoptionalHuman-readable reason shown when a write is refused by _lock.
_lockSourceEnum<'artifact' | 'package' | 'env-forced'>optionalLayer that set _lock (artifact | package | env-forced).
_provenanceEnum<'package' | 'org' | 'env-forced'>optionalOrigin of the item (package | org | env-forced).
_packageIdstringoptionalOwning package machine id.
_packageVersionstringoptionalOwning package version.
_lockDocsUrlstringoptionalOptional documentation link surfaced next to _lockReason.

TransformType

Allowed Values

  • none
  • constant
  • lookup
  • split
  • join
  • javascript
  • map

On this page