summaryrefslogtreecommitdiff
path: root/packages/frontend/src/plugin.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-03 15:51:49 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-03 15:51:49 +0900
commite44f83fb9c13e4fab8aee07603632d533d12b4d8 (patch)
treef6600883a03876d9d966ec377ef9ac8cb8888768 /packages/frontend/src/plugin.ts
parentclean up (diff)
downloadsharkey-e44f83fb9c13e4fab8aee07603632d533d12b4d8.tar.gz
sharkey-e44f83fb9c13e4fab8aee07603632d533d12b4d8.tar.bz2
sharkey-e44f83fb9c13e4fab8aee07603632d533d12b4d8.zip
update AiScript to 0.12.0
Diffstat (limited to 'packages/frontend/src/plugin.ts')
-rw-r--r--packages/frontend/src/plugin.ts15
1 files changed, 8 insertions, 7 deletions
diff --git a/packages/frontend/src/plugin.ts b/packages/frontend/src/plugin.ts
index 3a00cd0455..c19fe2b08d 100644
--- a/packages/frontend/src/plugin.ts
+++ b/packages/frontend/src/plugin.ts
@@ -1,16 +1,17 @@
-import { AiScript, utils, values } from '@syuilo/aiscript';
-import { deserialize } from '@syuilo/aiscript/built/serializer';
-import { jsToVal } from '@syuilo/aiscript/built/interpreter/util';
+import { Interpreter, Parser, utils, values } from '@syuilo/aiscript';
import { createAiScriptEnv } from '@/scripts/aiscript/api';
import { inputText } from '@/os';
import { noteActions, notePostInterruptors, noteViewInterruptors, postFormActions, userActions } from '@/store';
-const pluginContexts = new Map<string, AiScript>();
+const parser = new Parser();
+const pluginContexts = new Map<string, Interpreter>();
export function install(plugin) {
+ // 後方互換性のため
+ if (plugin.src == null) return;
console.info('Plugin installed:', plugin.name, 'v' + plugin.version);
- const aiscript = new AiScript(createPluginEnv({
+ const aiscript = new Interpreter(createPluginEnv({
plugin: plugin,
storageKey: 'plugins:' + plugin.id,
}), {
@@ -32,13 +33,13 @@ export function install(plugin) {
initPlugin({ plugin, aiscript });
- aiscript.exec(deserialize(plugin.ast));
+ aiscript.exec(parser.parse(plugin.src));
}
function createPluginEnv(opts) {
const config = new Map();
for (const [k, v] of Object.entries(opts.plugin.config || {})) {
- config.set(k, jsToVal(typeof opts.plugin.configData[k] !== 'undefined' ? opts.plugin.configData[k] : v.default));
+ config.set(k, utils.jsToVal(typeof opts.plugin.configData[k] !== 'undefined' ? opts.plugin.configData[k] : v.default));
}
return {