func listFieldsFiles()

in code/go/internal/validator/semantic/types.go [160:204]


func listFieldsFiles(fsys fspath.FS) ([]fieldFileMetadata, error) {
	var fieldsFilesMetadata []fieldFileMetadata

	// integration packages
	dataStreams, err := listDataStreams(fsys)
	if err != nil {
		return nil, err
	}

	for _, dataStream := range dataStreams {
		fieldsDir := path.Join(dataStreamDir, dataStream, "fields")
		integrationFieldsFiles, err := readFieldsFolder(fsys, fieldsDir)
		if err != nil {
			return nil, fmt.Errorf("cannot read fields file from integration packages: %w", err)
		}

		for _, file := range integrationFieldsFiles {
			fieldsFilesMetadata = append(
				fieldsFilesMetadata,
				fieldFileMetadata{
					filePath:     file,
					fullFilePath: fsys.Path(file),
					dataStream:   dataStream,
				})
		}
	}

	// input packages
	inputFieldsFiles, err := readFieldsFolder(fsys, "fields")
	if err != nil {
		return nil, fmt.Errorf("cannot read fields file from input packages: %w", err)
	}

	for _, file := range inputFieldsFiles {
		fieldsFilesMetadata = append(
			fieldsFilesMetadata,
			fieldFileMetadata{
				filePath:     file,
				fullFilePath: fsys.Path(file),
				dataStream:   "",
			})
	}

	return fieldsFilesMetadata, nil
}