Skip to content

JsonSerializer

Defined in: src/serialization/JsonSerializer.ts:11

JSON serializer — the default fallback. Handles plain objects, arrays, strings, numbers, booleans, null, and — via pre/post-walking the tree before JSON.stringifyDate, Uint8Array, Map, Set, and bigint. Class identity for custom user types is NOT preserved; the decoded value is a plain object. Callers that need stronger typing should register a custom serializer via SerializationExtension.

new JsonSerializer(): JsonSerializer

JsonSerializer

readonly id: 1 = 1

Defined in: src/serialization/JsonSerializer.ts:12

Stable identifier that is embedded in every frame. Numbers 1..99 are reserved for the actor-ts built-ins (JSON=1, CBOR=2). User-defined serializers SHOULD use IDs ≥ 100.

Serializer.id


readonly includesManifest: false = false

Defined in: src/serialization/JsonSerializer.ts:14

True when this serializer is willing to encode the given value.

Serializer.includesManifest


readonly name: "json" = 'json'

Defined in: src/serialization/JsonSerializer.ts:13

Human-readable name, surfaced in diagnostics.

Serializer.name

fromBinary(bytes, _manifest): unknown

Defined in: src/serialization/JsonSerializer.ts:30

Decode from binary. manifest is whatever was produced on the other side (or ” when the serializer does not use one).

Uint8Array

string

unknown

Serializer.fromBinary


manifest(_obj): string

Defined in: src/serialization/JsonSerializer.ts:16

Return a tag describing the concrete type of obj so the decoder knows how to reconstruct it. Typical values: class name, event ID, “map”, “null”, etc. May return an empty string for serializers that don’t need a manifest.

unknown

string

Serializer.manifest


toBinary(obj): Uint8Array

Defined in: src/serialization/JsonSerializer.ts:18

Encode to binary.

unknown

Uint8Array

Serializer.toBinary