예제 #1
0
        private static (IEnumerable <LogRowKey>, ExpressionParser.ParseResult) ParseExpression(IItemDatabase database, LogRowKey source)
        {
            ExpressionParser.ParseResult parseResult = ExpressionParser.ParseExpression(source.Data.User);
            if (parseResult != null)
            {
                IEnumerable <string> triggerItems = ExpressionParser.FindItems(parseResult, database.Exists).Distinct();

                return(database.FindClosestTriggerKeys(source.UniqueId, source.Data.CycleIndex, triggerItems), parseResult);
            }

            return(new LogRowKey[0], parseResult);
        }
예제 #2
0
 public Change(LogRowKey key, ExpressionParser.ParseResult result, IEnumerable <Change> states)
 {
     Key    = key;
     Result = result;
     States = states;
 }