SilverBullet pivot to become an offline-first PWA (#403)

This commit is contained in:
Zef Hemel
2023-05-23 20:53:53 +02:00
committed by GitHub
parent b256269897
commit 5f484bed57
389 changed files with 4484 additions and 291129 deletions
+5 -7
View File
@@ -1,6 +1,5 @@
import type { Hook, Manifest } from "../types.ts";
import { System } from "../system.ts";
import { safeRun } from "../util.ts";
// System events:
// - plug:load (plugName: string)
@@ -48,14 +47,15 @@ export class EventHook implements Hook<EventHookT> {
}
const responses: any[] = [];
for (const plug of this.system.loadedPlugs.values()) {
const manifest = await plug.manifest;
for (
const [name, functionDef] of Object.entries(
plug.manifest!.functions,
manifest!.functions,
)
) {
if (functionDef.events && functionDef.events.includes(eventName)) {
// Only dispatch functions that can run in this environment
if (plug.canInvoke(name)) {
if (await plug.canInvoke(name)) {
const result = await plug.invoke(name, [data]);
if (result !== undefined) {
responses.push(result);
@@ -80,10 +80,8 @@ export class EventHook implements Hook<EventHookT> {
apply(system: System<EventHookT>): void {
this.system = system;
this.system.on({
plugLoaded: (plug) => {
safeRun(async () => {
await this.dispatchEvent("plug:load", plug.name);
});
plugLoaded: async (plug) => {
await this.dispatchEvent("plug:load", plug.name);
},
});
}