package main

import (
	"embed"
	"fmt"
	"io/fs"
)

//go:embed assets/hello.txt
var hello string

//go:embed assets
var directory embed.FS

//go:embed assets/*
var glob embed.FS

//go:embed all:assets
var all embed.FS

func paths(fsys fs.FS) []string {
	var result []string
	if err := fs.WalkDir(fsys, ".", func(path string, d fs.DirEntry, err error) error {
		if err != nil {
			return err
		}
		if !d.IsDir() {
			result = append(result, path)
		}
		return nil
	}); err != nil {
		panic(err)
	}
	return result
}

func main() {
	fmt.Printf("text: %q\n", hello)
	fmt.Println("directory:", paths(directory))
	fmt.Println("glob:", paths(glob))
	fmt.Println("all:", paths(all))
}
