class Literal(ce.OneOfKeywordSchema): _one_of = [ ce.ExtendedSchemaNode(ce.ExtendedFloat()), ce.ExtendedSchemaNode(ce.ExtendedInteger()), ce.ExtendedSchemaNode(ce.ExtendedString()), ce.ExtendedSchemaNode(ce.ExtendedBoolean()), ]
class MappingWithType(ce.ExtendedMappingSchema): type = ce.ExtendedSchemaNode(colander.String())
class RequiredItem(ce.ExtendedMappingSchema): item = ce.ExtendedSchemaNode(colander.String())
class OneOfDifferentNested(ce.OneOfKeywordSchema): _one_of = [ ce.ExtendedSchemaNode(ce.ExtendedString() ), # strict string, no auto convert from int MappingSchema() ]
class VarMapStrDrop(ce.ExtendedMappingSchema): var_str = ce.ExtendedSchemaNode(colander.String(), variable="<var_str>", missing=colander.drop)
class BoolMap(ce.ExtendedMappingSchema): num = ce.ExtendedSchemaNode(ce.ExtendedBoolean())
class IntMap(ce.ExtendedMappingSchema): num = ce.ExtendedSchemaNode(ce.ExtendedInteger())
class FloatMap(ce.ExtendedMappingSchema): num = ce.ExtendedSchemaNode(ce.ExtendedFloat())
class Seq(ce.ExtendedSequenceSchema): item = ce.ExtendedSchemaNode(colander.String())
class DataItemDrop(DataMapDrop): id = ce.ExtendedSchemaNode(ce.ExtendedString())
class DataMapDrop(ce.ExtendedMappingSchema): field = ce.ExtendedSchemaNode(ce.ExtendedInteger(), missing=colander.drop)
class DataMap(ce.ExtendedMappingSchema): field = ce.ExtendedSchemaNode(ce.ExtendedInteger())
class VarMapStrReq(ce.ExtendedMappingSchema): var_str = ce.ExtendedSchemaNode(colander.String(), variable="<var_str>")
class VarMapStrDefault(ce.ExtendedMappingSchema): var_str = ce.ExtendedSchemaNode(colander.String(), variable="<var_str>", default="default")
class NormalMap(ce.ExtendedMappingSchema): known = ce.ExtendedSchemaNode(ce.ExtendedInteger())
class Seq(ce.ExtendedSequenceSchema): item = ce.ExtendedSchemaNode(ce.ExtendedFloat())
class Obj(ce.ExtendedMappingSchema): key = ce.ExtendedSchemaNode(colander.String())
class FloatMap(ce.ExtendedMappingSchema): num = ce.ExtendedSchemaNode(ce.ExtendedFloat(allow_string=True))
class OneOfStrMap(ce.OneOfKeywordSchema): _one_of = [ ce.ExtendedSchemaNode( colander.String()), # note: 'allow_empty=False' by default AnyMap() ]
class IntMap(ce.ExtendedMappingSchema): num = ce.ExtendedSchemaNode(ce.ExtendedInteger(allow_string=True))
class Map2(ce.ExtendedMappingSchema): field2 = ce.ExtendedSchemaNode(colander.String())
class MappingSchema(ce.ExtendedMappingSchema): value = ce.ExtendedSchemaNode( ce.ExtendedInteger()) # strict int, no auto convert to str
class SomeMap(ce.ExtendedMappingSchema): field = ce.ExtendedSchemaNode(colander.String())