F# Data


F# Data

FSharp.Data Namespace

Type or ModuleDescription
CssSelectorExtensions
CsvExtensions

Provides the dynamic operator for getting column values by name from CSV rows

CsvFile

Represents a CSV file. The lines are read on demand from reader. Columns are delimited by one of the chars passed by separators (defaults to just ,), and to escape the separator chars, the quote character will be used (defaults to "). If hasHeaders is true (the default), the first line read by reader will not be considered part of data. If ignoreErrors is true (the default is false), rows with a different number of columns from the header row (or the first row if headers are not present) will be ignored. The first skipRows lines will be skipped.

CsvProvider

Typed representation of a CSV file.

CsvRow

Represents a CSV row.

HtmlAttribute

Represents an HTML attribute. The name is always normalized to lowercase

HtmlAttribute

Module with operations on HTML attributes

HtmlAttributeExtensions

Extension methods with operations on HTML attributes

HtmlDocument

Represents an HTML document

HtmlDocument

Module with operations on HTML documents

HtmlDocumentExtensions

Extension methods with operations on HTML documents

HtmlExtensions

Provides the dynamic operator for getting attribute values from HTML elements

HtmlNode

Represents an HTML node. The names of elements are always normalized to lowercase

HtmlNode

Module with operations on HTML nodes

HtmlNodeExtensions

Extension methods with operations on HTML nodes

HtmlProvider

Typed representation of an HTML file.

Http

Utilities for working with network via HTTP. Includes methods for downloading resources with specified headers, query parameters and HTTP body

HttpContentTypes

Constants for common HTTP content types

HttpEncodings

Constants for common HTTP encodings

HttpMethod

The method to use in an HTTP request

HttpRequestBody

The body to send in an HTTP request

HttpRequestHeaders

Headers that can be sent in an HTTP request

HttpResponse

The response returned by an HTTP request

HttpResponseBody

The response body returned by an HTTP request

HttpResponseHeaders

Headers that can be received in an HTTP response

HttpResponseWithStream

The response returned by an HTTP request with direct access to the response stream

JsonExtensions

Extension methods with operations on JSON values

JsonExtensions

Provides the dynamic operator for getting a property of a JSON object

JsonProvider

Typed representation of a JSON document.

JsonSaveOptions

Specifies the formatting behaviour of JSON values

JsonValue

Represents a JSON value. Large numbers that do not fit in the Decimal type are represented using the Float case, while smaller numbers are represented as decimals to avoid precision loss.

StringExtensions

Extension methods with conversions from strings to other types

TextConversions

Conversions from string to string/int/int64/decimal/float/boolean/datetime/guid options

WorldBankData

Typed representation of WorldBank data. See http://www.worldbank.org for terms and conditions.

WorldBankDataProvider

Typed representation of WorldBank data with additional configuration parameters. See http://www.worldbank.org for terms and conditions.

XElementExtensions

Extension methods for XElement

XmlProvider

Typed representation of a XML file.

FSharp.Data.Runtime Namespace

Type or ModuleDescription
Caching

Implements caching using in-memory and local file system

CsvInference

Structural inference for CSV

HtmlDefinitionList

Representation of an HTML definition list

HtmlInference

Structural inference for HTML tables

HtmlList

Representation of an HTML list

HtmlObject

Representation of an HTML table, list, or definition list

HtmlRuntime

Helper functions called from the generated code for working with HTML tables

HtmlTable

Representation of an HTML table cell

HtmlTableCell

Representation of an HTML table cell

IO

Helper functions called from the generated code for working with files

JsonConversions

Conversions from JsonValue to string/int/int64/decimal/float/boolean/datetime/guid options

JsonRuntime

Static helper methods called from the generated code for working with JSON

NameUtils

Tools for generating nice member names that follow F# & .NET naming conventions

StructuralInference

Implements type inference for unstructured documents like XML or JSON

TextRuntime

Static helper methods called from the generated code for working with text

XmlRuntime

Static helper methods called from the generated code for working with XML

FSharp.Data.Runtime.BaseTypes Namespace

Type or ModuleDescription
HtmlDocument

Underlying representation of the root types generated by HtmlProvider

HtmlList<'ItemType>

Underlying representation of list types generated by HtmlProvider

HtmlTable<'RowType>

Underlying representation of table types generated by HtmlProvider

JsonDocument

Underlying representation of types generated by JsonProvider

XmlElement

Underlying representation of types generated by XmlProvider

FSharp.Data.Runtime.StructuralTypes Namespace

Type or ModuleDescription
Bit

Dummy type to represent that only one of "0" and "1" were found Will be generated as a 'bool', unless it's converted to another numerical type

Bit0

Dummy type to represent that only "0" was found. Will be generated as 'int', unless it's converted to Bit.

Bit1

Dummy type to represent that only "1" was found Will be generated as 'int', unless it's converted to Bit

InferedMultiplicity

For heterogeneous types (types that have multiple possible forms such as differently named XML nodes or records and arrays mixed together) this type represents the number of occurrences of individual forms

InferedProperty

A property of a record has a name and type and may be optional

InferedType

Represents inferred structural type. A type may be either primitive type (one of those listed by primitiveTypes) or it can be collection, (named) record and heterogeneous type. We also have Null type (which is a subtype of all non-primitive types) and universal Top type.

  • For collection, we infer the types of different things that appear in the collection and how many times they do.

  • A heterogeneous type (sum type) is simply a choice containing one of multiple different possibilities

Why is collection not simply a list of Heterogeneous types? If we used that we would lose information about multiplicity and so we would not be able to generate nicer types!

InferedTypeTag

For heterogeneous types, this represents the tag that defines the form (that is either primitive type, collection, named record etc.)

PrimitiveInferedProperty

Represents type information about a primitive property (used mainly in the CSV provider) This type captures the type, unit of measure and handling of missing values (if we infer that the value may be missing, we can generate option or nullable)

TypeWrapper

Represents a transformation of a type

FSharp.Data.Runtime.WorldBank Namespace

Type or ModuleDescription
Country

Metadata for a Country

Indicator

Indicator data

IndicatorDescription

Metadata for an Indicator

Region

Metadata for a Region

Topic

Metadata for a Topic

Fork me on GitHub