Closed2
octokitをconsole.logしてはいけない
Denoの話
octokitでappを作る
import { App } from "https://esm.sh/octokit@3.1.0";
// base64 encoded private key
const key = `...`;
const app = new App({
appId: 123456,
privateKey: atob(key),
});
// 認証できたかな?
console.log(app);
これはエラーになる
Task start deno run --allow-env --allow-net src/index.ts
error: Uncaught TypeError: Cannot destructure property 'decorations' of 'l.get(...).get(...)' as it is undefined.
at Object.get (https://esm.sh/v131/@octokit/plugin-rest-endpoint-methods@9.0.0/deno/plugin-rest-endpoint-methods.mjs:2:68442)
at inspectRawObject (ext:deno_console/02_console.js:1171:26)
at inspectObject (ext:deno_console/02_console.js:1402:36)
at _inspectValue (ext:deno_console/02_console.js:720:14)
at inspectValue (ext:deno_console/02_console.js:738:9)
at inspectValueWithQuotes (ext:deno_console/02_console.js:852:14)
at inspectRawObject (ext:deno_console/02_console.js:1235:13)
at inspectObject (ext:deno_console/02_console.js:1402:36)
at _inspectValue (ext:deno_console/02_console.js:720:14)
at inspectValue (ext:deno_console/02_console.js:738:9)
octokitのバグかと思って再現性を確認したところ、console.logしなければ普通に動くことがわかった
import { App } from "https://esm.sh/octokit@3.1.0";
// base64 encoded private key
const key = `...`;
const app = new App({
appId: 123456,
privateKey: atob(key),
});
for await (const { octokit, repository } of app.eachRepository.iterator()) {
const c = await octokit.rest.repos.listTeams({
owner: repository.owner.login,
repo: repository.name,
branch: "master",
});
// 動く!
console.log(c);
}
jsでconsole.logできない正常なオブジェクトがあるとは思わなかった。deno特有の問題なのかはわからない
👆 詳しく調べてくれた有益なスレッド
このスクラップは2023/08/17にクローズされました