@jubbio/core 1.3.3 → 1.3.5

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.
Files changed (131) hide show
  1. package/dist/Client.js +50 -10
  2. package/dist/rest/REST.d.ts +1 -0
  3. package/dist/rest/REST.js +1 -1
  4. package/dist/structures/Channel.d.ts +1 -1
  5. package/dist/structures/Channel.js +11 -4
  6. package/dist/structures/Guild.d.ts +1 -1
  7. package/dist/structures/Guild.js +7 -3
  8. package/dist/structures/Interaction.js +11 -3
  9. package/dist/structures/Message.d.ts +2 -0
  10. package/dist/structures/Message.js +13 -33
  11. package/package.json +4 -14
  12. package/dist/cjs/Client.d.ts +0 -157
  13. package/dist/cjs/Client.js +0 -640
  14. package/dist/cjs/builders/ActionRowBuilder.d.ts +0 -53
  15. package/dist/cjs/builders/ActionRowBuilder.js +0 -68
  16. package/dist/cjs/builders/ButtonBuilder.d.ts +0 -77
  17. package/dist/cjs/builders/ButtonBuilder.js +0 -96
  18. package/dist/cjs/builders/EmbedBuilder.d.ts +0 -157
  19. package/dist/cjs/builders/EmbedBuilder.js +0 -208
  20. package/dist/cjs/builders/ModalBuilder.d.ts +0 -122
  21. package/dist/cjs/builders/ModalBuilder.js +0 -162
  22. package/dist/cjs/builders/SelectMenuBuilder.d.ts +0 -123
  23. package/dist/cjs/builders/SelectMenuBuilder.js +0 -165
  24. package/dist/cjs/builders/SlashCommandBuilder.d.ts +0 -197
  25. package/dist/cjs/builders/SlashCommandBuilder.js +0 -324
  26. package/dist/cjs/builders/index.d.ts +0 -9
  27. package/dist/cjs/builders/index.js +0 -26
  28. package/dist/cjs/enums.d.ts +0 -191
  29. package/dist/cjs/enums.js +0 -211
  30. package/dist/cjs/index.d.ts +0 -25
  31. package/dist/cjs/index.js +0 -130
  32. package/dist/cjs/managers/BaseManager.d.ts +0 -69
  33. package/dist/cjs/managers/BaseManager.js +0 -106
  34. package/dist/cjs/managers/ChannelManager.d.ts +0 -95
  35. package/dist/cjs/managers/ChannelManager.js +0 -205
  36. package/dist/cjs/managers/GuildMemberManager.d.ts +0 -74
  37. package/dist/cjs/managers/GuildMemberManager.js +0 -157
  38. package/dist/cjs/managers/RoleManager.d.ts +0 -84
  39. package/dist/cjs/managers/RoleManager.js +0 -207
  40. package/dist/cjs/managers/index.d.ts +0 -7
  41. package/dist/cjs/managers/index.js +0 -24
  42. package/dist/cjs/rest/REST.d.ts +0 -527
  43. package/dist/cjs/rest/REST.js +0 -904
  44. package/dist/cjs/rest/index.d.ts +0 -1
  45. package/dist/cjs/rest/index.js +0 -18
  46. package/dist/cjs/sharding/ShardingManager.d.ts +0 -179
  47. package/dist/cjs/sharding/ShardingManager.js +0 -375
  48. package/dist/cjs/sharding/index.d.ts +0 -4
  49. package/dist/cjs/sharding/index.js +0 -21
  50. package/dist/cjs/structures/Channel.d.ts +0 -122
  51. package/dist/cjs/structures/Channel.js +0 -240
  52. package/dist/cjs/structures/Collection.d.ts +0 -53
  53. package/dist/cjs/structures/Collection.js +0 -115
  54. package/dist/cjs/structures/Guild.d.ts +0 -59
  55. package/dist/cjs/structures/Guild.js +0 -94
  56. package/dist/cjs/structures/GuildMember.d.ts +0 -174
  57. package/dist/cjs/structures/GuildMember.js +0 -311
  58. package/dist/cjs/structures/Interaction.d.ts +0 -245
  59. package/dist/cjs/structures/Interaction.js +0 -450
  60. package/dist/cjs/structures/Message.d.ts +0 -98
  61. package/dist/cjs/structures/Message.js +0 -195
  62. package/dist/cjs/structures/User.d.ts +0 -37
  63. package/dist/cjs/structures/User.js +0 -65
  64. package/dist/cjs/structures/index.d.ts +0 -7
  65. package/dist/cjs/structures/index.js +0 -25
  66. package/dist/cjs/structures.d.ts +0 -1
  67. package/dist/cjs/structures.js +0 -19
  68. package/dist/cjs/types.d.ts +0 -255
  69. package/dist/cjs/types.js +0 -3
  70. package/dist/cjs/utils/BitField.d.ts +0 -66
  71. package/dist/cjs/utils/BitField.js +0 -138
  72. package/dist/cjs/utils/Collection.d.ts +0 -116
  73. package/dist/cjs/utils/Collection.js +0 -265
  74. package/dist/cjs/utils/Collector.d.ts +0 -152
  75. package/dist/cjs/utils/Collector.js +0 -314
  76. package/dist/cjs/utils/DataResolver.d.ts +0 -61
  77. package/dist/cjs/utils/DataResolver.js +0 -146
  78. package/dist/cjs/utils/Formatters.d.ts +0 -145
  79. package/dist/cjs/utils/Formatters.js +0 -213
  80. package/dist/cjs/utils/IntentsBitField.d.ts +0 -85
  81. package/dist/cjs/utils/IntentsBitField.js +0 -99
  82. package/dist/cjs/utils/Partials.d.ts +0 -104
  83. package/dist/cjs/utils/Partials.js +0 -148
  84. package/dist/cjs/utils/PermissionsBitField.d.ts +0 -118
  85. package/dist/cjs/utils/PermissionsBitField.js +0 -145
  86. package/dist/cjs/utils/SnowflakeUtil.d.ts +0 -63
  87. package/dist/cjs/utils/SnowflakeUtil.js +0 -93
  88. package/dist/cjs/utils/Sweepers.d.ts +0 -119
  89. package/dist/cjs/utils/Sweepers.js +0 -249
  90. package/dist/cjs/utils/index.d.ts +0 -13
  91. package/dist/cjs/utils/index.js +0 -30
  92. package/dist/esm/Client.js +0 -634
  93. package/dist/esm/builders/ActionRowBuilder.js +0 -64
  94. package/dist/esm/builders/ButtonBuilder.js +0 -92
  95. package/dist/esm/builders/EmbedBuilder.js +0 -204
  96. package/dist/esm/builders/ModalBuilder.js +0 -157
  97. package/dist/esm/builders/SelectMenuBuilder.js +0 -161
  98. package/dist/esm/builders/SlashCommandBuilder.js +0 -311
  99. package/dist/esm/builders/index.js +0 -10
  100. package/dist/esm/enums.js +0 -208
  101. package/dist/esm/index.js +0 -34
  102. package/dist/esm/managers/BaseManager.js +0 -100
  103. package/dist/esm/managers/ChannelManager.js +0 -200
  104. package/dist/esm/managers/GuildMemberManager.js +0 -153
  105. package/dist/esm/managers/RoleManager.js +0 -203
  106. package/dist/esm/managers/index.js +0 -8
  107. package/dist/esm/rest/REST.js +0 -900
  108. package/dist/esm/rest/index.js +0 -2
  109. package/dist/esm/sharding/ShardingManager.js +0 -366
  110. package/dist/esm/sharding/index.js +0 -5
  111. package/dist/esm/structures/Channel.js +0 -232
  112. package/dist/esm/structures/Collection.js +0 -111
  113. package/dist/esm/structures/Guild.js +0 -90
  114. package/dist/esm/structures/GuildMember.js +0 -306
  115. package/dist/esm/structures/Interaction.js +0 -438
  116. package/dist/esm/structures/Message.js +0 -191
  117. package/dist/esm/structures/User.js +0 -61
  118. package/dist/esm/structures/index.js +0 -9
  119. package/dist/esm/structures.js +0 -3
  120. package/dist/esm/types.js +0 -2
  121. package/dist/esm/utils/BitField.js +0 -134
  122. package/dist/esm/utils/Collection.js +0 -261
  123. package/dist/esm/utils/Collector.js +0 -305
  124. package/dist/esm/utils/DataResolver.js +0 -142
  125. package/dist/esm/utils/Formatters.js +0 -191
  126. package/dist/esm/utils/IntentsBitField.js +0 -93
  127. package/dist/esm/utils/Partials.js +0 -137
  128. package/dist/esm/utils/PermissionsBitField.js +0 -141
  129. package/dist/esm/utils/SnowflakeUtil.js +0 -89
  130. package/dist/esm/utils/Sweepers.js +0 -245
  131. package/dist/esm/utils/index.js +0 -14
