diff --git a/src/Microsoft.DotNet.Interactive.Http.Parsing/Microsoft.DotNet.Interactive.Http.Parsing.csproj b/src/Microsoft.DotNet.Interactive.Http.Parsing/Microsoft.DotNet.Interactive.Http.Parsing.csproj index 44079be844..f816cffa8c 100644 --- a/src/Microsoft.DotNet.Interactive.Http.Parsing/Microsoft.DotNet.Interactive.Http.Parsing.csproj +++ b/src/Microsoft.DotNet.Interactive.Http.Parsing/Microsoft.DotNet.Interactive.Http.Parsing.csproj @@ -19,6 +19,10 @@ $(NoWarn);NU5128 + + + + diff --git a/src/Microsoft.DotNet.Interactive.Http/DateTimeUtilities.cs b/src/Microsoft.DotNet.Interactive.Http.Parsing/Parsing/DateTimeUtilities.cs similarity index 100% rename from src/Microsoft.DotNet.Interactive.Http/DateTimeUtilities.cs rename to src/Microsoft.DotNet.Interactive.Http.Parsing/Parsing/DateTimeUtilities.cs diff --git a/src/Microsoft.DotNet.Interactive.Http.Parsing/Parsing/DynamicExpressionUtilities.cs b/src/Microsoft.DotNet.Interactive.Http.Parsing/Parsing/DynamicExpressionUtilities.cs new file mode 100644 index 0000000000..66bc36bc5f --- /dev/null +++ b/src/Microsoft.DotNet.Interactive.Http.Parsing/Parsing/DynamicExpressionUtilities.cs @@ -0,0 +1,289 @@ +using Microsoft.DotNet.Interactive.Http; +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading; +using System.Threading.Tasks; + +namespace Microsoft.DotNet.Interactive.Http.Parsing +{ +#nullable enable + internal static class DynamicExpressionUtilites + { + + const string DateTime = "$datetime"; + const string LocalDateTime = "$localDatetime"; + const string OffsetRegex = """(?:\s+(?[-+]?[^\s]+)\s+(?