core/source/logic/notification_kinds/_base.ts

66 lines
933 B
TypeScript
Raw Permalink Normal View History

2023-08-03 08:34:33 +02:00
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;
}
}