Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 1.59 KB

RemapFS.md

File metadata and controls

62 lines (41 loc) · 1.59 KB

type FSMap map[string]fs.FS

fs.FS形式のパスと、fs.FSをマッピングするmapです。

type RemapFS

複数のfs.FSを1つのfs.FSにする機能を提供します。

fs.FSの以下の機能に対応しています。

func New(fs_tbl FSMap) (*RemapFS, error)

FSMap型のmapをつかって、RemapFSを生成します。
指定されたfs.FSのパスが間違っているとerrorになります。

RemapFSの作成サンプル

以下のようなコードでRemapFSが生成できます。

mfs, err := remapfs.New(remapfs.FSMap{
    ".":       rootFS,
    "foo":     fooFS,
    "foo/bar": foobarFS,
})
if err != nil {
    return
}

func MustNew(fsmap FSMap) *RemapFS

FSMap型のmapをつかって、RemapFSを生成します。
指定されたfs.FSのパスが間違っているとpanicします。

グローバル変数の初期化などに使います。

以下のようなコードでRemapFSが生成できます。

var virtualFS = remapfs.MustNew(remapfs.FSMap{
    ".":       rootFS,
    "foo":     fooFS,
    "foo/bar": foobarFS,
})

func MustSub(fsys fs.FS, sub string) fs.FS

fs.FSのSub()のラッパー関数です。

Sub(dir string) (FS, error)がエラーを返すと、panicします。

グローバル変数の初期化などに使います。