string-select-unlimited 1.0.0
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 +43 -0
- package/dist/StringSelectUnlimited.d.ts +36 -0
- package/dist/StringSelectUnlimited.d.ts.map +1 -0
- package/dist/StringSelectUnlimited.js +153 -0
- package/dist/StringSelectUnlimited.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/typings/PageData.d.ts +6 -0
- package/dist/typings/PageData.d.ts.map +1 -0
- package/dist/typings/PageData.js +2 -0
- package/dist/typings/PageData.js.map +1 -0
- package/dist/typings/PageEmojiData.d.ts +6 -0
- package/dist/typings/PageEmojiData.d.ts.map +1 -0
- package/dist/typings/PageEmojiData.js +2 -0
- package/dist/typings/PageEmojiData.js.map +1 -0
- package/dist/typings/StringSelectUnlimitedOptions.d.ts +7 -0
- package/dist/typings/StringSelectUnlimitedOptions.d.ts.map +1 -0
- package/dist/typings/StringSelectUnlimitedOptions.js +2 -0
- package/dist/typings/StringSelectUnlimitedOptions.js.map +1 -0
- package/package.json +17 -0
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# String Select Unlimited
|
|
2
|
+
|
|
3
|
+
A wrapper around discord.js `StringSelectMenu` to bypass Discord's 25 option limit by adding pagination.
|
|
4
|
+
|
|
5
|
+
- Used by [Pokecord++](https://pokecord.org) and [Audicy](https://audicy.xyz) Discord bots.
|
|
6
|
+
|
|
7
|
+
# Usage
|
|
8
|
+
|
|
9
|
+
## Constructor
|
|
10
|
+
|
|
11
|
+
`StringSelectUnlimited(options : StringSelectMenuOptions)`
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description | Required | Default |
|
|
14
|
+
|:--------------:|:--------:|:---------------------------------------------------:|:--------:|:-----------------------:|
|
|
15
|
+
| `pageMetadata` | PageData | Additional data to stringify along with page option | no | { emoji: {}, data: {} } |
|
|
16
|
+
| `totalItems` | number | Total number of items | no | 0 |
|
|
17
|
+
| `page` | number | Initial page number | no | 1 |
|
|
18
|
+
|
|
19
|
+
## Methods
|
|
20
|
+
|
|
21
|
+
| Method | Parameters | Description |
|
|
22
|
+
|:------:|:------------:|:-------------------------:|
|
|
23
|
+
| `goto` | page: number | Navigate to specific page |
|
|
24
|
+
|
|
25
|
+
## Setters
|
|
26
|
+
|
|
27
|
+
| Method | Parameters | Description |
|
|
28
|
+
|:-----------------:|:------------------:|:--------------------:|
|
|
29
|
+
| `setPageMetadata` | metadata: PageData | Update page metadata |
|
|
30
|
+
| `setTotalItems` | total: number | Update total items |
|
|
31
|
+
|
|
32
|
+
## Getters
|
|
33
|
+
|
|
34
|
+
| Method | Returns | Description |
|
|
35
|
+
|:-------------------:|:--------:|:--------------------------------:|
|
|
36
|
+
| `pageMetadata` | PageData | Page Metadata |
|
|
37
|
+
| `currentPageNumber` | number | Current page number |
|
|
38
|
+
| `totalPageNumber` | number | Total number of pages |
|
|
39
|
+
| `nextPageNumber` | number | Next page number |
|
|
40
|
+
| `prevPageNumber` | number | Previous page number |
|
|
41
|
+
| `pageSize` | number | Menu size excluding page options |
|
|
42
|
+
|
|
43
|
+
|
|
@@ -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,CAAM;IAEzB,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,EAAE,MAAM,GAAG,IAAI;IAU3C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQlC,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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { StringSelectMenuBuilder, } from "discord.js";
|
|
2
|
+
const MAX_MENU_ITEMS = 25;
|
|
3
|
+
export class StringSelectUnlimited extends StringSelectMenuBuilder {
|
|
4
|
+
// All select menu options
|
|
5
|
+
menuOptions = [];
|
|
6
|
+
page; // 1 based
|
|
7
|
+
// Additional data to add to the page option
|
|
8
|
+
pageData;
|
|
9
|
+
totalPages = 0;
|
|
10
|
+
totalItems;
|
|
11
|
+
placeholder = '';
|
|
12
|
+
menuLimit = MAX_MENU_ITEMS;
|
|
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, }) {
|
|
19
|
+
super();
|
|
20
|
+
this.page = page || 1;
|
|
21
|
+
if (this.page <= 0)
|
|
22
|
+
throw new Error("Page must start from 1");
|
|
23
|
+
this.pageData = pageMetadata || { emoji: {}, data: {} };
|
|
24
|
+
this.totalItems = totalItems || 0;
|
|
25
|
+
}
|
|
26
|
+
parsePagination() {
|
|
27
|
+
this.menuLimit = this.totalItems >= MAX_MENU_ITEMS ? MAX_MENU_ITEMS - 2 : MAX_MENU_ITEMS;
|
|
28
|
+
this.totalPages = Math.ceil(this.totalItems / this.menuLimit);
|
|
29
|
+
}
|
|
30
|
+
parsePageData(pageNumber) {
|
|
31
|
+
return JSON.stringify({
|
|
32
|
+
page: this.page,
|
|
33
|
+
goto: pageNumber || 0,
|
|
34
|
+
...this.pageData.data,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
getPage() {
|
|
38
|
+
if (!this.menuOptions.length)
|
|
39
|
+
return [];
|
|
40
|
+
const start = this.menuOptions.length === this.totalItems ? this.menuLimit * (this.page - 1) : 0;
|
|
41
|
+
const offset = this.menuOptions.length === this.totalItems ? this.menuLimit * this.page : this.menuLimit;
|
|
42
|
+
const pageData = this.menuOptions.slice(start, offset);
|
|
43
|
+
if (this.totalPages > 1) {
|
|
44
|
+
const emojiNext = this.pageData.emoji?.next;
|
|
45
|
+
const emojiPrev = this.pageData.emoji?.previous;
|
|
46
|
+
if (this.page === 1 && this.totalPages > 2)
|
|
47
|
+
pageData.unshift({
|
|
48
|
+
label: "Last →→",
|
|
49
|
+
description: `Page ${this.totalPageNumber}`,
|
|
50
|
+
emoji: emojiNext,
|
|
51
|
+
value: this.parsePageData(this.totalPages),
|
|
52
|
+
});
|
|
53
|
+
if (this.page > 1)
|
|
54
|
+
pageData.unshift({
|
|
55
|
+
label: "← Previous",
|
|
56
|
+
description: `Page ${this.prevPageNumber}`,
|
|
57
|
+
emoji: emojiPrev,
|
|
58
|
+
value: this.parsePageData(this.prevPageNumber),
|
|
59
|
+
});
|
|
60
|
+
if (this.page === this.totalPages && this.totalPages > 2)
|
|
61
|
+
pageData.push({
|
|
62
|
+
label: "←← First",
|
|
63
|
+
description: `Page 1`,
|
|
64
|
+
emoji: emojiPrev,
|
|
65
|
+
value: this.parsePageData(1),
|
|
66
|
+
});
|
|
67
|
+
if (this.page < this.totalPages)
|
|
68
|
+
pageData.push({
|
|
69
|
+
label: "Next →",
|
|
70
|
+
description: `Page ${this.nextPageNumber}`,
|
|
71
|
+
emoji: emojiNext,
|
|
72
|
+
value: this.parsePageData(this.nextPageNumber),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return pageData;
|
|
76
|
+
}
|
|
77
|
+
setOptions(options) {
|
|
78
|
+
this.menuOptions = options;
|
|
79
|
+
this.totalItems ||= options.length;
|
|
80
|
+
this.setPlaceholder(this.placeholder);
|
|
81
|
+
return super.setOptions(this.getPage());
|
|
82
|
+
}
|
|
83
|
+
addOptions(options) {
|
|
84
|
+
this.menuOptions.push(...options);
|
|
85
|
+
this.totalItems += options.length;
|
|
86
|
+
this.setPlaceholder(this.placeholder);
|
|
87
|
+
return super.setOptions(this.getPage());
|
|
88
|
+
}
|
|
89
|
+
spliceOptions(index, deleteCount, options) {
|
|
90
|
+
const deleted = this.menuOptions.splice(index, deleteCount, ...options);
|
|
91
|
+
this.totalItems = this.totalItems + (options.length - deleted.length);
|
|
92
|
+
this.setPlaceholder(this.placeholder);
|
|
93
|
+
return super.setOptions(this.getPage());
|
|
94
|
+
}
|
|
95
|
+
setPlaceholder(placeholder) {
|
|
96
|
+
this.parsePagination();
|
|
97
|
+
this.placeholder ||= placeholder;
|
|
98
|
+
if (placeholder) {
|
|
99
|
+
const placeholderParsed = `${placeholder}${this.totalItems >= MAX_MENU_ITEMS ? ` - Page ${this.page}` : ""}`;
|
|
100
|
+
return super.setPlaceholder(placeholderParsed);
|
|
101
|
+
}
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
setTotalItems(total) {
|
|
105
|
+
if (total < this.menuOptions.length)
|
|
106
|
+
throw new Error("Total cannot be less than the number of items.");
|
|
107
|
+
this.totalItems = total;
|
|
108
|
+
this.setPlaceholder(this.placeholder);
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
setPageMetadata(metadata) {
|
|
112
|
+
if (this.pageData) {
|
|
113
|
+
this.pageData.data = { ...this.pageData.data, ...(metadata.data || {}) };
|
|
114
|
+
this.pageData.emoji = { ...this.pageData.emoji, ...(metadata.emoji || {}) };
|
|
115
|
+
}
|
|
116
|
+
else
|
|
117
|
+
this.pageData = metadata;
|
|
118
|
+
return super.setOptions(this.getPage());
|
|
119
|
+
}
|
|
120
|
+
goto(page) {
|
|
121
|
+
if (!this.menuOptions.length)
|
|
122
|
+
throw new Error(`No options added`);
|
|
123
|
+
if (page <= 0 || page > this.totalPages)
|
|
124
|
+
throw new Error(`Page must be between 1 and ${this.totalPages}`);
|
|
125
|
+
this.page = page;
|
|
126
|
+
return super.setOptions(this.getPage());
|
|
127
|
+
}
|
|
128
|
+
get pageMetadata() {
|
|
129
|
+
return this.pageData;
|
|
130
|
+
}
|
|
131
|
+
get pageSize() {
|
|
132
|
+
return this.menuLimit;
|
|
133
|
+
}
|
|
134
|
+
get currentPageNumber() {
|
|
135
|
+
return this.page;
|
|
136
|
+
}
|
|
137
|
+
get totalPageNumber() {
|
|
138
|
+
return this.totalPages;
|
|
139
|
+
}
|
|
140
|
+
get nextPageNumber() {
|
|
141
|
+
const next = this.page + 1;
|
|
142
|
+
if (next > this.totalPages)
|
|
143
|
+
return null;
|
|
144
|
+
return next;
|
|
145
|
+
}
|
|
146
|
+
get prevPageNumber() {
|
|
147
|
+
const prev = this.page - 1;
|
|
148
|
+
if (prev <= 0)
|
|
149
|
+
return null;
|
|
150
|
+
return prev;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=StringSelectUnlimited.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringSelectUnlimited.js","sourceRoot":"","sources":["../src/StringSelectUnlimited.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"PageData.js","sourceRoot":"","sources":["../../src/typings/PageData.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"PageEmojiData.js","sourceRoot":"","sources":["../../src/typings/PageEmojiData.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"StringSelectUnlimitedOptions.js","sourceRoot":"","sources":["../../src/typings/StringSelectUnlimitedOptions.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "string-select-unlimited",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Wrapper around discord.js StringSelectMenu to bypass Discord's 25 option limit.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "tsc"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"discord.js": "^14.25.1"
|
|
16
|
+
}
|
|
17
|
+
}
|