/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.Backend.Addons/Formatters/GrokFormatter.cs
39 строк
1 KB
Ivan Kozhin
Implement safe mode calls
04 фев 2024, 05:48
04 фев 2024, 05:48
4a5c0e3
Код
Авторство
О чём код?
using System.ComponentModel; using QueryCat.Backend.Core.Data; using QueryCat.Backend.Core.Functions; using QueryCat.Backend.Core.Types; namespace QueryCat.Backend.Addons.Formatters; internal sealed class GrokFormatter : IRowsFormatter { [SafeFunction] [Description("Grok expression formatter.")] [FunctionSignature("grok(pattern: string): object<IRowsFormatter>")] public static VariantValue Grok(FunctionCallInfo args) { var pattern = args.GetAt(0).AsString; return VariantValue.CreateFromObject(new GrokFormatter(pattern)); } private readonly string _pattern; public GrokFormatter(string pattern) { _pattern = pattern; } /// <inheritdoc /> public IRowsInput OpenInput(Stream input, string? key = null) { return new GrokInput(input, _pattern, key); } /// <inheritdoc /> public IRowsOutput OpenOutput(Stream output) => throw new NotImplementedException(); public static void RegisterFunctions(IFunctionsManager functionsManager) { functionsManager.RegisterFunction(Grok); } }