summaryrefslogtreecommitdiff
path: root/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs')
-rw-r--r--ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs176
1 files changed, 176 insertions, 0 deletions
diff --git a/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs
new file mode 100644
index 0000000..dec8594
--- /dev/null
+++ b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs
@@ -0,0 +1,176 @@
+// Copyright 2009-2022 Josh Close
+// This file is a part of CsvHelper and is dual licensed under MS-PL and Apache 2.0.
+// See LICENSE.txt for details or visit http://www.opensource.org/licenses/ms-pl.html for MS-PL and http://opensource.org/licenses/Apache-2.0 for Apache 2.0.
+// https://github.com/JoshClose/CsvHelper
+using CsvHelper.Delegates;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Text;
+
+namespace CsvHelper.Configuration
+{
+ /// <summary>
+ /// Configuration used for the <see cref="IParser"/>.
+ /// </summary>
+ public interface IParserConfiguration
+ {
+ /// <summary>
+ /// Gets the culture info used to read an write CSV files.
+ /// </summary>
+ CultureInfo CultureInfo { get; }
+
+ /// <summary>
+ /// Cache fields that are created when parsing.
+ /// Default is false.
+ /// </summary>
+ bool CacheFields { get; }
+
+ /// <summary>
+ /// The newline string to use. Default is \r\n (CRLF).
+ /// When writing, this value is always used.
+ /// When reading, this value is only used if explicitly set.
+ /// If not set, the parser uses one of \r\n, \r, or \n.
+ /// </summary>
+ string NewLine { get; }
+
+ /// <summary>
+ /// A value indicating if <see cref="NewLine"/> was set.
+ /// </summary>
+ /// <value>
+ /// <c>true</c> if <see cref="NewLine"/> was set. <c>false</c> if <see cref="NewLine"/> is the default.
+ /// </value>
+ bool IsNewLineSet { get; }
+
+ /// <summary>
+ /// The mode.
+ /// See <see cref="CsvMode"/> for more details.
+ /// </summary>
+ CsvMode Mode { get; }
+
+ /// <summary>
+ /// Gets the size of the buffer
+ /// used for parsing and writing CSV files.
+ /// Default is 0x1000.
+ /// </summary>
+ int BufferSize { get; }
+
+ /// <summary>
+ /// The size of the buffer used when processing fields.
+ /// Default is 1024.
+ /// </summary>
+ int ProcessFieldBufferSize { get; }
+
+ /// <summary>
+ /// Gets a value indicating whether the number of bytes should
+ /// be counted while parsing. Default is false. This will slow down parsing
+ /// because it needs to get the byte count of every char for the given encoding.
+ /// The <see cref="Encoding"/> needs to be set correctly for this to be accurate.
+ /// </summary>
+ bool CountBytes { get; }
+
+ /// <summary>
+ /// Gets the encoding used when counting bytes.
+ /// </summary>
+ Encoding Encoding { get; }
+
+ /// <summary>
+ /// Gets the function that is called when bad field data is found. A field
+ /// has bad data if it contains a quote and the field is not quoted (escaped).
+ /// You can supply your own function to do other things like logging the issue
+ /// instead of throwing an exception.
+ /// </summary>
+ BadDataFound BadDataFound { get; }
+
+ /// <summary>
+ /// Gets or sets the maximum size of a field.
+ /// Defaults to 0, indicating maximum field size is not checked.
+ /// </summary>
+ double MaxFieldSize { get; }
+
+ /// <summary>
+ /// Gets a value indicating if a line break found in a quote field should
+ /// be considered bad data. <c>true</c> to consider a line break bad data, otherwise <c>false</c>.
+ /// Defaults to false.
+ /// </summary>
+ bool LineBreakInQuotedFieldIsBadData { get; }
+
+ /// <summary>
+ /// Gets the character used to denote
+ /// a line that is commented out. Default is '#'.
+ /// </summary>
+ char Comment { get; }
+
+ /// <summary>
+ /// Gets a value indicating if comments are allowed.
+ /// <c>true</c> to allow commented out lines, otherwise <c>false</c>.
+ /// </summary>
+ bool AllowComments { get; }
+
+ /// <summary>
+ /// Gets a value indicating if blank lines
+ /// should be ignored when reading.
+ /// <c>true</c> to ignore, otherwise <c>false</c>. Default is true.
+ /// </summary>
+ bool IgnoreBlankLines { get; }
+
+ /// <summary>
+ /// Gets the character used to quote fields.
+ /// Default is '"'.
+ /// </summary>
+ char Quote { get; }
+
+ /// <summary>
+ /// The delimiter used to separate fields.
+ /// Default is <see cref="TextInfo.ListSeparator"/>.
+ /// </summary>
+ string Delimiter { get; }
+
+ /// <summary>
+ /// Detect the delimiter instead of using the delimiter from configuration.
+ /// Default is <c>false</c>.
+ /// </summary>
+ bool DetectDelimiter { get; }
+
+ /// <summary>
+ /// Gets the function that is called when <see cref="DetectDelimiter"/> is enabled.
+ /// </summary>
+ GetDelimiter GetDelimiter { get; }
+
+ /// <summary>
+ /// The possible delimiter values used when detecting the delimiter.
+ /// Default is [",", ";", "|", "\t"].
+ /// </summary>
+ string[] DetectDelimiterValues { get; }
+
+ /// <summary>
+ /// The character used to escape characters.
+ /// Default is '"'.
+ /// </summary>
+ char Escape { get; }
+
+ /// <summary>
+ /// Gets the field trimming options.
+ /// </summary>
+ TrimOptions TrimOptions { get; }
+
+ /// <summary>
+ /// Characters considered whitespace.
+ /// Used when trimming fields.
+ /// Default is [' '].
+ /// </summary>
+ char[] WhiteSpaceChars { get; }
+
+ /// <summary>
+ /// A value indicating if exception messages contain raw CSV data.
+ /// <c>true</c> if exception contain raw CSV data, otherwise <c>false</c>.
+ /// Default is <c>true</c>.
+ /// </summary>
+ bool ExceptionMessagesContainRawData { get; }
+
+ /// <summary>
+ /// Validates the configuration.
+ /// </summary>
+ void Validate();
+ }
+}