Skip to content

Add property for telling apart skeleton entities from non-skeleton entities #977

@uwx

Description

@uwx

Summary

Add a property, such as IsSkeleton, for telling apart skeleton entities from non-skeleton entities

Details

Currently the lib lacks a consistent way of exposing a flag to tell whether an entity is a skeleton (contains only valid Id and Discord properties) or complete, which ends up prompting very dirty and non-future-proof for detecting whether an entity has data, such as checking other arbitrary properties. This type of check depends heavily on Discord or the library not changing, otherwise a property which previously would've only been present on non-skeleton entities may no longer be the case in the future.

I thought about this property being a boolean that gets manually assigned everywhere, but this may be a flawed system as DiscordJson.PopulateObject could in theory be used to turn a skeleton object into one that holds data, without updating the flag. It could instead be an abstract property that is implemented by each entity as a computed property that looks up the existence of some other property which is guaranteed to not be present in skeleton entities and to always be present in non-skeleton entities.

Notes

Somewhat related to #583, as eradicating skeleton objects would make this issue irrelevant.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Effort

    None yet

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions