Skip to content

Commit d3cd00e

Browse files
fix some legacy ARA docs
1 parent 6d06b93 commit d3cd00e

2 files changed

Lines changed: 106 additions & 78 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
// .vitepress/config.mts
2+
import { defineConfig } from "file:///E:/dev/wiki/node_modules/vitepress/dist/node/index.js";
3+
import { tabsMarkdownPlugin } from "file:///E:/dev/wiki/node_modules/vitepress-plugin-tabs/dist/index.js";
4+
import { withSidebar } from "file:///E:/dev/wiki/node_modules/vitepress-sidebar/dist/index.js";
5+
6+
// lib/components/ContentToggle.tsx
7+
import React, { useState, useEffect } from "file:///E:/dev/wiki/node_modules/react/index.js";
8+
import Cookies from "file:///E:/dev/wiki/node_modules/js-cookie/dist/js.cookie.mjs";
9+
var ToggleComponent = () => {
10+
const [isEnabled, setIsEnabled] = useState(false);
11+
useEffect(() => {
12+
const savedState = Cookies.get("toggleState");
13+
if (savedState) {
14+
setIsEnabled(savedState === "true");
15+
}
16+
}, []);
17+
const handleToggle = () => {
18+
const newState = !isEnabled;
19+
setIsEnabled(newState);
20+
Cookies.set("toggleState", newState.toString());
21+
};
22+
return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("label", null, /* @__PURE__ */ React.createElement("input", { type: "checkbox", checked: isEnabled, onChange: handleToggle }), "Toggle"), isEnabled ? /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("p", null, "Second set of components")) : /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("p", null, "First set of components")));
23+
};
24+
var ContentToggle_default = ToggleComponent;
25+
26+
// .vitepress/config.mts
27+
var vitePressConfigs = {
28+
title: "Aelysium Wiki",
29+
description: "The wiki for all of the Aelysium's projects, including RustyConnector",
30+
locales: {
31+
root: {
32+
label: "English",
33+
lang: "en"
34+
}
35+
},
36+
markdown: {
37+
config(md) {
38+
md.use(tabsMarkdownPlugin);
39+
},
40+
container: {
41+
tipLabel: "\u{1F4A1} TIP",
42+
warningLabel: "\u26A0\uFE0F WARNING",
43+
dangerLabel: "\u{1F525} DANGER",
44+
infoLabel: "\u{1F50E} INFO",
45+
detailsLabel: "*\uFE0F\u20E3 DETAILS"
46+
}
47+
},
48+
//ignoreDeadLinks: true,
49+
head: [["link", { rel: "icon", type: "image/png", href: "/logo.png" }]],
50+
themeConfig: {
51+
// https://vitepress.dev/reference/default-theme-config
52+
logo: "/logo.png",
53+
nav: [
54+
{ text: "RustyConnector", link: "/rusty-connector" },
55+
{ text: "Rusty for devs", link: "/rusty-dev" },
56+
{ text: "ARA", link: "/ara" },
57+
{ text: "Declarative YAML", link: "/declarative-yaml" }
58+
],
59+
footer: {
60+
message: "Released under the GPL-3.0 License.",
61+
copyright: "Copyright \xA9 2019-2025 AELYSIUM"
62+
},
63+
socialLinks: [
64+
{ icon: "github", link: "https://github.com/Aelysium-Group" },
65+
{ icon: "discord", link: "https://join.aelysium.group/" }
66+
]
67+
},
68+
sitemap: {
69+
hostname: "https://wiki.aelysium.group"
70+
},
71+
enhanceApp({ app }) {
72+
app.component("ToggleComponent", ContentToggle_default);
73+
}
74+
};
75+
var config_default = defineConfig(
76+
withSidebar(vitePressConfigs, [
77+
{
78+
documentRootPath: "/",
79+
scanStartPath: "rusty-connector",
80+
resolvePath: "/rusty-connector/",
81+
useTitleFromFrontmatter: true,
82+
useFolderTitleFromIndexFile: true,
83+
sortMenusByFrontmatterOrder: true
84+
},
85+
{
86+
documentRootPath: "/",
87+
scanStartPath: "declarative-yaml",
88+
resolvePath: "/declarative-yaml/",
89+
useTitleFromFrontmatter: true,
90+
useFolderTitleFromIndexFile: true,
91+
sortMenusByFrontmatterOrder: true
92+
},
93+
{
94+
documentRootPath: "/",
95+
scanStartPath: "rusty-dev",
96+
resolvePath: "/rusty-dev/",
97+
useTitleFromFrontmatter: true,
98+
useFolderTitleFromIndexFile: true,
99+
sortMenusByFrontmatterOrder: true
100+
}
101+
])
102+
);
103+
export {
104+
config_default as default
105+
};
106+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLnZpdGVwcmVzcy9jb25maWcubXRzIiwgImxpYi9jb21wb25lbnRzL0NvbnRlbnRUb2dnbGUudHN4Il0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcZGV2XFxcXHdpa2lcXFxcLnZpdGVwcmVzc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcZGV2XFxcXHdpa2lcXFxcLnZpdGVwcmVzc1xcXFxjb25maWcubXRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi9kZXYvd2lraS8udml0ZXByZXNzL2NvbmZpZy5tdHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlcHJlc3MnXHJcbmltcG9ydCB7IHRhYnNNYXJrZG93blBsdWdpbiB9IGZyb20gJ3ZpdGVwcmVzcy1wbHVnaW4tdGFicydcclxuaW1wb3J0IHsgd2l0aFNpZGViYXIgfSBmcm9tICd2aXRlcHJlc3Mtc2lkZWJhcic7XHJcbmltcG9ydCBDb250ZW50VG9nZ2xlIGZyb20gJy4uL2xpYi9jb21wb25lbnRzL0NvbnRlbnRUb2dnbGUnO1xyXG5cclxuY29uc3Qgdml0ZVByZXNzQ29uZmlncyA9IHtcclxuICB0aXRsZTogXCJBZWx5c2l1bSBXaWtpXCIsXHJcbiAgZGVzY3JpcHRpb246IFwiVGhlIHdpa2kgZm9yIGFsbCBvZiB0aGUgQWVseXNpdW0ncyBwcm9qZWN0cywgaW5jbHVkaW5nIFJ1c3R5Q29ubmVjdG9yXCIsXHJcbiAgbG9jYWxlczoge1xyXG4gICAgcm9vdDoge1xyXG4gICAgICBsYWJlbDogJ0VuZ2xpc2gnLFxyXG4gICAgICBsYW5nOiAnZW4nXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgbWFya2Rvd246IHtcclxuICAgIGNvbmZpZyhtZCkge1xyXG4gICAgICBtZC51c2UodGFic01hcmtkb3duUGx1Z2luKVxyXG4gICAgfSxcclxuICAgIGNvbnRhaW5lcjoge1xyXG4gICAgICB0aXBMYWJlbDogJ1x1RDgzRFx1RENBMSBUSVAnLFxyXG4gICAgICB3YXJuaW5nTGFiZWw6ICdcdTI2QTBcdUZFMEYgV0FSTklORycsXHJcbiAgICAgIGRhbmdlckxhYmVsOiAnXHVEODNEXHVERDI1IERBTkdFUicsXHJcbiAgICAgIGluZm9MYWJlbDogJ1x1RDgzRFx1REQwRSBJTkZPJyxcclxuICAgICAgZGV0YWlsc0xhYmVsOiAnKlx1RkUwRlx1MjBFMyBERVRBSUxTJyxcclxuICAgIH1cclxuICB9LFxyXG4gIC8vaWdub3JlRGVhZExpbmtzOiB0cnVlLFxyXG4gIGhlYWQ6IFtbJ2xpbmsnLCB7IHJlbDogJ2ljb24nLCB0eXBlOiAnaW1hZ2UvcG5nJywgaHJlZjogJy9sb2dvLnBuZycgfV1dLFxyXG4gIHRoZW1lQ29uZmlnOiB7XHJcbiAgICAvLyBodHRwczovL3ZpdGVwcmVzcy5kZXYvcmVmZXJlbmNlL2RlZmF1bHQtdGhlbWUtY29uZmlnXHJcbiAgICBsb2dvOiAnL2xvZ28ucG5nJyxcclxuICAgIG5hdjogW1xyXG4gICAgICB7IHRleHQ6ICdSdXN0eUNvbm5lY3RvcicsIGxpbms6ICcvcnVzdHktY29ubmVjdG9yJyB9LFxyXG4gICAgICB7IHRleHQ6ICdSdXN0eSBmb3IgZGV2cycsIGxpbms6ICcvcnVzdHktZGV2JyB9LFxyXG4gICAgICB7IHRleHQ6ICdBUkEnLCBsaW5rOiAnL2FyYScgfSxcclxuICAgICAgeyB0ZXh0OiAnRGVjbGFyYXRpdmUgWUFNTCcsIGxpbms6ICcvZGVjbGFyYXRpdmUteWFtbCcgfVxyXG4gICAgXSxcclxuICAgIGZvb3Rlcjoge1xyXG4gICAgICBtZXNzYWdlOiAnUmVsZWFzZWQgdW5kZXIgdGhlIEdQTC0zLjAgTGljZW5zZS4nLFxyXG4gICAgICBjb3B5cmlnaHQ6ICdDb3B5cmlnaHQgXHUwMEE5IDIwMTktMjAyNSBBRUxZU0lVTSdcclxuICAgIH0sXHJcbiAgICBzb2NpYWxMaW5rczogW1xyXG4gICAgICB7IGljb246ICdnaXRodWInLCBsaW5rOiAnaHR0cHM6Ly9naXRodWIuY29tL0FlbHlzaXVtLUdyb3VwJyB9LFxyXG4gICAgICB7IGljb246ICdkaXNjb3JkJywgbGluazogJ2h0dHBzOi8vam9pbi5hZWx5c2l1bS5ncm91cC8nIH1cclxuICAgIF1cclxuICB9LFxyXG4gIHNpdGVtYXA6IHtcclxuICAgIGhvc3RuYW1lOiAnaHR0cHM6Ly93aWtpLmFlbHlzaXVtLmdyb3VwJ1xyXG4gIH0sXHJcbiAgZW5oYW5jZUFwcCh7IGFwcCB9KSB7XHJcbiAgICBhcHAuY29tcG9uZW50KCdUb2dnbGVDb21wb25lbnQnLCBDb250ZW50VG9nZ2xlKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyhcclxuICB3aXRoU2lkZWJhcih2aXRlUHJlc3NDb25maWdzLCBbXHJcbiAgICB7XHJcbiAgICAgIGRvY3VtZW50Um9vdFBhdGg6ICcvJyxcclxuICAgICAgc2NhblN0YXJ0UGF0aDogJ3J1c3R5LWNvbm5lY3RvcicsXHJcbiAgICAgIHJlc29sdmVQYXRoOiAnL3J1c3R5LWNvbm5lY3Rvci8nLFxyXG4gICAgICB1c2VUaXRsZUZyb21Gcm9udG1hdHRlcjogdHJ1ZSxcclxuICAgICAgdXNlRm9sZGVyVGl0bGVGcm9tSW5kZXhGaWxlOiB0cnVlLFxyXG4gICAgICBzb3J0TWVudXNCeUZyb250bWF0dGVyT3JkZXI6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBkb2N1bWVudFJvb3RQYXRoOiAnLycsXHJcbiAgICAgIHNjYW5TdGFydFBhdGg6ICdkZWNsYXJhdGl2ZS15YW1sJyxcclxuICAgICAgcmVzb2x2ZVBhdGg6ICcvZGVjbGFyYXRpdmUteWFtbC8nLFxyXG4gICAgICB1c2VUaXRsZUZyb21Gcm9udG1hdHRlcjogdHJ1ZSxcclxuICAgICAgdXNlRm9sZGVyVGl0bGVGcm9tSW5kZXhGaWxlOiB0cnVlLFxyXG4gICAgICBzb3J0TWVudXNCeUZyb250bWF0dGVyT3JkZXI6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBkb2N1bWVudFJvb3RQYXRoOiAnLycsXHJcbiAgICAgIHNjYW5TdGFydFBhdGg6ICdydXN0eS1kZXYnLFxyXG4gICAgICByZXNvbHZlUGF0aDogJy9ydXN0eS1kZXYvJyxcclxuICAgICAgdXNlVGl0bGVGcm9tRnJvbnRtYXR0ZXI6IHRydWUsXHJcbiAgICAgIHVzZUZvbGRlclRpdGxlRnJvbUluZGV4RmlsZTogdHJ1ZSxcclxuICAgICAgc29ydE1lbnVzQnlGcm9udG1hdHRlck9yZGVyOiB0cnVlLFxyXG4gICAgfVxyXG4gIF0pXHJcbik7IiwgImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgQ29va2llcyBmcm9tICdqcy1jb29raWUnO1xyXG5cclxuY29uc3QgVG9nZ2xlQ29tcG9uZW50ID0gKCkgPT4ge1xyXG4gICAgY29uc3QgW2lzRW5hYmxlZCwgc2V0SXNFbmFibGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNhdmVkU3RhdGUgPSBDb29raWVzLmdldCgndG9nZ2xlU3RhdGUnKTtcclxuICAgICAgICBpZiAoc2F2ZWRTdGF0ZSkge1xyXG4gICAgICAgICAgICBzZXRJc0VuYWJsZWQoc2F2ZWRTdGF0ZSA9PT0gJ3RydWUnKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gIWlzRW5hYmxlZDtcclxuICAgICAgICBzZXRJc0VuYWJsZWQobmV3U3RhdGUpO1xyXG4gICAgICAgIENvb2tpZXMuc2V0KCd0b2dnbGVTdGF0ZScsIG5ld1N0YXRlLnRvU3RyaW5nKCkpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjaGVja2VkPXtpc0VuYWJsZWR9IG9uQ2hhbmdlPXtoYW5kbGVUb2dnbGV9IC8+XHJcbiAgICAgICAgICAgICAgICBUb2dnbGVcclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAge2lzRW5hYmxlZCA/IChcclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qIFNlY29uZCBzZXQgb2YgY2hpbGQgY29tcG9uZW50cyAqL31cclxuICAgICAgICAgICAgICAgICAgICA8cD5TZWNvbmQgc2V0IG9mIGNvbXBvbmVudHM8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qIEZpcnN0IHNldCBvZiBjaGlsZCBjb21wb25lbnRzICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxwPkZpcnN0IHNldCBvZiBjb21wb25lbnRzPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgVG9nZ2xlQ29tcG9uZW50OyJdLAogICJtYXBwaW5ncyI6ICI7QUFBb1AsU0FBUyxvQkFBb0I7QUFDalIsU0FBUywwQkFBMEI7QUFDbkMsU0FBUyxtQkFBbUI7OztBQ0Y1QixPQUFPLFNBQVMsVUFBVSxpQkFBaUI7QUFDM0MsT0FBTyxhQUFhO0FBRXBCLElBQU0sa0JBQWtCLE1BQU07QUFDMUIsUUFBTSxDQUFDLFdBQVcsWUFBWSxJQUFJLFNBQVMsS0FBSztBQUVoRCxZQUFVLE1BQU07QUFDWixVQUFNLGFBQWEsUUFBUSxJQUFJLGFBQWE7QUFDNUMsUUFBSSxZQUFZO0FBQ1osbUJBQWEsZUFBZSxNQUFNO0FBQUEsSUFDdEM7QUFBQSxFQUNKLEdBQUcsQ0FBQyxDQUFDO0FBRUwsUUFBTSxlQUFlLE1BQU07QUFDdkIsVUFBTSxXQUFXLENBQUM7QUFDbEIsaUJBQWEsUUFBUTtBQUNyQixZQUFRLElBQUksZUFBZSxTQUFTLFNBQVMsQ0FBQztBQUFBLEVBQ2xEO0FBRUEsU0FDSSxvQ0FBQyxhQUNHLG9DQUFDLGVBQ0csb0NBQUMsV0FBTSxNQUFLLFlBQVcsU0FBUyxXQUFXLFVBQVUsY0FBYyxHQUFFLFFBRXpFLEdBQ0MsWUFDRyxvQ0FBQyxhQUVHLG9DQUFDLFdBQUUsMEJBQXdCLENBQy9CLElBRUEsb0NBQUMsYUFFRyxvQ0FBQyxXQUFFLHlCQUF1QixDQUM5QixDQUVSO0FBRVI7QUFFQSxJQUFPLHdCQUFROzs7QURuQ2YsSUFBTSxtQkFBbUI7QUFBQSxFQUN2QixPQUFPO0FBQUEsRUFDUCxhQUFhO0FBQUEsRUFDYixTQUFTO0FBQUEsSUFDUCxNQUFNO0FBQUEsTUFDSixPQUFPO0FBQUEsTUFDUCxNQUFNO0FBQUEsSUFDUjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLFVBQVU7QUFBQSxJQUNSLE9BQU8sSUFBSTtBQUNULFNBQUcsSUFBSSxrQkFBa0I7QUFBQSxJQUMzQjtBQUFBLElBQ0EsV0FBVztBQUFBLE1BQ1QsVUFBVTtBQUFBLE1BQ1YsY0FBYztBQUFBLE1BQ2QsYUFBYTtBQUFBLE1BQ2IsV0FBVztBQUFBLE1BQ1gsY0FBYztBQUFBLElBQ2hCO0FBQUEsRUFDRjtBQUFBO0FBQUEsRUFFQSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxRQUFRLE1BQU0sYUFBYSxNQUFNLFlBQVksQ0FBQyxDQUFDO0FBQUEsRUFDdEUsYUFBYTtBQUFBO0FBQUEsSUFFWCxNQUFNO0FBQUEsSUFDTixLQUFLO0FBQUEsTUFDSCxFQUFFLE1BQU0sa0JBQWtCLE1BQU0sbUJBQW1CO0FBQUEsTUFDbkQsRUFBRSxNQUFNLGtCQUFrQixNQUFNLGFBQWE7QUFBQSxNQUM3QyxFQUFFLE1BQU0sT0FBTyxNQUFNLE9BQU87QUFBQSxNQUM1QixFQUFFLE1BQU0sb0JBQW9CLE1BQU0sb0JBQW9CO0FBQUEsSUFDeEQ7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOLFNBQVM7QUFBQSxNQUNULFdBQVc7QUFBQSxJQUNiO0FBQUEsSUFDQSxhQUFhO0FBQUEsTUFDWCxFQUFFLE1BQU0sVUFBVSxNQUFNLG9DQUFvQztBQUFBLE1BQzVELEVBQUUsTUFBTSxXQUFXLE1BQU0sK0JBQStCO0FBQUEsSUFDMUQ7QUFBQSxFQUNGO0FBQUEsRUFDQSxTQUFTO0FBQUEsSUFDUCxVQUFVO0FBQUEsRUFDWjtBQUFBLEVBQ0EsV0FBVyxFQUFFLElBQUksR0FBRztBQUNsQixRQUFJLFVBQVUsbUJBQW1CLHFCQUFhO0FBQUEsRUFDaEQ7QUFDRjtBQUVBLElBQU8saUJBQVE7QUFBQSxFQUNiLFlBQVksa0JBQWtCO0FBQUEsSUFDNUI7QUFBQSxNQUNFLGtCQUFrQjtBQUFBLE1BQ2xCLGVBQWU7QUFBQSxNQUNmLGFBQWE7QUFBQSxNQUNiLHlCQUF5QjtBQUFBLE1BQ3pCLDZCQUE2QjtBQUFBLE1BQzdCLDZCQUE2QjtBQUFBLElBQy9CO0FBQUEsSUFDQTtBQUFBLE1BQ0Usa0JBQWtCO0FBQUEsTUFDbEIsZUFBZTtBQUFBLE1BQ2YsYUFBYTtBQUFBLE1BQ2IseUJBQXlCO0FBQUEsTUFDekIsNkJBQTZCO0FBQUEsTUFDN0IsNkJBQTZCO0FBQUEsSUFDL0I7QUFBQSxJQUNBO0FBQUEsTUFDRSxrQkFBa0I7QUFBQSxNQUNsQixlQUFlO0FBQUEsTUFDZixhQUFhO0FBQUEsTUFDYix5QkFBeUI7QUFBQSxNQUN6Qiw2QkFBNkI7QUFBQSxNQUM3Qiw2QkFBNkI7QUFBQSxJQUMvQjtBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=

