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
}