{"version":3,"sources":["../../src/register.ts"],"names":[],"mappings":";;;;;AAOO,IAAM,cAAA,GAAN,MAAM,cAAA,SAAsB,MAAO,CAAA;AAAA,EACzC,QAAe,yBAAyB,CAAA,CAAwB,OAA8B,EAAA;AAC7F,IAAA,SAAA,CAAU,IAAO,GAAA,IAAI,2BAA4B,CAAA,OAAA,CAAQ,IAAI,CAAA;AAAA;AAC9D,EAEA,cAAqB,QAAQ,CAAuC,GAAA;AACnE,IAAM,MAAA,SAAA,CAAU,KAAK,IAAK,EAAA;AAAA;AAC3B,EAEA,QAAe,SAAS,CAA8B,GAAA;AACrD,IAAA,IAAI,IAAK,CAAA,OAAA,CAAQ,IAAM,EAAA,GAAA,EAAK,OAAS,EAAA;AACpC,MAAU,SAAA,CAAA,MAAA,CAAO,KAAK,gEAAgE,CAAA;AAEtF,MAAM,KAAA,CAAA,SAAA,CAAU,IAAK,CAAA,kBAAA,EAAoB,IAAK,CAAA,OAAA,CAAQ,KAAK,GAAI,CAAA,OAAA,IAAW,EAAE,CAC1E,CAAA,EAAA,CAAG,UAAU,MAAM,SAAA,CAAU,IAAK,CAAA,eAAA,EAAiB,CAAA,CACnD,EAAG,CAAA,QAAA,EAAU,MAAM,SAAA,CAAU,IAAK,CAAA,eAAA,EAAiB,CAAA;AAAA;AACtD;AAEF,CAAA;AAlB0C,MAAA,CAAA,cAAA,EAAA,eAAA,CAAA;AAAnC,IAAM,aAAN,GAAA;AAoBP,cAAA,CAAe,OAAQ,CAAA,8BAAA,CAA+B,aAAc,CAAA,yBAAyB,GAAG,mCAAmC,CAAA;AACnI,cAAA,CAAe,OAAQ,CAAA,oBAAA,CAAqB,aAAc,CAAA,QAAQ,GAAG,kBAAkB,CAAA;AACvF,cAAA,CAAe,OAAQ,CAAA,qBAAA,CAAsB,aAAc,CAAA,SAAS,GAAG,mBAAmB,CAAA","file":"register.mjs","sourcesContent":["import './index';\n\nimport { Plugin, SapphireClient, container, postLogin, preGenericsInitialization, preLogin } from '@sapphire/framework';\nimport { watch } from 'chokidar';\nimport type { ClientOptions } from 'discord.js';\nimport { InternationalizationHandler } from './index';\n\nexport class I18nextPlugin extends Plugin {\n\tpublic static [preGenericsInitialization](this: SapphireClient, options: ClientOptions): void {\n\t\tcontainer.i18n = new InternationalizationHandler(options.i18n);\n\t}\n\n\tpublic static async [preLogin](this: SapphireClient): Promise<void> {\n\t\tawait container.i18n.init();\n\t}\n\n\tpublic static [postLogin](this: SapphireClient): void {\n\t\tif (this.options.i18n?.hmr?.enabled) {\n\t\t\tcontainer.logger.info('[i18next-Plugin]: HMR enabled. Watching for languages changes.');\n\n\t\t\twatch(container.i18n.languagesDirectory, this.options.i18n.hmr.options ?? {})\n\t\t\t\t.on('change', () => container.i18n.reloadResources())\n\t\t\t\t.on('unlink', () => container.i18n.reloadResources());\n\t\t}\n\t}\n}\n\nSapphireClient.plugins.registerPostInitializationHook(I18nextPlugin[preGenericsInitialization], 'I18next-PreGenericsInitialization');\nSapphireClient.plugins.registerPreLoginHook(I18nextPlugin[preLogin], 'I18next-PreLogin');\nSapphireClient.plugins.registerPostLoginHook(I18nextPlugin[postLogin], 'I18next-PostLogin');\n"]}