Class represents field in the schema.
Data values can be cast to native R types. Casting a value will check the value is of the expected type, is in the correct format, and complies with any constraints imposed by a schema.
# Field$new(descriptor, missingValues = list(""))
    R6Class object.
Object of R6Class .
A field descriptor MUST be a JSON object that describes a single field. 
The descriptor provides additional human-readable documentation for a field, 
as well as additional information that may be used to validate the field or 
create a user interface for data entry.
The field descriptor object MAY contain any number of other properties. 
Some specific properties are defined below. Of these, only the name property is REQUIRED.
nameThe field descriptor MUST contain a name property. 
This property SHOULD correspond to the name of field/column in the data file (if it has a name). 
As such it SHOULD be unique (though it is possible, but very bad practice, for the data file to 
have multiple columns with the same name). name SHOULD NOT be considered case sensitive in 
determining uniqueness. However, since it should correspond to the name of the field in the data file 
it may be important to preserve case.
titleA human readable label or title for the field.
descriptionA description for this field e.g. "The recipient of the funds".
Field$new(descriptor, missingValues = list(""))Constructor to instantiate Field class.
descriptor Schema field descriptor.  
 missingValues A list with vector strings representing missing values.
 TableSchemaError Raises any error occured in the process.
 Field Returns Field class instance.
 
  cast_value(value, constraints=TRUE)Cast given value according to the field type and format.
value Value to cast against field  
 constraints   Gets constraints configuration: 
 it could be set to true to disable constraint checks, or 
 it could be a List of constraints to check
 errors$TableSchemaError Raises any error occured in the process
 any Returns cast value
 
 
testValue(value, constraints=TRUE)Test if value is compliant to the field.
value Value to cast against field  
 constraints  Constraints configuration
 Boolean Returns if value is compliant to the field
 
nameReturns field name
typeReturns field type
formatReturns field format
requiredReturns TRUE if field is required
constraintsReturns list with field constraints
descriptorReturns field descriptor
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, 
SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL 
in this package documents are to be interpreted as described in RFC 2119.
new()Field$new(
  descriptor,
  base_path = NULL,
  strict = NULL,
  missingValues = as.list(config::get("DEFAULT_MISSING_VALUES", file =
    system.file("config/config.yml", package = "tableschema.r"))),
  ...
)descriptorSchema field descriptor
missingValuesA list with vector strings representing missing values
cast_value()Field$cast_value(...)
testValue()Field$testValue(value, constraints = TRUE)
clone()The objects of this class are cloneable with this method.
Field$clone(deep = FALSE)
deepWhether to make a deep clone.
DESCRIPTOR = list(name = "height", type = "number") field <- Field$new(descriptor = DESCRIPTOR) # get correct instance field$name#> [1] "height"field$format#> [1] "default"field$type#> [1] "number"# return true on test field$testValue(1)#> [1] TRUE# cast value field$cast_value(1)#> [1] 1# expand descriptor by defaults field <- Field$new(descriptor = list(name = "name")) field$descriptor#> $name #> [1] "name" #> #> $type #> [1] "string" #> #> $format #> [1] "default" #># parse descriptor with "enum" constraint field <- Field$new(descriptor = list(name = "status", type = "string", constraints = list(enum = list('active', 'inactive')))) field$testValue('active')#> [1] TRUEfield$testValue('inactive')#> [1] TRUEfield$testValue('activia')#> [1] FALSEfield$cast_value('active')#> [1] "active"# parse descriptor with "minimum" constraint' field <- Field$new(descriptor = list(name = "length", type = "integer", constraints = list(minimum = 100))) field$testValue(200)#> [1] TRUEfield$testValue(50)#> [1] FALSE# parse descriptor with "maximum" constraint' field <- Field$new(descriptor = list(name = "length", type = "integer", constraints = list(maximum = 100))) field$testValue(50)#> [1] TRUEfield$testValue(200)#> [1] FALSE