in Source/Actions/Microsoft.Deployment.Actions.AzureCustom/PowerApp/ConfigurePowerAppTables.cs [156:208]
private bool IsAdvancedTwitterQuery(string query)
{
bool isAdvanced = false;
bool isOpenBracket = false;
bool isOpenQuote = false;
for (int i = 0; i < query.Length && !isAdvanced; i++)
{
switch (query[i])
{
case '"':
isOpenQuote = !isOpenQuote;
break;
case ':':
isAdvanced = !isOpenQuote;
break;
case '(':
if (!isOpenQuote)
{
if (isOpenBracket)
{
isAdvanced = true;
}
else
{
isOpenBracket = true;
}
}
break;
case ')':
if (!isOpenQuote)
{
if (isOpenBracket)
{
isOpenBracket = false;
}
else
{
isAdvanced = true;
}
}
break;
case 'O':
isAdvanced = !isOpenQuote && i < query.Length - 1 && query[i + 1] == 'R' && isOpenBracket;
break;
default:
break;
}
}
return isAdvanced;
}