From e466085d241e0fa83a375171559851efb46269b3 Mon Sep 17 00:00:00 2001 From: TorchedSammy <38820196+TorchedSammy@users.noreply.github.com> Date: Mon, 28 Mar 2022 19:12:13 -0400 Subject: [PATCH] refactor: move arg handle function to util --- golibs/bait/bait.go | 22 +++------------------- util/util.go | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/golibs/bait/bait.go b/golibs/bait/bait.go index a465f7b..19b020d 100644 --- a/golibs/bait/bait.go +++ b/golibs/bait/bait.go @@ -4,9 +4,9 @@ import ( "fmt" "hilbish/util" - "github.com/chuckpreslar/emission" rt "github.com/arnodel/golua/runtime" "github.com/arnodel/golua/lib/packagelib" + "github.com/chuckpreslar/emission" ) type Bait struct{ @@ -54,22 +54,6 @@ failed, etc. To find all available hooks, see doc hooks.`) return rt.TableValue(mod), nil } -func handleArgs(t *rt.Thread, c *rt.GoCont) (string, *rt.Closure, error) { - if err := c.CheckNArgs(2); err != nil { - return "", nil, err - } - name, err := c.StringArg(0) - if err != nil { - return "", nil, err - } - catcher, err := c.ClosureArg(1) - if err != nil { - return "", nil, err - } - - return name, catcher, err -} - func handleHook(t *rt.Thread, c *rt.GoCont, name string, catcher *rt.Closure, args ...interface{}) { funcVal := rt.FunctionValue(catcher) var luaArgs []rt.Value @@ -117,7 +101,7 @@ func (b *Bait) bthrow(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) { // --- @param name string // --- @param cb function func (b *Bait) bcatch(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) { - name, catcher, err := handleArgs(t, c) + name, catcher, err := util.HandleStrCallback(t, c) if err != nil { return nil, err } @@ -134,7 +118,7 @@ func (b *Bait) bcatch(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) { // --- @param name string // --- @param cb function func (b *Bait) bcatchOnce(t *rt.Thread, c *rt.GoCont) (rt.Cont, error) { - name, catcher, err := handleArgs(t, c) + name, catcher, err := util.HandleStrCallback(t, c) if err != nil { return nil, err } diff --git a/util/util.go b/util/util.go index 9c032b5..8d7a8d2 100644 --- a/util/util.go +++ b/util/util.go @@ -55,3 +55,19 @@ func DoFile(rtm *rt.Runtime, filename string) error { return DoString(rtm, string(data)) } + +func HandleStrCallback(t *rt.Thread, c *rt.GoCont) (string, *rt.Closure, error) { + if err := c.CheckNArgs(2); err != nil { + return "", nil, err + } + name, err := c.StringArg(0) + if err != nil { + return "", nil, err + } + cb, err := c.ClosureArg(1) + if err != nil { + return "", nil, err + } + + return name, cb, err +}