def handle_tagged_value(state, p): tag_name = p[0].value[1:] if tag_name in state.tagged: constr = state.tagged[tag_name] return constr(p[1]) elif state.accept_unknown_tags: return TaggedValue(tag_name, p[1]) else: raise KeyError( "No registered constructor for tag '{}'".format(tag_name))
def marshal_top(self, obj, cache=None): """Given a complete object that needs to be marshaled into Transit data, and optionally a cache, dispatch accordingly, and flush the data directly into the IO stream. """ if not cache: cache = RollingCache() handler = self.handlers[obj] tag = handler.tag(obj) if tag: if len(tag) == 1: self.marshal(TaggedValue(QUOTE, obj), False, cache) else: self.marshal(obj, False, cache) self.flush() else: raise AssertionError("Handler must provide a non-nil tag: " + str(handler))
def __init__(self, rep): TaggedValue.__init__(self, 'char', rep)
def __init__(self, value): TaggedValue.__init__(self, "y.Error", value)
print(str(loads("[1]"))) print(repr(loads("()"))) print(str(loads("()"))) print(repr(loads("([] () {} #{})"))) print(str(loads("([] () {} #{})"))) print(repr(loads("(1)"))) print(str(loads("(1)"))) print(repr(loads("(1 true nil)"))) print(str(loads("(1 true nil)"))) print(repr(loads("{:foo 42}"))) print(str(loads("{:foo 42}"))) print(repr(loads("{:foo 42 bar true \\a 12.3}"))) print(str(loads("{:foo 42 bar true \\a 12.3}"))) print(repr(loads("#y.Error {:foo 42}", {"y.Error": YError}))) print(str(loads("#y.Error {:foo 42}", {"y.Error": YError}))) print() print(dumps("asd")) print(dumps(loads(r'"a\"sd"'))) print( dumps( loads( "(1 true nil [1.2 {:foo 42 bar true \\a 12.3 \"asd\" \\newline}])" ))) print(dumps(TaggedValue("y.Error", loads('{:reason "asd" :status 500}')))) print(dumps(loads("#y.Error {:foo 42}", {"y.Error": YError}))) print(dumps(loads("#y.Error {:foo 42}", accept_unknown_tags=True))) print(dumps(loads("[{[:a] (:b :c)}]"))) print(dumps(loads("[{(:a) [:b :c]}]")))
"bbb": 6 })) exemplar("maps_four_char_string_keys", ({ "aaaa": 1, "bbbb": 2 }, { "aaaa": 3, "bbbb": 4 }, { "aaaa": 5, "bbbb": 6 })) exemplar("maps_unrecognized_keys", ( TaggedValue("abcde", Keyword("anything")), TaggedValue("fghij", Keyword("anything-else")), )) exemplar("vector_special_numbers", (float("nan"), float("inf"), float("-inf"))) # Doesn't exist in simple examples but gave me tests to verify Link. #exemplar("link", Link("http://www.blah.com", "test", "test", "link", "test")) def make_hash_exemplar(n): exemplar("map_%s_nested" % (n, ), { Keyword("f"): hash_of_size(n), Keyword("s"): hash_of_size(n) })