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(ApplicationCommandManager): Deprecate old *Data type usages and allow camel cased dapi types to be used #6959

Merged
merged 14 commits into from
Nov 29, 2021

Conversation

suneettipirneni
Copy link
Member

Please describe the changes this PR makes and why it should be merged:

Ref: #6958

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

@ImRodry
Copy link
Contributor

ImRodry commented Nov 9, 2021

Do we really need to add a dependency for types only? Most people don't use typescript and the package offers much more than the type that is being imported, I believe we could simply create the type ourselves instead

@suneettipirneni
Copy link
Member Author

Do we really need to add a dependency for types only? Most people don't use typescript and the package offers much more than the type that is being imported, I believe we could simply create the type ourselves instead

It's a dev dep, so why does it matter. And the camel case util type here is more sophisticated. It's not that simple to implement one our own that's as robust as this one.

@ImRodry
Copy link
Contributor

ImRodry commented Nov 9, 2021

If it’s a dev dev then these types won’t even work at all because the package wouldn’t get installed. We can simply copy the type from them and add it ourselves

@almeidx
Copy link
Member

almeidx commented Nov 9, 2021

type Camelize<S extends string> = S extends `${infer FirstPart}_${infer Rest}`
    ? `${FirstPart}${Capitalize<Camelize<Rest>>}`
    : S;

type CamelizeDeep<T> = T extends Array<infer Inner>
    ? Array<CamelizeDeep<Inner>>
    : T extends object
        ? { [Key in keyof T as Camelize<Key & string>]: CamelizeDeep<T[Key]> }
        : T;

playground

@ImRodry
Copy link
Contributor

ImRodry commented Nov 9, 2021

Should probably revert the package-lock changes?

typings/index.d.ts Show resolved Hide resolved
@suneettipirneni
Copy link
Member Author

We won't be using our own version of Camelizer. We are going to stick with the package that was originally brought up in this PR.

@suneettipirneni suneettipirneni marked this pull request as ready for review November 9, 2021 17:46
typings/index.d.ts Outdated Show resolved Hide resolved
tslint.json Show resolved Hide resolved
@vladfrangu
Copy link
Member

Well what do ya know! This needs a rebase

Copy link
Member

@vladfrangu vladfrangu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

typings/tests.ts Outdated Show resolved Hide resolved
@iCrawl
Copy link
Member

iCrawl commented Nov 23, 2021

This needs another rebase for the new type testing PR that landed.

@iCrawl iCrawl merged commit 2c91c48 into discordjs:main Nov 29, 2021
@iCrawl iCrawl modified the milestones: Version 13.x, Version 13.4 Nov 29, 2021
suneettipirneni added a commit to suneettipirneni/discord.js that referenced this pull request Nov 30, 2021
…usages and allow camel cased dapi types to be used (discordjs#6959)"

This reverts commit 2c91c48.
Koyamie added a commit to Koyamie/discord.js that referenced this pull request Dec 2, 2021
commit 01f8d1b
Author: Jiralite <[email protected]>
Date:   Thu Dec 2 13:29:54 2021 +0000

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

commit 5fcda73
Author: That_Guy977 <[email protected]>
Date:   Thu Dec 2 20:29:21 2021 +0700

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

commit 552d89f
Author: Rodry <[email protected]>
Date:   Wed Dec 1 11:40:49 2021 +0000

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

    Co-authored-by: Vlad Frangu <[email protected]>

commit b183a8e
Author: Rodry <[email protected]>
Date:   Wed Dec 1 11:33:28 2021 +0000

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

commit da86bd4
Author: Suneet Tipirneni <[email protected]>
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 <[email protected]>
Date:   Wed Dec 1 18:32:13 2021 +0700

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

commit 4fe063f
Author: GrapeColor <[email protected]>
Date:   Wed Dec 1 20:31:37 2021 +0900

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

    Co-authored-by: Rodry <[email protected]>
    Co-authored-by: Suneet Tipirneni <[email protected]>
    Co-authored-by: Vlad Frangu <[email protected]>
    Co-authored-by: GrapeColor <[email protected]>

commit a39d8c4
Author: Suneet Tipirneni <[email protected]>
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 <[email protected]>
Date:   Wed Dec 1 11:27:24 2021 +0000

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

commit e305156
Author: Suneet Tipirneni <[email protected]>
Date:   Mon Nov 29 13:32:26 2021 -0500

    chore: bump deps (discordjs#7048)

commit 374f970
Author: Antonio Román <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date:   Mon Nov 29 11:19:32 2021 +0100

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

commit 0193efa
Author: Antonio Román <[email protected]>
Date:   Mon Nov 29 11:19:21 2021 +0100

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

commit fabd343
Author: Antonio Román <[email protected]>
Date:   Mon Nov 29 11:18:41 2021 +0100

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

commit 2c91c48
Author: Suneet Tipirneni <[email protected]>
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)
@suneettipirneni suneettipirneni deleted the typings/camelize-interop branch February 7, 2022 16:24
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.

8 participants