• Lucas Molas's avatar
    mfs: make `Root` value a `Directory` · 08922d23
    Lucas Molas authored
    Make `Root` value explicitly a `Directory` structure instead of the `FSNode`
    interface (which also allowed the `File` type). This helps to make the code
    easier to reason about: the root of an MFS layout is always a directory, not a
    (single) file.
    
    Rename `GetValue()` to `GetDirectory()` to also make it more explicit, the
    renamed function now returns a `Directory` so there is no need for type
    assertions that were previously done on the `FSNode` interface to check that it
    was actually a `Directory`.
    
    `NewRoot()` now doesn't allow to create `Root` structures from DAG nodes that
    contain UnixFS files.
    
    License: MIT
    Signed-off-by: default avatarLucas Molas <schomatis@gmail.com>
    08922d23
add.go 12.4 KB