htmlData function
Implementation
String htmlData({
required String siteKey,
String? action,
String? cData,
required TurnstileOptions options,
required String onTurnstileReady,
required String onTokenReceived,
required String onTurnstileError,
required String onTokenExpired,
required String onWidgetCreated,
}) {
RegExp exp = RegExp(
r'<TURNSTILE_(SITE_KEY|ACTION|CDATA|THEME|SIZE|LANGUAGE|RETRY|RETRY_INTERVAL|REFRESH_EXPIRED|REFRESH_TIMEOUT|READY|TOKEN_RECEIVED|ERROR|TOKEN_EXPIRED|CREATED)>');
String? replacedText = _source.replaceAllMapped(exp, (match) {
switch (match.group(1)) {
case 'SITE_KEY':
return siteKey;
case 'ACTION':
return action ?? '';
case 'CDATA':
return cData ?? '';
case 'THEME':
return options.theme.name;
case 'SIZE':
return options.size.name;
case 'LANGUAGE':
return options.language;
case 'RETRY':
return options.retryAutomatically ? 'auto' : 'never';
case 'RETRY_INTERVAL':
return options.retryInterval.inMilliseconds.toString();
case 'REFRESH_EXPIRED':
return options.refreshExpired.name;
case 'REFRESH_TIMEOUT':
return options.refreshTimeout.name;
case 'READY':
return onTurnstileReady;
case 'TOKEN_RECEIVED':
return onTokenReceived;
case 'ERROR':
return onTurnstileError;
case 'TOKEN_EXPIRED':
return onTokenExpired;
case 'CREATED':
return onWidgetCreated;
default:
return match.group(0) ?? "";
}
});
return replacedText;
}