2020-10-22 15:50:47 +00:00
|
|
|
import { Client } from '../models/client.ts'
|
2021-01-25 11:28:46 +00:00
|
|
|
import { Snowflake } from '../utils/snowflake.ts'
|
2020-10-24 18:11:27 +00:00
|
|
|
|
2020-10-22 15:50:47 +00:00
|
|
|
export class Base {
|
|
|
|
client: Client
|
2020-10-24 15:00:42 +00:00
|
|
|
|
2020-12-02 12:29:52 +00:00
|
|
|
constructor(client: Client, _data?: any) {
|
2020-10-22 15:50:47 +00:00
|
|
|
this.client = client
|
2020-10-21 16:30:42 +00:00
|
|
|
}
|
|
|
|
}
|
2021-01-25 11:28:46 +00:00
|
|
|
|
|
|
|
export class SnowflakeBase extends Base {
|
|
|
|
id!: string
|
|
|
|
|
|
|
|
/** Get Snowflake Object */
|
|
|
|
get snowflake(): Snowflake {
|
|
|
|
return new Snowflake(this.id)
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Timestamp of when resource was created */
|
|
|
|
get timestamp(): Date {
|
|
|
|
return new Date(this.snowflake.timestamp)
|
|
|
|
}
|
|
|
|
}
|