diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-01-03 15:51:49 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-01-03 15:51:49 +0900 |
| commit | e44f83fb9c13e4fab8aee07603632d533d12b4d8 (patch) | |
| tree | f6600883a03876d9d966ec377ef9ac8cb8888768 /packages/frontend/src/plugin.ts | |
| parent | clean up (diff) | |
| download | sharkey-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.ts | 15 |
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 { |