feat: support null for Mk:api() token argument

This commit is contained in:
Sayamame-beans 2023-09-22 12:51:25 +00:00
parent f748c9144c
commit 8a3a42109c
1 changed files with 6 additions and 4 deletions

View File

@ -35,11 +35,13 @@ export function createAiScriptEnv(opts) {
}), }),
'Mk:api': values.FN_NATIVE(async ([ep, param, token]) => { 'Mk:api': values.FN_NATIVE(async ([ep, param, token]) => {
if (token) { if (token) {
utils.assertString(token); if (token.type !== 'null') {
// バグがあればundefinedもあり得るため念のため utils.assertString(token);
if (typeof token.value !== 'string') throw new Error('invalid 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 => { return os.api(ep.value, utils.valToJs(param), (token ? token.value : opts.token) ?? null).then(res => {
return utils.jsToVal(res); return utils.jsToVal(res);
}, err => { }, err => {
return values.ERROR('request_failed', utils.jsToVal(err)); return values.ERROR('request_failed', utils.jsToVal(err));