stack_wallet/lib/utilities/extensions/impl/string.dart

47 lines
1.4 KiB
Dart

/*
* This file is part of Stack Wallet.
*
* Copyright (c) 2023 Cypher Stack
* All Rights Reserved.
* The code is distributed under GPLv3 license, see LICENSE file for details.
* Generated by Cypher Stack on 2023-05-26
*
*/
import 'dart:convert';
import 'dart:core';
import 'dart:typed_data';
import 'package:dart_bs58/dart_bs58.dart';
import 'package:dart_bs58check/dart_bs58check.dart';
import 'package:hex/hex.dart';
import '../extensions.dart';
extension StringExtensions on String {
Uint8List get toUint8ListFromUtf8 => Uint8List.fromList(utf8.encode(this));
Uint8List get toUint8ListFromHex =>
Uint8List.fromList(HEX.decode(startsWith("0x") ? substring(2) : this));
Uint8List get toUint8ListFromBase58Encoded => bs58.decode(this);
Uint8List get toUint8ListFromBase58CheckEncoded => bs58check.decode(this);
BigInt get toBigIntFromHex => toUint8ListFromHex.toBigInt;
String get toHexFromBase64 => base64Decode(LineSplitter.split(this).join())
.map((e) => e.toRadixString(16).padLeft(2, '0'))
.join();
String get toHexReversedFromBase64 =>
base64Decode(LineSplitter.split(this).join())
.reversed
.map((e) => e.toRadixString(16).padLeft(2, '0'))
.join();
/// Capitalize the first letter of a string.
String capitalize() {
return isEmpty ? this : "${this[0].toUpperCase()}${substring(1)}";
}
}