fix: Keep symbols in actions manager (#9293)

fix: keep symbols in actions manager
This commit is contained in:
Jiralite
2023-03-29 18:27:23 +01:00
committed by GitHub
parent 3cf4f4b317
commit 984bd55b43
2 changed files with 15 additions and 4 deletions

View File

@@ -19,7 +19,18 @@ async function writeWebsocketHandlerImports() {
}
async function writeClientActionImports() {
const lines = ["'use strict';\n", 'class ActionsManager {', ' constructor(client) {', ' this.client = client;\n'];
const lines = [
"'use strict';\n",
'class ActionsManager {',
' // These symbols represent fully built data that we inject at times when calling actions manually.',
' // Action#getUser, for example, will return the injected data (which is assumed to be a built structure)',
' // instead of trying to make it from provided data',
" injectedUser = Symbol('djs.actions.injectedUser');",
" injectedChannel = Symbol('djs.actions.injectedChannel');",
" injectedMessage = Symbol('djs.actions.injectedMessage');\n",
' constructor(client) {',
' this.client = client;\n',
];
const actionsDirectory = new URL('../src/client/actions', import.meta.url);
for (const file of (await readdir(actionsDirectory)).sort()) {

View File

@@ -1,9 +1,9 @@
'use strict';
class ActionsManager {
// These symbols represent fully built data that we inject at times when calling actions manually. Action#getUser,
// for example, will return the injected data (which is assumed to be a built structure) instead of trying to make it
// from provided data
// These symbols represent fully built data that we inject at times when calling actions manually.
// Action#getUser, for example, will return the injected data (which is assumed to be a built structure)
// instead of trying to make it from provided data
injectedUser = Symbol('djs.actions.injectedUser');
injectedChannel = Symbol('djs.actions.injectedChannel');
injectedMessage = Symbol('djs.actions.injectedMessage');