3 from don import constants
6 int: constants.DEFAULT_INTEGER_ENCODING,
7 float: constants.DEFAULT_DECIMAL_ENCODING,
8 bytes: constants.BINARY,
9 str: constants.DEFAULT_STRING_ENCODING,
11 dict: constants.DICTIONARY,
12 collections.OrderedDict: constants.DICTIONARY,
15 TaggedObject = collections.namedtuple('TaggedObject', ['tag', 'value'])
18 if isinstance(o, TaggedObject):
22 return TaggedObject(tag = constants.VOID, value = o)
25 return TaggedObject(tag = constants.TRUE, value = o)
28 return TaggedObject(tag = constants.FALSE, value = o)
30 return TaggedObject(tag = _TYPES_TO_TAGS[type(o)], value = o)
32 ParseResult = collections.namedtuple(
41 _FAILED_PARSE_RESULT = ParseResult(success = False, value = None, remaining = None)