@astronautlabs/amf
Version:
Action Message Format (AMF0/3)
175 lines (174 loc) • 5.52 kB
TypeScript
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>;
}