66 lines
933 B
TypeScript
66 lines
933 B
TypeScript
namespace _heimdall.notification_kinds
|
|
{
|
|
|
|
/**
|
|
*/
|
|
export type type_notification_kind = {
|
|
parameters_schema : (
|
|
()
|
|
=>
|
|
_heimdall.helpers.json_schema.type_schema
|
|
);
|
|
normalize_order_node : (
|
|
(node : any)
|
|
=>
|
|
any
|
|
);
|
|
notify : (
|
|
(
|
|
parameters : any,
|
|
name : string,
|
|
data : type_check,
|
|
state : type_item_state,
|
|
info : any
|
|
)
|
|
=>
|
|
Promise<void>
|
|
);
|
|
};
|
|
|
|
|
|
/**
|
|
*/
|
|
var _implementations : Record<string, type_notification_kind> = {};
|
|
|
|
|
|
/**
|
|
*/
|
|
export function register_implementation(
|
|
name : string,
|
|
notification_kind : type_notification_kind
|
|
) : void
|
|
{
|
|
_implementations[name] = notification_kind;
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
export function get_implementation(
|
|
name : string
|
|
) : type_notification_kind
|
|
{
|
|
return _implementations[name];
|
|
}
|
|
|
|
|
|
/**
|
|
*/
|
|
export function get_implementations(
|
|
) : Record<string, type_notification_kind>
|
|
{
|
|
return _implementations;
|
|
}
|
|
|
|
}
|