summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/aiscript/api.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/scripts/aiscript/api.ts')
-rw-r--r--packages/frontend/src/scripts/aiscript/api.ts5
1 files changed, 4 insertions, 1 deletions
diff --git a/packages/frontend/src/scripts/aiscript/api.ts b/packages/frontend/src/scripts/aiscript/api.ts
index 0bb9185936..9f60e52cea 100644
--- a/packages/frontend/src/scripts/aiscript/api.ts
+++ b/packages/frontend/src/scripts/aiscript/api.ts
@@ -34,12 +34,15 @@ export function createAiScriptEnv(opts) {
return confirm.canceled ? values.FALSE : values.TRUE;
}),
'Mk:api': values.FN_NATIVE(async ([ep, param, token]) => {
+ utils.assertString(ep);
+ if (ep.value.includes('://')) throw new Error('invalid endpoint');
if (token) {
utils.assertString(token);
// バグがあればundefinedもあり得るため念のため
if (typeof token.value !== 'string') throw new Error('invalid token');
}
- return os.api(ep.value, utils.valToJs(param), token ? token.value : (opts.token ?? null)).then(res => {
+ const actualToken: string|null = token?.value ?? opts.token ?? null;
+ return os.api(ep.value, utils.valToJs(param), actualToken).then(res => {
return utils.jsToVal(res);
}, err => {
return values.ERROR('request_failed', utils.jsToVal(err));