in internal/processor/processor.go [172:216]
func classifyLibFile(res *Result, file fs.File, name string) error {
err := error(nil)
// process by file type
switch n := strings.ToLower(name); {
// if the file is a policy definition
case policyDefinitionRegex.MatchString(n):
err = readAndProcessFile(res, file, processPolicyDefinition)
// if the file is a policy set definition
case policySetDefinitionRegex.MatchString(n):
err = readAndProcessFile(res, file, processPolicySetDefinition)
// if the file is a policy assignment
case policyAssignmentRegex.MatchString(n):
err = readAndProcessFile(res, file, processPolicyAssignment)
// if the file is a role definition
case roleDefinitionRegex.MatchString(n):
err = readAndProcessFile(res, file, processRoleDefinition)
// if the file is an archetype definition
case archetypeDefinitionRegex.MatchString(n):
err = readAndProcessFile(res, file, processArchetype)
// if the file is an archetype override
case archetypeOverrideRegex.MatchString(n):
err = readAndProcessFile(res, file, processArchetypeOverride)
// if the file is an policy default values file
case policyDefaultValuesRegex.MatchString(n):
err = readAndProcessFile(res, file, processDefaultPolicyValue)
}
// if the file is an architecture definition
if architectureDefinitionRegex.MatchString(name) {
err = readAndProcessFile(res, file, processArchitecture)
}
if err != nil {
err = fmt.Errorf("classifyLibFile: error processing file: %w", err)
}
return err
}