Allow schema encoding (auto-)escapes

This commit is contained in:
Tony Garnock-Jones 2022-01-12 14:07:32 +01:00
parent 8f99f14b92
commit 61ef91a958
1 changed files with 8 additions and 0 deletions

View File

@ -279,7 +279,15 @@ class Definition(SchemaObject):
def __setitem__(self, name, value):
return safesetattr(self, name, value)
class escape:
def __init__(self, escaped):
self.escaped = escaped
def __escape_schema__(self):
return self.escaped
def encode(p, v):
if hasattr(v, '__escape_schema__'):
return preserve(v.__escape_schema__())
if p == ANY:
return v
if p.key == NAMED: