Skip to content

Commit 72b220d

Browse files
committed
feat: Improve types, using Template alias type.
1 parent 0a120ab commit 72b220d

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/BetterEmbed.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ import {MessageEmbed, MessageEmbedOptions} from 'discord.js';
22

33
type AnyObject = {[k: string]: any};
44

5-
type Templates = {[k in string | 'basic' | 'color' | 'complete' | 'image']: MessageEmbedOptions}
5+
type Template = MessageEmbedOptions;
6+
7+
type Templates = {[k in string | 'basic' | 'color' | 'complete' | 'image']: Template}
68

79
export const templates: Templates = {
810
basic: {
@@ -50,19 +52,19 @@ export const limits = {
5052
};
5153

5254
export class BetterEmbed extends MessageEmbed {
53-
public constructor(data?: MessageEmbed | MessageEmbedOptions) {
55+
public constructor(data?: MessageEmbed | Template) {
5456
super(data);
5557
this.checkSize();
5658
}
5759

58-
public static fromTemplate(template: keyof Templates | MessageEmbedOptions, values: AnyObject) {
60+
public static fromTemplate(template: keyof Templates | Template, values: AnyObject): BetterEmbed {
5961
if (typeof template === 'string')
6062
if (templates[template]) template = templates[template];
6163
else throw new Error(`Template '${template}' not found.`);
6264

6365
template = JSON.parse(JSON.stringify(template));
6466

65-
function setValues(object: AnyObject, values: AnyObject): MessageEmbedOptions {
67+
function setValues(object: AnyObject, values: AnyObject): Template {
6668
for (const [name, value] of Object.entries(object)) {
6769
if (!object.hasOwnProperty(name)) continue;
6870
if (Array.isArray(value)) object[name] = value.map(v => setValues(v, values));

0 commit comments

Comments
 (0)