UNPKG

@astronautlabs/amf

Version:

Action Message Format (AMF0/3)

175 lines (174 loc) 5.52 kB
import { BitstreamElement, Serializer, BitstreamReader, BitstreamWriter, FieldDefinition, SerializeOptions, IncompleteReadResult } from "@astronautlabs/bitstream"; import * as AMF3 from './amf3'; export declare enum TypeMarker { Number = 0, Boolean = 1, String = 2, Object = 3, MovieClip = 4, Null = 5, Undefined = 6, Reference = 7, EcmaArray = 8, ObjectEnd = 9, StrictArray = 10, Date = 11, LongString = 12, Unsupported = 13, RecordSet = 14, XmlDocument = 15, TypedObject = 16, AvmPlus = 17 } export declare class Value<T = any> extends BitstreamElement { private _referenceTable; get referenceTable(): ComplexValue<any>[]; marker: TypeMarker; get value(): T; set value(value: T); static get undefined(): UndefinedValue; static get true(): BooleanValue; static get false(): BooleanValue; static boolean(value: boolean): BooleanValue; static number(value: number): NumberValue; static string(value: string): LongStringValue | StringValue; static xmlDocument(value: string): XmlDocumentValue; static object(value: object, className?: string): ObjectValue; static get null(): NullValue; static date(value: Date): DateValue; static array(value: any[]): StrictArrayValue<any>; static associativeArray(value: Map<string, any> | Record<string, any>): EcmaArrayValue<any>; static any(value: any): Value<any>; static avmPlus(value: any): AvmPlusValue; static amf3(value: any): AvmPlusValue; } export declare class ObjectProperty extends BitstreamElement { keyLength: number; private _key; get key(): string; set key(value: string); value: Value; } export declare class ObjectPropertyArraySerializer implements Serializer { read(reader: BitstreamReader, type: any, parent: BitstreamElement, field: FieldDefinition): Generator<IncompleteReadResult, any>; write(writer: BitstreamWriter, type: any, parent: BitstreamElement, field: FieldDefinition, value: ObjectProperty[]): void; } export declare class NumberValue extends Value { marker: TypeMarker; private $value; get value(): number; set value(value: number); } export declare class BooleanValue extends Value { marker: TypeMarker; private $value; get value(): boolean; set value(value: boolean); } export declare class StringValue extends Value { marker: TypeMarker; length: number; private $value; get value(): string; set value(value: string); } export declare class ComplexValue<T = any> extends Value<T> { write(bitstream: BitstreamWriter, options?: SerializeOptions): void; onSerializeFinished(): void; onParseFinished(): void; } export declare class ObjectValue extends ComplexValue { marker: TypeMarker; private _properties; $objectVariantMarker: any; get properties(): ObjectProperty[]; set properties(value: ObjectProperty[]); private buildValue; private _value; get value(): any; set value(value: any); } export declare class TypedObjectValue extends ObjectValue { marker: TypeMarker; private _className; classNameLength: number; get className(): string; set className(value: string); } export declare class NullValue extends Value<null> { marker: TypeMarker; } export declare class UndefinedValue extends Value<undefined> { marker: TypeMarker; } export declare class ReferenceValue extends Value { marker: TypeMarker; index: number; get reference(): ComplexValue<any>; get value(): any; } export declare class EcmaArrayValue<V = any> extends ComplexValue<Map<string, V>> { marker: TypeMarker; private _count; private _properties; private get properties(); private endKey; private endMarker; private set properties(value); private _value; get value(): Map<string, V>; set value(value: Map<string, V>); } export declare class ObjectEndValue extends Value { marker: TypeMarker; } export declare class StrictArrayValue<T = any> extends ComplexValue<T[]> { marker: TypeMarker; private _value; private _values; count: number; private get values(); private set values(value); get value(): T[]; static elementValues(value: StrictArrayValue): Value<any>[]; set value(value: T[]); } export declare class DateValue extends Value<Date> { marker: TypeMarker; private _value; private get $value(); private set $value(value); private timeZone; get value(): Date; set value(value: Date); } export declare class LongStringValue extends Value { marker: TypeMarker; private _length; private $value; get value(): string; set value(value: string); } export declare class UnsupportedValue extends Value { marker: TypeMarker; } export declare class RecordSetValue extends Value { marker: TypeMarker; } export declare class MovieClipValue extends Value { marker: TypeMarker; } export declare class XmlDocumentValue extends Value { marker: TypeMarker; private _length; private $value; get value(): string; set value(value: string); } export declare class AvmPlusValue extends Value { marker: TypeMarker; private $value; get value(): any; set value(value: any); static unwrap(v: AvmPlusValue): AMF3.Value<any>; }