# (c) cavaliba.com - data - fieldtypes package

"""
fieldtypes: one Field subclass per schema dataformat, used by
app_data.data.Instance to build self.fields from a schema + JSON value.
Selected via app_data.data.FIELD_CONSTRUCTOR_TABLE, keyed by dataformat.

Module inventory (dataformat -> module.Class):

    unknown, string  -> field_string.FieldString
    int              -> field_int.FieldInt
    float            -> field_float.FieldFloat
    boolean          -> field_boolean.FieldBoolean
    ipv4             -> field_ipv4.FieldIPV4
    date             -> field_date.FieldDate
    datetime         -> field_datetime.FieldDatetime
    time             -> field_time.FieldTime
    text             -> field_text.FieldText
    schema           -> field_schema.FieldSchema
    enumerate        -> field_enumerate.FieldEnumerate
    external         -> field_external.FieldExternal
    file             -> field_file.FieldFile
    password         -> field_password.FieldPassword
    permission       -> field_permission.FieldPermission

field.py holds the common base class Field (shared value/cardinality/export/
merge/validation logic) that every module above subclasses.
"""
