Type-hint object.py

This commit is contained in:
Josh 2021-05-06 00:29:07 +10:00 committed by GitHub
parent c69b20c52c
commit 7fde57c89a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -22,9 +22,21 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
from __future__ import annotations
from . import utils
from .mixins import Hashable
from typing import (
SupportsInt,
TYPE_CHECKING,
Union,
)
if TYPE_CHECKING:
import datetime
SupportsIntCast = Union[SupportsInt, str, bytes, bytearray]
__all__ = (
'Object',
)
@ -63,7 +75,7 @@ class Object(Hashable):
The ID of the object.
"""
def __init__(self, id):
def __init__(self, id: SupportsIntCast):
try:
id = int(id)
except ValueError:
@ -71,10 +83,10 @@ class Object(Hashable):
else:
self.id = id
def __repr__(self):
def __repr__(self) -> str:
return f'<Object id={self.id!r}>'
@property
def created_at(self):
def created_at(self) -> datetime.datetime:
""":class:`datetime.datetime`: Returns the snowflake's creation time in UTC."""
return utils.snowflake_time(self.id)