z_mirror/fmm

git clone https://git.raiguard.me/z_mirror/fmm

Caleb HeuerAdd sync with info.json filesb5604e1

updating
780 B35 linesraw
1package fmm
2
3import (
4	"encoding/json"
5	"errors"
6	"os"
7)
8
9type ModListJson struct {
10	Mods []ModListJsonMod `json:"mods"`
11}
12
13type ModListJsonMod struct {
14	Name    string   `json:"name"`
15	Enabled bool     `json:"enabled"`
16	Version *Version `json:"version,omitempty"`
17	// TODO: Remove this in Go 1.21
18	isInternal bool
19}
20
21func ParseModListJson(path string) (*ModListJson, error) {
22	modListJsonData, err := os.ReadFile(path)
23	if err != nil {
24		if errors.Is(err, os.ErrNotExist) {
25			return nil, nil
26		}
27		return nil, errors.Join(errors.New("error reading mod-list.json"), err)
28	}
29
30	var modListJson ModListJson
31	if err = json.Unmarshal(modListJsonData, &modListJson); err != nil {
32		return nil, errors.Join(errors.New("error parsing mod-list.json"), err)
33	}
34	return &modListJson, nil
35}