public IronLeveldbStub(IronLeveldbOptions options, ISeekable <InternalKey, InternalIByteArrayKeyValuePair> dataProvider, Action onDispose = null) { _dataProvider = dataProvider; _onDispose = onDispose; _comparer = options?.Comparer ?? LeveldbDefaultKeyComparer.Comparer; }
public void PushContext(IDictionary <string, object> input, ISeekable text, TextHolder parentHolder, bool skipOutput = false, bool disableLogging = false) { var holderDefinitions = parentHolder == null ? null : Context.PreparsedHolders.GetOrDefault(parentHolder.Name); if (parentHolder != null && Context.Holders.ContainsKey(parentHolder.Name)) { parentHolder = Context.Holders[parentHolder.Name]; } var newC = new TemplatorParsingContext(skipOutput) { Input = input, ParentHolder = parentHolder, Logger = disableLogging ? null : (Context != null && Context.Nesting) ? new TemplatorLogger() : Config.Logger, Text = text ?? Context?.Text, PreparsedHolders = holderDefinitions?.Children }; if (Stack == null) { Context = newC; Stack = new Stack <TemplatorParsingContext>(); if (input == null) { NoInput = true; } return; } Stack.Push(Context); Context = newC; }