TypeScriptで書かれたFile System APIを簡単に操作するためのラッパーライブラリです。
import { pickFile } from "@vrcalphabet/web-fs";
const handle = await pickFile({
types: [
{
description: "テキストファイル",
accept: [".txt"],
},
],
});
if (handle) {
const content = await handle.text();
console.log(content);
}
import { pickDirectory } from "@vrcalphabet/web-fs";
const dirHandle = await pickDirectory();
if (dirHandle) {
const tree = await dirHandle.treeString();
console.log(tree);
}
import { pickDirectory } from "@vrcalphabet/web-fs";
const dirHandle = await pickDirectory({ mode: "readwrite" });
if (dirHandle) {
const fileHandle = await dirHandle.createFile("example.txt");
if (fileHandle) {
await fileHandle.write("Hello, World!");
}
}
import { pickDirectory } from "@vrcalphabet/web-fs";
const dirHandle = await pickDirectory();
if (dirHandle) {
// srcディレクトリ以下のすべてのtsファイルを取得
const files = await dirHandle.glob("src/**/*.ts");
for (const file of files) {
console.log((await file.info()).name);
}
}
import { pickFile } from "@vrcalphabet/web-fs";
// IDを指定して永続化を有効にする
const handle = await pickFile({
id: "my-text-file",
persistence: true,
});
if (handle) {
// 次回以降、同じIDを指定するとピッカーを表示せずにハンドルを取得可能
console.log(await handle.text());
}
npm install @vrcalphabet/web-fs
yarn add @vrcalphabet/web-fs
pnpm add @vrcalphabet/web-fs
プロジェクトへの貢献を歓迎します!以下のルールに従うと,あなたの貢献がスムーズになります!
Issueを立てる際は,バグ報告・機能要望のどちらかを明記してください。 PRの説明には,目的・変更点・影響範囲・サンプルコードがあるとありがたいです。
MIT License
詳細はLICENSEファイルを参照してください。