Skip to main content

Function: preprocess()

preprocess(data, options?): LmzIntermediate

Defined in: preprocess.ts:98

Preprocesses complex values to a format that can be stringified to JSON

Converts complex JavaScript values (including cycles/aliases) to an intermediate format (LmzIntermediate) that can be:

  • Stringified via JSON.stringify() for transport over the wire
  • Sent over MessagePort/BroadcastChannel (supports objects but not all Web API types)
  • Stored in IndexedDB or other object-based storage
  • Inspected or manipulated before stringification

Primitives are encoded inline as tuples: ["string", "hello"], ["number", 42] Complex objects are stored in the objects array and referenced by index: ["$lmz", 0]

Preserves cycles and aliases by tracking seen objects with WeakMap.

Parameters

data

any

Value to preprocess

options?

PreprocessOptions

Optional preprocessing options including custom transform hooks

Returns

LmzIntermediate

Intermediate format with root value and objects array