{"version":3,"sources":["../../../../src/lib/utils/decorators.ts"],"names":["createClassDecorator","createProxy","SlashCommandSubcommandBuilder","container","analizeSubCommandParsed","analizeSubcommandGroupParsed"],"mappings":";;;;;;;;;AAQa,IAAA,kBAAA,mBACZ,MAAA,CAAA,CAAA,iBAAA,EACA,UAGI,KAAA;AACJ,EAAO,OAAAA,+BAAA;AAAA,IAAqB,CAAC,MAC5B,KAAAC,sBAAA,CAAY,MAAQ,EAAA;AAAA,MACnB,2BAAY,MAAA,CAAA,CAAA,IAAA,EAAM,CAAC,OAAA,EAAS,WAAW,CAAsC,KAAA;AAC5E,QAAM,MAAA,qBAAA,GACL,OAAO,UAAe,KAAA,UAAA,GAAa,WAAW,IAAIC,sCAAA,EAAiC,EAAAC,mBAAS,CAAI,GAAA,UAAA,CAAA;AAEjG,QAAM,MAAA,GAAA,GAAM,IAAI,IAAA,CAAK,OAAS,EAAA;AAAA,UAC7B,GAAG,WAAA;AAAA,UACH,MACCA,mBAAU,CAAA,MAAA,CAAO,QAAQ,mBAAqB,EAAA,yBAAA,KAA8B,OACzE,CAAG,EAAA,iBAAiB,CAAI,CAAA,EAAA,OAAO,0BAA0B,QAAW,GAAA,qBAAA,CAAsB,OAAO,WAAY,CAAA,IAAI,KACjH,WAAY,CAAA,IAAA;AAAA,SAChB,CAAA,CAAA;AAED,QAAO,OAAAC,qCAAA,CAAwB,GAAK,EAAA,iBAAA,EAAmB,qBAAqB,CAAA,CAAA;AAAA,OAZlE,EAAA,WAAA,CAAA;AAAA,KAcX,CAAA;AAAA,GACF,CAAA;AACD,CAxBkC,EAAA,oBAAA,EAAA;AA0B3B,IAAM,uBAA0B,mBAAA,MAAA,CAAA,CACtC,iBACA,EAAA,SAAA,EACA,UAGI,KAAA;AACJ,EAAO,OAAAJ,+BAAA;AAAA,IAAqB,CAAC,MAC5B,KAAAC,sBAAA,CAAY,MAAQ,EAAA;AAAA,MACnB,2BAAY,MAAA,CAAA,CAAA,IAAA,EAAM,CAAC,OAAA,EAAS,WAAW,CAAsC,KAAA;AAC5E,QAAM,MAAA,qBAAA,GACL,OAAO,UAAe,KAAA,UAAA,GAAa,WAAW,IAAIC,sCAAA,EAAiC,EAAAC,mBAAS,CAAI,GAAA,UAAA,CAAA;AAEjG,QAAM,MAAA,GAAA,GAAM,IAAI,IAAA,CAAK,OAAS,EAAA;AAAA,UAC7B,GAAG,WAAA;AAAA,UACH,IAAA,EACCA,oBAAU,MAAO,CAAA,OAAA,CAAQ,qBAAqB,yBAA8B,KAAA,IAAA,GACzE,GAAG,iBAAiB,CAAA,CAAA,EAAI,SAAS,CAAI,CAAA,EAAA,OAAO,0BAA0B,QAAW,GAAA,qBAAA,CAAsB,OAAO,WAAY,CAAA,IAAI,KAC9H,WAAY,CAAA,IAAA;AAAA,SAChB,CAAA,CAAA;AAED,QAAA,OAAOE,0CAA6B,CAAA,GAAA,EAAK,iBAAmB,EAAA,SAAA,EAAW,qBAAqB,CAAA,CAAA;AAAA,OAZlF,EAAA,WAAA,CAAA;AAAA,KAcX,CAAA;AAAA,GACF,CAAA;AACD,CAzBuC,EAAA,yBAAA","file":"decorators.cjs","sourcesContent":["/* eslint-disable @typescript-eslint/no-base-to-string */\nimport { createClassDecorator, createProxy } from '@sapphire/decorators';\nimport { Command, container, Piece } from '@sapphire/framework';\n\nimport { SlashCommandSubcommandBuilder } from '@discordjs/builders';\n\nimport { analizeSubcommandGroupParsed, analizeSubCommandParsed } from './functions';\n\nexport const RegisterSubCommand = (\n\tparentCommandName: string,\n\tSubcommand?:\n\t\t| SlashCommandSubcommandBuilder\n\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder, Container: typeof container) => SlashCommandSubcommandBuilder)\n) => {\n\treturn createClassDecorator((target: typeof Piece) =>\n\t\tcreateProxy(target, {\n\t\t\tconstruct: (ctor, [context, baseOptions]: [Piece.Context, Piece.Options]) => {\n\t\t\t\tconst slashSubcommandParsed =\n\t\t\t\t\ttypeof Subcommand === 'function' ? Subcommand(new SlashCommandSubcommandBuilder(), container) : Subcommand;\n\n\t\t\t\tconst ctr = new ctor(context, {\n\t\t\t\t\t...baseOptions,\n\t\t\t\t\tname:\n\t\t\t\t\t\tcontainer.client.options.subcommandsAdvanced?.nameCommandsAutogenerated === true\n\t\t\t\t\t\t\t? `${parentCommandName}/${typeof slashSubcommandParsed === 'object' ? slashSubcommandParsed.name : baseOptions.name}`\n\t\t\t\t\t\t\t: baseOptions.name\n\t\t\t\t}) as unknown as Command;\n\n\t\t\t\treturn analizeSubCommandParsed(ctr, parentCommandName, slashSubcommandParsed);\n\t\t\t}\n\t\t})\n\t);\n};\n\nexport const RegisterSubCommandGroup = (\n\tparentCommandName: string,\n\tgroupName: string,\n\tSubcommand?:\n\t\t| SlashCommandSubcommandBuilder\n\t\t| ((subcommandGroup: SlashCommandSubcommandBuilder, Container: typeof container) => SlashCommandSubcommandBuilder)\n) => {\n\treturn createClassDecorator((target: typeof Piece) =>\n\t\tcreateProxy(target, {\n\t\t\tconstruct: (ctor, [context, baseOptions]: [Piece.Context, Piece.Options]) => {\n\t\t\t\tconst slashSubcommandParsed =\n\t\t\t\t\ttypeof Subcommand === 'function' ? Subcommand(new SlashCommandSubcommandBuilder(), container) : Subcommand;\n\n\t\t\t\tconst ctr = new ctor(context, {\n\t\t\t\t\t...baseOptions,\n\t\t\t\t\tname:\n\t\t\t\t\t\tcontainer.client.options.subcommandsAdvanced?.nameCommandsAutogenerated === true\n\t\t\t\t\t\t\t? `${parentCommandName}/${groupName}/${typeof slashSubcommandParsed === 'object' ? slashSubcommandParsed.name : baseOptions.name}`\n\t\t\t\t\t\t\t: baseOptions.name\n\t\t\t\t}) as unknown as Command;\n\n\t\t\t\treturn analizeSubcommandGroupParsed(ctr, parentCommandName, groupName, slashSubcommandParsed);\n\t\t\t}\n\t\t})\n\t);\n};\n"]}