Categorygithub.com/zoltanlajoskis/go-mapfs
modulepackage
0.0.0-20170826150954-b06f77efde24
Repository: https://github.com/zoltanlajoskis/go-mapfs.git
Documentation: pkg.go.dev

# README

go-mapfs

Build Status Go Report Card Coverage Status GoDoc

A map-based vfs.FileSystem implementation that stores both the contents and the modification times for files.

Usage

Each input file is represented by the File structure that stores the contents and the modification time of the file.

type File struct {
  Data    []byte
  ModTime time.Time
}

These Files are collected in a Files map that maps each file to the file's path.

type Files map[string]*File

The New function creates the file system from the map.

func New(Files) (vfs.FileSystem, error)

Example

package main

import (
  "time"

  "github.com/ZoltanLajosKis/go-mapfs"
)

func main() {
  files := mapfs.Files{
    "test/hello.txt": {
      []byte("Hello."),
      time.Date(2017, 1, 1, 0, 0, 0, 0, time.UTC),
    },
    // additional files ...
  }

  fs, err := mapfs.New(files)
}

# Functions

New creates a new MapFS instance from the input files.

# Structs

File represents a file's contents and modification time.

# Type aliases

Files is the collection of files to init a MapFS file system with.
MapFS is a vfs.FileSystem implementation.