summaryrefslogtreecommitdiff
path: root/generateFind.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-11 04:27:45 -0600
committerJeff Carr <[email protected]>2025-01-11 04:27:45 -0600
commit0edc28106a070e7dbb07079c51a3e84da137bfae (patch)
treed0e65c784576784b666f00ac0e96d948a5b913b4 /generateFind.go
parent1f9e4a682d3acf36aa7ee1279f1f9cc928bcd5fd (diff)
working on LOCK
Diffstat (limited to 'generateFind.go')
-rw-r--r--generateFind.go72
1 files changed, 4 insertions, 68 deletions
diff --git a/generateFind.go b/generateFind.go
index c731fec..f2ecff1 100644
--- a/generateFind.go
+++ b/generateFind.go
@@ -3,13 +3,9 @@ package main
import (
"fmt"
"io"
-
- "go.wit.com/log"
)
-// generates Find()
-
-// but really it has Append(), Delete() and some other stuff
+// generates Find() and some other stuff
func (msg *MsgName) getLockname(s string) string {
// leave this function stubbed in for development of autogenpb
@@ -22,10 +18,8 @@ func (msg *MsgName) getLockname(s string) string {
return msg.Lockname
}
-func (msg *MsgName) findBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
- LOCK := msg.getLockname("x")
-
- fmt.Fprintln(w, "// find a dependancy by the go path")
+func (msg *MsgName) findBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR, LOCK string) {
+ fmt.Fprintln(w, "// lookup a", FRUIT, "by the ", COLOR, msg.Lockname, msg.Name)
fmt.Fprintln(w, "func (x *"+FRUIT+") FindBy"+COLOR+"(s string) *"+APPLE+" {")
fmt.Fprintln(w, " if x == nil {")
fmt.Fprintln(w, " return nil")
@@ -44,64 +38,6 @@ func (msg *MsgName) findBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
fmt.Fprintln(w, "")
}
-// I like these functions the best.
-func (msg *MsgName) simpleAppend(w io.Writer, FRUIT, APPLES, APPLE string) {
- LOCK := msg.getLockname("x")
-
- log.Printf("\t\t(x %s) APPEND(%s)\n", FRUIT, APPLE)
- // append -- no check at all
- fmt.Fprintln(w, "// just a simple Append() shortcut (but still uses the mutex lock)")
- fmt.Fprintln(w, "func (x *"+FRUIT+") Append(y *"+APPLE+") {")
- fmt.Fprintln(w, " "+LOCK+".Lock()")
- fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", y)")
- fmt.Fprintln(w, "}")
- fmt.Fprintln(w, "")
-}
-
-func (msg *MsgName) appendUnique(w io.Writer, FRUIT, APPLES, APPLE string, COLORS []string) {
- LOCK := msg.getLockname("x")
-
- fmt.Fprintln(w, "// enforces "+APPLE+" is unique in "+FRUIT+"."+APPLES)
- fmt.Fprintln(w, "func (x *"+FRUIT+") AppendUnique(newP *"+APPLE+") bool {")
- fmt.Fprintln(w, " "+LOCK+".Lock()")
- fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " for _, p := range x."+APPLES+" {")
- for _, COLOR := range COLORS {
- fmt.Fprintln(w, " if p."+COLOR+" == newP."+COLOR+" {")
- fmt.Fprintln(w, " return false")
- fmt.Fprintln(w, " }")
- }
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", newP)")
- fmt.Fprintln(w, " return true")
- fmt.Fprintln(w, "}")
- fmt.Fprintln(w, "")
-}
-
-func (msg *MsgName) appendUniqueBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
- LOCK := msg.getLockname("x")
-
- fmt.Fprintln(w, "// enforces "+APPLE+"."+COLOR+" is unique in "+FRUIT+"."+APPLES)
- fmt.Fprintln(w, "func (x *"+FRUIT+") AppendUniqueBy"+COLOR+"(newP *"+APPLE+") bool {")
- fmt.Fprintln(w, " "+LOCK+".Lock()")
- fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " for _, p := range x."+APPLES+" {")
- fmt.Fprintln(w, " if p."+COLOR+" == newP."+COLOR+" {")
- fmt.Fprintln(w, " return false")
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", newP)")
- fmt.Fprintln(w, " return true")
- fmt.Fprintln(w, "}")
- fmt.Fprintln(w, "")
-}
-
func (msg *MsgName) deleteBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
LOCK := msg.getLockname("x")
@@ -145,10 +81,10 @@ func (msg *MsgName) deleteByWithCopy(w io.Writer, FRUIT, APPLES, APPLE, COLOR st
fmt.Fprintln(w, "")
}
+// new 2025 idea. useful? TODO: look at this again in 1y
func (msg *MsgName) insertBy(w io.Writer, FRUIT, APPLES, APPLE string, COLOR string) {
LOCK := msg.getLockname("x")
- fmt.Fprintln(w, "// useful? remindme:1y")
fmt.Fprintln(w, "// returns an "+APPLE+" if "+COLOR+" matches, otherwise create")
fmt.Fprintln(w, "func (x *"+FRUIT+") InsertBy"+COLOR+" (y string) *"+APPLE+" {")
fmt.Fprintln(w, " "+LOCK+".Lock()")