/* Copyright 2016-2024 'Christian Fraß, Christian Neubauer, Martin Springwald GbR' »heimdall« is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. »heimdall« is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with »heimdall«. If not, see . */ namespace _heimdall.check_kinds { /** */ export type type_check_kind = { parameters_schema : ( () => _heimdall.helpers.json_schema.type_schema ); normalize_order_node : ( (node : any) => any ); run : ( (parameters) => Promise<_heimdall.type_result> ); }; /** */ var _implementations : Record = {}; /** */ export function register_implementation( name : string, check_kind : type_check_kind ) : void { _implementations[name] = check_kind; } /** */ export function get_implementation( name : string ) : type_check_kind { return _implementations[name]; } /** */ export function get_implementations( ) : Record { return _implementations; } }