+#!/usr/bin/env python3
# pyac -- Python YAC implementation
# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
#
return b"".join(raws)
if isinstance(v, (list, tuple)):
return b"".join([_byte(TagList)] + [dumps(i) for i in v] + [_byte(TagEOC)])
+ if isinstance(v, set):
+ if not all(isinstance(i, str) for i in v):
+ raise ValueError("set can contain only strings")
+ return dumps({i: None for i in v})
if isinstance(v, dict):
raws = [_byte(TagMap)]
for k in sorted(v.keys(), key=LenFirstSort):