// Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. // // This program 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 // any later version. // // This program 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 this program. If not, see . class Convert { static String toHex(List bytes, {bool upperCase = false}) { final buffer = StringBuffer(); for (final int part in bytes) { if (part & 0xff != part) { throw FormatException('Non-byte integer detected'); } buffer.write('${part < 16 ? '0' : ''}${part.toRadixString(16)}'); } if (upperCase) { return buffer.toString().toUpperCase(); } else { return buffer.toString(); } } } extension UriX on Uri { Uri operator +(String path) { final thisPath = toString(); return Uri.parse(thisPath + path); } }