/* This file is part of »mimir«. Copyright 2025 kcf »mimir« is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. »mimir« 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with »mimir«. If not, see . */ namespace _mimir.transfer { /** */ export function get_logic( target : _mimir.conf.type_target ) : type_logic { switch (target.kind) { default: { throw (new Error("unhandled transfer kind: " + target["kind"])); break; } case "local": { return _mimir.transfer.local.logic( { "directory": target.parameters.directory, } ); break; } case "borg": { return _mimir.transfer.borg.logic( { "repository": target.parameters.repository, "compression": target.parameters.compression, "pruning": target.parameters.pruning, } ); break; } } } }