github.com/sapplications/sb@v0.0.0-20240116135441-1a13cafe3497/private.go (about) 1 // Copyright 2022 Vitalii Noha vitalii.noga@gmail.com. All rights reserved. 2 3 package sb 4 5 import ( 6 "fmt" 7 ) 8 9 const ( 10 coderAttrName string = "coder" 11 ) 12 13 type builder interface { 14 Build(app string) error 15 Clean(app string, sources *map[string][][]string) error 16 Generate(app string, sources *map[string][][]string) error 17 } 18 19 func handleError() { 20 if r := recover(); r != nil { 21 fmt.Printf(ErrorMessageF, r) 22 } 23 } 24 25 func getApp(name string, items map[string][][]string) ([][]string, error) { 26 apps, err := getApps(items) 27 if err != nil { 28 return nil, err 29 } 30 // check the applicatin is exist 31 found := false 32 for _, row := range apps { 33 if row[0] == name { 34 found = true 35 break 36 } 37 } 38 if !found { 39 return nil, fmt.Errorf(AppIsMissingF, name) 40 } 41 // read application data 42 info, found := items[name] 43 if !found { 44 return nil, fmt.Errorf(ItemIsMissingF, name) 45 } 46 return info, nil 47 } 48 49 func getApps(items map[string][][]string) ([][]string, error) { 50 apps := items[AppsItemName] 51 if apps == nil { 52 return nil, fmt.Errorf(ItemIsMissingF, AppsItemName) 53 } else { 54 return apps, nil 55 } 56 } 57 58 func logTrace(logger Logger, message string) { 59 if logger != nil { 60 logger.Trace(message) 61 } 62 } 63 64 func logDebug(logger Logger, message string) { 65 if logger != nil { 66 logger.Debug(message) 67 } 68 } 69 70 func logInfo(logger Logger, message string) { 71 if logger != nil { 72 logger.Info(message) 73 } 74 } 75 76 func logWarn(logger Logger, message string) { 77 if logger != nil { 78 logger.Warn(message) 79 } 80 } 81 82 func logError(logger Logger, message string) { 83 if logger != nil { 84 logger.Error(message) 85 } 86 }