string-select-unlimited 1.1.2 → 1.1.4

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.
package/README.md CHANGED
@@ -4,6 +4,10 @@ A wrapper around discord.js `StringSelectMenu` to bypass Discord's 25 option lim
4
4
 
5
5
  - Used by [Pokecord++](https://pokecord.org) and [Audicy](https://audicy.xyz) Discord bots.
6
6
 
7
+ # Install
8
+
9
+ `npm install string-select-unlimited`
10
+
7
11
  # Usage
8
12
 
9
13
  ## Constructor
@@ -0,0 +1,36 @@
1
+ import { StringSelectMenuBuilder, type SelectMenuComponentOptionData } from "discord.js";
2
+ import type { APISelectMenuOption } from 'discord-api-types/v10';
3
+ import type { PageData } from "./typings/PageData.js";
4
+ import type { StringSelectUnlimitedOptions } from "./typings/StringSelectUnlimitedOptions.js";
5
+ export declare class StringSelectUnlimited extends StringSelectMenuBuilder {
6
+ private menuOptions;
7
+ private page;
8
+ private pageData;
9
+ private totalPages;
10
+ private totalItems;
11
+ private placeholder;
12
+ private menuLimit;
13
+ /**
14
+ * @param page Initial page number
15
+ * @param totalItems Total number of items
16
+ * @param pageMetadata Metadata to stringify along with page option
17
+ */
18
+ constructor({ page, totalItems, pageMetadata, }: StringSelectUnlimitedOptions);
19
+ private parsePagination;
20
+ private parsePageData;
21
+ private getPage;
22
+ setOptions(options: SelectMenuComponentOptionData[]): this;
23
+ addOptions(options: SelectMenuComponentOptionData[]): this;
24
+ spliceOptions(index: number, deleteCount: number, options: APISelectMenuOption[]): this;
25
+ setPlaceholder(placeholder?: string): this;
26
+ setTotalItems(total: number): this;
27
+ setPageMetadata(metadata: PageData): this;
28
+ goto(page: number): this;
29
+ get pageMetadata(): PageData | null;
30
+ get pageSize(): number;
31
+ get currentPageNumber(): number;
32
+ get totalPageNumber(): number;
33
+ get nextPageNumber(): number | null;
34
+ get prevPageNumber(): number | null;
35
+ }
36
+ //# sourceMappingURL=StringSelectUnlimited.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSelectUnlimited.d.ts","sourceRoot":"","sources":["../src/StringSelectUnlimited.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,KAAK,6BAA6B,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,2CAA2C,CAAC;AAI5F,qBAAa,qBAAsB,SAAQ,uBAAuB;IAE9D,OAAO,CAAC,WAAW,CAAuC;IAE1D,OAAO,CAAC,IAAI,CAAS;IAErB,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,SAAS,CAAkB;IAEnC;;;;OAIG;gBAES,EACI,IAAI,EACJ,UAAU,EACV,YAAY,GACf,EAAE,4BAA4B;IAU3C,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,OAAO;IA4CN,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,GAAG,IAAI;IAS1D,UAAU,CAAC,OAAO,EAAE,6BAA6B,EAAE,GAAG,IAAI;IAS1D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IASvF,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUlC,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IASzC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ/B,IAAI,YAAY,IAAI,QAAQ,GAAG,IAAI,CAElC;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAIlC;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAIlC;CACJ"}
@@ -1,67 +1,45 @@
1
- import {
2
- StringSelectMenuBuilder,
3
- type SelectMenuComponentOptionData,
4
- } from "discord.js";
5
- import type {APISelectMenuOption} from 'discord-api-types/v10'
6
- import type {PageData} from "./typings/PageData.js";
7
- import type {StringSelectUnlimitedOptions} from "./typings/StringSelectUnlimitedOptions.js";
8
-
1
+ import { StringSelectMenuBuilder, } from "discord.js";
9
2
  const MAX_MENU_ITEMS = 25;
10
-
11
3
  export class StringSelectUnlimited extends StringSelectMenuBuilder {
12
4
  // All select menu options
13
- private menuOptions: SelectMenuComponentOptionData[] = [];
14
-
15
- private page: number; // 1 based
5
+ menuOptions = [];
6
+ page; // 1 based
16
7
  // Additional data to add to the page option
17
- private pageData: PageData;
18
-
19
- private totalPages = 0;
20
- private totalItems: number;
21
-
22
- private placeholder = '';
23
-
24
- private menuLimit = MAX_MENU_ITEMS;
25
-
8
+ pageData;
9
+ totalPages = 0;
10
+ totalItems;
11
+ placeholder = 'Make a selection';
12
+ menuLimit = MAX_MENU_ITEMS;
26
13
  /**
27
14
  * @param page Initial page number
28
15
  * @param totalItems Total number of items
29
16
  * @param pageMetadata Metadata to stringify along with page option
30
17
  */
31
-
32
- constructor({
33
- page,
34
- totalItems,
35
- pageMetadata,
36
- }: StringSelectUnlimitedOptions) {
18
+ constructor({ page, totalItems, pageMetadata, }) {
37
19
  super();
38
-
39
20
  this.page = page || 1;
40
- if (this.page <= 0) throw new Error("Page must start from 1");
41
-
42
- this.pageData = pageMetadata || {emoji: {}, data: {}};
21
+ if (this.page <= 0)
22
+ throw new Error("Page must start from 1");
23
+ this.pageData = pageMetadata || { emoji: {}, data: {} };
43
24
  this.totalItems = totalItems || 0;
44
25
  }
45
-
46
- private parsePagination() {
26
+ parsePagination() {
47
27
  this.menuLimit = this.totalItems >= MAX_MENU_ITEMS ? MAX_MENU_ITEMS - 2 : MAX_MENU_ITEMS;
48
28
  this.totalPages = Math.ceil(this.totalItems / this.menuLimit);
49
29
  }
50
-
51
- private parsePageData(pageNumber: number | null): string {
30
+ parsePageData(pageNumber) {
52
31
  return JSON.stringify({
53
32
  page: this.page,
54
33
  goto: pageNumber || 0,
55
34
  ...this.pageData.data,
56
35
  });
57
36
  }
58
-
59
- private getPage(): SelectMenuComponentOptionData[] {
60
- if (!this.menuOptions.length) return []
37
+ getPage() {
38
+ if (!this.menuOptions.length)
39
+ return [];
61
40
  const start = this.menuOptions.length === this.totalItems ? this.menuLimit * (this.page - 1) : 0;
62
41
  const offset = this.menuOptions.length === this.totalItems ? this.menuLimit * this.page : this.menuLimit;
63
42
  const pageData = this.menuOptions.slice(start, offset);
64
-
65
43
  if (this.totalPages > 1) {
66
44
  const emojiNext = this.pageData.emoji?.next;
67
45
  const emojiPrev = this.pageData.emoji?.previous;
@@ -71,122 +49,102 @@ export class StringSelectUnlimited extends StringSelectMenuBuilder {
71
49
  description: `Page ${this.totalPageNumber}`,
72
50
  emoji: emojiNext,
73
51
  value: this.parsePageData(this.totalPages),
74
- } as SelectMenuComponentOptionData);
75
-
52
+ });
76
53
  if (this.page > 1)
77
54
  pageData.unshift({
78
55
  label: "← Previous",
79
56
  description: `Page ${this.prevPageNumber}`,
80
57
  emoji: emojiPrev,
81
58
  value: this.parsePageData(this.prevPageNumber),
82
- } as SelectMenuComponentOptionData);
83
-
59
+ });
84
60
  if (this.page === this.totalPages && this.totalPages > 2)
85
61
  pageData.push({
86
62
  label: "←← First",
87
63
  description: `Page 1`,
88
64
  emoji: emojiPrev,
89
65
  value: this.parsePageData(1),
90
- } as SelectMenuComponentOptionData);
91
-
66
+ });
92
67
  if (this.page < this.totalPages)
93
68
  pageData.push({
94
69
  label: "Next →",
95
70
  description: `Page ${this.nextPageNumber}`,
96
71
  emoji: emojiNext,
97
72
  value: this.parsePageData(this.nextPageNumber),
98
- } as SelectMenuComponentOptionData);
73
+ });
99
74
  }
