@jubbio/core 1.3.3 → 1.3.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.
Files changed (130) 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/Message.d.ts +2 -0
  9. package/dist/structures/Message.js +13 -33
  10. package/package.json +4 -14
  11. package/dist/cjs/Client.d.ts +0 -157
  12. package/dist/cjs/Client.js +0 -640
  13. package/dist/cjs/builders/ActionRowBuilder.d.ts +0 -53
  14. package/dist/cjs/builders/ActionRowBuilder.js +0 -68
  15. package/dist/cjs/builders/ButtonBuilder.d.ts +0 -77
  16. package/dist/cjs/builders/ButtonBuilder.js +0 -96
  17. package/dist/cjs/builders/EmbedBuilder.d.ts +0 -157
  18. package/dist/cjs/builders/EmbedBuilder.js +0 -208
  19. package/dist/cjs/builders/ModalBuilder.d.ts +0 -122
  20. package/dist/cjs/builders/ModalBuilder.js +0 -162
  21. package/dist/cjs/builders/SelectMenuBuilder.d.ts +0 -123
  22. package/dist/cjs/builders/SelectMenuBuilder.js +0 -165
  23. package/dist/cjs/builders/SlashCommandBuilder.d.ts +0 -197
  24. package/dist/cjs/builders/SlashCommandBuilder.js +0 -324
  25. package/dist/cjs/builders/index.d.ts +0 -9
  26. package/dist/cjs/builders/index.js +0 -26
  27. package/dist/cjs/enums.d.ts +0 -191
  28. package/dist/cjs/enums.js +0 -211
  29. package/dist/cjs/index.d.ts +0 -25
  30. package/dist/cjs/index.js +0 -130
  31. package/dist/cjs/managers/BaseManager.d.ts +0 -69
  32. package/dist/cjs/managers/BaseManager.js +0 -106
  33. package/dist/cjs/managers/ChannelManager.d.ts +0 -95
  34. package/dist/cjs/managers/ChannelManager.js +0 -205
  35. package/dist/cjs/managers/GuildMemberManager.d.ts +0 -74
  36. package/dist/cjs/managers/GuildMemberManager.js +0 -157
  37. package/dist/cjs/managers/RoleManager.d.ts +0 -84
  38. package/dist/cjs/managers/RoleManager.js +0 -207
  39. package/dist/cjs/managers/index.d.ts +0 -7
  40. package/dist/cjs/managers/index.js +0 -24
  41. package/dist/cjs/rest/REST.d.ts +0 -527
  42. package/dist/cjs/rest/REST.js +0 -904
  43. package/dist/cjs/rest/index.d.ts +0 -1
  44. package/dist/cjs/rest/index.js +0 -18
  45. package/dist/cjs/sharding/ShardingManager.d.ts +0 -179
  46. package/dist/cjs/sharding/ShardingManager.js +0 -375
  47. package/dist/cjs/sharding/index.d.ts +0 -4
  48. package/dist/cjs/sharding/index.js +0 -21
  49. package/dist/cjs/structures/Channel.d.ts +0 -122
  50. package/dist/cjs/structures/Channel.js +0 -240
  51. package/dist/cjs/structures/Collection.d.ts +0 -53
  52. package/dist/cjs/structures/Collection.js +0 -115
  53. package/dist/cjs/structures/Guild.d.ts +0 -59
  54. package/dist/cjs/structures/Guild.js +0 -94
  55. package/dist/cjs/structures/GuildMember.d.ts +0 -174
  56. package/dist/cjs/structures/GuildMember.js +0 -311
  57. package/dist/cjs/structures/Interaction.d.ts +0 -245
  58. package/dist/cjs/structures/Interaction.js +0 -450
  59. package/dist/cjs/structures/Message.d.ts +0 -98
  60. package/dist/cjs/structures/Message.js +0 -195
  61. package/dist/cjs/structures/User.d.ts +0 -37
  62. package/dist/cjs/structures/User.js +0 -65
  63. package/dist/cjs/structures/index.d.ts +0 -7
  64. package/dist/cjs/structures/index.js +0 -25
  65. package/dist/cjs/structures.d.ts +0 -1
  66. package/dist/cjs/structures.js +0 -19
  67. package/dist/cjs/types.d.ts +0 -255
  68. package/dist/cjs/types.js +0 -3
  69. package/dist/cjs/utils/BitField.d.ts +0 -66
  70. package/dist/cjs/utils/BitField.js +0 -138
  71. package/dist/cjs/utils/Collection.d.ts +0 -116
  72. package/dist/cjs/utils/Collection.js +0 -265
  73. package/dist/cjs/utils/Collector.d.ts +0 -152
  74. package/dist/cjs/utils/Collector.js +0 -314
  75. package/dist/cjs/utils/DataResolver.d.ts +0 -61
  76. package/dist/cjs/utils/DataResolver.js +0 -146
  77. package/dist/cjs/utils/Formatters.d.ts +0 -145
  78. package/dist/cjs/utils/Formatters.js +0 -213
  79. package/dist/cjs/utils/IntentsBitField.d.ts +0 -85
  80. package/dist/cjs/utils/IntentsBitField.js +0 -99
  81. package/dist/cjs/utils/Partials.d.ts +0 -104
  82. package/dist/cjs/utils/Partials.js +0 -148
  83. package/dist/cjs/utils/PermissionsBitField.d.ts +0 -118
  84. package/dist/cjs/utils/PermissionsBitField.js +0 -145
  85. package/dist/cjs/utils/SnowflakeUtil.d.ts +0 -63
  86. package/dist/cjs/utils/SnowflakeUtil.js +0 -93
  87. package/dist/cjs/utils/Sweepers.d.ts +0 -119
  88. package/dist/cjs/utils/Sweepers.js +0 -249
  89. package/dist/cjs/utils/index.d.ts +0 -13
  90. package/dist/cjs/utils/index.js +0 -30
  91. package/dist/esm/Client.js +0 -634
  92. package/dist/esm/builders/ActionRowBuilder.js +0 -64
  93. package/dist/esm/builders/ButtonBuilder.js +0 -92
  94. package/dist/esm/builders/EmbedBuilder.js +0 -204
  95. package/dist/esm/builders/ModalBuilder.js +0 -157
  96. package/dist/esm/builders/SelectMenuBuilder.js +0 -161
  97. package/dist/esm/builders/SlashCommandBuilder.js +0 -311
  98. package/dist/esm/builders/index.js +0 -10
  99. package/dist/esm/enums.js +0 -208
  100. package/dist/esm/index.js +0 -34
  101. package/dist/esm/managers/BaseManager.js +0 -100
  102. package/dist/esm/managers/ChannelManager.js +0 -200
  103. package/dist/esm/managers/GuildMemberManager.js +0 -153
  104. package/dist/esm/managers/RoleManager.js +0 -203
  105. package/dist/esm/managers/index.js +0 -8
  106. package/dist/esm/rest/REST.js +0 -900
  107. package/dist/esm/rest/index.js +0 -2
  108. package/dist/esm/sharding/ShardingManager.js +0 -366
  109. package/dist/esm/sharding/index.js +0 -5
  110. package/dist/esm/structures/Channel.js +0 -232
  111. package/dist/esm/structures/Collection.js +0 -111
  112. package/dist/esm/structures/Guild.js +0 -90
  113. package/dist/esm/structures/GuildMember.js +0 -306
  114. package/dist/esm/structures/Interaction.js +0 -438
  115. package/dist/esm/structures/Message.js +0 -191
  116. package/dist/esm/structures/User.js +0 -61
  117. package/dist/esm/structures/index.js +0 -9
  118. package/dist/esm/structures.js +0 -3
  119. package/dist/esm/types.js +0 -2
  120. package/dist/esm/utils/BitField.js +0 -134
  121. package/dist/esm/utils/Collection.js +0 -261
  122. package/dist/esm/utils/Collector.js +0 -305
  123. package/dist/esm/utils/DataResolver.js +0 -142
  124. package/dist/esm/utils/Formatters.js +0 -191
  125. package/dist/esm/utils/IntentsBitField.js +0 -93
  126. package/dist/esm/utils/Partials.js +0 -137
  127. package/dist/esm/utils/PermissionsBitField.js +0 -141
  128. package/dist/esm/utils/SnowflakeUtil.js +0 -89
  129. package/dist/esm/utils/Sweepers.js +0 -245
  130. 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