Space System refactor
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { SpaceSystem } from "../server/space_system.ts";
|
||||
|
||||
import assetBundle from "../dist/asset_bundle.json" assert { type: "json" };
|
||||
import { path } from "../plugos/deps.ts";
|
||||
import { AssetBundle, AssetJson } from "../plugos/asset_bundle/bundle.ts";
|
||||
|
||||
export async function invokeFunction(
|
||||
options: any,
|
||||
pagesPath: string,
|
||||
functionName: string,
|
||||
...args: string[]
|
||||
) {
|
||||
console.log("Going to invoke funciton", functionName, "with args", args);
|
||||
const spaceSystem = new SpaceSystem(
|
||||
new AssetBundle(assetBundle as AssetJson),
|
||||
pagesPath,
|
||||
path.join(pagesPath, options.db),
|
||||
);
|
||||
|
||||
await spaceSystem.start();
|
||||
|
||||
const [plugName, funcName] = functionName.split(".");
|
||||
|
||||
const plug = spaceSystem.system.loadedPlugs.get(plugName);
|
||||
|
||||
if (!plug) {
|
||||
console.error("Plug not found", plugName);
|
||||
Deno.exit(1);
|
||||
}
|
||||
|
||||
await plug.invoke(funcName, args);
|
||||
Deno.exit(0);
|
||||
}
|
||||
Reference in New Issue
Block a user