100
75
  return pageData;
101
76
  }
102
-
103
- override setOptions(options: SelectMenuComponentOptionData[]): this {
77
+ setOptions(options) {
104
78
  this.menuOptions = options;
105
79
  this.totalItems ||= options.length;
106
-
107
- this.setPlaceholder(this.placeholder);
108
-
80
+ this.setPlaceholder();
109
81
  return super.setOptions(this.getPage());
110
82
  }
111
-
112
- override addOptions(options: SelectMenuComponentOptionData[]): this {
83
+ addOptions(options) {
113
84
  this.menuOptions.push(...options);
114
85
  this.totalItems += options.length;
115
-
116
- this.setPlaceholder(this.placeholder);
117
-
86
+ this.setPlaceholder();
118
87
  return super.setOptions(this.getPage());
119
88
  }
120
-
121
- override spliceOptions(index: number, deleteCount: number, options: APISelectMenuOption[]): this {
89
+ spliceOptions(index, deleteCount, options) {
122
90
  const deleted = this.menuOptions.splice(index, deleteCount, ...options);
123
- this.totalItems = this.totalItems + (options.length - deleted.length)
124
-
125
- this.setPlaceholder(this.placeholder);
126
-
127
- return super.setOptions(this.getPage());
91
+ this.totalItems = this.totalItems + (options.length - deleted.length);
92
+ this.setPlaceholder();
93
+ return super.spliceOptions(index, deleteCount, ...options);
128
94
  }
129
-
130
- override setPlaceholder(placeholder: string): this {
131
- this.parsePagination()
132
- this.placeholder ||= placeholder;
133
- if (placeholder) {
134
- const placeholderParsed = `${placeholder}${this.totalItems >= MAX_MENU_ITEMS ? ` - Page ${this.page}` : ""}`;
135
- return super.setPlaceholder(placeholderParsed);
136
- }
137
- return this
95
+ setPlaceholder(placeholder) {
96
+ this.parsePagination();
97
+ this.placeholder = placeholder || this.placeholder;
98
+ const placeholderParsed = `${this.placeholder}${this.totalItems >= MAX_MENU_ITEMS ? ` - Page ${this.page}` : ""}`;
99
+ return super.setPlaceholder(placeholderParsed);
138
100
  }
139
-
140
- public setTotalItems(total: number): this {
101
+ setTotalItems(total) {
141
102
  if (total < this.menuOptions.length)
142
103
  throw new Error("Total cannot be less than the number of items.");
143
104
  this.totalItems = total;
144
- this.setPlaceholder(this.placeholder)
105
+ this.setPlaceholder();
145
106
  return this;
146
107
  }
147
-
148
- public setPageMetadata(metadata: PageData): this {
108
+ setPageMetadata(metadata) {
149
109
  if (this.pageData) {
150
- this.pageData.data = {...this.pageData.data, ...(metadata.data || {})}
151
- this.pageData.emoji = {...this.pageData.emoji, ...(metadata.emoji || {})}
152
- } else this.pageData = metadata
153
-
110
+ this.pageData.data = { ...this.pageData.data, ...(metadata.data || {}) };
111
+ this.pageData.emoji = { ...this.pageData.emoji, ...(metadata.emoji || {}) };
112
+ }
113
+ else
114
+ this.pageData = metadata;
154
115
  return super.setOptions(this.getPage());
155
116
  }
156
-
157
- public goto(page: number): this {
158
- if (!this.menuOptions.length) throw new Error(`No options added`);
117
+ goto(page) {
118
+ if (!this.menuOptions.length)
119
+ throw new Error(`No options added`);
159
120
  if (page <= 0 || page > this.totalPages)
160
121
  throw new Error(`Page must be between 1 and ${this.totalPages}`);
161
122
  this.page = page;
162
- return super.setOptions(this.getPage())
123
+ return super.setOptions(this.getPage());
163
124
  }
164
-
165
- get pageMetadata(): PageData | null {
125
+ get pageMetadata() {
166
126
  return this.pageData;
167
127
  }
168
-
169
- get pageSize(): number {
170
- return this.menuLimit
128
+ get pageSize() {
129
+ return this.menuLimit;
171
130
  }
172
-
173
- get currentPageNumber(): number {
131
+ get currentPageNumber() {
174
132
  return this.page;
175
133
  }
176
-
177
- get totalPageNumber(): number {
134
+ get totalPageNumber() {
178
135
  return this.totalPages;
179
136
  }
180
-
181
- get nextPageNumber(): number | null {
137
+ get nextPageNumber() {
182
138
  const next = this.page + 1;
183
- if (next > this.totalPages) return null;
139
+ if (next > this.totalPages)
140
+ return null;
184
141
  return next;
185
142
  }
186
-
187
- get prevPageNumber(): number | null {
143
+ get prevPageNumber() {
188
144
  const prev = this.page - 1;
189
- if (prev <= 0) return null;
145
+ if (prev <= 0)
146
+ return null;
190
147
  return prev;
191
148
  }
192
149
  }
150
+ //# sourceMappingURL=StringSelectUnlimited.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSelectUnlimited.js","sourceRoot":"","sources":["../src/StringSelectUnlimited.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export { StringSelectUnlimited } from "./StringSelectUnlimited.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { PageEmojiData } from "./PageEmojiData.js";
2
-
3
2
  export interface PageData {
4
- data: object;
5
- emoji: PageEmojiData;
3
+ data: object;
4
+ emoji: PageEmojiData;
6
5
  }
6
+ //# sourceMappingURL=PageData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageData.d.ts","sourceRoot":"","sources":["../../src/typings/PageData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PageData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageData.js","sourceRoot":"","sources":["../../src/typings/PageData.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { ComponentEmojiResolvable } from "discord.js";
2
+ export interface PageEmojiData {
3
+ previous?: ComponentEmojiResolvable;
4
+ next?: ComponentEmojiResolvable;
5
+ }
6
+ //# sourceMappingURL=PageEmojiData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageEmojiData.d.ts","sourceRoot":"","sources":["../../src/typings/PageEmojiData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,IAAI,CAAC,EAAE,wBAAwB,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PageEmojiData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageEmojiData.js","sourceRoot":"","sources":["../../src/typings/PageEmojiData.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { PageData } from "./PageData.js";
2
+ export interface StringSelectUnlimitedOptions {
3
+ page?: number;
4
+ totalItems?: number;
5
+ pageMetadata?: PageData;
6
+ }
7
+ //# sourceMappingURL=StringSelectUnlimitedOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSelectUnlimitedOptions.d.ts","sourceRoot":"","sources":["../../src/typings/StringSelectUnlimitedOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=StringSelectUnlimitedOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSelectUnlimitedOptions.js","sourceRoot":"","sources":["../../src/typings/StringSelectUnlimitedOptions.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "string-select-unlimited",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Wrapper around discord.js StringSelectMenu to bypass Discord's 25 option limit.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,10 +14,11 @@
14
14
  "select menu limit"
15
15
  ],
16
16
  "scripts": {
17
- "build": "tsc"
17
+ "build": "tsc",
18
+ "prepublishOnly": "npm run build"
18
19
  },
19
20
  "files": [
20
- "src"
21
+ "dist"
21
22
  ],
22
23
  "author": {
23
24
  "name": "jerick120",
@@ -1,6 +0,0 @@
1
- import type { ComponentEmojiResolvable } from "discord.js";
2
-
3
- export interface PageEmojiData {
4
- previous?: ComponentEmojiResolvable;
5
- next?: ComponentEmojiResolvable;
6
- }
@@ -1,7 +0,0 @@
1
- import type { PageData } from "./PageData.js";
2
-
3
- export interface StringSelectUnlimitedOptions {
4
- page?: number;
5
- totalItems?: number;
6
- pageMetadata?: PageData;
7
- }