diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-12-27 13:12:49 -0500 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-12-27 13:12:49 -0500 |
commit | e05f25f4b98cac3c2409cee9a664ab5ea6251467 (patch) | |
tree | f8e3dc4fde8f6deaa543b910acb9a725abbac999 /src/arguments | |
parent | 84f246ebb5ddee984012d3043dcc67ffae806856 (diff) | |
download | tanzanite-e05f25f4b98cac3c2409cee9a664ab5ea6251467.tar.gz tanzanite-e05f25f4b98cac3c2409cee9a664ab5ea6251467.tar.bz2 tanzanite-e05f25f4b98cac3c2409cee9a664ab5ea6251467.zip |
better typings and some other stuff
Diffstat (limited to 'src/arguments')
-rw-r--r-- | src/arguments/abbreviatedNumber.ts | 2 | ||||
-rw-r--r-- | src/arguments/contentWithDuration.ts | 2 | ||||
-rw-r--r-- | src/arguments/discordEmoji.ts | 2 | ||||
-rw-r--r-- | src/arguments/duration.ts | 2 | ||||
-rw-r--r-- | src/arguments/durationSeconds.ts | 2 | ||||
-rw-r--r-- | src/arguments/globalUser.ts | 2 | ||||
-rw-r--r-- | src/arguments/index.ts | 10 | ||||
-rw-r--r-- | src/arguments/messageLink.ts | 3 | ||||
-rw-r--r-- | src/arguments/permission.ts | 2 | ||||
-rw-r--r-- | src/arguments/roleWithDuration.ts | 2 | ||||
-rw-r--r-- | src/arguments/snowflake.ts | 2 |
11 files changed, 21 insertions, 10 deletions
diff --git a/src/arguments/abbreviatedNumber.ts b/src/arguments/abbreviatedNumber.ts index 3a447d7..3027cb2 100644 --- a/src/arguments/abbreviatedNumber.ts +++ b/src/arguments/abbreviatedNumber.ts @@ -1,7 +1,7 @@ import { type BushArgumentTypeCaster } from '#lib'; import numeral from 'numeral'; -export const abbreviatedNumber: BushArgumentTypeCaster = (_, phrase): number | null => { +export const abbreviatedNumber: BushArgumentTypeCaster<number | null> = (_, phrase) => { if (!phrase) return null; const num = numeral(phrase?.toLowerCase()).value(); diff --git a/src/arguments/contentWithDuration.ts b/src/arguments/contentWithDuration.ts index 41cb9bb..3d87061 100644 --- a/src/arguments/contentWithDuration.ts +++ b/src/arguments/contentWithDuration.ts @@ -1,5 +1,5 @@ import { ParsedDuration, type BushArgumentTypeCaster } from '#lib'; -export const contentWithDuration: BushArgumentTypeCaster = async (_, phrase): Promise<ParsedDuration> => { +export const contentWithDuration: BushArgumentTypeCaster<Promise<ParsedDuration>> = async (_, phrase) => { return client.util.parseDuration(phrase); }; diff --git a/src/arguments/discordEmoji.ts b/src/arguments/discordEmoji.ts index a3c531c..d9428e1 100644 --- a/src/arguments/discordEmoji.ts +++ b/src/arguments/discordEmoji.ts @@ -1,7 +1,7 @@ import { type BushArgumentTypeCaster } from '#lib'; import { type Snowflake } from 'discord-api-types'; -export const discordEmoji: BushArgumentTypeCaster = (_, phrase): DiscordEmojiInfo | null => { +export const discordEmoji: BushArgumentTypeCaster<DiscordEmojiInfo | null> = (_, phrase) => { if (!phrase) return null; const validEmoji: RegExpExecArray | null = client.consts.regex.discordEmoji.exec(phrase); if (!validEmoji || !validEmoji.groups) return null; diff --git a/src/arguments/duration.ts b/src/arguments/duration.ts index 9cb1d03..58593ef 100644 --- a/src/arguments/duration.ts +++ b/src/arguments/duration.ts @@ -1,5 +1,5 @@ import { type BushArgumentTypeCaster } from '#lib'; -export const duration: BushArgumentTypeCaster = (_, phrase): number | null => { +export const duration: BushArgumentTypeCaster<number | null> = (_, phrase) => { return client.util.parseDuration(phrase).duration; }; diff --git a/src/arguments/durationSeconds.ts b/src/arguments/durationSeconds.ts index 8cbfa21..74d136f 100644 --- a/src/arguments/durationSeconds.ts +++ b/src/arguments/durationSeconds.ts @@ -1,6 +1,6 @@ import { type BushArgumentTypeCaster } from '#lib'; -export const durationSeconds: BushArgumentTypeCaster = (_, phrase): number | null => { +export const durationSeconds: BushArgumentTypeCaster<number | null> = (_, phrase) => { phrase += 's'; return client.util.parseDuration(phrase).duration; }; diff --git a/src/arguments/globalUser.ts b/src/arguments/globalUser.ts index 081eabf..89e8324 100644 --- a/src/arguments/globalUser.ts +++ b/src/arguments/globalUser.ts @@ -1,7 +1,7 @@ import { BushUser, type BushArgumentTypeCaster } from '#lib'; // resolve non-cached users -export const globalUser: BushArgumentTypeCaster = async (_, phrase): Promise<BushUser | null> => { +export const globalUser: BushArgumentTypeCaster<Promise<BushUser | null>> = async (_, phrase) => { return client.users.cache.has(phrase) ? client.users.cache.get(`${phrase}`) ?? null : await client.users.fetch(`${phrase}`).catch(() => null); diff --git a/src/arguments/index.ts b/src/arguments/index.ts new file mode 100644 index 0000000..eebf0a2 --- /dev/null +++ b/src/arguments/index.ts @@ -0,0 +1,10 @@ +export * from './abbreviatedNumber.js'; +export * from './contentWithDuration.js'; +export * from './discordEmoji.js'; +export * from './duration.js'; +export * from './durationSeconds.js'; +export * from './globalUser.js'; +export * from './messageLink.js'; +export * from './permission.js'; +export * from './roleWithDuration.js'; +export * from './snowflake.js'; diff --git a/src/arguments/messageLink.ts b/src/arguments/messageLink.ts index d270abd..80aacde 100644 --- a/src/arguments/messageLink.ts +++ b/src/arguments/messageLink.ts @@ -1,6 +1,7 @@ +import { Message } from 'discord.js'; import { type BushArgumentTypeCaster } from '../lib'; -export const messageLink: BushArgumentTypeCaster = async (_, phrase) => { +export const messageLink: BushArgumentTypeCaster<Promise<Message | null>> = async (_, phrase) => { const match = client.consts.regex.messageLink.exec(phrase); if (!match || !match.groups) return null; diff --git a/src/arguments/permission.ts b/src/arguments/permission.ts index b5ff4bf..7a43216 100644 --- a/src/arguments/permission.ts +++ b/src/arguments/permission.ts @@ -1,7 +1,7 @@ import { type BushArgumentTypeCaster } from '#lib'; import { Permissions, PermissionString } from 'discord.js'; -export const permission: BushArgumentTypeCaster = (_, phrase): PermissionString | null => { +export const permission: BushArgumentTypeCaster<PermissionString | null> = (_, phrase) => { if (!phrase) return null; phrase = phrase.toUpperCase().replace(/ /g, '_'); if (!(phrase in Permissions.FLAGS)) { diff --git a/src/arguments/roleWithDuration.ts b/src/arguments/roleWithDuration.ts index 999ac1c..b0357dd 100644 --- a/src/arguments/roleWithDuration.ts +++ b/src/arguments/roleWithDuration.ts @@ -1,7 +1,7 @@ import { type BushArgumentTypeCaster } from '#lib'; import { Role } from 'discord.js'; -export const roleWithDuration: BushArgumentTypeCaster = async (message, phrase): Promise<RoleWithDuration | null> => { +export const roleWithDuration: BushArgumentTypeCaster<Promise<RoleWithDuration | null>> = async (message, phrase) => { // eslint-disable-next-line prefer-const let { duration, contentWithoutTime } = client.util.parseDuration(phrase); if (contentWithoutTime === null || contentWithoutTime === undefined) return null; diff --git a/src/arguments/snowflake.ts b/src/arguments/snowflake.ts index 455ed63..15896ae 100644 --- a/src/arguments/snowflake.ts +++ b/src/arguments/snowflake.ts @@ -1,7 +1,7 @@ import { type BushArgumentTypeCaster } from '#lib'; import { type Snowflake } from 'discord.js'; -export const snowflake: BushArgumentTypeCaster = (_, phrase): Snowflake | null => { +export const snowflake: BushArgumentTypeCaster<Snowflake | null> = (_, phrase) => { if (!phrase) return null; if (client.consts.regex.snowflake.test(phrase)) return phrase; return null; |