Serializer
[<Interface>]
type Serializer =
static member Create (writeHeader: unit -> unit, writeValue: obj -> bool, releaseBuffer: unit -> NonSharedBuffer, transferArrayBuffer: Action<float,ArrayBuffer>, writeUint32: float -> unit, writeUint64: Action<float,float>, writeDouble: float -> unit, writeRawBytes: U12<BigInt64Array<U2<ArrayBuffer,SharedArrayBuffer>>,BigUint64Array<U2<ArrayBuffer,SharedArrayBuffer>>,DataView<U2<ArrayBuffer,SharedArrayBuffer>>,Float32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Float64Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8ClampedArray<U2<ArrayBuffer,SharedArrayBuffer>>> -> unit) : Serializer
abstract member releaseBuffer () : NonSharedBuffer
abstract member transferArrayBuffer (id: float, arrayBuffer: ArrayBuffer) : unit
abstract member writeDouble (value: float) : unit
abstract member writeHeader () : unit
abstract member writeRawBytes (buffer: U12<BigInt64Array<U2<ArrayBuffer,SharedArrayBuffer>>,BigUint64Array<U2<ArrayBuffer,SharedArrayBuffer>>,DataView<U2<ArrayBuffer,SharedArrayBuffer>>,Float32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Float64Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8ClampedArray<U2<ArrayBuffer,SharedArrayBuffer>>>) : unit
abstract member writeUint32 (value: float) : unit
abstract member writeUint64 (hi: float, lo: float) : unit
abstract member writeValue (val: obj) : bool| Assembly | Xantham.Fable.Node |
| Attributes | [<Interface>] |
@since v8.0.0
Methods
static member Create (writeHeader: unit -> unit, writeValue: obj -> bool, releaseBuffer: unit -> NonSharedBuffer, transferArrayBuffer: Action<float,ArrayBuffer>, writeUint32: float -> unit, writeUint64: Action<float,float>, writeDouble: float -> unit, writeRawBytes: U12<BigInt64Array<U2<ArrayBuffer,SharedArrayBuffer>>,BigUint64Array<U2<ArrayBuffer,SharedArrayBuffer>>,DataView<U2<ArrayBuffer,SharedArrayBuffer>>,Float32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Float64Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8ClampedArray<U2<ArrayBuffer,SharedArrayBuffer>>> -> unit) : Serializerabstract member releaseBuffer () : NonSharedBuffer
abstract member releaseBuffer () : NonSharedBufferReturns the stored internal buffer. This serializer should not be used once the buffer is released. Calling this method results in undefined behavior if a previous write has failed.
abstract member transferArrayBuffer (id: float, arrayBuffer: ArrayBuffer) : unit
abstract member transferArrayBuffer (id: float, arrayBuffer: ArrayBuffer) : unitMarks an ArrayBuffer as having its contents transferred out of band. Pass the corresponding ArrayBuffer in the deserializing context to deserializer.transferArrayBuffer().
| Parameter | |
|---|---|
id | A 32-bit unsigned integer. |
arrayBuffer | An ArrayBuffer instance. |
abstract member writeDouble (value: float) : unit
abstract member writeDouble (value: float) : unitWrite a JS number value. For use inside of a custom serializer._writeHostObject().
abstract member writeHeader () : unit
abstract member writeHeader () : unitWrites out a header, which includes the serialization format version.
abstract member writeRawBytes (buffer: U12<BigInt64Array<U2<ArrayBuffer,SharedArrayBuffer>>,BigUint64Array<U2<ArrayBuffer,SharedArrayBuffer>>,DataView<U2<ArrayBuffer,SharedArrayBuffer>>,Float32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Float64Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8ClampedArray<U2<ArrayBuffer,SharedArrayBuffer>>>) : unit
abstract member writeRawBytes (buffer: U12<BigInt64Array<U2<ArrayBuffer,SharedArrayBuffer>>,BigUint64Array<U2<ArrayBuffer,SharedArrayBuffer>>,DataView<U2<ArrayBuffer,SharedArrayBuffer>>,Float32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Float64Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Int8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint16Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint32Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8Array<U2<ArrayBuffer,SharedArrayBuffer>>,Uint8ClampedArray<U2<ArrayBuffer,SharedArrayBuffer>>>) : unitWrite raw bytes into the serializer's internal buffer. The deserializer will require a way to compute the length of the buffer. For use inside of a custom serializer._writeHostObject().
abstract member writeUint32 (value: float) : unit
abstract member writeUint32 (value: float) : unitWrite a raw 32-bit unsigned integer. For use inside of a custom serializer._writeHostObject().
abstract member writeUint64 (hi: float, lo: float) : unit
abstract member writeUint64 (hi: float, lo: float) : unitWrite a raw 64-bit unsigned integer, split into high and low 32-bit parts. For use inside of a custom serializer._writeHostObject().
abstract member writeValue (val: obj) : bool
abstract member writeValue (val: obj) : boolSerializes a JavaScript value and adds the serialized representation to the internal buffer.
This throws an error if value cannot be serialized.