Skip to content

Commit fc42839

Browse files
committed
Updates
1 parent bc3758f commit fc42839

20 files changed

+796
-16
lines changed

cmd/cli/main.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
func main() {
1414
name := path.Base(os.Args[0])
15-
flags, err := NewFlags(name, os.Args[1:], ElevenlabsFlags, OpenAIFlags)
15+
flags, err := NewFlags(name, os.Args[1:], OpenAIFlags)
1616
if err != nil {
1717
if err != flag.ErrHelp {
1818
fmt.Fprintln(os.Stderr, err)
@@ -38,11 +38,11 @@ func main() {
3838
fmt.Fprintln(os.Stderr, err)
3939
os.Exit(1)
4040
}
41-
cmd, err = ElevenlabsRegister(cmd, opts, flags)
42-
if err != nil {
43-
fmt.Fprintln(os.Stderr, err)
44-
os.Exit(1)
45-
}
41+
/* cmd, err = ElevenlabsRegister(cmd, opts, flags)
42+
if err != nil {
43+
fmt.Fprintln(os.Stderr, err)
44+
os.Exit(1)
45+
}*/
4646
cmd, err = OpenAIRegister(cmd, opts, flags)
4747
if err != nil {
4848
fmt.Fprintln(os.Stderr, err)

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ require (
1313

1414
require (
1515
github.com/davecgh/go-spew v1.1.1 // indirect
16+
github.com/mattn/go-runewidth v0.0.15 // indirect
1617
github.com/pmezard/go-difflib v1.0.0 // indirect
18+
github.com/rivo/uniseg v0.2.0 // indirect
1719
golang.org/x/sys v0.15.0 // indirect
1820
gopkg.in/yaml.v3 v3.0.1 // indirect
1921
)

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
22
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
33
github.com/djthorpe/go-errors v1.0.3 h1:GZeMPkC1mx2vteXLI/gvxZS0Ee9zxzwD1mcYyKU5jD0=
44
github.com/djthorpe/go-errors v1.0.3/go.mod h1:HtfrZnMd6HsX75Mtbv9Qcnn0BqOrrFArvCaj3RMnZhY=
5+
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
6+
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
57
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
68
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
79
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
810
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
11+
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
12+
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
913
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
1014
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
1115
github.com/veandco/go-sdl2 v0.4.36 h1:Ltydev536rRQodmIrTWFZ3dRp5A+/6t5CYvbi4Kvia0=
File renamed without changes.
File renamed without changes.
File renamed without changes.

pkg/tablewriter/iterator.go

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package tablewriter
2+
3+
import (
4+
"fmt"
5+
"reflect"
6+
)
7+
8+
///////////////////////////////////////////////////////////////////////////////
9+
// TYPES
10+
11+
type iterator struct {
12+
slice reflect.Value
13+
index int
14+
}
15+
16+
///////////////////////////////////////////////////////////////////////////////
17+
// CONSTRUCTOR
18+
19+
// NewTableMeta returns a new table metadata object, from a single struct
20+
// value or an array of one or more struct values which are of the same type
21+
func NewIterator(v any) (*iterator, error) {
22+
self := new(iterator)
23+
24+
// Get the type
25+
rt, isSlice, err := typeOf(v)
26+
if err != nil {
27+
return nil, err
28+
}
29+
// Set the slice parameter
30+
if isSlice {
31+
self.slice = reflect.ValueOf(v)
32+
} else {
33+
self.slice = reflect.MakeSlice(reflect.SliceOf(rt), 1, 1)
34+
rv := reflect.ValueOf(v)
35+
if rv.Kind() == reflect.Ptr {
36+
self.slice.Index(0).Set(rv.Elem())
37+
} else {
38+
self.slice.Index(0).Set(rv)
39+
}
40+
}
41+
// Set the index parameter
42+
self.index = 0
43+
44+
// Return success
45+
return self, nil
46+
}
47+
48+
///////////////////////////////////////////////////////////////////////////////
49+
// STRINGIFY
50+
51+
func (i *iterator) String() string {
52+
str := "<iterator"
53+
str += fmt.Sprint(" len=", i.slice.Len())
54+
str += fmt.Sprint(" i=", i.index)
55+
return str + ">"
56+
}
57+
58+
///////////////////////////////////////////////////////////////////////////////
59+
// PUBLIC METHODS
60+
61+
// Return the number of elements
62+
func (i *iterator) Reset() {
63+
i.index = 0
64+
}
65+
66+
// Return the number of elements
67+
func (i *iterator) Len() int {
68+
return i.slice.Len()
69+
}
70+
71+
// Return the next element, or nil
72+
func (i *iterator) Next() any {
73+
if i.index >= i.slice.Len() {
74+
return nil
75+
}
76+
v := i.slice.Index(i.index).Interface()
77+
i.index++
78+
return v
79+
}

pkg/tablewriter/iterator_test.go

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package tablewriter_test
2+
3+
import (
4+
"testing"
5+
6+
// Packages
7+
writer "github.com/mutablelogic/go-client/pkg/tablewriter"
8+
assert "github.com/stretchr/testify/assert"
9+
)
10+
11+
///////////////////////////////////////////////////////////////////////////////
12+
// TEST CASES
13+
14+
func Test_iterator_000(t *testing.T) {
15+
assert := assert.New(t)
16+
iterator, err := writer.NewIterator(TestAB{})
17+
assert.NoError(err)
18+
assert.NotNil(iterator)
19+
assert.Equal(1, iterator.Len())
20+
t.Log(iterator)
21+
}
22+
23+
func Test_iterator_001(t *testing.T) {
24+
assert := assert.New(t)
25+
iterator, err := writer.NewIterator([]TestAB{})
26+
assert.NoError(err)
27+
assert.NotNil(iterator)
28+
assert.Equal(0, iterator.Len())
29+
}
30+
31+
func Test_iterator_002(t *testing.T) {
32+
assert := assert.New(t)
33+
iterator, err := writer.NewIterator([]TestAB{{}, {}, {}})
34+
assert.NoError(err)
35+
assert.NotNil(iterator)
36+
assert.Equal(3, iterator.Len())
37+
}
38+
39+
func Test_iterator_003(t *testing.T) {
40+
assert := assert.New(t)
41+
iterator, err := writer.NewIterator([]TestAB{{A: "1"}, {A: "2"}, {A: "3"}})
42+
assert.NoError(err)
43+
assert.NotNil(iterator)
44+
assert.Equal(3, iterator.Len())
45+
i1 := iterator.Next()
46+
assert.NotNil(i1)
47+
assert.Equal("1", i1.(TestAB).A)
48+
i2 := iterator.Next()
49+
assert.NotNil(i2)
50+
assert.Equal("2", i2.(TestAB).A)
51+
i3 := iterator.Next()
52+
assert.NotNil(i3)
53+
assert.Equal("3", i3.(TestAB).A)
54+
i4 := iterator.Next()
55+
assert.Nil(i4)
56+
}

0 commit comments

Comments
 (0)