diff options
| author | Jeff Carr <[email protected]> | 2025-01-11 04:27:45 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-01-11 04:27:45 -0600 |
| commit | 0edc28106a070e7dbb07079c51a3e84da137bfae (patch) | |
| tree | d0e65c784576784b666f00ac0e96d948a5b913b4 /generateFind.go | |
| parent | 1f9e4a682d3acf36aa7ee1279f1f9cc928bcd5fd (diff) | |
working on LOCK
Diffstat (limited to 'generateFind.go')
| -rw-r--r-- | generateFind.go | 72 |
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()") |
