in src/jsii2schema.ts [466:494]
function isSerializableType(type: jsiiReflect.Type, errorPrefix?: string): boolean {
// if this is a cosntruct class, we can represent it as a "Ref"
if (isConstruct(type)) {
return true;
}
if (isEnum(type)) {
return true;
}
if (isSerializableInterface(type)) {
return true;
}
// if this is a class that looks like an enum, we can represent it
if (isEnumLikeClass(type)) {
return true;
}
if (allImplementationsOfType(type).length > 0) {
return true;
}
if (errorPrefix) {
console.error(errorPrefix, `${type} is not serializable`);
}
return false;
}