summary refs log tree commit diff
path: root/dist/util/Snowflake.d.ts
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-02-05 22:01:01 +0100
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-02-05 22:01:01 +0100
commitea41892fef208b10c1bb322de7683c39ebab3dd5 (patch)
treef26559c73196591ac0338a21908a25c806276a7a /dist/util/Snowflake.d.ts
parentMove Models/Schemas to server-util (diff)
downloadserver-ea41892fef208b10c1bb322de7683c39ebab3dd5.tar.xz
:wrench: build
Diffstat (limited to 'dist/util/Snowflake.d.ts')
-rw-r--r--dist/util/Snowflake.d.ts58
1 files changed, 58 insertions, 0 deletions
diff --git a/dist/util/Snowflake.d.ts b/dist/util/Snowflake.d.ts
new file mode 100644

index 00000000..bd8c05bb --- /dev/null +++ b/dist/util/Snowflake.d.ts
@@ -0,0 +1,58 @@ +/** + * A container for useful snowflake-related methods. + */ +export declare class Snowflake { + static readonly EPOCH = 1420070400000; + static INCREMENT: bigint; + static processId: bigint; + static workerId: bigint; + constructor(); + /** + * A Twitter snowflake, except the epoch is 2015-01-01T00:00:00.000Z + * ``` + * If we have a snowflake '266241948824764416' we can represent it as binary: + * + * 64 22 17 12 0 + * 000000111011000111100001101001000101000000 00001 00000 000000000000 + * number of ms since Discord epoch worker pid increment + * ``` + * @typedef {string} Snowflake + */ + /** + * Transforms a snowflake from a decimal string to a bit string. + * @param {Snowflake} num Snowflake to be transformed + * @returns {string} + * @private + */ + static idToBinary(num: any): string; + /** + * Transforms a snowflake from a bit string to a decimal string. + * @param {string} num Bit string to be transformed + * @returns {Snowflake} + * @private + */ + static binaryToID(num: any): string; + static generate(): bigint; + /** + * A deconstructed snowflake. + * @typedef {Object} DeconstructedSnowflake + * @property {number} timestamp Timestamp the snowflake was created + * @property {Date} date Date the snowflake was created + * @property {number} workerID Worker ID in the snowflake + * @property {number} processID Process ID in the snowflake + * @property {number} increment Increment in the snowflake + * @property {string} binary Binary representation of the snowflake + */ + /** + * Deconstructs a Discord snowflake. + * @param {Snowflake} snowflake Snowflake to deconstruct + * @returns {DeconstructedSnowflake} Deconstructed snowflake + */ + static deconstruct(snowflake: any): { + timestamp: any; + workerID: number; + processID: number; + increment: number; + binary: string; + }; +}