parseAsPokeregiToken function
Implementation
String parseAsPokeregiToken(String token) {
// * {25 ALNUM} - (Pokeregi_V1 OfflineMode QR)
final V1_QR_REG = RegExp(r'^([0-9A-Z]{25})$');
// * https://www.pokepay.jp/pd?={25 ALNUM} - (Pokeregi_V1 OfflineMode NFC)
// * https://www.pokepay.jp/pd/{25 ALNUM} - (Pokeregi_V2 OfflineMode QR & NFC)
final RegExp V1_NFC_V2_QR_NFC_REG =
RegExp(r'^https://www(?:-dev|-sandbox|-qa|)\.pokepay\.jp/pd(?:/|\\?d=)([0-9A-Z]{25})$');
// matching
final v1 = V1_QR_REG.allMatches(token);
if (V1_QR_REG.hasMatch(token)) {
return v1.elementAt(0).group(1) ?? "";
}
final v2 = V1_NFC_V2_QR_NFC_REG.allMatches(token);
if (V1_NFC_V2_QR_NFC_REG.hasMatch(token)) {
return v2.elementAt(0).group(1) ?? "";
}
return "";
}