CustomObject table that can be accessed via the Tooling API includes fields like:
that provide enough information for a Custom Object API name to be constructed as e.g.
Platform Events (that also appear in this table) require a
__e suffix not a
__c suffix, but I don't see any field that signals that apart from the fragile convention that the the
DeveloperName ends in
Am I missing something here?
(I have some permission set filtering logic driven by
CustomField and this problem is making the code ugly.)