75 lines
3.5 KiB
TypeScript
75 lines
3.5 KiB
TypeScript
import { IPartialEvent } from "./IPartialEvent";
|
|
import { ExtensibleEvent } from "./events/ExtensibleEvent";
|
|
import { Optional } from "./types";
|
|
import { NamespacedValue } from "./NamespacedValue";
|
|
export declare type EventInterpreter<TContentIn = object, TEvent extends ExtensibleEvent = ExtensibleEvent> = (wireEvent: IPartialEvent<TContentIn>) => Optional<TEvent>;
|
|
/**
|
|
* Utility class for parsing and identifying event types in a renderable form. An
|
|
* instance of this class can be created to change rendering preference depending
|
|
* on use-case.
|
|
*/
|
|
export declare class ExtensibleEvents {
|
|
private static _defaultInstance;
|
|
private interpreters;
|
|
private _unknownInterpretOrder;
|
|
constructor();
|
|
/**
|
|
* Gets the default instance for all extensible event parsing.
|
|
*/
|
|
static get defaultInstance(): ExtensibleEvents;
|
|
/**
|
|
* Gets the order the internal processor will use for unknown primary
|
|
* event types.
|
|
*/
|
|
get unknownInterpretOrder(): NamespacedValue<string, string>[];
|
|
/**
|
|
* Sets the order the internal processor will use for unknown primary
|
|
* event types.
|
|
* @param {NamespacedValue<string, string>[]} val The parsing order.
|
|
*/
|
|
set unknownInterpretOrder(val: NamespacedValue<string, string>[]);
|
|
/**
|
|
* Gets the order the internal processor will use for unknown primary
|
|
* event types.
|
|
*/
|
|
static get unknownInterpretOrder(): NamespacedValue<string, string>[];
|
|
/**
|
|
* Sets the order the internal processor will use for unknown primary
|
|
* event types.
|
|
* @param {NamespacedValue<string, string>[]} val The parsing order.
|
|
*/
|
|
static set unknownInterpretOrder(val: NamespacedValue<string, string>[]);
|
|
/**
|
|
* Registers a primary event type interpreter. Note that the interpreter might be
|
|
* called with non-primary events if the event is being parsed as a fallback.
|
|
* @param {NamespacedValue<string, string>} wireEventType The event type.
|
|
* @param {EventInterpreter} interpreter The interpreter.
|
|
*/
|
|
registerInterpreter(wireEventType: NamespacedValue<string, string>, interpreter: EventInterpreter): void;
|
|
/**
|
|
* Registers a primary event type interpreter. Note that the interpreter might be
|
|
* called with non-primary events if the event is being parsed as a fallback.
|
|
* @param {NamespacedValue<string, string>} wireEventType The event type.
|
|
* @param {EventInterpreter} interpreter The interpreter.
|
|
*/
|
|
static registerInterpreter(wireEventType: NamespacedValue<string, string>, interpreter: EventInterpreter): void;
|
|
/**
|
|
* Parses an event, trying the primary event type first. If the primary type is not known
|
|
* then the content will be inspected to find the most suitable fallback.
|
|
*
|
|
* If the parsing failed or was a completely unknown type, this will return falsy.
|
|
* @param {IPartialEvent<object>} wireFormat The event to parse.
|
|
* @returns {Optional<ExtensibleEvent>} The parsed extensible event.
|
|
*/
|
|
parse(wireFormat: IPartialEvent<object>): Optional<ExtensibleEvent>;
|
|
/**
|
|
* Parses an event, trying the primary event type first. If the primary type is not known
|
|
* then the content will be inspected to find the most suitable fallback.
|
|
*
|
|
* If the parsing failed or was a completely unknown type, this will return falsy.
|
|
* @param {IPartialEvent<object>} wireFormat The event to parse.
|
|
* @returns {Optional<ExtensibleEvent>} The parsed extensible event.
|
|
*/
|
|
static parse(wireFormat: IPartialEvent<object>): Optional<ExtensibleEvent>;
|
|
}
|