Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

types(Interaction): Narrow memberPermissions #7054

Merged
merged 1 commit into from
Dec 2, 2021
Merged

types(Interaction): Narrow memberPermissions #7054

merged 1 commit into from
Dec 2, 2021

Conversation

Jiralite
Copy link
Member

@Jiralite Jiralite commented Dec 1, 2021

Please describe the changes this PR makes and why it should be merged:
Narrowing this type as it is present from guilds.

Note: Prettier modified the file elsewhere.

Status and versioning classification:

  • Code changes have been tested against the Discord API, or there are no code changes
  • I know how to update typings and have done so, or typings don't need updating

@vladfrangu
Copy link
Member

Won't this make it return null for non cached guilds?

@Jiralite
Copy link
Member Author

Jiralite commented Dec 1, 2021

Won't this make it return null for non cached guilds?

The RawType (from a guild, specifically raw) and PresentType (from a guild) defaults to the CachedType (from a guild, specifically cached) in this case, so no:

export type CacheTypeReducer<
  State extends CacheType,
  CachedType,
  RawType = CachedType,
  PresentType = CachedType | RawType,
  Fallback = PresentType | null,
> = [State] extends ['cached']
  ? CachedType
  : [State] extends ['raw']
  ? RawType
  : [State] extends ['present']
  ? PresentType
  : Fallback;

The only time it will be null is in the fallback where no guild checks are done as it is not possible to receive this from a direct message.

@iCrawl iCrawl added this to the Version 13.4 milestone Dec 2, 2021
@iCrawl iCrawl merged commit 01f8d1b into discordjs:main Dec 2, 2021
Koyamie added a commit to Koyamie/discord.js that referenced this pull request Dec 2, 2021
commit 01f8d1b
Author: Jiralite <33201955+Jiralite@users.noreply.github.com>
Date:   Thu Dec 2 13:29:54 2021 +0000

    types(Interaction): Narrow `memberPermissions` (discordjs#7054)

commit 5fcda73
Author: That_Guy977 <72870724+That-Guy977@users.noreply.github.com>
Date:   Thu Dec 2 20:29:21 2021 +0700

    fix(GuildChannel): default to `this.rawPosition` in `clone()` (discordjs#7057)

commit 552d89f
Author: Rodry <38259440+ImRodry@users.noreply.github.com>
Date:   Wed Dec 1 11:40:49 2021 +0000

    feat(Guild): add premiumProgressbarEnabled (discordjs#6887)

    Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>

commit b183a8e
Author: Rodry <38259440+ImRodry@users.noreply.github.com>
Date:   Wed Dec 1 11:33:28 2021 +0000

    docs(Invite): add info blocks for missing props (discordjs#7014)

commit da86bd4
Author: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com>
Date:   Wed Dec 1 06:33:11 2021 -0500

    fix: Interaction channel type should be `GuildTextBasedChannels` when in guild (discordjs#6998)

commit c07207f
Author: That_Guy977 <72870724+That-Guy977@users.noreply.github.com>
Date:   Wed Dec 1 18:32:13 2021 +0700

    fix(Util): fix sorting for GuildChannels (discordjs#7002)

commit 4fe063f
Author: GrapeColor <40069549+GrapeColor@users.noreply.github.com>
Date:   Wed Dec 1 20:31:37 2021 +0900

    feat: add `UserContextMenuInteraction` and `MessageContextMenuInteraction` (discordjs#7003)

    Co-authored-by: Rodry <38259440+ImRodry@users.noreply.github.com>
    Co-authored-by: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com>
    Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
    Co-authored-by: GrapeColor <grapecolor@users.noreply.github.com>

commit a39d8c4
Author: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com>
Date:   Wed Dec 1 06:28:22 2021 -0500

    Revert "types(ApplicationCommandManager): Deprecate old `*Data` type …usages and allow camel cased dapi types to be used (discordjs#7052)

commit 85e6812
Author: Jiralite <33201955+Jiralite@users.noreply.github.com>
Date:   Wed Dec 1 11:27:24 2021 +0000

    docs(MessageReference): Fix static link (discordjs#7041)

commit e305156
Author: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com>
Date:   Mon Nov 29 13:32:26 2021 -0500

    chore: bump deps (discordjs#7048)

commit 374f970
Author: Antonio Román <kyradiscord@gmail.com>
Date:   Mon Nov 29 11:20:52 2021 +0100

    chore: add myself as contributor in package.json (discordjs#7037)

commit e59fac3
Author: Antonio Román <kyradiscord@gmail.com>
Date:   Mon Nov 29 11:20:18 2021 +0100

    refactor(SnowflakeUtil): clean up utils and improve perf (discordjs#7036)

commit fd63139
Author: Antonio Román <kyradiscord@gmail.com>
Date:   Mon Nov 29 11:19:32 2021 +0100

    fix(MessageManager): do not use `client.emojis` (discordjs#7039)

commit 0193efa
Author: Antonio Román <kyradiscord@gmail.com>
Date:   Mon Nov 29 11:19:21 2021 +0100

    fix(ActionsManager): revert to manual requires (discordjs#7034)

commit fabd343
Author: Antonio Román <kyradiscord@gmail.com>
Date:   Mon Nov 29 11:18:41 2021 +0100

    fix(MessagePayload): prevent spread of `undefined` (discordjs#7029)

commit 2c91c48
Author: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com>
Date:   Mon Nov 29 05:17:57 2021 -0500

    types(ApplicationCommandManager): Deprecate old `*Data` type usages and allow camel cased dapi types to be used (discordjs#6959)
@Jiralite Jiralite deleted the narrow-memberPermissions branch December 2, 2021 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants