GoonCord/src/lib/index.ts

50 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-07-23 22:24:26 +08:00
import "../global.d.ts"; // eslint-disable-line import-alias/import-alias
import "../modules.d.ts"; // eslint-disable-line import-alias/import-alias
2024-03-11 09:49:31 +08:00
export * as fonts from "./addons/fonts/index.js";
export * as plugins from "./addons/plugins/index.js";
export * as themes from "./addons/themes/index.js";
2024-10-13 14:03:20 +08:00
export * as api from "./api";
2024-03-11 09:49:31 +08:00
export * as ui from "./ui";
export * as utils from "./utils";
2024-05-20 16:39:51 +08:00
export * as metro from "@metro";
2024-03-11 15:04:11 +08:00
import * as fonts from "./addons/fonts/index.js";
import * as plugins from "./addons/plugins/index.js";
import * as themes from "./addons/themes/index.js";
/** @internal */
export * as _jsx from "react/jsx-runtime";
2024-07-30 21:10:24 +08:00
import { proxyLazy } from "./utils/lazy";
/**
* @internal
* @deprecated Moved to top level (bunny.*)
*/
2024-07-30 21:10:24 +08:00
export const managers = proxyLazy(() => {
2024-07-31 17:12:05 +08:00
console.warn("bunny.managers.* is deprecated, and moved the top level (bunny.*). bunny.managers will be eventually removed soon");
2024-07-30 21:10:24 +08:00
return {
get fonts() { return fonts; },
get plugins() { return plugins; },
get themes() { return themes; }
};
}, { hint: "object" });
2024-07-30 00:18:01 +08:00
const _disposer = [] as Array<() => unknown>;
2024-03-11 15:04:11 +08:00
export function unload() {
for (const d of _disposer) if (typeof d === "function") d();
2024-05-20 16:39:51 +08:00
// @ts-expect-error
2024-03-11 15:04:11 +08:00
delete window.bunny;
}
/**
* For internal use only, do not use!
* @internal
*/
unload.push = (fn: typeof _disposer[number]) => {
_disposer.push(fn);
};