DigitalData constructor
Class for digitalData conversions, e.g. if you want to convert 1 megabit in kilobyte:
var digitalData = DigitalData(removeTrailingZeros: false);
digitalData.convert(Unit(DIGITAL_DATA.megabit, value: 1));
print(DIGITAL_DATA.kilobyte);
Implementation
DigitalData({this.significantFigures = 10, this.removeTrailingZeros = true, name}) {
size = DIGITAL_DATA.values.length;
this.name = name ?? PROPERTY.digitalData;
for (DIGITAL_DATA val in DIGITAL_DATA.values) {
unitList.add(Unit(val, symbol: mapSymbols[val]));
}
unitConversion = Node(name: DIGITAL_DATA.bit, leafNodes: [
Node(
coefficientProduct: 4.0,
name: DIGITAL_DATA.nibble,
),
Node(
coefficientProduct: 1e3,
name: DIGITAL_DATA.kilobit,
),
Node(
coefficientProduct: 1e6,
name: DIGITAL_DATA.megabit,
),
Node(
coefficientProduct: 1e9,
name: DIGITAL_DATA.gigabit,
),
Node(
coefficientProduct: 1e12,
name: DIGITAL_DATA.terabit,
),
Node(
coefficientProduct: 1e15,
name: DIGITAL_DATA.petabit,
),
Node(
coefficientProduct: 1e18,
name: DIGITAL_DATA.exabit,
),
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.kibibit, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.mebibit, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.gibibit, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.tebibit, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.pebibit, leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.exbibit,
)
])
])
])
])
]),
Node(coefficientProduct: 8.0, name: DIGITAL_DATA.byte, leafNodes: [
Node(
coefficientProduct: 1e3,
name: DIGITAL_DATA.kilobyte,
),
Node(
coefficientProduct: 1e6,
name: DIGITAL_DATA.megabyte,
),
Node(
coefficientProduct: 1e9,
name: DIGITAL_DATA.gigabyte,
),
Node(
coefficientProduct: 1e12,
name: DIGITAL_DATA.terabyte,
),
Node(
coefficientProduct: 1e15,
name: DIGITAL_DATA.petabyte,
),
Node(
coefficientProduct: 1e18,
name: DIGITAL_DATA.exabyte,
),
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.kibibyte, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.mebibyte, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.gibibyte, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.tebibyte, leafNodes: [
Node(coefficientProduct: 1024.0, name: DIGITAL_DATA.pebibyte, leafNodes: [
Node(
coefficientProduct: 1024.0,
name: DIGITAL_DATA.exbibyte,
),
]),
]),
]),
]),
]),
]),
]);
}