@@ -1,64 +0,0 @@
1
- /**
2
- * ActionRowBuilder for creating component rows
3
- */
4
- /**
5
- * A builder for creating action rows
6
- */
7
- export class ActionRowBuilder {
8
- data;
9
- constructor(data = {}) {
10
- this.data = {
11
- type: 1,
12
- components: data.components || []
13
- };
14
- }
15
- /**
16
- * Adds components to this action row
17
- * @param components The components to add
18
- */
19
- addComponents(...components) {
20
- for (const component of components) {
21
- if ('toJSON' in component && typeof component.toJSON === 'function') {
22
- this.data.components.push(component.toJSON());
23
- }
24
- else {
25
- this.data.components.push(component);
26
- }
27
- }
28
- return this;
29
- }
30
- /**
31
- * Sets the components of this action row
32
- * @param components The components to set
33
- */
34
- setComponents(...components) {
35
- this.data.components = [];
36
- return this.addComponents(...components);
37
- }
38
- /**
39
- * Removes, replaces, or inserts components
40
- * @param index The index to start at
41
- * @param deleteCount The number of components to remove
42
- * @param components The components to insert
43
- */
44
- spliceComponents(index, deleteCount, ...components) {
45
- const resolved = components.map(c => 'toJSON' in c && typeof c.toJSON === 'function' ? c.toJSON() : c);
46
- this.data.components.splice(index, deleteCount, ...resolved);
47
- return this;
48
- }
49
- /**
50
- * Returns the JSON representation of this action row
51
- */
52
- toJSON() {
53
- return { ...this.data };
54
- }
55
- /**
56
- * Creates a new action row builder from existing data
57
- * @param other The action row data to copy
58
- */
59
- static from(other) {
60
- return new ActionRowBuilder(other instanceof ActionRowBuilder ? other.data : other);
61
- }
62
- }
63
- export default ActionRowBuilder;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aW9uUm93QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9BY3Rpb25Sb3dCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBWUg7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ1gsSUFBSSxDQUErQjtJQUVuRCxZQUFZLE9BQThCLEVBQUU7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWLElBQUksRUFBRSxDQUFDO1lBQ1AsVUFBVSxFQUFHLElBQUksQ0FBQyxVQUFrQixJQUFJLEVBQUU7U0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsR0FBRyxVQUFtQztRQUNsRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksUUFBUSxJQUFJLFNBQVMsSUFBSSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNoRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQWMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLEdBQUcsVUFBbUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLEtBQWEsRUFBRSxXQUFtQixFQUFFLEdBQUcsVUFBbUM7UUFDekYsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNsQyxRQUFRLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBTSxDQUN0RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM3RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFrQixDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFrQyxLQUFrRDtRQUM3RixPQUFPLElBQUksZ0JBQWdCLENBQUksS0FBSyxZQUFZLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0Y7QUFFRCxlQUFlLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBY3Rpb25Sb3dCdWlsZGVyIGZvciBjcmVhdGluZyBjb21wb25lbnQgcm93c1xuICovXG5cbmltcG9ydCB7IEFQSUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vQnV0dG9uQnVpbGRlcic7XG5pbXBvcnQgeyBBUElTZWxlY3RNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9TZWxlY3RNZW51QnVpbGRlcic7XG5cbmV4cG9ydCB0eXBlIEFQSUFjdGlvblJvd0NvbXBvbmVudCA9IEFQSUJ1dHRvbkNvbXBvbmVudCB8IEFQSVNlbGVjdE1lbnVDb21wb25lbnQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJQWN0aW9uUm93IHtcbiAgdHlwZTogMTtcbiAgY29tcG9uZW50czogQVBJQWN0aW9uUm93Q29tcG9uZW50W107XG59XG5cbi8qKlxuICogQSBidWlsZGVyIGZvciBjcmVhdGluZyBhY3Rpb24gcm93c1xuICovXG5leHBvcnQgY2xhc3MgQWN0aW9uUm93QnVpbGRlcjxUIGV4dGVuZHMgQVBJQWN0aW9uUm93Q29tcG9uZW50ID0gQVBJQWN0aW9uUm93Q29tcG9uZW50PiB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhOiB7IHR5cGU6IDE7IGNvbXBvbmVudHM6IFRbXSB9O1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8QVBJQWN0aW9uUm93PiA9IHt9KSB7XG4gICAgdGhpcy5kYXRhID0geyBcbiAgICAgIHR5cGU6IDEsIFxuICAgICAgY29tcG9uZW50czogKGRhdGEuY29tcG9uZW50cyBhcyBUW10pIHx8IFtdIFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBjb21wb25lbnRzIHRvIHRoaXMgYWN0aW9uIHJvd1xuICAgKiBAcGFyYW0gY29tcG9uZW50cyBUaGUgY29tcG9uZW50cyB0byBhZGRcbiAgICovXG4gIGFkZENvbXBvbmVudHMoLi4uY29tcG9uZW50czogKFQgfCB7IHRvSlNPTigpOiBUIH0pW10pOiB0aGlzIHtcbiAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzKSB7XG4gICAgICBpZiAoJ3RvSlNPTicgaW4gY29tcG9uZW50ICYmIHR5cGVvZiBjb21wb25lbnQudG9KU09OID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRoaXMuZGF0YS5jb21wb25lbnRzLnB1c2goY29tcG9uZW50LnRvSlNPTigpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGF0YS5jb21wb25lbnRzLnB1c2goY29tcG9uZW50IGFzIFQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb21wb25lbnRzIG9mIHRoaXMgYWN0aW9uIHJvd1xuICAgKiBAcGFyYW0gY29tcG9uZW50cyBUaGUgY29tcG9uZW50cyB0byBzZXRcbiAgICovXG4gIHNldENvbXBvbmVudHMoLi4uY29tcG9uZW50czogKFQgfCB7IHRvSlNPTigpOiBUIH0pW10pOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuY29tcG9uZW50cyA9IFtdO1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudHMoLi4uY29tcG9uZW50cyk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcywgcmVwbGFjZXMsIG9yIGluc2VydHMgY29tcG9uZW50c1xuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IHRvIHN0YXJ0IGF0XG4gICAqIEBwYXJhbSBkZWxldGVDb3VudCBUaGUgbnVtYmVyIG9mIGNvbXBvbmVudHMgdG8gcmVtb3ZlXG4gICAqIEBwYXJhbSBjb21wb25lbnRzIFRoZSBjb21wb25lbnRzIHRvIGluc2VydFxuICAgKi9cbiAgc3BsaWNlQ29tcG9uZW50cyhpbmRleDogbnVtYmVyLCBkZWxldGVDb3VudDogbnVtYmVyLCAuLi5jb21wb25lbnRzOiAoVCB8IHsgdG9KU09OKCk6IFQgfSlbXSk6IHRoaXMge1xuICAgIGNvbnN0IHJlc29sdmVkID0gY29tcG9uZW50cy5tYXAoYyA9PiBcbiAgICAgICd0b0pTT04nIGluIGMgJiYgdHlwZW9mIGMudG9KU09OID09PSAnZnVuY3Rpb24nID8gYy50b0pTT04oKSA6IGMgYXMgVFxuICAgICk7XG4gICAgdGhpcy5kYXRhLmNvbXBvbmVudHMuc3BsaWNlKGluZGV4LCBkZWxldGVDb3VudCwgLi4ucmVzb2x2ZWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhpcyBhY3Rpb24gcm93XG4gICAqL1xuICB0b0pTT04oKTogQVBJQWN0aW9uUm93IHtcbiAgICByZXR1cm4geyAuLi50aGlzLmRhdGEgfSBhcyBBUElBY3Rpb25Sb3c7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhY3Rpb24gcm93IGJ1aWxkZXIgZnJvbSBleGlzdGluZyBkYXRhXG4gICAqIEBwYXJhbSBvdGhlciBUaGUgYWN0aW9uIHJvdyBkYXRhIHRvIGNvcHlcbiAgICovXG4gIHN0YXRpYyBmcm9tPFQgZXh0ZW5kcyBBUElBY3Rpb25Sb3dDb21wb25lbnQ+KG90aGVyOiBQYXJ0aWFsPEFQSUFjdGlvblJvdz4gfCBBY3Rpb25Sb3dCdWlsZGVyPFQ+KTogQWN0aW9uUm93QnVpbGRlcjxUPiB7XG4gICAgcmV0dXJuIG5ldyBBY3Rpb25Sb3dCdWlsZGVyPFQ+KG90aGVyIGluc3RhbmNlb2YgQWN0aW9uUm93QnVpbGRlciA/IG90aGVyLmRhdGEgOiBvdGhlcik7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uUm93QnVpbGRlcjtcbiJdfQ==
@@ -1,92 +0,0 @@
1
- /**
2
- * ButtonBuilder for creating interactive buttons
3
- */
4
- /**
5
- * Button styles
6
- */
7
- export var ButtonStyle;
8
- (function (ButtonStyle) {
9
- ButtonStyle[ButtonStyle["Primary"] = 1] = "Primary";
10
- ButtonStyle[ButtonStyle["Secondary"] = 2] = "Secondary";
11
- ButtonStyle[ButtonStyle["Success"] = 3] = "Success";
12
- ButtonStyle[ButtonStyle["Danger"] = 4] = "Danger";
13
- ButtonStyle[ButtonStyle["Link"] = 5] = "Link";
14
- })(ButtonStyle || (ButtonStyle = {}));
15
- /**
16
- * A builder for creating buttons
17
- */
18
- export class ButtonBuilder {
19
- data;
20
- constructor(data = {}) {
21
- this.data = { type: 2, ...data };
22
- }
23
- /**
24
- * Sets the custom ID of this button
25
- * @param customId The custom ID
26
- */
27
- setCustomId(customId) {
28
- this.data.custom_id = customId;
29
- return this;
30
- }
31
- /**
32
- * Sets the label of this button
33
- * @param label The label
34
- */
35
- setLabel(label) {
36
- this.data.label = label;
37
- return this;
38
- }
39
- /**
40
- * Sets the style of this button
41
- * @param style The style
42
- */
43
- setStyle(style) {
44
- this.data.style = style;
45
- return this;
46
- }
47
- /**
48
- * Sets the emoji of this button
49
- * @param emoji The emoji
50
- */
51
- setEmoji(emoji) {
52
- if (typeof emoji === 'string') {
53
- // Unicode emoji
54
- this.data.emoji = { name: emoji };
55
- }
56
- else {
57
- this.data.emoji = emoji;
58
- }
59
- return this;
60
- }
61
- /**
62
- * Sets the URL of this button (only for Link style)
63
- * @param url The URL
64
- */
65
- setURL(url) {
66
- this.data.url = url;
67
- return this;
68
- }
69
- /**
70
- * Sets whether this button is disabled
71
- * @param disabled Whether the button is disabled
72
- */
73
- setDisabled(disabled = true) {
74
- this.data.disabled = disabled;
75
- return this;
76
- }
77
- /**
78
- * Returns the JSON representation of this button
79
- */
80
- toJSON() {
81
- return { ...this.data };
82
- }
83
- /**
84
- * Creates a new button builder from existing data
85
- * @param other The button data to copy
86
- */
87
- static from(other) {
88
- return new ButtonBuilder(other instanceof ButtonBuilder ? other.data : other);
89
- }
90
- }
91
- export default ButtonBuilder;
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9CdXR0b25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLG1EQUFXLENBQUE7SUFDWCx1REFBYSxDQUFBO0lBQ2IsbURBQVcsQ0FBQTtJQUNYLGlEQUFVLENBQUE7SUFDViw2Q0FBUSxDQUFBO0FBQ1YsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBWUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUNSLElBQUksQ0FBOEI7SUFFbEQsWUFBWSxPQUFvQyxFQUFFO1FBQ2hELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFrQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQWtFO1FBQ3pFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsZ0JBQWdCO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUF3QixDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQWtEO1FBQzVELE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEYsQ0FBQztDQUNGO0FBRUQsZUFBZSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJ1dHRvbkJ1aWxkZXIgZm9yIGNyZWF0aW5nIGludGVyYWN0aXZlIGJ1dHRvbnNcbiAqL1xuXG4vKipcbiAqIEJ1dHRvbiBzdHlsZXNcbiAqL1xuZXhwb3J0IGVudW0gQnV0dG9uU3R5bGUge1xuICBQcmltYXJ5ID0gMSxcbiAgU2Vjb25kYXJ5ID0gMixcbiAgU3VjY2VzcyA9IDMsXG4gIERhbmdlciA9IDQsXG4gIExpbmsgPSA1LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSUJ1dHRvbkNvbXBvbmVudCB7XG4gIHR5cGU6IDI7XG4gIHN0eWxlOiBCdXR0b25TdHlsZTtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGVtb2ppPzogeyBpZD86IHN0cmluZzsgbmFtZT86IHN0cmluZzsgYW5pbWF0ZWQ/OiBib29sZWFuIH07XG4gIGN1c3RvbV9pZD86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBidWlsZGVyIGZvciBjcmVhdGluZyBidXR0b25zXG4gKi9cbmV4cG9ydCBjbGFzcyBCdXR0b25CdWlsZGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGE6IFBhcnRpYWw8QVBJQnV0dG9uQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPEFQSUJ1dHRvbkNvbXBvbmVudD4gPSB7fSkge1xuICAgIHRoaXMuZGF0YSA9IHsgdHlwZTogMiwgLi4uZGF0YSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1c3RvbSBJRCBvZiB0aGlzIGJ1dHRvblxuICAgKiBAcGFyYW0gY3VzdG9tSWQgVGhlIGN1c3RvbSBJRFxuICAgKi9cbiAgc2V0Q3VzdG9tSWQoY3VzdG9tSWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5jdXN0b21faWQgPSBjdXN0b21JZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsYWJlbCBvZiB0aGlzIGJ1dHRvblxuICAgKiBAcGFyYW0gbGFiZWwgVGhlIGxhYmVsXG4gICAqL1xuICBzZXRMYWJlbChsYWJlbDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLmxhYmVsID0gbGFiZWw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc3R5bGUgb2YgdGhpcyBidXR0b25cbiAgICogQHBhcmFtIHN0eWxlIFRoZSBzdHlsZVxuICAgKi9cbiAgc2V0U3R5bGUoc3R5bGU6IEJ1dHRvblN0eWxlKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLnN0eWxlID0gc3R5bGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZW1vamkgb2YgdGhpcyBidXR0b25cbiAgICogQHBhcmFtIGVtb2ppIFRoZSBlbW9qaVxuICAgKi9cbiAgc2V0RW1vamkoZW1vamk6IHsgaWQ/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGFuaW1hdGVkPzogYm9vbGVhbiB9IHwgc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKHR5cGVvZiBlbW9qaSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFVuaWNvZGUgZW1vamlcbiAgICAgIHRoaXMuZGF0YS5lbW9qaSA9IHsgbmFtZTogZW1vamkgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRhLmVtb2ppID0gZW1vamk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIFVSTCBvZiB0aGlzIGJ1dHRvbiAob25seSBmb3IgTGluayBzdHlsZSlcbiAgICogQHBhcmFtIHVybCBUaGUgVVJMXG4gICAqL1xuICBzZXRVUkwodXJsOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEudXJsID0gdXJsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgd2hldGhlciB0aGlzIGJ1dHRvbiBpcyBkaXNhYmxlZFxuICAgKiBAcGFyYW0gZGlzYWJsZWQgV2hldGhlciB0aGUgYnV0dG9uIGlzIGRpc2FibGVkXG4gICAqL1xuICBzZXREaXNhYmxlZChkaXNhYmxlZCA9IHRydWUpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgYnV0dG9uXG4gICAqL1xuICB0b0pTT04oKTogQVBJQnV0dG9uQ29tcG9uZW50IHtcbiAgICByZXR1cm4geyAuLi50aGlzLmRhdGEgfSBhcyBBUElCdXR0b25Db21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBidXR0b24gYnVpbGRlciBmcm9tIGV4aXN0aW5nIGRhdGFcbiAgICogQHBhcmFtIG90aGVyIFRoZSBidXR0b24gZGF0YSB0byBjb3B5XG4gICAqL1xuICBzdGF0aWMgZnJvbShvdGhlcjogUGFydGlhbDxBUElCdXR0b25Db21wb25lbnQ+IHwgQnV0dG9uQnVpbGRlcik6IEJ1dHRvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgQnV0dG9uQnVpbGRlcihvdGhlciBpbnN0YW5jZW9mIEJ1dHRvbkJ1aWxkZXIgPyBvdGhlci5kYXRhIDogb3RoZXIpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbkJ1aWxkZXI7XG4iXX0=
@@ -1,204 +0,0 @@
1
- /**
2
- * EmbedBuilder for creating rich embeds
3
- */
4
- /**
5
- * A builder for creating embeds
6
- */
7
- export class EmbedBuilder {
8
- data;
9
- constructor(data = {}) {
10
- this.data = { ...data };
11
- if (data.fields) {
12
- this.data.fields = [...data.fields];
13
- }
14
- }
15
- /**
16
- * Sets the title of this embed
17
- * @param title The title
18
- */
19
- setTitle(title) {
20
- this.data.title = title ?? undefined;
21
- return this;
22
- }
23
- /**
24
- * Sets the description of this embed
25
- * @param description The description
26
- */
27
- setDescription(description) {
28
- this.data.description = description ?? undefined;
29
- return this;
30
- }
31
- /**
32
- * Sets the URL of this embed
33
- * @param url The URL
34
- */
35
- setURL(url) {
36
- this.data.url = url ?? undefined;
37
- return this;
38
- }
39
- /**
40
- * Sets the timestamp of this embed
41
- * @param timestamp The timestamp or date
42
- */
43
- setTimestamp(timestamp = Date.now()) {
44
- this.data.timestamp = timestamp === null
45
- ? undefined
46
- : new Date(timestamp).toISOString();
47
- return this;
48
- }
49
- /**
50
- * Sets the color of this embed
51
- * @param color The color (number, hex string, or RGB array)
52
- */
53
- setColor(color) {
54
- if (color === null) {
55
- this.data.color = undefined;
56
- }
57
- else if (typeof color === 'number') {
58
- this.data.color = color;
59
- }
60
- else if (typeof color === 'string') {
61
- this.data.color = parseInt(color.replace('#', ''), 16);
62
- }
63
- else if (Array.isArray(color)) {
64
- this.data.color = (color[0] << 16) + (color[1] << 8) + color[2];
65
- }
66
- return this;
67
- }
68
- /**
69
- * Sets the footer of this embed
70
- * @param options The footer options
71
- */
72
- setFooter(options) {
73
- if (options === null) {
74
- this.data.footer = undefined;
75
- }
76
- else {
77
- this.data.footer = {
78
- text: options.text,
79
- icon_url: options.iconURL,
80
- };
81
- }
82
- return this;
83
- }
84
- /**
85
- * Sets the image of this embed
86
- * @param url The image URL
87
- */
88
- setImage(url) {
89
- this.data.image = url === null ? undefined : { url };
90
- return this;
91
- }
92
- /**
93
- * Sets the thumbnail of this embed
94
- * @param url The thumbnail URL
95
- */
96
- setThumbnail(url) {
97
- this.data.thumbnail = url === null ? undefined : { url };
98
- return this;
99
- }
100
- /**
101
- * Sets the author of this embed
102
- * @param options The author options
103
- */
104
- setAuthor(options) {
105
- if (options === null) {
106
- this.data.author = undefined;
107
- }
108
- else {
109
- this.data.author = {
110
- name: options.name,
111
- icon_url: options.iconURL,
112
- url: options.url,
113
- };
114
- }
115
- return this;
116
- }
117
- /**
118
- * Adds fields to this embed (max 25 fields per embed)
119
- * @param fields The fields to add
120
- */
121
- addFields(...fields) {
122
- if (!this.data.fields)
123
- this.data.fields = [];
124
- if (this.data.fields.length + fields.length > 25) {
125
- throw new RangeError(`Embed fields cannot exceed 25. Current: ${this.data.fields.length}, adding: ${fields.length}`);
126
- }
127
- this.data.fields.push(...fields);
128
- return this;
129
- }
130
- /**
131
- * Sets the fields of this embed (max 25 fields per embed)
132
- * @param fields The fields to set
133
- */
134
- setFields(...fields) {
135
- if (fields.length > 25) {
136
- throw new RangeError(`Embed fields cannot exceed 25. Provided: ${fields.length}`);
137
- }
138
- this.data.fields = fields;
139
- return this;
140
- }
141
- /**
142
- * Removes, replaces, or inserts fields (max 25 fields per embed)
143
- * @param index The index to start at
144
- * @param deleteCount The number of fields to remove
145
- * @param fields The fields to insert
146
- */
147
- spliceFields(index, deleteCount, ...fields) {
148
- if (!this.data.fields)
149
- this.data.fields = [];
150
- this.data.fields.splice(index, deleteCount, ...fields);
151
- if (this.data.fields.length > 25) {
152
- throw new RangeError(`Embed fields cannot exceed 25. Result would have: ${this.data.fields.length}`);
153
- }
154
- return this;
155
- }
156
- /**
157
- * Returns the JSON representation of this embed
158
- */
159
- toJSON() {
160
- return { ...this.data };
161
- }
162
- /**
163
- * Creates a new embed builder from existing data
164
- * @param other The embed data to copy
165
- */
166
- static from(other) {
167
- return new EmbedBuilder(other instanceof EmbedBuilder ? other.data : other);
168
- }
169
- }
170
- // Color constants (DJS compatibility)
171
- export const Colors = {
172
- Default: 0x000000,
173
- White: 0xffffff,
174
- Aqua: 0x1abc9c,
175
- Green: 0x57f287,
176
- Blue: 0x3498db,
177
- Yellow: 0xfee75c,
178
- Purple: 0x9b59b6,
179
- LuminousVividPink: 0xe91e63,
180
- Fuchsia: 0xeb459e,
181
- Gold: 0xf1c40f,
182
- Orange: 0xe67e22,
183
- Red: 0xed4245,
184
- Grey: 0x95a5a6,
185
- Navy: 0x34495e,
186
- DarkAqua: 0x11806a,
187
- DarkGreen: 0x1f8b4c,
188
- DarkBlue: 0x206694,
189
- DarkPurple: 0x71368a,
190
- DarkVividPink: 0xad1457,
191
- DarkGold: 0xc27c0e,
192
- DarkOrange: 0xa84300,
193
- DarkRed: 0x992d22,
194
- DarkGrey: 0x979c9f,
195
- DarkerGrey: 0x7f8c8d,
196
- LightGrey: 0xbcc0c0,
197
- DarkNavy: 0x2c3e50,
198
- Blurple: 0x5865f2,
199
- Greyple: 0x99aab5,
200
- DarkButNotBlack: 0x2c2f33,
201
- NotQuiteBlack: 0x23272a,
202
- };
203
- export default EmbedBuilder;
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1iZWRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2J1aWxkZXJzL0VtYmVkQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQTRDSDs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ1AsSUFBSSxDQUFXO0lBRS9CLFlBQVksT0FBaUIsRUFBRTtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQW9CO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxTQUFTLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFdBQTBCO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxTQUFTLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQWtCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxTQUFTLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFlBQWtDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxLQUFLLElBQUk7WUFDdEMsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsSUFBSSxJQUFJLENB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LEVBQUUsUUFBUTtDQUNmLENBQUM7QUFFWCxlQUFlLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRW1iZWRCdWlsZGVyIGZvciBjcmVhdGluZyByaWNoIGVtYmVkc1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJRW1iZWRGaWVsZCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgaW5saW5lPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUElFbWJlZEF1dGhvciB7XG4gIG5hbWU6IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICBpY29uX3VybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUElFbWJlZEZvb3RlciB7XG4gIHRleHQ6IHN0cmluZztcbiAgaWNvbl91cmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJRW1iZWRJbWFnZSB7XG4gIHVybDogc3RyaW5nO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSUVtYmVkVGh1bWJuYWlsIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgd2lkdGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJRW1iZWQge1xuICB0aXRsZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgdGltZXN0YW1wPzogc3RyaW5nO1xuICBjb2xvcj86IG51bWJlcjtcbiAgZm9vdGVyPzogQVBJRW1iZWRGb290ZXI7XG4gIGltYWdlPzogQVBJRW1iZWRJbWFnZTtcbiAgdGh1bWJuYWlsPzogQVBJRW1iZWRUaHVtYm5haWw7XG4gIGF1dGhvcj86IEFQSUVtYmVkQXV0aG9yO1xuICBmaWVsZHM/OiBBUElFbWJlZEZpZWxkW107XG59XG5cbi8qKlxuICogQSBidWlsZGVyIGZvciBjcmVhdGluZyBlbWJlZHNcbiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkQnVpbGRlciB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhOiBBUElFbWJlZDtcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBBUElFbWJlZCA9IHt9KSB7XG4gICAgdGhpcy5kYXRhID0geyAuLi5kYXRhIH07XG4gICAgaWYgKGRhdGEuZmllbGRzKSB7XG4gICAgICB0aGlzLmRhdGEuZmllbGRzID0gWy4uLmRhdGEuZmllbGRzXTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdGl0bGUgb2YgdGhpcyBlbWJlZFxuICAgKiBAcGFyYW0gdGl0bGUgVGhlIHRpdGxlXG4gICAqL1xuICBzZXRUaXRsZSh0aXRsZTogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS50aXRsZSA9IHRpdGxlID8/IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIGVtYmVkXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBUaGUgZGVzY3JpcHRpb25cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIFVSTCBvZiB0aGlzIGVtYmVkXG4gICAqIEBwYXJhbSB1cmwgVGhlIFVSTFxuICAgKi9cbiAgc2V0VVJMKHVybDogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS51cmwgPSB1cmwgPz8gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRpbWVzdGFtcCBvZiB0aGlzIGVtYmVkXG4gICAqIEBwYXJhbSB0aW1lc3RhbXAgVGhlIHRpbWVzdGFtcCBvciBkYXRlXG4gICAqL1xuICBzZXRUaW1lc3RhbXAodGltZXN0YW1wOiBEYXRlIHwgbnVtYmVyIHwgbnVsbCA9IERhdGUubm93KCkpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEudGltZXN0YW1wID0gdGltZXN0YW1wID09PSBudWxsIFxuICAgICAgPyB1bmRlZmluZWQgXG4gICAgICA6IG5ldyBEYXRlKHRpbWVzdGFtcCkudG9JU09TdHJpbmcoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBvZiB0aGlzIGVtYmVkXG4gICAqIEBwYXJhbSBjb2xvciBUaGUgY29sb3IgKG51bWJlciwgaGV4IHN0cmluZywgb3IgUkdCIGFycmF5KVxuICAgKi9cbiAgc2V0Q29sb3IoY29sb3I6IG51bWJlciB8IGAjJHtzdHJpbmd9YCB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSB8IG51bGwpOiB0aGlzIHtcbiAgICBpZiAoY29sb3IgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuZGF0YS5jb2xvciA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMuZGF0YS5jb2xvciA9IGNvbG9yO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5kYXRhLmNvbG9yID0gcGFyc2VJbnQoY29sb3IucmVwbGFjZSgnIycsICcnKSwgMTYpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjb2xvcikpIHtcbiAgICAgIHRoaXMuZGF0YS5jb2xvciA9IChjb2xvclswXSA8PCAxNikgKyAoY29sb3JbMV0gPDwgOCkgKyBjb2xvclsyXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZm9vdGVyIG9mIHRoaXMgZW1iZWRcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIGZvb3RlciBvcHRpb25zXG4gICAqL1xuICBzZXRGb290ZXIob3B0aW9uczogeyB0ZXh0OiBzdHJpbmc7IGljb25VUkw/OiBzdHJpbmcgfSB8IG51bGwpOiB0aGlzIHtcbiAgICBpZiAob3B0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5kYXRhLmZvb3RlciA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRhLmZvb3RlciA9IHtcbiAgICAgICAgdGV4dDogb3B0aW9ucy50ZXh0LFxuICAgICAgICBpY29uX3VybDogb3B0aW9ucy5pY29uVVJMLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaW1hZ2Ugb2YgdGhpcyBlbWJlZFxuICAgKiBAcGFyYW0gdXJsIFRoZSBpbWFnZSBVUkxcbiAgICovXG4gIHNldEltYWdlKHVybDogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5pbWFnZSA9IHVybCA9PT0gbnVsbCA/IHVuZGVmaW5lZCA6IHsgdXJsIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdGh1bWJuYWlsIG9mIHRoaXMgZW1iZWRcbiAgICogQHBhcmFtIHVybCBUaGUgdGh1bWJuYWlsIFVSTFxuICAgKi9cbiAgc2V0VGh1bWJuYWlsKHVybDogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS50aHVtYm5haWwgPSB1cmwgPT09IG51bGwgPyB1bmRlZmluZWQgOiB7IHVybCB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGF1dGhvciBvZiB0aGlzIGVtYmVkXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBhdXRob3Igb3B0aW9uc1xuICAgKi9cbiAgc2V0QXV0aG9yKG9wdGlvbnM6IHsgbmFtZTogc3RyaW5nOyBpY29uVVJMPzogc3RyaW5nOyB1cmw/OiBzdHJpbmcgfSB8IG51bGwpOiB0aGlzIHtcbiAgICBpZiAob3B0aW9ucyA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5kYXRhLmF1dGhvciA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRhLmF1dGhvciA9IHtcbiAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICBpY29uX3VybDogb3B0aW9ucy5pY29uVVJMLFxuICAgICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBmaWVsZHMgdG8gdGhpcyBlbWJlZCAobWF4IDI1IGZpZWxkcyBwZXIgZW1iZWQpXG4gICAqIEBwYXJhbSBmaWVsZHMgVGhlIGZpZWxkcyB0byBhZGRcbiAgICovXG4gIGFkZEZpZWxkcyguLi5maWVsZHM6IEFQSUVtYmVkRmllbGRbXSk6IHRoaXMge1xuICAgIGlmICghdGhpcy5kYXRhLmZpZWxkcykgdGhpcy5kYXRhLmZpZWxkcyA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEuZmllbGRzLmxlbmd0aCArIGZpZWxkcy5sZW5ndGggPiAyNSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYEVtYmVkIGZpZWxkcyBjYW5ub3QgZXhjZWVkIDI1LiBDdXJyZW50OiAke3RoaXMuZGF0YS5maWVsZHMubGVuZ3RofSwgYWRkaW5nOiAke2ZpZWxkcy5sZW5ndGh9YCk7XG4gICAgfVxuICAgIHRoaXMuZGF0YS5maWVsZHMucHVzaCguLi5maWVsZHMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZpZWxkcyBvZiB0aGlzIGVtYmVkIChtYXggMjUgZmllbGRzIHBlciBlbWJlZClcbiAgICogQHBhcmFtIGZpZWxkcyBUaGUgZmllbGRzIHRvIHNldFxuICAgKi9cbiAgc2V0RmllbGRzKC4uLmZpZWxkczogQVBJRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgaWYgKGZpZWxkcy5sZW5ndGggPiAyNSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYEVtYmVkIGZpZWxkcyBjYW5ub3QgZXhjZWVkIDI1LiBQcm92aWRlZDogJHtmaWVsZHMubGVuZ3RofWApO1xuICAgIH1cbiAgICB0aGlzLmRhdGEuZmllbGRzID0gZmllbGRzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMsIHJlcGxhY2VzLCBvciBpbnNlcnRzIGZpZWxkcyAobWF4IDI1IGZpZWxkcyBwZXIgZW1iZWQpXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggdG8gc3RhcnQgYXRcbiAgICogQHBhcmFtIGRlbGV0ZUNvdW50IFRoZSBudW1iZXIgb2YgZmllbGRzIHRvIHJlbW92ZVxuICAgKiBAcGFyYW0gZmllbGRzIFRoZSBmaWVsZHMgdG8gaW5zZXJ0XG4gICAqL1xuICBzcGxpY2VGaWVsZHMoaW5kZXg6IG51bWJlciwgZGVsZXRlQ291bnQ6IG51bWJlciwgLi4uZmllbGRzOiBBUElFbWJlZEZpZWxkW10pOiB0aGlzIHtcbiAgICBpZiAoIXRoaXMuZGF0YS5maWVsZHMpIHRoaXMuZGF0YS5maWVsZHMgPSBbXTtcbiAgICB0aGlzLmRhdGEuZmllbGRzLnNwbGljZShpbmRleCwgZGVsZXRlQ291bnQsIC4uLmZpZWxkcyk7XG4gICAgaWYgKHRoaXMuZGF0YS5maWVsZHMubGVuZ3RoID4gMjUpIHtcbiAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBFbWJlZCBmaWVsZHMgY2Fubm90IGV4Y2VlZCAyNS4gUmVzdWx0IHdvdWxkIGhhdmU6ICR7dGhpcy5kYXRhLmZpZWxkcy5sZW5ndGh9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIGVtYmVkXG4gICAqL1xuICB0b0pTT04oKTogQVBJRW1iZWQge1xuICAgIHJldHVybiB7IC4uLnRoaXMuZGF0YSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZW1iZWQgYnVpbGRlciBmcm9tIGV4aXN0aW5nIGRhdGFcbiAgICogQHBhcmFtIG90aGVyIFRoZSBlbWJlZCBkYXRhIHRvIGNvcHlcbiAgICovXG4gIHN0YXRpYyBmcm9tKG90aGVyOiBBUElFbWJlZCB8IEVtYmVkQnVpbGRlcik6IEVtYmVkQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBFbWJlZEJ1aWxkZXIob3RoZXIgaW5zdGFuY2VvZiBFbWJlZEJ1aWxkZXIgPyBvdGhlci5kYXRhIDogb3RoZXIpO1xuICB9XG59XG5cbi8vIENvbG9yIGNvbnN0YW50cyAoREpTIGNvbXBhdGliaWxpdHkpXG5leHBvcnQgY29uc3QgQ29sb3JzID0ge1xuICBEZWZhdWx0OiAweDAwMDAwMCxcbiAgV2hpdGU6IDB4ZmZmZmZmLFxuICBBcXVhOiAweDFhYmM5YyxcbiAgR3JlZW46IDB4NTdmMjg3LFxuICBCbHVlOiAweDM0OThkYixcbiAgWWVsbG93OiAweGZlZTc1YyxcbiAgUHVycGxlOiAweDliNTliNixcbiAgTHVtaW5vdXNWaXZpZFBpbms6IDB4ZTkxZTYzLFxuICBGdWNoc2lhOiAweGViNDU5ZSxcbiAgR29sZDogMHhmMWM0MGYsXG4gIE9yYW5nZTogMHhlNjdlMjIsXG4gIFJlZDogMHhlZDQyNDUsXG4gIEdyZXk6IDB4OTVhNWE2LFxuICBOYXZ5OiAweDM0NDk1ZSxcbiAgRGFya0FxdWE6IDB4MTE4MDZhLFxuICBEYXJrR3JlZW46IDB4MWY4YjRjLFxuICBEYXJrQmx1ZTogMHgyMDY2OTQsXG4gIERhcmtQdXJwbGU6IDB4NzEzNjhhLFxuICBEYXJrVml2aWRQaW5rOiAweGFkMTQ1NyxcbiAgRGFya0dvbGQ6IDB4YzI3YzBlLFxuICBEYXJrT3JhbmdlOiAweGE4NDMwMCxcbiAgRGFya1JlZDogMHg5OTJkMjIsXG4gIERhcmtHcmV5OiAweDk3OWM5ZixcbiAgRGFya2VyR3JleTogMHg3ZjhjOGQsXG4gIExpZ2h0R3JleTogMHhiY2MwYzAsXG4gIERhcmtOYXZ5OiAweDJjM2U1MCxcbiAgQmx1cnBsZTogMHg1ODY1ZjIsXG4gIEdyZXlwbGU6IDB4OTlhYWI1LFxuICBEYXJrQnV0Tm90QmxhY2s6IDB4MmMyZjMzLFxuICBOb3RRdWl0ZUJsYWNrOiAweDIzMjcyYSxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IEVtYmVkQnVpbGRlcjtcbiJdfQ==
@@ -1,157 +0,0 @@
1
- /**
2
- * ModalBuilder for creating modals
3
- */
4
- /**
5
- * Text input styles
6
- */
7
- export var TextInputStyle;
8
- (function (TextInputStyle) {
9
- TextInputStyle[TextInputStyle["Short"] = 1] = "Short";
10
- TextInputStyle[TextInputStyle["Paragraph"] = 2] = "Paragraph";
11
- })(TextInputStyle || (TextInputStyle = {}));
12
- /**
13
- * A builder for creating text inputs
14
- */
15
- export class TextInputBuilder {
16
- data;
17
- constructor(data = {}) {
18
- this.data = { type: 4, ...data };
19
- }
20
- /**
21
- * Sets the custom ID of this text input
22
- * @param customId The custom ID
23
- */
24
- setCustomId(customId) {
25
- this.data.custom_id = customId;
26
- return this;
27
- }
28
- /**
29
- * Sets the label of this text input
30
- * @param label The label
31
- */
32
- setLabel(label) {
33
- this.data.label = label;
34
- return this;
35
- }
36
- /**
37
- * Sets the style of this text input
38
- * @param style The style
39
- */
40
- setStyle(style) {
41
- this.data.style = style;
42
- return this;
43
- }
44
- /**
45
- * Sets the minimum length of this text input
46
- * @param minLength The minimum length
47
- */
48
- setMinLength(minLength) {
49
- this.data.min_length = minLength;
50
- return this;
51
- }
52
- /**
53
- * Sets the maximum length of this text input
54
- * @param maxLength The maximum length
55
- */
56
- setMaxLength(maxLength) {
57
- this.data.max_length = maxLength;
58
- return this;
59
- }
60
- /**
61
- * Sets whether this text input is required
62
- * @param required Whether the text input is required
63
- */
64
- setRequired(required = true) {
65
- this.data.required = required;
66
- return this;
67
- }
68
- /**
69
- * Sets the value of this text input
70
- * @param value The value
71
- */
72
- setValue(value) {
73
- this.data.value = value;
74
- return this;
75
- }
76
- /**
77
- * Sets the placeholder of this text input
78
- * @param placeholder The placeholder
79
- */
80
- setPlaceholder(placeholder) {
81
- this.data.placeholder = placeholder;
82
- return this;
83
- }
84
- /**
85
- * Returns the JSON representation of this text input
86
- */
87
- toJSON() {
88
- return { ...this.data };
89
- }
90
- }
91
- /**
92
- * A builder for creating modals
93
- */
94
- export class ModalBuilder {
95
- data;
96
- constructor(data = {}) {
97
- this.data = { ...data };
98
- if (!this.data.components)
99
- this.data.components = [];
100
- }
101
- /**
102
- * Sets the custom ID of this modal
103
- * @param customId The custom ID
104
- */
105
- setCustomId(customId) {
106
- this.data.custom_id = customId;
107
- return this;
108
- }
109
- /**
110
- * Sets the title of this modal
111
- * @param title The title
112
- */
113
- setTitle(title) {
114
- this.data.title = title;
115
- return this;
116
- }
117
- /**
118
- * Adds components (action rows with text inputs) to this modal
119
- * @param components The components to add
120
- */
121
- addComponents(...components) {
122
- if (!this.data.components)
123
- this.data.components = [];
124
- for (const component of components) {
125
- if ('toJSON' in component && typeof component.toJSON === 'function') {
126
- this.data.components.push(component.toJSON());
127
- }
128
- else {
129
- this.data.components.push(component);
130
- }
131
- }
132
- return this;
133
- }
134
- /**
135
- * Sets the components of this modal
136
- * @param components The components to set
137
- */
138
- setComponents(...components) {
139
- this.data.components = [];
140
- return this.addComponents(...components);
141
- }
142
- /**
143
- * Returns the JSON representation of this modal
144
- */
145
- toJSON() {
146
- return { ...this.data };
147
- }
148
- /**
149
- * Creates a new modal builder from existing data
150
- * @param other The modal data to copy
151
- */
152
- static from(other) {
153
- return new ModalBuilder(other instanceof ModalBuilder ? other.data : other);
154
- }
155
- }
156
- export default ModalBuilder;
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kYWxCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2J1aWxkZXJzL01vZGFsQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QixxREFBUyxDQUFBO0lBQ1QsNkRBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQXlCRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDWCxJQUFJLENBQWlDO0lBRXJELFlBQVksT0FBdUMsRUFBRTtRQUNuRCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBcUI7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FB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b2RhbEJ1aWxkZXIgZm9yIGNyZWF0aW5nIG1vZGFsc1xuICovXG5cbi8qKlxuICogVGV4dCBpbnB1dCBzdHlsZXNcbiAqL1xuZXhwb3J0IGVudW0gVGV4dElucHV0U3R5bGUge1xuICBTaG9ydCA9IDEsXG4gIFBhcmFncmFwaCA9IDIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJVGV4dElucHV0Q29tcG9uZW50IHtcbiAgdHlwZTogNDtcbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIHN0eWxlOiBUZXh0SW5wdXRTdHlsZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgbWluX2xlbmd0aD86IG51bWJlcjtcbiAgbWF4X2xlbmd0aD86IG51bWJlcjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICB2YWx1ZT86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJTW9kYWxBY3Rpb25Sb3cge1xuICB0eXBlOiAxO1xuICBjb21wb25lbnRzOiBBUElUZXh0SW5wdXRDb21wb25lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUElNb2RhbCB7XG4gIGN1c3RvbV9pZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBjb21wb25lbnRzOiBBUElNb2RhbEFjdGlvblJvd1tdO1xufVxuXG4vKipcbiAqIEEgYnVpbGRlciBmb3IgY3JlYXRpbmcgdGV4dCBpbnB1dHNcbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRJbnB1dEJ1aWxkZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YTogUGFydGlhbDxBUElUZXh0SW5wdXRDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8QVBJVGV4dElucHV0Q29tcG9uZW50PiA9IHt9KSB7XG4gICAgdGhpcy5kYXRhID0geyB0eXBlOiA0LCAuLi5kYXRhIH07XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VzdG9tIElEIG9mIHRoaXMgdGV4dCBpbnB1dFxuICAgKiBAcGFyYW0gY3VzdG9tSWQgVGhlIGN1c3RvbSBJRFxuICAgKi9cbiAgc2V0Q3VzdG9tSWQoY3VzdG9tSWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5jdXN0b21faWQgPSBjdXN0b21JZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsYWJlbCBvZiB0aGlzIHRleHQgaW5wdXRcbiAgICogQHBhcmFtIGxhYmVsIFRoZSBsYWJlbFxuICAgKi9cbiAgc2V0TGFiZWwobGFiZWw6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5sYWJlbCA9IGxhYmVsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIG9mIHRoaXMgdGV4dCBpbnB1dFxuICAgKiBAcGFyYW0gc3R5bGUgVGhlIHN0eWxlXG4gICAqL1xuICBzZXRTdHlsZShzdHlsZTogVGV4dElucHV0U3R5bGUpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuc3R5bGUgPSBzdHlsZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGlzIHRleHQgaW5wdXRcbiAgICogQHBhcmFtIG1pbkxlbmd0aCBUaGUgbWluaW11bSBsZW5ndGhcbiAgICovXG4gIHNldE1pbkxlbmd0aChtaW5MZW5ndGg6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5taW5fbGVuZ3RoID0gbWluTGVuZ3RoO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoaXMgdGV4dCBpbnB1dFxuICAgKiBAcGFyYW0gbWF4TGVuZ3RoIFRoZSBtYXhpbXVtIGxlbmd0aFxuICAgKi9cbiAgc2V0TWF4TGVuZ3RoKG1heExlbmd0aDogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLm1heF9sZW5ndGggPSBtYXhMZW5ndGg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoaXMgdGV4dCBpbnB1dCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gcmVxdWlyZWQgV2hldGhlciB0aGUgdGV4dCBpbnB1dCBpcyByZXF1aXJlZFxuICAgKi9cbiAgc2V0UmVxdWlyZWQocmVxdWlyZWQgPSB0cnVlKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLnJlcXVpcmVkID0gcmVxdWlyZWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhpcyB0ZXh0IGlucHV0XG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWVcbiAgICovXG4gIHNldFZhbHVlKHZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEudmFsdWUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciBvZiB0aGlzIHRleHQgaW5wdXRcbiAgICogQHBhcmFtIHBsYWNlaG9sZGVyIFRoZSBwbGFjZWhvbGRlclxuICAgKi9cbiAgc2V0UGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0ZXh0IGlucHV0XG4gICAqL1xuICB0b0pTT04oKTogQVBJVGV4dElucHV0Q29tcG9uZW50IHtcbiAgICByZXR1cm4geyAuLi50aGlzLmRhdGEgfSBhcyBBUElUZXh0SW5wdXRDb21wb25lbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGJ1aWxkZXIgZm9yIGNyZWF0aW5nIG1vZGFsc1xuICovXG5leHBvcnQgY2xhc3MgTW9kYWxCdWlsZGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGE6IFBhcnRpYWw8QVBJTW9kYWw+O1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8QVBJTW9kYWw+ID0ge30pIHtcbiAgICB0aGlzLmRhdGEgPSB7IC4uLmRhdGEgfTtcbiAgICBpZiAoIXRoaXMuZGF0YS5jb21wb25lbnRzKSB0aGlzLmRhdGEuY29tcG9uZW50cyA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1c3RvbSBJRCBvZiB0aGlzIG1vZGFsXG4gICAqIEBwYXJhbSBjdXN0b21JZCBUaGUgY3VzdG9tIElEXG4gICAqL1xuICBzZXRDdXN0b21JZChjdXN0b21JZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLmN1c3RvbV9pZCA9IGN1c3RvbUlkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRpdGxlIG9mIHRoaXMgbW9kYWxcbiAgICogQHBhcmFtIHRpdGxlIFRoZSB0aXRsZVxuICAgKi9cbiAgc2V0VGl0bGUodGl0bGU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS50aXRsZSA9IHRpdGxlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgY29tcG9uZW50cyAoYWN0aW9uIHJvd3Mgd2l0aCB0ZXh0IGlucHV0cykgdG8gdGhpcyBtb2RhbFxuICAgKiBAcGFyYW0gY29tcG9uZW50cyBUaGUgY29tcG9uZW50cyB0byBhZGRcbiAgICovXG4gIGFkZENvbXBvbmVudHMoLi4uY29tcG9uZW50czogKEFQSU1vZGFsQWN0aW9uUm93IHwgeyB0b0pTT04oKTogQVBJTW9kYWxBY3Rpb25Sb3cgfSlbXSk6IHRoaXMge1xuICAgIGlmICghdGhpcy5kYXRhLmNvbXBvbmVudHMpIHRoaXMuZGF0YS5jb21wb25lbnRzID0gW107XG4gICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgY29tcG9uZW50cykge1xuICAgICAgaWYgKCd0b0pTT04nIGluIGNvbXBvbmVudCAmJiB0eXBlb2YgY29tcG9uZW50LnRvSlNPTiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzLmRhdGEuY29tcG9uZW50cy5wdXNoKGNvbXBvbmVudC50b0pTT04oKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGEuY29tcG9uZW50cy5wdXNoKGNvbXBvbmVudCBhcyBBUElNb2RhbEFjdGlvblJvdyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbXBvbmVudHMgb2YgdGhpcyBtb2RhbFxuICAgKiBAcGFyYW0gY29tcG9uZW50cyBUaGUgY29tcG9uZW50cyB0byBzZXRcbiAgICovXG4gIHNldENvbXBvbmVudHMoLi4uY29tcG9uZW50czogKEFQSU1vZGFsQWN0aW9uUm93IHwgeyB0b0pTT04oKTogQVBJTW9kYWxBY3Rpb25Sb3cgfSlbXSk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5jb21wb25lbnRzID0gW107XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50cyguLi5jb21wb25lbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgbW9kYWxcbiAgICovXG4gIHRvSlNPTigpOiBBUElNb2RhbCB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5kYXRhIH0gYXMgQVBJTW9kYWw7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBtb2RhbCBidWlsZGVyIGZyb20gZXhpc3RpbmcgZGF0YVxuICAgKiBAcGFyYW0gb3RoZXIgVGhlIG1vZGFsIGRhdGEgdG8gY29weVxuICAgKi9cbiAgc3RhdGljIGZyb20ob3RoZXI6IFBhcnRpYWw8QVBJTW9kYWw+IHwgTW9kYWxCdWlsZGVyKTogTW9kYWxCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IE1vZGFsQnVpbGRlcihvdGhlciBpbnN0YW5jZW9mIE1vZGFsQnVpbGRlciA/IG90aGVyLmRhdGEgOiBvdGhlcik7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTW9kYWxCdWlsZGVyO1xuIl19