Skip to content

Commit c0e4a88

Browse files
committed
Added checkSize method, executed in constructor.
1 parent 51f3e57 commit c0e4a88

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/BetterEmbed.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,18 @@ export default class BetterEmbed extends MessageEmbed {
4848

4949
public constructor(data?: MessageEmbed | MessageEmbedOptions) {
5050
super(data);
51+
this.checkSize();
52+
}
53+
54+
checkSize() {
55+
if (this.title && this.title.length > BetterEmbed.limits.title) throw new RangeError(`embed.title is too long (${BetterEmbed.limits.title}).`);
56+
if (this.author?.name && this.author.name.length > BetterEmbed.limits.author.name) throw new RangeError(`embed.author.name is too long (${BetterEmbed.limits.author.name}).`);
57+
if (this.description && this.description.length > BetterEmbed.limits.description) throw new RangeError(`embed.description is too long (${BetterEmbed.limits.description}).`);
58+
if (this.title && this.title.length > BetterEmbed.limits.title) throw new RangeError(`embed.title is too long (${BetterEmbed.limits.title}).`);
59+
if (this.fields?.length > BetterEmbed.limits.fields.size) throw new RangeError(`Too much fields is too long (${BetterEmbed.limits.fields.size}).`);
60+
this.fields.forEach(field => {
61+
if (field.name?.length > BetterEmbed.limits.fields.name) throw new RangeError(`embed.fields[${this.fields.indexOf(field)}].name is too long (${BetterEmbed.limits.fields.name}).`);
62+
if (field.value?.length > BetterEmbed.limits.fields.value) throw new RangeError(`embed.fields[${this.fields.indexOf(field)}].value is too long (${BetterEmbed.limits.fields.value}).`);
63+
});
5164
}
5265
}

0 commit comments

Comments
 (0)