Best Practice Target Capability: Data Type Failsafe
aaronsteers opened this issue · 0 comments
aaronsteers commented
We've run into many, many cases where a specific target receives a JSON schema type that it doesn't expect and then immediately terminates the entire stream.
Rather than failing the sync entirely, we'd like to propose a best practice of always having a failsafe data type which handles two common scenarios:
- A
catch
for parsing exceptions when reading the json schema type. For instance, a$ref
or missingproperties
can causeKeyError
during type evaluation. These should be caught and handled with a default type - such asstring
. - A final
else
statement at the end of all known cases. Similarly as with the above, if all known cases are evaluated and we've received a type we don't recognize, we should again default tostring
of similar so that the node's data can still be serialized without terminating the sync.