rusty-dev/documentation/ara-simple.md

Lines changed: 0 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -159,17 +159,6 @@ Generally speaking you're allowed to put boot logic for the Particle in either t
159159
In practice, however, we like having the separation where the ignite method is exclusively for configuring and instantiating,
160160
and the constructor is for that boot logic.
161161

162-
::: info What is ModuleTinder?
163-
Inside RustyConnector, we use ModuleTinder instead of the ARA native Tinder.
164-
A main details as to why is because ModuleTinder accepts metadata about the specific module.
165-
166-
Any time you are wanting to create a new module/particle, you want to make sure your Tinder extends that ModuleTinder class.
167-
Here's a description of each option in the ModuleTinder constructor and what they do:
168-
1. **Name** | The unique name of the module. (ex. LangLibrary, FamilyRegistry, etc.)
169-
2. **Description** | Describes the general purpose and use of the module.
170-
3. **Details** | The name of the Lang entry that displays more details about this specific module.
171-
:::
172-
173162
## Particle/Module Collections
174163
There are two classes that represent collections of modules in RustyConnector.
175164

@@ -183,70 +172,3 @@ wrappers know that a module contains children.
183172
### `ModuleCollection`
184173
Implementing the `ModuleHolder` interface, the `ModuleCollection` class provides complete module management.
185174
It's the class that the RustyConnector kernel uses to handle its own modules.
186-
187-
## Tinder Injection
188-
189-
The Tinder system give module developers the ability to directly alter code being executed even by the kernel itself.
190-
Let's look at MagicLink as an example.
191-
By default, MagicLink operates via WebSocket.
192-
However, if a module developer wanted to implement Redis instead of WebSocket, they could do so with relative ease.
193-
```java
194-
public class RedisMagicLink extends MagicLinkCore.Proxy {
195-
protected RedisMagicLink(
196-
@NotNull Packet.SourceIdentifier self,
197-
@NotNull AES cryptor,
198-
@NotNull PacketCache cache,
199-
@Nullable IPV6Broadcaster broadcaster
200-
) {
201-
super(self, cryptor, cache, broadcaster);
202-
// Redis Initializer logic
203-
}
204-
205-
@Override
206-
public void publish(Packet.Local packet) throws IllegalStateException {
207-
// Publish using Redis
208-
}
209-
210-
public static class Tinder extends MagicLinkCore.Tinder<RedisMagicLink> {
211-
private final Packet.SourceIdentifier self;
212-
private final AES cryptor;
213-
private final PacketCache cache;
214-
private final IPV6Broadcaster broadcaster;
215-
public Tinder(
216-
@NotNull URL httpAddress,
217-
@NotNull Packet.SourceIdentifier self,
218-
@NotNull AES cryptor,
219-
@NotNull PacketCache cache,
220-
@Nullable IPV6Broadcaster broadcaster
221-
) {
222-
super();
223-
this.cryptor = cryptor;
224-
this.self = self;
225-
this.cache = cache;
226-
this.broadcaster = broadcaster;
227-
}
228-
229-
@Override
230-
public @NotNull RedisMagicLink ignite() throws Exception {
231-
return new RedisMagicLink(
232-
this.self,
233-
this.cryptor,
234-
this.cache,
235-
this.broadcaster
236-
);
237-
}
238-
}
239-
}
240-
```
241-
Naturally a module developer would also need to add parameters for Redis login details as well, that's besides the point tho.
242-
Remember how a Tinder is basically just a configuration class? This is where that fact truly shines.
243-
244-
In order to inject this new Tinder so that the RustyConnector kernel uses it instead of the default WebSocket Tinder,
245-
you first need to acquire the current MagicLink Flux, then reload the Flux using the new Tinder.
246-
```java
247-
RC.Kernel().fetchModule("MagicLink").reignite(new RedisMagicLink.Tinder(/* params */));
248-
```
249-
250-
From this point forward, any time the MagicLink Flux is stopped, started, or reloaded, the new Tinder will be used.
251-
The caller also has an optional `rollback` flag they can pass which, if there's an exception during the boot process of a Particle,
252-
will automatically discard the newly passed Tinder and revert to the previous one.

0 commit comments

Comments
 (0)