くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

TypeScriptでFirebase Admin SDKで認証ファイルを使うときは、スネークケースをキャメルケースに変換する

前の記事でも書いているけど、Firebase Adminで色々するので、
そろそろTypeScript化したくなり。。

www.memory-lovers.blog

いざやってみると、すんなりできなかったのでその時の備忘録。

こんな感じ

jsonファイルはスネークケースだけど、
型(admin.ServiceAccount)はキャメルケースなので変換が必要らしい。

ほぼ参考記事のままだけど、変換処理を加えてみた。

import * as firebase from 'firebase-admin'
import * as serviceAccount from '/path/to/firestore-service-account.json'

const params = Object.entries(serviceAccount).reduce((acc, [key, val]) => {
  const camelKey = key.replace(/_./g, v => v.charAt(1).toUpperCase());
  acc[camelKey] = val;
  return acc;
}, {});
   
firebase.initializeApp({
  credential: firebase.credential.cert(params),
})

以上!!

参考にしたサイト様