Skip to content

Commit

Permalink
chore: make requested changes
Browse files Browse the repository at this point in the history
  • Loading branch information
suneettipirneni committed Mar 14, 2022
1 parent b9251de commit fd8cc10
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 24 deletions.
2 changes: 1 addition & 1 deletion packages/discord.js/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ exports.Role = require('./structures/Role').Role;
exports.SelectMenuBuilder = require('./structures/SelectMenuBuilder');
exports.SelectMenuComponent = require('./structures/SelectMenuComponent');
exports.SelectMenuInteraction = require('./structures/SelectMenuInteraction');
exports.SelectMenuOption = require('./structures/SelectMenuOption');
exports.SelectMenuOptionBuilder = require('./structures/SelectMenuOptionBuilder');
exports.StageChannel = require('./structures/StageChannel');
exports.StageInstance = require('./structures/StageInstance').StageInstance;
exports.Sticker = require('./structures/Sticker').Sticker;
Expand Down
13 changes: 13 additions & 0 deletions packages/discord.js/src/structures/ButtonBuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,25 @@

const { ButtonBuilder: BuildersButtonComponent, isJSONEncodable } = require('@discordjs/builders');
const Transformers = require('../util/Transformers');
const Util = require('../util/Util');

class ButtonBuilder extends BuildersButtonComponent {
constructor(data) {
super(Transformers.toSnakeCase(data));
}

/**
* Sets the emoji to display on this button
* @param {string|APIMessageComponentEmoji} emoji The emoji to display on this button
* @returns {ButtonComponent}
*/
setEmoji(emoji) {
if (typeof emoji === 'string') {
return super.setEmoji(Util.parseEmoji(emoji));
}
return super.setEmoji(emoji);
}

/**
* Creates a new button builder from json data
* @param {JSONEncodable<APIButtonComponent> | APIButtonComponent} other The other data
Expand Down
13 changes: 0 additions & 13 deletions packages/discord.js/src/structures/ButtonComponent.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict';

const Component = require('./Component');
const Util = require('../util/Util');

/**
* Represents a button component
Expand Down Expand Up @@ -61,18 +60,6 @@ class ButtonComponent extends Component {
get url() {
return this.data.url ?? null;
}

/**
* Sets the emoji to display on this button
* @param {ComponentEmojiResolvable} emoji The emoji to display on this button
* @returns {ButtonComponent}
*/
setEmoji(emoji) {
if (typeof emoji === 'string') {
return super.setEmoji(Util.parseEmoji(emoji));
}
return super.setEmoji(emoji);
}
}

module.exports = ButtonComponent;
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
'use strict';

const { SelectMenuOption: BuildersSelectMenuOption } = require('@discordjs/builders');
const { SelectMenuOptionBuilder: BuildersSelectMenuOption } = require('@discordjs/builders');
const Util = require('../util/Util');

/**
* Represents a select menu option
*/
class SelectMenuOption extends BuildersSelectMenuOption {
class SelectMenuOptionBuilder extends BuildersSelectMenuOption {
/**
* Sets the emoji to display on this option
* @param {APIMessageComponentEmoji} emoji The emoji to display on this option
* @returns {SelectMenuOption}
* @param {ComponentEmojiResolvable} emoji The emoji to display on this option
* @returns {SelectMenuOptionBuilder}
*/
setEmoji(emoji) {
if (typeof emoji === 'string') {
Expand All @@ -20,4 +20,4 @@ class SelectMenuOption extends BuildersSelectMenuOption {
}
}

module.exports = SelectMenuOption;
module.exports = SelectMenuOptionBuilder;
5 changes: 2 additions & 3 deletions packages/discord.js/typings/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,7 @@ export type ComponentEmojiResolvable = APIMessageComponentEmoji | string;
export class ButtonBuilder extends BuilderButtonComponent {
public constructor(data?: ButtonComponentData | (Omit<APIButtonComponent, 'type'> & { type?: ComponentType.Button }));
public static from(other: JSONEncodable<APIButtonComponent> | APIButtonComponent): ButtonBuilder;
public override setEmoji(emoji: string | ComponentEmojiResolvable): this;
public override setEmoji(emoji: ComponentEmojiResolvable): this;
}

export class SelectMenuBuilder extends BuilderSelectMenuComponent {
Expand All @@ -554,7 +554,7 @@ export class SelectMenuBuilder extends BuilderSelectMenuComponent {
public static from(other: JSONEncodable<APISelectMenuComponent> | APISelectMenuComponent): SelectMenuBuilder;
}

export class SelectMenuOption extends BuildersSelectMenuOption {
export class SelectMenuOptionBuilder extends BuildersSelectMenuOption {
public setEmoji(emoji: ComponentEmojiResolvable): this;
}

Expand Down Expand Up @@ -5348,7 +5348,6 @@ export {
export {
UnsafeButtonBuilder,
UnsafeSelectMenuBuilder,
SelectMenuOptionBuilder,
UnsafeSelectMenuOptionBuilder,
MessageActionRowComponentBuilder,
ModalActionRowComponentBuilder,
Expand Down
9 changes: 7 additions & 2 deletions packages/discord.js/typings/index.test-d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1370,8 +1370,13 @@ new ButtonBuilder({
})
.setEmoji('<a:foo:123>')
.setEmoji('<:foo:123>')
// @ts-expect-error
.setEmoji(':foobar:123');
.setEmoji('foobar:123')
.setEmoji('normal')
.setEmoji({
name: 'test',
id: '123',
animated: false,
});

// @ts-expect-error
new EmbedBuilder().setColor('abc');
Expand Down

0 comments on commit fd8cc10

Please sign in to comment.