@spatulox/simplediscordbot 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,7 +24,7 @@ export declare class GuildManager {
24
24
  /**
25
25
  * Fetch all members with retry (heavy operation)
26
26
  */
27
- static fetchAllMembers(guildId: string, MAX_ATTEMPTS?: number, RETRY_DELAY?: number): Promise<Collection<string, GuildMember>>;
27
+ static fetchAllMembers(guildId: string | Guild, MAX_ATTEMPTS?: number, RETRY_DELAY?: number): Promise<Collection<string, GuildMember>>;
28
28
  static listban(guildId: string, limit?: number): Promise<GuildBan[]>;
29
29
  static moveMember(memberId: string, fromChannelId: string, toChannelId: string): Promise<boolean>;
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GuildManager.d.ts","sourceRoot":"","sources":["../../../src/manager/guild/GuildManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,UAAU,EACV,KAAK,EACL,QAAQ,EACoB,OAAO,EACtC,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,YAAY;IAErB,gBAAuB,IAAI,qBAAe;IAC1C,gBAAuB,IAAI,0BAAmB;IAC9C,gBAAuB,OAAO,0BAAqB;IACnD,gBAAuB,MAAM,uBAAiB;IAE9C,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE;IAItB;;OAEG;WACU,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASvF;;OAEG;WACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IASzF;;OAEG;WACU,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQjF;;OAEG;WACU,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,EAAE,WAAW,GAAE,MAA4C,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;WAkB/J,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;WAe7D,UAAU,CACnB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;CAkDtB"}
1
+ {"version":3,"file":"GuildManager.d.ts","sourceRoot":"","sources":["../../../src/manager/guild/GuildManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,UAAU,EACV,KAAK,EACL,QAAQ,EACoB,OAAO,EACtC,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,YAAY;IAErB,gBAAuB,IAAI,qBAAe;IAC1C,gBAAuB,IAAI,0BAAmB;IAC9C,gBAAuB,OAAO,0BAAqB;IACnD,gBAAuB,MAAM,uBAAiB;IAE9C,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE;IAItB;;OAEG;WACU,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IASvF;;OAEG;WACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IASzF;;OAEG;WACU,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQjF;;OAEG;WACU,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,YAAY,GAAE,MAAU,EAAE,WAAW,GAAE,MAA4C,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;WAwBvK,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;WAe7D,UAAU,CACnB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;CAkDtB"}
@@ -53,9 +53,16 @@ class GuildManager {
53
53
  * Fetch all members with retry (heavy operation)
54
54
  */
55
55
  static async fetchAllMembers(guildId, MAX_ATTEMPTS = 3, RETRY_DELAY = UnitTime_1.Time.minute.MIN_05.toMilliseconds()) {
56
- const guild = Bot_1.Bot.client.guilds.cache.get(guildId);
57
- if (!guild)
58
- throw new Error(`Guild ${guildId} not found`);
56
+ let guild;
57
+ if (guildId instanceof discord_js_1.Guild) {
58
+ guild = guildId;
59
+ }
60
+ else {
61
+ let tmp = Bot_1.Bot.client.guilds.cache.get(guildId);
62
+ if (!tmp)
63
+ throw new Error(`Guild ${guildId} not found`);
64
+ guild = tmp;
65
+ }
59
66
  for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
60
67
  try {
61
68
  Log_1.Log.info(`UserManager: Fetching ${guild.name} members (attempt ${attempt})`);
@@ -1,6 +1,7 @@
1
1
  import { UserManager } from "../direct/UserManager";
2
- import { BanOptions } from "discord.js";
2
+ import { BanOptions, GuildMember } from "discord.js";
3
3
  export declare class GuildUserManager extends UserManager {
4
+ static rename(member: GuildMember, nickname: string, maxAttempts?: number): Promise<boolean>;
4
5
  /**
5
6
  * Check if user is banned from guild
6
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GuildUserManager.d.ts","sourceRoot":"","sources":["../../../src/manager/guild/GuildUserManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAEtC,qBAAa,gBAAiB,SAAQ,WAAW;IAE7C;;OAEG;WACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBxE;;OAEG;WACU,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjF;;OAEG;WACU,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa3E;;OAEG;WACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpF;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActF;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActF;;OAEG;WACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxF;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzG;;OAEG;WACU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczF;;OAEG;WACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAcvE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;WAe3E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CActF"}
1
+ {"version":3,"file":"GuildUserManager.d.ts","sourceRoot":"","sources":["../../../src/manager/guild/GuildUserManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAMnD,qBAAa,gBAAiB,SAAQ,WAAW;WAEhC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBrG;;OAEG;WACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBxE;;OAEG;WACU,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjF;;OAEG;WACU,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa3E;;OAEG;WACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpF;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActF;;OAEG;WACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActF;;OAEG;WACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxF;;OAEG;WACU,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzG;;OAEG;WACU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczF;;OAEG;WACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAcvE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;WAe3E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CActF"}
@@ -4,7 +4,30 @@ exports.GuildUserManager = void 0;
4
4
  const Bot_1 = require("../../bot/Bot");
5
5
  const Log_1 = require("../../utils/Log");
6
6
  const UserManager_1 = require("../direct/UserManager");
7
+ const promises_1 = require("timers/promises");
8
+ const EmbedManager_1 = require("../messages/EmbedManager");
9
+ const MAX_NICKNAME_LENGTH = 32;
7
10
  class GuildUserManager extends UserManager_1.UserManager {
11
+ static async rename(member, nickname, maxAttempts = 3) {
12
+ if (nickname.length > MAX_NICKNAME_LENGTH) {
13
+ nickname = nickname.slice(0, MAX_NICKNAME_LENGTH);
14
+ }
15
+ for (let attempts = 0; attempts < maxAttempts; attempts++) {
16
+ try {
17
+ const oldName = member.displayName;
18
+ await member.setNickname(nickname.trim());
19
+ Log_1.Log.info(`Renaming user: ${oldName} → ${nickname.trim()}`);
20
+ await (0, promises_1.setTimeout)(1500);
21
+ return true;
22
+ }
23
+ catch (error) {
24
+ console.error(`Attempt ${attempts + 1} failed when renaming ${member.displayName} into ${nickname.trim()}:`, error);
25
+ await (0, promises_1.setTimeout)(1000);
26
+ }
27
+ }
28
+ Bot_1.Bot.log.sendLog(EmbedManager_1.EmbedManager.error(`Failed to rename ${member.displayName} to ${nickname.trim()} after ${maxAttempts} attempts.`));
29
+ return false;
30
+ }
8
31
  /**
9
32
  * Check if user is banned from guild
10
33
  */
@@ -1,4 +1,4 @@
1
- import { EmbedBuilder, InteractionDeferReplyOptions } from "discord.js";
1
+ import { EmbedBuilder, InteractionDeferReplyOptions, InteractionEditReplyOptions, InteractionReplyOptions, MessageCreateOptions } from "discord.js";
2
2
  export declare enum EmbedColor {
3
3
  error = 8912917,
4
4
  success = 65280,
@@ -72,6 +72,11 @@ export declare class EmbedManager {
72
72
  * Quick field adder
73
73
  */
74
74
  static field(embed: EmbedBuilder, name: string, value: string, inline?: boolean): EmbedBuilder;
75
+ static fields(embed: EmbedBuilder, fields: {
76
+ name: string;
77
+ value: string;
78
+ inline?: boolean;
79
+ }[]): EmbedBuilder;
75
80
  /**
76
81
  * Fluent API shortcuts
77
82
  */
@@ -80,5 +85,13 @@ export declare class EmbedManager {
80
85
  static thumb(embed: EmbedBuilder, url: string): EmbedBuilder;
81
86
  static image(embed: EmbedBuilder, url: string): EmbedBuilder;
82
87
  static footer(embed: EmbedBuilder, text: string): EmbedBuilder;
88
+ /**
89
+ * Transform embed into objet for interaction.reply()
90
+ */
91
+ static toInteraction(embed: EmbedBuilder, ephemeral?: boolean): InteractionReplyOptions | InteractionEditReplyOptions;
92
+ /**
93
+ * Transform embed into objet to send a message
94
+ */
95
+ static toMessage(embed: EmbedBuilder): MessageCreateOptions;
83
96
  }
84
97
  //# sourceMappingURL=EmbedManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../src/manager/messages/EmbedManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,4BAA4B,EAE/B,MAAM,YAAY,CAAC;AAGpB,oBAAY,UAAU;IAClB,KAAK,UAAW;IAChB,OAAO,QAAW;IAClB,KAAK,IAAW;IAChB,KAAK,WAAW;IAChB,GAAG,WAAW;IACd,KAAK,QAAW;IAChB,IAAI,MAAW;IACf,MAAM,WAAW;IACjB,IAAI,QAAW;IACf,OAAO,WAAW;IAClB,IAAI,UAAW;IACf,SAAS,WAAW;IACpB,QAAQ,WAAW;IACnB,MAAM,WAAW;IACjB,MAAM,UAAW;IACjB,IAAI,WAAW;IACf,KAAK,WAAW;IAChB,IAAI,QAAW;IACf,IAAI,MAAW;IACf,IAAI,QAAW;IACf,KAAK,UAAW;IAChB,IAAI,WAAW;IACf,MAAM,WAAW;IACjB,KAAK,WAAW;IAChB,MAAM,WAAW;IACjB,KAAK,WAAW;IAChB,IAAI,WAAW;IACf,QAAQ,WAAW;IACnB,KAAK,WAAW;IAChB,IAAI,WAAW;IACf,KAAK,WAAW;IAChB,SAAS,WAAW;IACpB,OAAO,WAAW;IAClB,OAAO,WAAW;IAClB,OAAO,UAAW;IAClB,SAAS,QAAW;CACvB;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,KAAK,QAAQ,GAE1B;IACD,OAAO,CAAC,MAAM,KAAK,aAAa,GAE/B;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,GAAE,UAAU,GAAG,IAAW,GAAG,YAAY;IAc5D;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,GAAE,UAAU,GAAG,IAAW,GAAG,YAAY;IAOjF;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAM/C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAMjD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAKrD;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAM/C;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,4BAA4B;IAIrD;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,YAAY;IAIrG;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY;IAI9D,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY;IAInE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY;IAI5D,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY;IAI5D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY;CAGjE"}
1
+ {"version":3,"file":"EmbedManager.d.ts","sourceRoot":"","sources":["../../../src/manager/messages/EmbedManager.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,12 @@ class EmbedManager {
116
116
  static field(embed, name, value, inline = false) {
117
117
  return embed.addFields({ name, value, inline });
118
118
  }
119
+ static fields(embed, fields) {
120
+ fields.forEach((f) => {
121
+ embed.addFields({ name: f.name, value: f.value, inline: f.inline ?? false });
122
+ });
123
+ return embed;
124
+ }
119
125
  /**
120
126
  * Fluent API shortcuts
121
127
  */
@@ -134,5 +140,22 @@ class EmbedManager {
134
140
  static footer(embed, text) {
135
141
  return embed.setFooter({ text, iconURL: this.BOT_ICON });
136
142
  }
143
+ /**
144
+ * Transform embed into objet for interaction.reply()
145
+ */
146
+ static toInteraction(embed, ephemeral = false) {
147
+ return {
148
+ embeds: [embed],
149
+ flags: ephemeral ? [discord_js_1.MessageFlags.Ephemeral] : undefined
150
+ };
151
+ }
152
+ /**
153
+ * Transform embed into objet to send a message
154
+ */
155
+ static toMessage(embed) {
156
+ return {
157
+ embeds: [embed]
158
+ };
159
+ }
137
160
  }
138
161
  exports.EmbedManager = EmbedManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spatulox/simplediscordbot",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "author": "Spatulox",
5
5
  "description": "Simple discord bot framework to set up a bot under 30 secondes",
6
6
  "exports": "./dist/index.js",
@@ -10,6 +10,8 @@
10
10
  ],
11
11
  "scripts": {
12
12
  "build": "tsc",
13
+ "patch": "rm -rf ./dist && npm run build && npm version patch",
14
+ "publish": "npm run patch && npm publish --access public",
13
15
  "dev": "nodemon --exec tsx src/test/index.ts"
14
16
  },
15
17
  "license": "MIT",