20 DEFAULT_INTEGER_ENCODING = INT32
21 DEFAULT_DECIMAL_ENCODING = DOUBLE
22 DEFAULT_STRING_ENCODING = UTF8
24 TaggedObject = collections.namedtuple('TaggedObject', ['tag', 'value'])
27 int: DEFAULT_INTEGER_ENCODING,
28 float: DEFAULT_DECIMAL_ENCODING,
30 str: DEFAULT_STRING_ENCODING,
33 collections.OrderedDict: DICTIONARY,
37 if isinstance(o, TaggedObject):
41 return TaggedObject(tag = VOID, value = o)
44 return TaggedObject(tag = TRUE, value = o)
47 return TaggedObject(tag = FALSE, value = o)
49 return TaggedObject(tag = _TYPES_TO_TAGS[type(o)], value = o)