Page Not Found
We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
From 8505050c1b58ebd93e2dd7fa920bdfa5e7064002 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 16:40:41 +0000 Subject: [PATCH] deploy: 208061040f83e460f60675382e6e7176809d4f00 --- 404.html | 15 +- assets/css/styles.a87c6c77.css | 1 + assets/css/styles.d6dcc751.css | 1 - assets/js/01a85c17.0d8abe99.js | 1 + assets/js/01a85c17.e946a2b3.js | 1 - assets/js/083c37a9.96cbf01a.js | 1 + assets/js/083c37a9.e46ede3f.js | 1 - assets/js/0a33f845.2a4f4acd.js | 1 + assets/js/0a33f845.d577ada1.js | 1 - assets/js/0c9bead8.384ea4e6.js | 1 + assets/js/0c9bead8.b2564c5f.js | 1 - assets/js/0e384e19.163c418a.js | 1 - assets/js/0e384e19.28657b0d.js | 1 + assets/js/1527.44033dad.js | 1 - assets/js/1774.97cc7cd3.js | 1 - assets/js/17896441.65eadaff.js | 1 + assets/js/17896441.b083d82e.js | 1 - assets/js/1a1cc5f0.545edb1a.js | 1 + assets/js/1a1cc5f0.910da70b.js | 1 - ...e3797.c46d8629.js => 1a4e3797.39c8a6ed.js} | 4 +- ...E.txt => 1a4e3797.39c8a6ed.js.LICENSE.txt} | 0 assets/js/1ac1bfe9.05055114.js | 1 + assets/js/1ac1bfe9.e122cfbf.js | 1 - ...eaf48.e8f9f74f.js => 1adeaf48.9759b55c.js} | 2 +- assets/js/1aef51bd.6805551d.js | 1 - assets/js/1aef51bd.b9ad6d3a.js | 1 + assets/js/1b0c702f.9554173b.js | 1 - assets/js/1b0c702f.a399cc7c.js | 1 + assets/js/1be78505.53dd39c6.js | 1 - assets/js/1c127a4d.826f2d62.js | 1 + assets/js/1c127a4d.911f4d3c.js | 1 - assets/js/1f391b9e.3ba9c245.js | 1 + assets/js/1f391b9e.8f8e3257.js | 1 - assets/js/2237.2d1a0a6e.js | 1 + assets/js/26f1f3a5.38b5f01c.js | 1 + assets/js/26f1f3a5.c9886bb7.js | 1 - assets/js/295686f2.2a44d0d4.js | 1 + assets/js/295686f2.c606bb6e.js | 1 - assets/js/2caf5b7a.65dc7045.js | 1 - assets/js/2caf5b7a.d44a2d10.js | 1 + assets/js/2f13d849.230cdf86.js | 1 + assets/js/2f13d849.b000438a.js | 1 - assets/js/3020eeee.0a10de29.js | 1 - assets/js/3020eeee.ddeea7c0.js | 1 + assets/js/312c2bc5.69b35d37.js | 1 + assets/js/312c2bc5.973dbfed.js | 1 - assets/js/3369.8abdef7a.js | 1 - assets/js/393be207.57a2a7ca.js | 1 - assets/js/393be207.f6c7b1fd.js | 1 + assets/js/3a0cb3a9.868a017a.js | 1 - assets/js/3a0cb3a9.8f712e5b.js | 1 + assets/js/3a25b5a8.8950a65c.js | 1 + assets/js/3a25b5a8.e16d8590.js | 1 - assets/js/3a2d3092.6c0205f0.js | 1 + assets/js/3a2d3092.c253e2e4.js | 1 - assets/js/3ae57366.9c3b8034.js | 1 + assets/js/3ae57366.a24431ba.js | 1 - assets/js/3b15a34b.8c2df6a5.js | 1 - assets/js/3b15a34b.ca5fe935.js | 1 + assets/js/3dc7c79a.707a083b.js | 1 + assets/js/3dc7c79a.71bfba55.js | 1 - assets/js/3f83d40d.37529bf9.js | 1 - assets/js/3f83d40d.650fdbc3.js | 1 + assets/js/425cbb82.8215dc07.js | 1 - assets/js/425cbb82.c43df7a1.js | 1 + assets/js/4279c33d.c0d97df9.js | 1 + assets/js/4279c33d.d8242c81.js | 1 - assets/js/447d9066.c1126721.js | 1 + assets/js/447d9066.d1260c94.js | 1 - assets/js/462b6925.0bbd173d.js | 1 + assets/js/462b6925.cea90a3f.js | 1 - assets/js/46963930.68eb9b6d.js | 1 - assets/js/46963930.7112f6df.js | 1 + assets/js/476a0444.10f0d0df.js | 1 + assets/js/476a0444.b272406f.js | 1 - assets/js/4b098d2e.4e2d908b.js | 1 + assets/js/4b098d2e.ae40af98.js | 1 - assets/js/4d00c3f4.87b40635.js | 1 + assets/js/4d00c3f4.d751b616.js | 1 - assets/js/4e28a08b.642a9389.js | 1 + assets/js/4e28a08b.791da581.js | 1 - assets/js/4fef5a93.238284ce.js | 1 - assets/js/4fef5a93.c85e3bd8.js | 1 + assets/js/522b21a2.4178f9de.js | 1 + assets/js/522b21a2.71778338.js | 1 - assets/js/53944420.6e6a212f.js | 1 - assets/js/53944420.f839c60a.js | 1 + assets/js/54bc704d.a55fb4e7.js | 1 + assets/js/54bc704d.f794f779.js | 1 - assets/js/57fe7727.19e03074.js | 1 - assets/js/57fe7727.fdd8e144.js | 1 + assets/js/5ae130ee.227accd5.js | 1 - assets/js/5ae130ee.2ef7ba33.js | 1 + assets/js/5bc4ccbc.d0bbd674.js | 1 + assets/js/5bc4ccbc.fae2d6cf.js | 1 - assets/js/5e8c322a.5487c507.js | 1 - assets/js/5e8c322a.dcb838c1.js | 1 + assets/js/5e95c892.3abda5eb.js | 1 + assets/js/608ca171.06188167.js | 1 + assets/js/608ca171.b0398c02.js | 1 - assets/js/61538263.3458e15f.js | 1 + assets/js/61538263.35f3eb36.js | 1 - assets/js/65578b65.37356d76.js | 1 + assets/js/65578b65.f72d5d0d.js | 1 - assets/js/6626dbb1.825c5135.js | 1 - assets/js/6626dbb1.e181ddc9.js | 1 + assets/js/67348500.87ebf2e0.js | 1 + assets/js/67348500.ef7ca254.js | 1 - assets/js/67e3e25a.4316a7a1.js | 1 - assets/js/67e3e25a.6a6e49eb.js | 1 + assets/js/6875c492.7633bf40.js | 1 - assets/js/6875c492.843c62d7.js | 1 + assets/js/6ba1d2c1.4c556a1d.js | 1 + assets/js/6ba1d2c1.c0ab307d.js | 1 - assets/js/6c624b4c.d2965a4f.js | 1 + assets/js/6c624b4c.ea8de0f3.js | 1 - ...c4513.054ea7aa.js => 6cfc4513.abe64872.js} | 2 +- assets/js/6e55d25c.1c13be5c.js | 1 + assets/js/6e55d25c.81a65f7d.js | 1 - assets/js/6ff82968.871aec46.js | 1 - assets/js/6ff82968.97698922.js | 1 + assets/js/701614d9.c950b9e1.js | 1 + assets/js/701614d9.f20cb9c1.js | 1 - assets/js/707baeff.35f73e46.js | 1 - assets/js/707baeff.d359d8ee.js | 1 + assets/js/720cd117.d27c2233.js | 1 - assets/js/720cd117.d46955be.js | 1 + assets/js/7343edf0.15c84cc2.js | 1 + assets/js/7343edf0.571a3359.js | 1 - assets/js/73bd57bd.f4bc9eaf.js | 1 - assets/js/73bd57bd.f5cedfa7.js | 1 + assets/js/74e316f4.750b3a2e.js | 1 + assets/js/74e316f4.b5984492.js | 1 - assets/js/77a07764.4f555e6f.js | 1 + assets/js/77a07764.65d74f09.js | 1 - assets/js/79e7cc44.00df2dcd.js | 1 - assets/js/79e7cc44.552abfaf.js | 1 + assets/js/7b758ddf.a9859c3b.js | 1 + assets/js/7b758ddf.ab8e3749.js | 1 - assets/js/7cd974c8.1142550f.js | 1 + assets/js/7cd974c8.550947cb.js | 1 - assets/js/7e205c4a.030c48fa.js | 1 + assets/js/7e205c4a.cba607a3.js | 1 - assets/js/7f2ac8b7.5f98af8b.js | 1 + assets/js/7f2ac8b7.fe1520c4.js | 1 - assets/js/814f3328.16400023.js | 1 - assets/js/814f3328.863c6bec.js | 1 + assets/js/82474f76.1d1ebded.js | 1 - assets/js/82474f76.6181b312.js | 1 + assets/js/82cdda05.77f16012.js | 1 + assets/js/82cdda05.dcb7fb42.js | 1 - ...480e9.3413e22e.js => 83d480e9.006ac8a0.js} | 2 +- assets/js/85456a26.84d17a1e.js | 1 - assets/js/85456a26.a7196af7.js | 1 + assets/js/86b8ce54.24e8c357.js | 1 + assets/js/86b8ce54.890e2d5e.js | 1 - assets/js/8747.217e6e01.js | 1 + assets/js/887ace0c.3c79d6d2.js | 1 - assets/js/887ace0c.d36efef3.js | 1 + assets/js/888566f1.37061f56.js | 1 - assets/js/888566f1.549c88f4.js | 1 + assets/js/8906.542ab720.js | 1 + assets/js/8a062262.5114827c.js | 1 + assets/js/8a062262.966a7dd5.js | 1 - assets/js/90fdad0c.2dea85d1.js | 1 + assets/js/90fdad0c.3132a03d.js | 1 - assets/js/916aad9f.20e874c6.js | 1 - assets/js/916aad9f.4b968706.js | 1 + assets/js/9201de17.56b015aa.js | 1 - assets/js/9201de17.61b15a27.js | 1 + assets/js/935f2afb.01d6ddfe.js | 1 + assets/js/935f2afb.4bb9b328.js | 1 - assets/js/9693de07.50ec09b5.js | 1 - assets/js/9693de07.737e0fcb.js | 1 + assets/js/97c22b42.84f91ac8.js | 1 + assets/js/97c22b42.d773e7d2.js | 1 - assets/js/981f6151.2f6594b6.js | 1 + assets/js/981f6151.6113e79c.js | 1 - assets/js/9b620520.35161984.js | 1 - assets/js/9b620520.e73443f9.js | 1 + assets/js/9e4087bc.29cb6b74.js | 1 + assets/js/9e4087bc.f5ce74da.js | 1 - assets/js/9f1290f8.2156d248.js | 1 - assets/js/9f1290f8.30fea7cc.js | 1 + assets/js/a0b9ee13.115f3f17.js | 1 + assets/js/a0b9ee13.e78812cc.js | 1 - assets/js/a0fd2c7a.0af82df9.js | 1 + assets/js/a0fd2c7a.5ce33812.js | 1 - assets/js/a3030d1c.0bccd9ad.js | 1 - assets/js/a3030d1c.f34b7267.js | 1 + assets/js/a4d0ee3e.673a5415.js | 1 - assets/js/a4d0ee3e.b7fcb25c.js | 1 + assets/js/a5467962.47df66eb.js | 1 + assets/js/a5467962.b6a5604f.js | 1 - assets/js/a6aa9e1f.0c4c061a.js | 1 - assets/js/a6aa9e1f.60a6d58a.js | 1 + assets/js/a6d8dddc.3e25a3ca.js | 1 + assets/js/a6d8dddc.88789f8b.js | 1 - assets/js/a727fde1.109c75ae.js | 1 + assets/js/a727fde1.a46e9afa.js | 1 - assets/js/a7bd4aaa.46f7bdd0.js | 1 + assets/js/a94703ab.cf20eb79.js | 1 + assets/js/a96c96b0.5d8e4710.js | 1 - assets/js/a96c96b0.806c00f2.js | 1 + assets/js/b134d7b8.b2cc4272.js | 1 - assets/js/b134d7b8.f461b4a2.js | 1 + ...675dd.16cdd7d1.js => b2b675dd.bc281ef4.js} | 2 +- assets/js/b2f554cd.27a2c715.js | 1 - assets/js/b2f554cd.9fbf7b4b.js | 1 + assets/js/b654e1cf.4ee260c2.js | 1 + assets/js/b654e1cf.797a0036.js | 1 - assets/js/b91ce718.376412a9.js | 1 + assets/js/b91ce718.bc8b6ccf.js | 1 - assets/js/bcd9df7e.970b9d98.js | 1 - assets/js/bcd9df7e.c0820045.js | 1 + assets/js/beef0c9d.52892352.js | 1 - assets/js/beef0c9d.ac0a5b88.js | 1 + assets/js/c0846785.2b4035e0.js | 1 - assets/js/c0846785.fe615f3f.js | 1 + assets/js/c0930fba.0e0a34af.js | 1 + assets/js/c0930fba.7601fa6d.js | 1 - ...5d8e4.2a09a538.js => c4f5d8e4.d6e34982.js} | 2 +- assets/js/c606405e.5bb9f87f.js | 1 + assets/js/c606405e.b7dc1800.js | 1 - assets/js/ccc49370.a2f2ba19.js | 1 + assets/js/ccc49370.e2bff07e.js | 1 - assets/js/cf183316.b7b2abc7.js | 1 - assets/js/cf183316.bf59ef91.js | 1 + assets/js/d9ea5336.071e6537.js | 1 - assets/js/d9ea5336.ab48f1a1.js | 1 + assets/js/e04ffa77.71324374.js | 1 + assets/js/e04ffa77.a7478c6e.js | 1 - assets/js/e2a53654.b459ff9a.js | 1 - assets/js/e2a53654.ee436f61.js | 1 + assets/js/e4877132.4b04be4a.js | 1 - assets/js/e4877132.fdee4638.js | 1 + assets/js/e84a24a4.4843cb78.js | 1 + assets/js/e84a24a4.646e9828.js | 1 - assets/js/e8e3d8c7.30c1b798.js | 1 + assets/js/e8e3d8c7.51f1cb6d.js | 1 - assets/js/edc18331.2afdfce4.js | 1 - assets/js/edc18331.76d7ca11.js | 1 + assets/js/eea0bf40.2f9eb929.js | 1 + assets/js/eea0bf40.adcc2606.js | 1 - assets/js/f0726797.42e836a8.js | 1 + assets/js/f0726797.dd47d376.js | 1 - assets/js/f1cc380d.554d42ec.js | 1 + assets/js/f1cc380d.6fddd937.js | 1 - assets/js/f6aebfbf.6ae285b1.js | 1 + assets/js/f6aebfbf.9ee3b9f8.js | 1 - assets/js/f7831d67.6cc661ab.js | 1 - assets/js/f7831d67.c6425cbb.js | 1 + assets/js/main.96be6a4c.js | 2 - assets/js/main.e966d442.js | 2 + ...CENSE.txt => main.e966d442.js.LICENSE.txt} | 63 +- assets/js/runtime~main.00bab9b8.js | 1 - assets/js/runtime~main.2d8a3c3a.js | 1 + blog.html | 329 ++++- blog/1.2.0.html | 52 +- blog/2.0.0.html | 78 +- blog/2.5.0.html | 51 +- blog/3.0.0.html | 133 +- blog/archive.html | 15 +- blog/atom.xml | 330 ++++- blog/getting-started.html | 47 +- blog/newlogo.html | 31 +- blog/railway-deploy.html | 27 +- blog/rss.xml | 330 ++++- blog/tags.html | 15 +- blog/tags/branding.html | 31 +- blog/tags/guides.html | 57 +- blog/tags/release.html | 269 +++- docs/api.html | 71 +- docs/api/classes/CommandExecutable.html | 97 +- docs/api/classes/Context.html | 229 +++- docs/api/classes/DefaultErrorHandling.html | 85 +- docs/api/classes/DefaultLogging.html | 132 +- docs/api/classes/DefaultModuleManager.html | 208 ++- docs/api/classes/EventExecutable.html | 97 +- docs/api/classes/ModuleStore.html | 31 +- docs/api/classes/SernEmitter.html | 1111 ++++++++++++++++- docs/api/enums/CommandType.html | 82 +- docs/api/enums/EventType.html | 39 +- docs/api/enums/PayloadType.html | 34 +- docs/api/enums/PluginType.html | 31 +- docs/api/enums/SernError.html | 66 +- docs/api/interfaces/AutocompleteCommand.html | 56 +- docs/api/interfaces/AutocompletePlugin.html | 76 +- docs/api/interfaces/BothCommand.html | 98 +- docs/api/interfaces/ButtonCommand.html | 84 +- docs/api/interfaces/ChannelSelectCommand.html | 84 +- .../api/interfaces/CommandError.Response.html | 51 +- docs/api/interfaces/CommandModuleDefs.html | 76 +- docs/api/interfaces/CommandPlugin.html | 76 +- docs/api/interfaces/ContextMenuMsg.html | 84 +- docs/api/interfaces/ContextMenuUser.html | 84 +- docs/api/interfaces/ControlPlugin.html | 60 +- docs/api/interfaces/Controller.html | 34 +- docs/api/interfaces/CoreDependencies.html | 72 +- docs/api/interfaces/CoreModuleStore.html | 27 +- docs/api/interfaces/Dependencies.html | 46 +- .../interfaces/DependencyConfiguration.html | 60 +- docs/api/interfaces/DiscordEmitterPlugin.html | 84 +- docs/api/interfaces/DiscordEventCommand.html | 97 +- docs/api/interfaces/DiscordEventPlugin.html | 91 +- docs/api/interfaces/Disposable.html | 26 +- docs/api/interfaces/Emitter.html | 94 +- docs/api/interfaces/ErrorHandling.html | 69 +- docs/api/interfaces/EventModuleDefs.html | 31 +- docs/api/interfaces/EventPlugin.html | 76 +- .../api/interfaces/ExternalEmitterPlugin.html | 84 +- docs/api/interfaces/ExternalEventCommand.html | 87 +- docs/api/interfaces/ExternalEventPlugin.html | 76 +- docs/api/interfaces/Init.html | 26 +- docs/api/interfaces/InitArgs.html | 41 +- docs/api/interfaces/InitPlugin.html | 60 +- docs/api/interfaces/Logging.html | 125 +- .../interfaces/MentionableSelectCommand.html | 84 +- docs/api/interfaces/ModalSubmitCommand.html | 84 +- docs/api/interfaces/Module.html | 86 +- docs/api/interfaces/ModuleManager.html | 181 ++- docs/api/interfaces/Plugin.html | 60 +- docs/api/interfaces/Presence.Result.html | 66 +- docs/api/interfaces/RoleSelectCommand.html | 84 +- docs/api/interfaces/SernAutocompleteData.html | 73 +- docs/api/interfaces/SernEmitterPlugin.html | 84 +- docs/api/interfaces/SernEventCommand.html | 97 +- docs/api/interfaces/SernEventPlugin.html | 91 +- docs/api/interfaces/SernEventsMapping.html | 41 +- docs/api/interfaces/SernSubCommandData.html | 70 +- .../interfaces/SernSubCommandGroupData.html | 75 +- docs/api/interfaces/SlashCommand.html | 93 +- docs/api/interfaces/StringSelectCommand.html | 84 +- docs/api/interfaces/TextCommand.html | 93 +- docs/api/interfaces/UserSelectCommand.html | 84 +- docs/api/interfaces/Wrapper.html | 61 +- docs/api/modules.html | 827 +++++++++++- docs/api/namespaces/CommandError.html | 49 +- docs/api/namespaces/Presence.html | 144 ++- docs/api/namespaces/Sern.html | 42 +- docs/cli.html | 20 +- docs/cli/build.html | 120 +- docs/cli/clear.html | 39 +- docs/cli/extra.html | 18 +- docs/cli/publish.html | 54 +- docs/guide.html | 62 +- docs/guide/getting-started/choose-ide.html | 30 +- docs/guide/getting-started/preparing.html | 22 +- docs/guide/walkthrough/autocomplete.html | 23 +- docs/guide/walkthrough/cli.html | 35 +- docs/guide/walkthrough/conclusion.html | 21 +- .../walkthrough/dependency-injection.html | 44 +- docs/guide/walkthrough/first-command.html | 61 +- docs/guide/walkthrough/first-event.html | 37 +- docs/guide/walkthrough/goal.html | 29 +- docs/guide/walkthrough/good-to-know.html | 26 +- docs/guide/walkthrough/new-project.html | 20 +- docs/guide/walkthrough/plugins.html | 60 +- docs/guide/walkthrough/sern-emitter.html | 27 +- docs/guide/walkthrough/services.html | 96 +- docs/guide/walkthrough/transition.html | 24 +- docs/intro.html | 26 +- index.html | 15 +- markdown-page.html | 16 +- plugins.html | 15 +- search.html | 15 +- 366 files changed, 8776 insertions(+), 1417 deletions(-) create mode 100644 assets/css/styles.a87c6c77.css delete mode 100644 assets/css/styles.d6dcc751.css create mode 100644 assets/js/01a85c17.0d8abe99.js delete mode 100644 assets/js/01a85c17.e946a2b3.js create mode 100644 assets/js/083c37a9.96cbf01a.js delete mode 100644 assets/js/083c37a9.e46ede3f.js create mode 100644 assets/js/0a33f845.2a4f4acd.js delete mode 100644 assets/js/0a33f845.d577ada1.js create mode 100644 assets/js/0c9bead8.384ea4e6.js delete mode 100644 assets/js/0c9bead8.b2564c5f.js delete mode 100644 assets/js/0e384e19.163c418a.js create mode 100644 assets/js/0e384e19.28657b0d.js delete mode 100644 assets/js/1527.44033dad.js delete mode 100644 assets/js/1774.97cc7cd3.js create mode 100644 assets/js/17896441.65eadaff.js delete mode 100644 assets/js/17896441.b083d82e.js create mode 100644 assets/js/1a1cc5f0.545edb1a.js delete mode 100644 assets/js/1a1cc5f0.910da70b.js rename assets/js/{1a4e3797.c46d8629.js => 1a4e3797.39c8a6ed.js} (62%) rename assets/js/{1a4e3797.c46d8629.js.LICENSE.txt => 1a4e3797.39c8a6ed.js.LICENSE.txt} (100%) create mode 100644 assets/js/1ac1bfe9.05055114.js delete mode 100644 assets/js/1ac1bfe9.e122cfbf.js rename assets/js/{1adeaf48.e8f9f74f.js => 1adeaf48.9759b55c.js} (79%) delete mode 100644 assets/js/1aef51bd.6805551d.js create mode 100644 assets/js/1aef51bd.b9ad6d3a.js delete mode 100644 assets/js/1b0c702f.9554173b.js create mode 100644 assets/js/1b0c702f.a399cc7c.js delete mode 100644 assets/js/1be78505.53dd39c6.js create mode 100644 assets/js/1c127a4d.826f2d62.js delete mode 100644 assets/js/1c127a4d.911f4d3c.js create mode 100644 assets/js/1f391b9e.3ba9c245.js delete mode 100644 assets/js/1f391b9e.8f8e3257.js create mode 100644 assets/js/2237.2d1a0a6e.js create mode 100644 assets/js/26f1f3a5.38b5f01c.js delete mode 100644 assets/js/26f1f3a5.c9886bb7.js create mode 100644 assets/js/295686f2.2a44d0d4.js delete mode 100644 assets/js/295686f2.c606bb6e.js delete mode 100644 assets/js/2caf5b7a.65dc7045.js create mode 100644 assets/js/2caf5b7a.d44a2d10.js create mode 100644 assets/js/2f13d849.230cdf86.js delete mode 100644 assets/js/2f13d849.b000438a.js delete mode 100644 assets/js/3020eeee.0a10de29.js create mode 100644 assets/js/3020eeee.ddeea7c0.js create mode 100644 assets/js/312c2bc5.69b35d37.js delete mode 100644 assets/js/312c2bc5.973dbfed.js delete mode 100644 assets/js/3369.8abdef7a.js delete mode 100644 assets/js/393be207.57a2a7ca.js create mode 100644 assets/js/393be207.f6c7b1fd.js delete mode 100644 assets/js/3a0cb3a9.868a017a.js create mode 100644 assets/js/3a0cb3a9.8f712e5b.js create mode 100644 assets/js/3a25b5a8.8950a65c.js delete mode 100644 assets/js/3a25b5a8.e16d8590.js create mode 100644 assets/js/3a2d3092.6c0205f0.js delete mode 100644 assets/js/3a2d3092.c253e2e4.js create mode 100644 assets/js/3ae57366.9c3b8034.js delete mode 100644 assets/js/3ae57366.a24431ba.js delete mode 100644 assets/js/3b15a34b.8c2df6a5.js create mode 100644 assets/js/3b15a34b.ca5fe935.js create mode 100644 assets/js/3dc7c79a.707a083b.js delete mode 100644 assets/js/3dc7c79a.71bfba55.js delete mode 100644 assets/js/3f83d40d.37529bf9.js create mode 100644 assets/js/3f83d40d.650fdbc3.js delete mode 100644 assets/js/425cbb82.8215dc07.js create mode 100644 assets/js/425cbb82.c43df7a1.js create mode 100644 assets/js/4279c33d.c0d97df9.js delete mode 100644 assets/js/4279c33d.d8242c81.js create mode 100644 assets/js/447d9066.c1126721.js delete mode 100644 assets/js/447d9066.d1260c94.js create mode 100644 assets/js/462b6925.0bbd173d.js delete mode 100644 assets/js/462b6925.cea90a3f.js delete mode 100644 assets/js/46963930.68eb9b6d.js create mode 100644 assets/js/46963930.7112f6df.js create mode 100644 assets/js/476a0444.10f0d0df.js delete mode 100644 assets/js/476a0444.b272406f.js create mode 100644 assets/js/4b098d2e.4e2d908b.js delete mode 100644 assets/js/4b098d2e.ae40af98.js create mode 100644 assets/js/4d00c3f4.87b40635.js delete mode 100644 assets/js/4d00c3f4.d751b616.js create mode 100644 assets/js/4e28a08b.642a9389.js delete mode 100644 assets/js/4e28a08b.791da581.js delete mode 100644 assets/js/4fef5a93.238284ce.js create mode 100644 assets/js/4fef5a93.c85e3bd8.js create mode 100644 assets/js/522b21a2.4178f9de.js delete mode 100644 assets/js/522b21a2.71778338.js delete mode 100644 assets/js/53944420.6e6a212f.js create mode 100644 assets/js/53944420.f839c60a.js create mode 100644 assets/js/54bc704d.a55fb4e7.js delete mode 100644 assets/js/54bc704d.f794f779.js delete mode 100644 assets/js/57fe7727.19e03074.js create mode 100644 assets/js/57fe7727.fdd8e144.js delete mode 100644 assets/js/5ae130ee.227accd5.js create mode 100644 assets/js/5ae130ee.2ef7ba33.js create mode 100644 assets/js/5bc4ccbc.d0bbd674.js delete mode 100644 assets/js/5bc4ccbc.fae2d6cf.js delete mode 100644 assets/js/5e8c322a.5487c507.js create mode 100644 assets/js/5e8c322a.dcb838c1.js create mode 100644 assets/js/5e95c892.3abda5eb.js create mode 100644 assets/js/608ca171.06188167.js delete mode 100644 assets/js/608ca171.b0398c02.js create mode 100644 assets/js/61538263.3458e15f.js delete mode 100644 assets/js/61538263.35f3eb36.js create mode 100644 assets/js/65578b65.37356d76.js delete mode 100644 assets/js/65578b65.f72d5d0d.js delete mode 100644 assets/js/6626dbb1.825c5135.js create mode 100644 assets/js/6626dbb1.e181ddc9.js create mode 100644 assets/js/67348500.87ebf2e0.js delete mode 100644 assets/js/67348500.ef7ca254.js delete mode 100644 assets/js/67e3e25a.4316a7a1.js create mode 100644 assets/js/67e3e25a.6a6e49eb.js delete mode 100644 assets/js/6875c492.7633bf40.js create mode 100644 assets/js/6875c492.843c62d7.js create mode 100644 assets/js/6ba1d2c1.4c556a1d.js delete mode 100644 assets/js/6ba1d2c1.c0ab307d.js create mode 100644 assets/js/6c624b4c.d2965a4f.js delete mode 100644 assets/js/6c624b4c.ea8de0f3.js rename assets/js/{6cfc4513.054ea7aa.js => 6cfc4513.abe64872.js} (81%) create mode 100644 assets/js/6e55d25c.1c13be5c.js delete mode 100644 assets/js/6e55d25c.81a65f7d.js delete mode 100644 assets/js/6ff82968.871aec46.js create mode 100644 assets/js/6ff82968.97698922.js create mode 100644 assets/js/701614d9.c950b9e1.js delete mode 100644 assets/js/701614d9.f20cb9c1.js delete mode 100644 assets/js/707baeff.35f73e46.js create mode 100644 assets/js/707baeff.d359d8ee.js delete mode 100644 assets/js/720cd117.d27c2233.js create mode 100644 assets/js/720cd117.d46955be.js create mode 100644 assets/js/7343edf0.15c84cc2.js delete mode 100644 assets/js/7343edf0.571a3359.js delete mode 100644 assets/js/73bd57bd.f4bc9eaf.js create mode 100644 assets/js/73bd57bd.f5cedfa7.js create mode 100644 assets/js/74e316f4.750b3a2e.js delete mode 100644 assets/js/74e316f4.b5984492.js create mode 100644 assets/js/77a07764.4f555e6f.js delete mode 100644 assets/js/77a07764.65d74f09.js delete mode 100644 assets/js/79e7cc44.00df2dcd.js create mode 100644 assets/js/79e7cc44.552abfaf.js create mode 100644 assets/js/7b758ddf.a9859c3b.js delete mode 100644 assets/js/7b758ddf.ab8e3749.js create mode 100644 assets/js/7cd974c8.1142550f.js delete mode 100644 assets/js/7cd974c8.550947cb.js create mode 100644 assets/js/7e205c4a.030c48fa.js delete mode 100644 assets/js/7e205c4a.cba607a3.js create mode 100644 assets/js/7f2ac8b7.5f98af8b.js delete mode 100644 assets/js/7f2ac8b7.fe1520c4.js delete mode 100644 assets/js/814f3328.16400023.js create mode 100644 assets/js/814f3328.863c6bec.js delete mode 100644 assets/js/82474f76.1d1ebded.js create mode 100644 assets/js/82474f76.6181b312.js create mode 100644 assets/js/82cdda05.77f16012.js delete mode 100644 assets/js/82cdda05.dcb7fb42.js rename assets/js/{83d480e9.3413e22e.js => 83d480e9.006ac8a0.js} (80%) delete mode 100644 assets/js/85456a26.84d17a1e.js create mode 100644 assets/js/85456a26.a7196af7.js create mode 100644 assets/js/86b8ce54.24e8c357.js delete mode 100644 assets/js/86b8ce54.890e2d5e.js create mode 100644 assets/js/8747.217e6e01.js delete mode 100644 assets/js/887ace0c.3c79d6d2.js create mode 100644 assets/js/887ace0c.d36efef3.js delete mode 100644 assets/js/888566f1.37061f56.js create mode 100644 assets/js/888566f1.549c88f4.js create mode 100644 assets/js/8906.542ab720.js create mode 100644 assets/js/8a062262.5114827c.js delete mode 100644 assets/js/8a062262.966a7dd5.js create mode 100644 assets/js/90fdad0c.2dea85d1.js delete mode 100644 assets/js/90fdad0c.3132a03d.js delete mode 100644 assets/js/916aad9f.20e874c6.js create mode 100644 assets/js/916aad9f.4b968706.js delete mode 100644 assets/js/9201de17.56b015aa.js create mode 100644 assets/js/9201de17.61b15a27.js create mode 100644 assets/js/935f2afb.01d6ddfe.js delete mode 100644 assets/js/935f2afb.4bb9b328.js delete mode 100644 assets/js/9693de07.50ec09b5.js create mode 100644 assets/js/9693de07.737e0fcb.js create mode 100644 assets/js/97c22b42.84f91ac8.js delete mode 100644 assets/js/97c22b42.d773e7d2.js create mode 100644 assets/js/981f6151.2f6594b6.js delete mode 100644 assets/js/981f6151.6113e79c.js delete mode 100644 assets/js/9b620520.35161984.js create mode 100644 assets/js/9b620520.e73443f9.js create mode 100644 assets/js/9e4087bc.29cb6b74.js delete mode 100644 assets/js/9e4087bc.f5ce74da.js delete mode 100644 assets/js/9f1290f8.2156d248.js create mode 100644 assets/js/9f1290f8.30fea7cc.js create mode 100644 assets/js/a0b9ee13.115f3f17.js delete mode 100644 assets/js/a0b9ee13.e78812cc.js create mode 100644 assets/js/a0fd2c7a.0af82df9.js delete mode 100644 assets/js/a0fd2c7a.5ce33812.js delete mode 100644 assets/js/a3030d1c.0bccd9ad.js create mode 100644 assets/js/a3030d1c.f34b7267.js delete mode 100644 assets/js/a4d0ee3e.673a5415.js create mode 100644 assets/js/a4d0ee3e.b7fcb25c.js create mode 100644 assets/js/a5467962.47df66eb.js delete mode 100644 assets/js/a5467962.b6a5604f.js delete mode 100644 assets/js/a6aa9e1f.0c4c061a.js create mode 100644 assets/js/a6aa9e1f.60a6d58a.js create mode 100644 assets/js/a6d8dddc.3e25a3ca.js delete mode 100644 assets/js/a6d8dddc.88789f8b.js create mode 100644 assets/js/a727fde1.109c75ae.js delete mode 100644 assets/js/a727fde1.a46e9afa.js create mode 100644 assets/js/a7bd4aaa.46f7bdd0.js create mode 100644 assets/js/a94703ab.cf20eb79.js delete mode 100644 assets/js/a96c96b0.5d8e4710.js create mode 100644 assets/js/a96c96b0.806c00f2.js delete mode 100644 assets/js/b134d7b8.b2cc4272.js create mode 100644 assets/js/b134d7b8.f461b4a2.js rename assets/js/{b2b675dd.16cdd7d1.js => b2b675dd.bc281ef4.js} (74%) delete mode 100644 assets/js/b2f554cd.27a2c715.js create mode 100644 assets/js/b2f554cd.9fbf7b4b.js create mode 100644 assets/js/b654e1cf.4ee260c2.js delete mode 100644 assets/js/b654e1cf.797a0036.js create mode 100644 assets/js/b91ce718.376412a9.js delete mode 100644 assets/js/b91ce718.bc8b6ccf.js delete mode 100644 assets/js/bcd9df7e.970b9d98.js create mode 100644 assets/js/bcd9df7e.c0820045.js delete mode 100644 assets/js/beef0c9d.52892352.js create mode 100644 assets/js/beef0c9d.ac0a5b88.js delete mode 100644 assets/js/c0846785.2b4035e0.js create mode 100644 assets/js/c0846785.fe615f3f.js create mode 100644 assets/js/c0930fba.0e0a34af.js delete mode 100644 assets/js/c0930fba.7601fa6d.js rename assets/js/{c4f5d8e4.2a09a538.js => c4f5d8e4.d6e34982.js} (50%) create mode 100644 assets/js/c606405e.5bb9f87f.js delete mode 100644 assets/js/c606405e.b7dc1800.js create mode 100644 assets/js/ccc49370.a2f2ba19.js delete mode 100644 assets/js/ccc49370.e2bff07e.js delete mode 100644 assets/js/cf183316.b7b2abc7.js create mode 100644 assets/js/cf183316.bf59ef91.js delete mode 100644 assets/js/d9ea5336.071e6537.js create mode 100644 assets/js/d9ea5336.ab48f1a1.js create mode 100644 assets/js/e04ffa77.71324374.js delete mode 100644 assets/js/e04ffa77.a7478c6e.js delete mode 100644 assets/js/e2a53654.b459ff9a.js create mode 100644 assets/js/e2a53654.ee436f61.js delete mode 100644 assets/js/e4877132.4b04be4a.js create mode 100644 assets/js/e4877132.fdee4638.js create mode 100644 assets/js/e84a24a4.4843cb78.js delete mode 100644 assets/js/e84a24a4.646e9828.js create mode 100644 assets/js/e8e3d8c7.30c1b798.js delete mode 100644 assets/js/e8e3d8c7.51f1cb6d.js delete mode 100644 assets/js/edc18331.2afdfce4.js create mode 100644 assets/js/edc18331.76d7ca11.js create mode 100644 assets/js/eea0bf40.2f9eb929.js delete mode 100644 assets/js/eea0bf40.adcc2606.js create mode 100644 assets/js/f0726797.42e836a8.js delete mode 100644 assets/js/f0726797.dd47d376.js create mode 100644 assets/js/f1cc380d.554d42ec.js delete mode 100644 assets/js/f1cc380d.6fddd937.js create mode 100644 assets/js/f6aebfbf.6ae285b1.js delete mode 100644 assets/js/f6aebfbf.9ee3b9f8.js delete mode 100644 assets/js/f7831d67.6cc661ab.js create mode 100644 assets/js/f7831d67.c6425cbb.js delete mode 100644 assets/js/main.96be6a4c.js create mode 100644 assets/js/main.e966d442.js rename assets/js/{main.96be6a4c.js.LICENSE.txt => main.e966d442.js.LICENSE.txt} (76%) delete mode 100644 assets/js/runtime~main.00bab9b8.js create mode 100644 assets/js/runtime~main.2d8a3c3a.js diff --git a/404.html b/404.html index 9714e8fce..e90276ad3 100644 --- a/404.html +++ b/404.html @@ -2,22 +2,19 @@
- -We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
r.createElement("span",(0,o.A)({key:t},i({token:e,key:t})))));return r.createElement("span",s,c?r.createElement(r.Fragment,null,r.createElement("span",{className:A.codeLineNumber}),r.createElement("span",{className:A.codeLineContent},u)):u,r.createElement("br",null))}var C=n(1312);function w(e){return r.createElement("svg",(0,o.A)({viewBox:"0 0 24 24"},e),r.createElement("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"}))}function B(e){return r.createElement("svg",(0,o.A)({viewBox:"0 0 24 24"},e),r.createElement("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}const T={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function L(e){let{code:t,className:n}=e;const[o,c]=(0,r.useState)(!1),l=(0,r.useRef)(void 0),i=(0,r.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const o=document.createElement("textarea"),r=document.activeElement;o.value=e,o.setAttribute("readonly",""),o.style.contain="strict",o.style.position="absolute",o.style.left="-9999px",o.style.fontSize="12pt";const a=document.getSelection(),c=a.rangeCount>0&&a.getRangeAt(0);n.append(o),o.select(),o.selectionStart=0,o.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch{}o.remove(),c&&(a.removeAllRanges(),a.addRange(c)),r&&r.focus()}(t),c(!0),l.current=window.setTimeout((()=>{c(!1)}),1e3)}),[t]);return(0,r.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),r.createElement("button",{type:"button","aria-label":o?(0,C.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,C.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,C.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,a.A)("clean-btn",n,T.copyButton,o&&T.copyButtonCopied),onClick:i},r.createElement("span",{className:T.copyButtonIcons,"aria-hidden":"true"},r.createElement(w,{className:T.copyButtonIcon}),r.createElement(B,{className:T.copyButtonSuccessIcon})))}function O(e){return r.createElement("svg",(0,o.A)({viewBox:"0 0 24 24"},e),r.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}))}const j={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function x(e){let{className:t,onClick:n,isEnabled:o}=e;const c=(0,C.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return r.createElement("button",{type:"button",onClick:n,className:(0,a.A)("clean-btn",t,o&&j.wordWrapButtonEnabled),"aria-label":c,title:c},r.createElement(O,{className:j.wordWrapButtonIcon,"aria-hidden":"true"}))}var _=n(7795),S=n(7562);function P(e){let{children:t,className:n="",metastring:s,title:u,showLineNumbers:d,language:f}=e;const{prism:{defaultLanguage:h,magicComments:g}}=(0,c.p)(),y=f??(0,i.Op)(n)??h,b=(0,l.A)(),v=function(){const[e,t]=(0,r.useState)(!1),[n,o]=(0,r.useState)(!1),a=(0,r.useRef)(null),c=(0,r.useCallback)((()=>{const n=a.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[a,e]),l=(0,r.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=a.current,n=e>t||a.current.querySelector("code").hasAttribute("style");o(n)}),[a]);return m(a,l),(0,r.useEffect)((()=>{l()}),[e,l]),(0,r.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:a,isEnabled:e,isCodeScrollable:n,toggle:c}}(),E=(0,i.wt)(s)||u,{lineClassNames:A,code:C}=(0,i.Li)(t,{metastring:s,language:y,magicComments:g}),w=d??(0,i._u)(s);return r.createElement(_.A,{as:"div",className:(0,a.A)(n,y&&!n.includes(`language-${y}`)&&`language-${y}`)},E&&r.createElement("div",{className:S.A.codeBlockTitle},E),r.createElement("div",{className:S.A.codeBlockContent},r.createElement(k,(0,o.A)({},p,{theme:b,code:C,language:y??"text"}),(e=>{let{className:t,tokens:n,getLineProps:o,getTokenProps:c}=e;return r.createElement("pre",{tabIndex:0,ref:v.codeBlockRef,className:(0,a.A)(t,S.A.codeBlock,"thin-scrollbar")},r.createElement("code",{className:(0,a.A)(S.A.codeBlockLines,w&&S.A.codeBlockLinesWithNumbering)},n.map(((e,t)=>r.createElement(N,{key:t,line:e,getLineProps:o,getTokenProps:c,classNames:A[t],showLineNumbers:w})))))})),r.createElement("div",{className:S.A.buttonGroup},(v.isEnabled||v.isCodeScrollable)&&r.createElement(x,{className:S.A.codeButton,onClick:()=>v.toggle(),isEnabled:v.isEnabled}),r.createElement(L,{className:S.A.codeButton,code:C}))))}},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var o=n(8168),r=n(6540),a=n(53),c=n(1312),l=n(6342),i=n(5489);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:m}}=(0,l.p)();if("h1"===t||!n)return r.createElement(t,(0,o.A)({},u,{id:void 0}));const d=(0,c.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return r.createElement(t,(0,o.A)({},u,{className:(0,a.A)("anchor",m?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n}),u.children,r.createElement(i.A,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d},"\u200b"))}},6886:(e,t,n)=>{"use strict";n.d(t,{A:()=>P});var o=n(6540),r=n(5680),a=n(8168),c=n(5260);var l=n(4428);var i=n(5489);var s=n(53),u=n(2303),m=n(1422);const d={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function p(e){return!!e&&("SUMMARY"===e.tagName||p(e.parentElement))}function f(e,t){return!!e&&(e===t||f(e.parentElement,t))}function h(e){let{summary:t,children:n,...r}=e;const c=(0,u.A)(),l=(0,o.useRef)(null),{collapsed:i,setCollapsed:h}=(0,m.u)({initialState:!r.open}),[g,y]=(0,o.useState)(r.open),b=o.isValidElement(t)?t:o.createElement("summary",null,t??"Details");return o.createElement("details",(0,a.A)({},r,{ref:l,open:g,"data-collapsed":i,className:(0,s.A)(d.details,c&&d.isBrowser,r.className),onMouseDown:e=>{p(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;p(t)&&f(t,l.current)&&(e.preventDefault(),i?(h(!1),y(!0)):h(!0))}}),b,o.createElement(m.N,{lazy:!1,collapsed:i,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{h(e),y(!e)}},o.createElement("div",{className:d.collapsibleContent},n)))}const g={details:"details_b_Ee"},y="alert alert--info";function b(e){let{...t}=e;return o.createElement(h,(0,a.A)({},t,{className:(0,s.A)(y,g.details,t.className)}))}var v=n(1107);function E(e){return o.createElement(v.A,e)}const k={containsTaskList:"containsTaskList_mC6p"};function A(e){if(void 0!==e)return(0,s.A)(e,e?.includes("contains-task-list")&&k.containsTaskList)}const N={img:"img_ev3q"};var C=n(7559),w=n(1312);const B="admonition_LlT9",T="admonitionHeading_tbUL",L="admonitionIcon_kALy",O="admonitionContent_S0QG";const j={note:{infimaClassName:"secondary",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:o.createElement(w.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:o.createElement(w.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:o.createElement(w.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:o.createElement(w.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 16 16"},o.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:o.createElement(w.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},x={secondary:"note",important:"info",success:"tip",warning:"danger"};function _(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=o.Children.toArray(e),n=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),r=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:r}}(e.children);return{...e,title:e.title??t,children:n}}const S={head:function(e){const t=o.Children.map(e.children,(e=>o.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...r}=e.props;return o.createElement(e.props.originalType,r)}return e}(e):e));return o.createElement(c.A,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return o.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,o.isValidElement)(e)&&t.includes(e.props?.mdxType)))?o.createElement("code",e):o.createElement(l.A,e)},a:function(e){return o.createElement(i.A,e)},pre:function(e){return o.createElement(l.A,(0,o.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=o.Children.toArray(e.children),n=t.find((e=>o.isValidElement(e)&&"summary"===e.props?.mdxType)),r=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return o.createElement(b,(0,a.A)({},e,{summary:n}),r)},ul:function(e){return o.createElement("ul",(0,a.A)({},e,{className:A(e.className)}))},img:function(e){return o.createElement("img",(0,a.A)({loading:"lazy"},e,{className:(t=e.className,(0,s.A)(t,N.img))}));var t},h1:e=>o.createElement(E,(0,a.A)({as:"h1"},e)),h2:e=>o.createElement(E,(0,a.A)({as:"h2"},e)),h3:e=>o.createElement(E,(0,a.A)({as:"h3"},e)),h4:e=>o.createElement(E,(0,a.A)({as:"h4"},e)),h5:e=>o.createElement(E,(0,a.A)({as:"h5"},e)),h6:e=>o.createElement(E,(0,a.A)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:r,icon:a}=_(e),c=function(e){const t=x[e]??e,n=j[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),j.info)}(n),l=r??c.label,{iconComponent:i}=c,u=a??o.createElement(i,null);return o.createElement("div",{className:(0,s.A)(C.G.common.admonition,C.G.common.admonitionType(e.type),"alert",`alert--${c.infimaClassName}`,B)},o.createElement("div",{className:T},o.createElement("span",{className:L},u),l),o.createElement("div",{className:O},t))},mermaid:()=>null};function P(e){let{children:t}=e;return o.createElement(r.xA,{components:S},t)}},6058:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var o=n(5293),r=n(6342);function a(){const{prism:e}=(0,r.p)(),{colorMode:t}=(0,o.G)(),n=e.theme,a=e.darkTheme||n;return"dark"===t?a:n}},4291:(e,t,n)=>{"use strict";n.d(t,{Li:()=>d,M$:()=>p,Op:()=>m,_u:()=>u,wt:()=>s});var o=n(8426),r=n.n(o);const a=/title=(?["'])(?
0&&this._events[e].length>s&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},t.prototype.removeListener=function(e,t){var i,a,s,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(s=(i=this._events[e]).length,a=-1,i===t||r(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(n(i)){for(c=s;c-- >0;)if(i[c]===t||i[c].listener&&i[c].listener===t){a=c;break}if(a<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(a,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},4103:(e,t,r)=>{"use strict";var n=r(6571),i=r(3371),a=r(7691);function s(e,t,r,i){return new n(e,t,r,i)}s.version=r(6938),s.AlgoliaSearchHelper=n,s.SearchParameters=i,s.SearchResults=a,e.exports=s},6732:(e,t,r)=>{"use strict";var n=r(2733);function i(e,t){this.main=e,this.fn=t,this.lastResults=null}r(3014)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},e.exports=i},1673:(e,t,r)=>{"use strict";var n=r(9110),i=r(317),a=r(1383),s={addRefinement:function(e,t,r){if(s.isRefined(e,t,r))return e;var i=""+r,a=e[t]?e[t].concat(i):[i],c={};return c[t]=a,n({},c,e)},removeRefinement:function(e,t,r){if(void 0===r)return s.clearRefinement(e,(function(e,r){return t===r}));var n=""+r;return s.clearRefinement(e,(function(e,r){return t===r&&n===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return s.isRefined(e,t,r)?s.removeRefinement(e,t,r):s.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return i(e)?{}:e;if("string"==typeof t)return a(e,[t]);if("function"==typeof t){var n=!1,s=Object.keys(e).reduce((function(i,a){var s=e[a]||[],c=s.filter((function(e){return!t(e,a,r)}));return c.length!==s.length&&(n=!0),i[a]=c,i}),{});return n?s:e}},isRefined:function(e,t,r){var n=Boolean(e[t])&&e[t].length>0;if(void 0===r||!n)return n;var i=""+r;return-1!==e[t].indexOf(i)}};e.exports=s},3371:(e,t,r)=>{"use strict";var n=r(9110),i=r(849),a=r(4843),s=r(4728),c=r(317),u=r(1383),o=r(7507),h=r(2208),f=r(1673);function l(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,r){return l(t[r],e)})):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach((function(e){var n=-1!==m.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])}))}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(r){var n=e[r];if("string"==typeof n){var i=parseFloat(n);t[r]=isNaN(i)?n:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach((function(e){var i=n[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));r[t][e]=i}))})),t.numericRefinements=r}return s(e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var n=o(r);if(this.isNumericRefined(e,t,n))return this;var i=s({},this.numericRefinements);return i[e]=s({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(n)):i[e][t]=[n],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){var n=r;return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&l(r.val,o(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,n){return n===e&&r.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,r){return r===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return u(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,n=Object.keys(r).reduce((function(n,i){var a=r[i],s={};return a=a||{},Object.keys(a).forEach((function(r){var n=a[r]||[],c=[];n.forEach((function(t){e({val:t,op:r},i,"numeric")||c.push(t)})),c.length!==n.length&&(t=!0),s[r]=c})),n[i]=s,n}),{});return t?n:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),i={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?i[e]=[]:i[e]=[t.slice(0,t.lastIndexOf(r))]:i[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},i,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:n({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return Boolean(this.numericRefinements[e]);var n=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!n)return n;var a,s,c=o(r),u=void 0!==(a=this.numericRefinements[e][t],s=c,i(a,(function(e){return l(e,s)})));return n&&u},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=a(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return a(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0}))).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach((function(n){var i=r[n];-1===e.indexOf(n)&&void 0!==i&&(t[n]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,n=m._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=r[t],e}),{}),a=Object.keys(n).reduce((function(e,t){var r=void 0!==e[t],i=void 0!==n[t];return r&&!i?u(e,[t]):(i&&(e[t]=n[t]),e)}),i);return new this.constructor(a)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return i(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},6673:(e,t,r)=>{"use strict";e.exports=function(e){return function(t,r){var n=e.hierarchicalFacets[r],o=e.hierarchicalFacetsRefinements[n.name]&&e.hierarchicalFacetsRefinements[n.name][0]||"",h=e._getHierarchicalFacetSeparator(n),f=e._getHierarchicalRootPath(n),l=e._getHierarchicalShowParentLevel(n),m=a(e._getHierarchicalFacetSortBy(n)),d=t.every((function(e){return e.exhaustive})),p=function(e,t,r,n,a){return function(o,h,f){var l=o;if(f>0){var m=0;for(l=o;m
",id:"join-our-discord-",level:3},{value:"Breaking changes",id:"breaking-changes",level:3},{value:"Deprecations",id:"deprecations",level:3},{value:"Reason",id:"reason",level:3}],g={toc:u},p="wrapper";function c(e){let{components:n,...a}=e;return(0,r.yg)(p,(0,t.A)({},g,a,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("h2",{id:"25-release"},"2.5 Release"),(0,r.yg)("h3",{id:"join-our-discord-"},"Join our ",(0,r.yg)("a",{parentName:"h3",href:"https://sern.dev/discord"},"discord")," ",(0,r.yg)("br",null)),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Thank you for using sern in your projects. It's only going to get better!"),(0,r.yg)("li",{parentName:"ul"},"I apologize for the sudden small breaking change. After this update, there won't be any for a while.\nWow! We're increasing our semantic versioning by ",(0,r.yg)("inlineCode",{parentName:"li"},"+0.3.9")," ",(0,r.yg)("br",null),"\nWhat does this mean?")),(0,r.yg)("h3",{id:"breaking-changes"},"Breaking changes"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"../docs/api/modules#controller"},"controller")," parameter for plugins has been removed",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"You'll need to import it instead"),(0,r.yg)("li",{parentName:"ul"},"This ",(0,r.yg)("strong",{parentName:"li"},"breaks")," old ",(0,r.yg)("a",{parentName:"li",href:"../docs/api/interfaces/CommandPlugin"},"CommandPlugin"),", but ",(0,r.yg)("strong",{parentName:"li"},"not")," old ",(0,r.yg)("a",{parentName:"li",href:"../docs/api/interfaces/EventPlugin"},"EventPlugin"))))),(0,r.yg)("h3",{id:"deprecations"},"Deprecations"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"../docs/api/interfaces/CommandPlugin"},"CommandPlugin")," and ",(0,r.yg)("a",{parentName:"li",href:"../docs/api/interfaces/EventPlugin"},"EventPlugin")," have been renamed ",(0,r.yg)("a",{parentName:"li",href:"../docs/api/interfaces/InitPlugin"},"InitPlugin")," and ",(0,r.yg)("a",{parentName:"li",href:"../docs/api/interfaces/ControlPlugin"},"ControlPlugin"))),(0,r.yg)("h3",{id:"reason"},"Reason"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"The naming of plugins was getting too complex. For example, plugin naming evolved into CommandModuleCommandPlugin, CommandModuleEventPlugin and more."),(0,r.yg)("li",{parentName:"ul"},"I realize that this affects all plugins. I have updated all ",(0,r.yg)("a",{parentName:"li",href:"https://github.com/sern-handler/awesome-plugins/pull/68"},"plugins")," to match these changes"),(0,r.yg)("li",{parentName:"ul"},"The old way of declaring plugins has been deprecated in favor of newer functions that facilitate and ease typings",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"../docs/api/modules#commandcontrolplugin"},"CommandControlPlugin")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"../docs/api/modules#commandinitplugin"},"CommandInitPlugin")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"../docs/api/modules#eventcontrolplugin"},"EventControlPlugin")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"../docs/api/modules#eventinitplugin"},"EventInitPlugin")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("a",{parentName:"li",href:"../docs/api/modules#discordeventcontrolplugin"},"DiscordEventControlPlugin"),"\nThis will probably be the last breaking change in a while. Thanks for using sern!")))))}c.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/3f83d40d.650fdbc3.js b/assets/js/3f83d40d.650fdbc3.js
new file mode 100644
index 000000000..e8f516625
--- /dev/null
+++ b/assets/js/3f83d40d.650fdbc3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[4523],{101:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>t,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=s(4848),l=s(8453);const r={slug:"2.5.0",title:"Release 2.5.0",authors:["jacoobes"],tags:["release"]},o=void 0,a={permalink:"/blog/2.5.0",editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/blog/2023-01-12-mdx-blog-post.md",source:"@site/blog/2023-01-12-mdx-blog-post.md",title:"Release 2.5.0",description:"2.5 Release",date:"2023-01-12T00:00:00.000Z",formattedDate:"January 12, 2023",tags:[{label:"release",permalink:"/blog/tags/release"}],readingTime:.895,hasTruncateMarker:!1,authors:[{name:"jacoobes",title:"Head Dev",url:"https://github.com/jacoobes",imageURL:"https://github.com/jacoobes.png",key:"jacoobes"}],frontMatter:{slug:"2.5.0",title:"Release 2.5.0",authors:["jacoobes"],tags:["release"]},unlisted:!1,prevItem:{title:"Release 3.0.0",permalink:"/blog/3.0.0"},nextItem:{title:"Release 2.0.0",permalink:"/blog/2.0.0"}},t={authorsImageUrls:[void 0]},d=[{value:"2.5 Release",id:"25-release",level:2},{value:"Join our discord
",id:"join-our-discord-",level:3},{value:"Breaking changes",id:"breaking-changes",level:3},{value:"Deprecations",id:"deprecations",level:3},{value:"Reason",id:"reason",level:3}];function c(e){const n={a:"a",br:"br",code:"code",h2:"h2",h3:"h3",li:"li",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"25-release",children:"2.5 Release"}),"\n",(0,i.jsxs)(n.h3,{id:"join-our-discord-",children:["Join our ",(0,i.jsx)(n.a,{href:"https://sern.dev/discord",children:"discord"})," ",(0,i.jsx)(n.br,{})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Thank you for using sern in your projects. It's only going to get better!"}),"\n",(0,i.jsxs)(n.li,{children:["I apologize for the sudden small breaking change. After this update, there won't be any for a while.\nWow! We're increasing our semantic versioning by ",(0,i.jsx)(n.code,{children:"+0.3.9"})," ",(0,i.jsx)(n.br,{}),"\nWhat does this mean?"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"breaking-changes",children:"Breaking changes"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"../docs/api/modules#controller",children:"controller"})," parameter for plugins has been removed\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"You'll need to import it instead"}),"\n",(0,i.jsxs)(n.li,{children:["This ",(0,i.jsx)(n.strong,{children:"breaks"})," old ",(0,i.jsx)(n.a,{href:"../docs/api/interfaces/CommandPlugin",children:"CommandPlugin"}),", but ",(0,i.jsx)(n.strong,{children:"not"})," old ",(0,i.jsx)(n.a,{href:"../docs/api/interfaces/EventPlugin",children:"EventPlugin"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"deprecations",children:"Deprecations"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"../docs/api/interfaces/CommandPlugin",children:"CommandPlugin"})," and ",(0,i.jsx)(n.a,{href:"../docs/api/interfaces/EventPlugin",children:"EventPlugin"})," have been renamed ",(0,i.jsx)(n.a,{href:"../docs/api/interfaces/InitPlugin",children:"InitPlugin"})," and ",(0,i.jsx)(n.a,{href:"../docs/api/interfaces/ControlPlugin",children:"ControlPlugin"})]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"reason",children:"Reason"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"The naming of plugins was getting too complex. For example, plugin naming evolved into CommandModuleCommandPlugin, CommandModuleEventPlugin and more."}),"\n",(0,i.jsxs)(n.li,{children:["I realize that this affects all plugins. I have updated all ",(0,i.jsx)(n.a,{href:"https://github.com/sern-handler/awesome-plugins/pull/68",children:"plugins"})," to match these changes"]}),"\n",(0,i.jsxs)(n.li,{children:["The old way of declaring plugins has been deprecated in favor of newer functions that facilitate and ease typings\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"../docs/api/modules#commandcontrolplugin",children:"CommandControlPlugin"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"../docs/api/modules#commandinitplugin",children:"CommandInitPlugin"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"../docs/api/modules#eventcontrolplugin",children:"EventControlPlugin"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.a,{href:"../docs/api/modules#eventinitplugin",children:"EventInitPlugin"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"../docs/api/modules#discordeventcontrolplugin",children:"DiscordEventControlPlugin"}),"\nThis will probably be the last breaking change in a while. Thanks for using sern!"]}),"\n"]}),"\n"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(6540);const l={},r=i.createContext(l);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/425cbb82.8215dc07.js b/assets/js/425cbb82.8215dc07.js
deleted file mode 100644
index 6ccf200f8..000000000
--- a/assets/js/425cbb82.8215dc07.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[9563],{5680:(e,t,r)=>{r.d(t,{xA:()=>u,yg:()=>c});var n=r(6540);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t
",id:"join-our-discord-",level:3},{value:"Features",id:"features",level:3},{value:"Dependency Management",id:"dependency-management",level:4},{value:"Quality of Life",id:"quality-of-life",level:4},{value:"Experimental",id:"experimental",level:3},{value:"Breaking changes",id:"breaking-changes",level:3},{value:"Deprecations",id:"deprecations",level:3}];function c(e){const n={a:"a",br:"br",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",ul:"ul",...(0,l.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"30-release",children:"3.0 Release"}),"\n",(0,i.jsxs)(n.h3,{id:"join-our-discord-",children:["Join our ",(0,i.jsx)(n.a,{href:"https://sern.dev/discord",children:"discord"})," ",(0,i.jsx)(n.br,{})]}),"\n",(0,i.jsx)(n.h3,{id:"features",children:"Features"}),"\n",(0,i.jsx)(n.h4,{id:"dependency-management",children:"Dependency Management"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"Service"})," API (recommended to use this over useContainer hooks)\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Dependencies type must be globally augmented in order for Services api to function properly"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["new methods on ModuleManager\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"getPublishableCommands()"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Init Hooks\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"implement starting behavior for dependencies"}),"\n",(0,i.jsxs)(n.li,{children:["To enforce and type check this, use the ",(0,i.jsx)(n.code,{children:"Initializable"})," type when making your Dependencies type!"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["Emitter interface\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"More generic interface to define any event emitter"}),"\n",(0,i.jsx)(n.li,{children:"You can now swap out the SernEmitter with whatever emitter now."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"class DatabaseService implements Init {\n //some hypothetical database\n _pgsql : database() \n\n async init() {\n await _pgsql.load()\n }\n\n}\n\nawait makeDependencies({ \n build: root => root.add({\n db: new DatabaseService() //will be init'ed automatically\n })\n})\n\n"})}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["new SernEmitter event ",(0,i.jsx)(n.code,{children:"modulesLoaded"})," , which allows users to customize behavior after all modules are loaded!"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",children:"\nexport default eventModule({\n name: 'modulesLoaded',\n type: EventType.Sern,\n execute: () => {\n console.log('All modules loaded')\n }\n})\n\n\n"})}),"\n",(0,i.jsx)(n.h4,{id:"quality-of-life",children:"Quality of Life"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"faster module loading"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"I utilize async generators for reading files now. A lot faster than the first iteration."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"better error handling"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Less boilerplate"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Services api cleans up v2 boilerplate"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"class modules devex got upgraded and work better than before"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"automatically ignore any files not ending in (mts, cts, mjs, cjs, ts, js)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["ignore commands and events with ",(0,i.jsx)(n.code,{children:"!"})," prefix on filename or directory (ie: ",(0,i.jsx)(n.code,{children:"!filename.ts"})," or ",(0,i.jsx)(n.code,{children:"!directory"})," will be ignored by sern)"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Service"})," API (recommended to use this over useContainer hooks)"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Dependencies type must be globally augmented in order for Services api to function properly"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Less boilerplate"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"new methods on ModuleManager"}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"automatically ignore any files not ending in (mts, cts, mjs, cjs, ts, js)"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["ignore commands / events with ",(0,i.jsx)(n.code,{children:"!"})," prefix on filename or directory (ie: ",(0,i.jsx)(n.code,{children:"!filename.ts"})," or ",(0,i.jsx)(n.code,{children:"!directory"}),")"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["new SernEmitter event ",(0,i.jsx)(n.code,{children:"modulesLoaded"})," , which allows users to customize behavior after all modules are loaded!"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Init Hooks"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"implement starting behavior for dependencies"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"experimental",children:"Experimental"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Experimental things may be subject to removal, need feedback and are not guaranteed stable"}),"\n",(0,i.jsxs)(n.li,{children:["dev / prod mode\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"sern will behave differently depending on mode set"}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["init sern from ",(0,i.jsx)(n.code,{children:"file"})," option\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"reads from local sern.config.json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-js",children:"Sern.init('file'); \n"})}),"\n",(0,i.jsx)(n.h3,{id:"breaking-changes",children:"Breaking changes"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Sern.makeDependencies -> makeDependencies\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"it is asynchronous and top level function now. Make sure to await it before initing for proper synchronization."}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.li,{children:"module store and manager internally changed, so those using them may recieve breaking changes"}),"\n",(0,i.jsx)(n.li,{children:"BaseOptions type removed"}),"\n"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-diff",children:"- Sern.makeDependencies({ build: () => {} })\n+ await makeDependencies({ build: () => {} })\n"})}),"\n",(0,i.jsx)(n.h3,{id:"deprecations",children:"Deprecations"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Removed all previous marked deprecations in v3"}),"\n",(0,i.jsx)(n.li,{children:"ModuleStore will be removed as a dependency in v4. The only way to access modules should be through ModuleManager"}),"\n",(0,i.jsx)(n.li,{children:"Default Dependencies will be made internal in the v4. Users should only have access to its interface / contract"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>t,x:()=>d});var i=s(6540);const l={},r=i.createContext(l);function t(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:t(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/522b21a2.71778338.js b/assets/js/522b21a2.71778338.js
deleted file mode 100644
index fa36b40a4..000000000
--- a/assets/js/522b21a2.71778338.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[284],{5680:(e,n,a)=>{a.d(n,{xA:()=>m,yg:()=>y});var t=a(6540);function r(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function l(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,t)}return a}function i(e){for(var n=1;n
",id:"join-our-discord-",level:3},{value:"Features",id:"features",level:3},{value:"Dependency Management",id:"dependency-management",level:4},{value:"Quality of Life",id:"quality-of-life",level:4},{value:"Experimental",id:"experimental",level:3},{value:"Breaking changes",id:"breaking-changes",level:3},{value:"Deprecations",id:"deprecations",level:3}],m={toc:p},u="wrapper";function g(e){let{components:n,...a}=e;return(0,r.yg)(u,(0,t.A)({},m,a,{components:n,mdxType:"MDXLayout"}),(0,r.yg)("h2",{id:"30-release"},"3.0 Release"),(0,r.yg)("h3",{id:"join-our-discord-"},"Join our ",(0,r.yg)("a",{parentName:"h3",href:"https://sern.dev/discord"},"discord")," ",(0,r.yg)("br",null)),(0,r.yg)("h3",{id:"features"},"Features"),(0,r.yg)("h4",{id:"dependency-management"},"Dependency Management"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"Service")," API (recommended to use this over useContainer hooks)",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"Dependencies type must be globally augmented in order for Services api to function properly"))),(0,r.yg)("li",{parentName:"ul"},"new methods on ModuleManager",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"getPublishableCommands()"))),(0,r.yg)("li",{parentName:"ul"},"Init Hooks ",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"implement starting behavior for dependencies"),(0,r.yg)("li",{parentName:"ul"},"To enforce and type check this, use the ",(0,r.yg)("inlineCode",{parentName:"li"},"Initializable")," type when making your Dependencies type!"))),(0,r.yg)("li",{parentName:"ul"},"Emitter interface",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"More generic interface to define any event emitter"),(0,r.yg)("li",{parentName:"ul"},"You can now swap out the SernEmitter with whatever emitter now. ")))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"class DatabaseService implements Init {\n //some hypothetical database\n _pgsql : database() \n\n async init() {\n await _pgsql.load()\n }\n\n}\n\nawait makeDependencies({ \n build: root => root.add({\n db: new DatabaseService() //will be init'ed automatically\n })\n})\n\n")),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"new SernEmitter event ",(0,r.yg)("inlineCode",{parentName:"li"},"modulesLoaded")," , which allows users to customize behavior after all modules are loaded!")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-ts"},"\nexport default eventModule({\n name: 'modulesLoaded',\n type: EventType.Sern,\n execute: () => {\n console.log('All modules loaded')\n }\n})\n\n\n")),(0,r.yg)("h4",{id:"quality-of-life"},"Quality of Life"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"faster module loading"),(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"I utilize async generators for reading files now. A lot faster than the first iteration."))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"better error handling")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"Less boilerplate"),(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"Services api cleans up v2 boilerplate"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"class modules devex got upgraded and work better than before")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"automatically ignore any files not ending in (mts, cts, mjs, cjs, ts, js)"),(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"ignore commands and events with ",(0,r.yg)("inlineCode",{parentName:"li"},"!")," prefix on filename or directory (ie: ",(0,r.yg)("inlineCode",{parentName:"li"},"!filename.ts")," or ",(0,r.yg)("inlineCode",{parentName:"li"},"!directory")," will be ignored by sern)"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},(0,r.yg)("inlineCode",{parentName:"p"},"Service")," API (recommended to use this over useContainer hooks)"),(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"Dependencies type must be globally augmented in order for Services api to function properly"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"Less boilerplate")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"new methods on ModuleManager")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"automatically ignore any files not ending in (mts, cts, mjs, cjs, ts, js)"),(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"ignore commands / events with ",(0,r.yg)("inlineCode",{parentName:"li"},"!")," prefix on filename or directory (ie: ",(0,r.yg)("inlineCode",{parentName:"li"},"!filename.ts")," or ",(0,r.yg)("inlineCode",{parentName:"li"},"!directory"),")"))),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"new SernEmitter event ",(0,r.yg)("inlineCode",{parentName:"p"},"modulesLoaded")," , which allows users to customize behavior after all modules are loaded!")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("p",{parentName:"li"},"Init Hooks "),(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"implement starting behavior for dependencies")))),(0,r.yg)("h3",{id:"experimental"},"Experimental"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Experimental things may be subject to removal, need feedback and are not guaranteed stable"),(0,r.yg)("li",{parentName:"ul"},"dev / prod mode ",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"sern will behave differently depending on mode set"))),(0,r.yg)("li",{parentName:"ul"},"init sern from ",(0,r.yg)("inlineCode",{parentName:"li"},"file")," option",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"reads from local sern.config.json")))),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-js"},"Sern.init('file'); \n")),(0,r.yg)("h3",{id:"breaking-changes"},"Breaking changes"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Sern.makeDependencies -> makeDependencies",(0,r.yg)("ul",{parentName:"li"},(0,r.yg)("li",{parentName:"ul"},"it is asynchronous and top level function now. Make sure to await it before initing for proper synchronization."))),(0,r.yg)("li",{parentName:"ul"},"module store and manager internally changed, so those using them may recieve breaking changes"),(0,r.yg)("li",{parentName:"ul"},"BaseOptions type removed")),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre",className:"language-diff"},"- Sern.makeDependencies({ build: () => {} })\n+ await makeDependencies({ build: () => {} })\n")),(0,r.yg)("h3",{id:"deprecations"},"Deprecations"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},"Removed all previous marked deprecations in v3"),(0,r.yg)("li",{parentName:"ul"},"ModuleStore will be removed as a dependency in v4. The only way to access modules should be through ModuleManager"),(0,r.yg)("li",{parentName:"ul"},"Default Dependencies will be made internal in the v4. Users should only have access to its interface / contract")))}g.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/53944420.6e6a212f.js b/assets/js/53944420.6e6a212f.js
deleted file mode 100644
index 069aef4fb..000000000
--- a/assets/js/53944420.6e6a212f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[3218],{5680:(e,n,t)=>{t.d(n,{xA:()=>g,yg:()=>s});var r=t(6540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n