💾

unstorageが便利すぎる

2024/03/11に公開

挨拶

みなさんこんにちは!!
今回は便利なライブラリを紹介します。
その名もunstorageです
さっと知りたい方のための公式ドキュメントはこちら↓
https://unstorage.unjs.io/
では早速やっていきましょう!!

何それおいしいの?

unstorageはよくあるKVのストレージですが、ファイルシステムの寄せて作られています

特徴

色んなランタイムで動作
unstorageは様々なランタイムで動作します。
DBやKVやメモリ上、Node.jsの場合はファイルとしての保管もできます
わかりやすい
削除と作成とunstorageにマウントする機能しか基本的にありません
シンプルなAPIです
バイナリも保管可能
バイナリ(exe、画像、動画など)なども保管するためのAPIが用意されています
自動でBase64エンコードしてるのかな?(浅い理解)

実際に使ってみた

まずは何でもいいのでnpmパッケージを落としてきてください

npm i unstorage #など

そして以下にサンプルコードを置いときます
(めんどくさいので)トップレベルawaitが使える前提で...

import { createStorage } from "unstorage";
import fsDriver from "unstorage/drivers/fs";

const storage = createStorage({driver: fsDriver({ base: "./tmp" })});
// このファイルから見て./tmp/test/exに保管される
await storage.setItem("/test/ex", "内容はないようです");
// このファイルがあるかどうか調べる
await storage.hasItem("/test/ex");// true
// ファイルの内容を取得
await storage.getItem("/test/ex");// 内容はないようです
// lsコマンド的な奴
await storage.getKeys();

など様々なものがあります
さらに!createStorage({driver: fsDriver({ base: "./tmp" })});driver: fsDriver({ base: "./tmp" })を書き換えるだけで別のDBやKVなど対応してるものに変更することができます。

まとめ

いかがでしたでしょうか??????
このライブラリを使うことにによって急に環境が変わった時でも対応できそうですね。

Discussion