merger_extensions.go

 1package jsons
 2
 3import (
 4	"fmt"
 5)
 6
 7// Extensions get supported extensions of given format.
 8// If format is empty or FormatAuto, it returns all extensions.
 9func (m *Merger) Extensions(formatName Format) ([]string, error) {
10	if formatName == "" || formatName == FormatAuto {
11		return m.getAllExtensions(), nil
12	}
13	f, found := m.loadersByName[formatName]
14	if !found {
15		return nil, fmt.Errorf("%s not found", formatName)
16	}
17	return f.Extensions, nil
18}
19
20// getAllExtensions get all extensions supported
21func (m *Merger) getAllExtensions() []string {
22	extensions := make([]string, 0)
23	for ext := range m.loadersByExt {
24		extensions = append(extensions, ext)
25	}
26	return extensions
27}