tokenGen method
Generates a valid Google Translate request token for the given input.
Implementation
String tokenGen(dynamic a) {
final tkk = _tkk();
final dynamic b = tkk[0];
final d = <int>[];
final text = a.toString();
for (var f = 0; f < text.length; f++) {
var g = text.codeUnitAt(f);
if (128 > g) {
d.add(g);
} else {
if (2048 > g) {
d.add(g >> 6 | 192);
} else {
if (55296 == (g & 64512) &&
f + 1 < text.length &&
56320 == (text.codeUnitAt(f + 1) & 64512)) {
g = 65536 + ((g & 1023) << 10) + (text.codeUnitAt(++f) & 1023);
d.add(g >> 18 | 240);
d.add(g >> 12 & 63 | 128);
} else {
d.add(g >> 12 | 224);
}
d.add(g >> 6 & 63 | 128);
}
d.add(g & 63 | 128);
}
}
int current = int.parse(b.toString());
for (var e = 0; e < d.length; e++) {
current += d[e];
current = wr(current, '+-a^+6');
}
current = wr(current, '+-3^+b+-f');
final dynamic tkk1 = tkk[1];
current ^= tkk1 is int ? tkk1 : 0;
if (0 > current) {
current = (current & 2147483647) + 2147483648;
}
final double currentDouble = current % 1E6;
final int rounded = currentDouble.round();
final int bInt = int.parse(b.toString());
return '$rounded.${rounded ^ bInt}';
}