Compare commits

...

6 commits

Author SHA1 Message Date
Leon Mika 213a4fc9cc Renamed the pasteboard commands and added additinal tests
All checks were successful
ci / build (push) Successful in 3m25s
2025-05-28 21:45:59 +10:00
Leon Mika 204c79ca2d Started working on functions for creating attribute values
All checks were successful
ci / build (push) Successful in 3m20s
Also finished mapping attribute values to/from UCL
2025-05-27 21:45:09 +10:00
Leon Mika 32ae488066 Moved package to lmika.dev/cmd/dynamo-browse
All checks were successful
ci / build (push) Successful in 3m17s
2025-05-26 22:04:23 +10:00
Leon Mika 8b5b5798da Merge branch 'feature/ucl'
All checks were successful
ci / build (push) Successful in 3m18s
2025-05-26 21:54:55 +10:00
Leon Mika 40136e3936 Made test DynamoDB endpoint configurable
All checks were successful
ci / build (push) Successful in 5m11s
2025-05-17 11:18:40 +10:00
Leon Mika aae3c419db Fixed dependencies and CI/CD pipelines
Some checks failed
ci / build (push) Has been cancelled
2025-04-29 20:04:44 +10:00
116 changed files with 505 additions and 313 deletions

View file

@ -10,7 +10,7 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: docker
services: services:
localstack: localstack:
image: localstack/localstack image: localstack/localstack
@ -24,7 +24,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.22 go-version: 1.24
- name: Configure - name: Configure
run: | run: |
git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika" git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika"
@ -34,4 +34,5 @@ jobs:
go get ./... go get ./...
go test -p 1 ./... go test -p 1 ./...
env: env:
TEST_DYNAMO_URL: "http://localstack:4566"
GOPRIVATE: "github:com/lmika/*" GOPRIVATE: "github:com/lmika/*"

View file

@ -6,7 +6,7 @@ on:
- 'v*' - 'v*'
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: docker
services: services:
localstack: localstack:
image: localstack/localstack image: localstack/localstack
@ -20,7 +20,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.22 go-version: 1.24
- name: Configure - name: Configure
run: | run: |
git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika" git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika"
@ -31,6 +31,7 @@ jobs:
go test -p 1 ./... go test -p 1 ./...
env: env:
GOPRIVATE: "github:com/lmika/*" GOPRIVATE: "github:com/lmika/*"
TEST_DYNAMO_URL: "http://localstack:4566"
release-macos: release-macos:
needs: build needs: build

View file

@ -4,7 +4,7 @@ import (
"context" "context"
"flag" "flag"
"fmt" "fmt"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl/cmdpacks" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl/cmdpacks"
"log" "log"
"net" "net"
"os" "os"
@ -13,26 +13,26 @@ import (
"github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/dynamodb" "github.com/aws/aws-sdk-go-v2/service/dynamodb"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/common/ui/logging" "lmika.dev/cmd/dynamo-browse/internal/common/ui/logging"
"github.com/lmika/dynamo-browse/internal/common/ui/osstyle" "lmika.dev/cmd/dynamo-browse/internal/common/ui/osstyle"
"github.com/lmika/dynamo-browse/internal/common/workspaces" "lmika.dev/cmd/dynamo-browse/internal/common/workspaces"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/dynamo" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/dynamo"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/inputhistorystore" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/inputhistorystore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/pasteboardprovider" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/pasteboardprovider"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/settingstore" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/settingstore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/workspacestore" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/workspacestore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/inputhistory" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/inputhistory"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/itemrenderer" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/itemrenderer"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
keybindings_service "github.com/lmika/dynamo-browse/internal/dynamo-browse/services/keybindings" keybindings_service "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/keybindings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/viewsnapshot" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/viewsnapshot"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/keybindings" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/keybindings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"github.com/lmika/gopkgs/cli" "github.com/lmika/gopkgs/cli"
) )

7
go.mod
View file

@ -1,4 +1,4 @@
module github.com/lmika/dynamo-browse module lmika.dev/cmd/dynamo-browse
go 1.24 go 1.24
@ -26,10 +26,10 @@ require (
github.com/muesli/ansi v0.0.0-20211031195517-c9f0611b6c70 github.com/muesli/ansi v0.0.0-20211031195517-c9f0611b6c70
github.com/muesli/reflow v0.3.0 github.com/muesli/reflow v0.3.0
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/stretchr/testify v1.9.0 github.com/stretchr/testify v1.10.0
golang.design/x/clipboard v0.6.2 golang.design/x/clipboard v0.6.2
golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a
ucl.lmika.dev v0.0.0-20250525023717-3076897eb73e ucl.lmika.dev v0.0.0-20250528113931-3a88c0c777d8
) )
require ( require (
@ -77,4 +77,5 @@ require (
golang.org/x/text v0.9.0 // indirect golang.org/x/text v0.9.0 // indirect
google.golang.org/appengine v1.6.7 // indirect google.golang.org/appengine v1.6.7 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
lmika.dev/pkg/modash v0.0.0-20250216001243-c73e50a0913d // indirect
) )

12
go.sum
View file

@ -156,6 +156,8 @@ github.com/sahilm/fuzzy v0.1.0/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
@ -247,5 +249,15 @@ gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
lmika.dev/pkg/modash v0.0.0-20250216001243-c73e50a0913d h1:x5aMBOkCr4cjJyFmq+qJVUsByfffD9k56HYDx1yZSR4=
lmika.dev/pkg/modash v0.0.0-20250216001243-c73e50a0913d/go.mod h1:8NDl/yR1eCCEhip9FJlVuMNXIeaztQ0Ks/tizExFcTI=
ucl.lmika.dev v0.0.0-20250525023717-3076897eb73e h1:N+HzQUunDUvdjAzbSDtHQZVZ1k+XHbVgbNwmc+EKmlQ= ucl.lmika.dev v0.0.0-20250525023717-3076897eb73e h1:N+HzQUunDUvdjAzbSDtHQZVZ1k+XHbVgbNwmc+EKmlQ=
ucl.lmika.dev v0.0.0-20250525023717-3076897eb73e/go.mod h1:/MMZKm6mOMtnY4I8TYEot4Pc8dKEy+/IAQo1VdpA5EY= ucl.lmika.dev v0.0.0-20250525023717-3076897eb73e/go.mod h1:/MMZKm6mOMtnY4I8TYEot4Pc8dKEy+/IAQo1VdpA5EY=
ucl.lmika.dev v0.0.0-20250527110948-e869e6c9bd4d h1:SlmmY92u7nvPW6xa66n2ZPfCOx90uNp1KkJZ1IDF6K0=
ucl.lmika.dev v0.0.0-20250527110948-e869e6c9bd4d/go.mod h1:/MMZKm6mOMtnY4I8TYEot4Pc8dKEy+/IAQo1VdpA5EY=
ucl.lmika.dev v0.0.0-20250527112110-03e6878524a1 h1:e++1/TfwVKdWi1TmO+kfCdO2+lCTKCrh1m4ps0p7UUM=
ucl.lmika.dev v0.0.0-20250527112110-03e6878524a1/go.mod h1:/MMZKm6mOMtnY4I8TYEot4Pc8dKEy+/IAQo1VdpA5EY=
ucl.lmika.dev v0.0.0-20250527114213-41b4fdb00382 h1:rDJtNrcKVmEqLep1l2YrodPjCfq+/yl7p8EZUrKW7Aw=
ucl.lmika.dev v0.0.0-20250527114213-41b4fdb00382/go.mod h1:/MMZKm6mOMtnY4I8TYEot4Pc8dKEy+/IAQo1VdpA5EY=
ucl.lmika.dev v0.0.0-20250528113931-3a88c0c777d8 h1:kC312X0SvM9YHtuS1r6Js+CgmSS+kSAMLj8cYFuI0+4=
ucl.lmika.dev v0.0.0-20250528113931-3a88c0c777d8/go.mod h1:/MMZKm6mOMtnY4I8TYEot4Pc8dKEy+/IAQo1VdpA5EY=

View file

@ -0,0 +1,52 @@
package cmdpacks
import (
"context"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"ucl.lmika.dev/ucl"
)
type avModule struct {
}
func (avModule) avTrue(ctx context.Context, args ucl.CallArgs) (_ any, err error) {
return attributeValueProxy{value: &types.AttributeValueMemberBOOL{Value: true}}, nil
}
func (avModule) avFalse(ctx context.Context, args ucl.CallArgs) (_ any, err error) {
return attributeValueProxy{value: &types.AttributeValueMemberBOOL{Value: false}}, nil
}
func (avModule) avNull(ctx context.Context, args ucl.CallArgs) (_ any, err error) {
return attributeValueProxy{value: &types.AttributeValueMemberNULL{Value: true}}, nil
}
func (avModule) avStringSet(ctx context.Context, args ucl.CallArgs) (_ any, err error) {
var listable ucl.Listable
if err := args.Bind(&listable); err != nil {
return nil, err
}
ss := make([]string, listable.Len())
for i := 0; i < listable.Len(); i++ {
item := listable.Index(i)
ss[i] = item.String()
}
return attributeValueProxy{value: &types.AttributeValueMemberSS{Value: ss}}, nil
}
func moduleAttrValue() ucl.Module {
m := avModule{}
return ucl.Module{
Name: "av",
Builtins: map[string]ucl.BuiltinHandler{
"true": m.avTrue,
"false": m.avFalse,
"null": m.avNull,
"string-set": m.avStringSet,
},
}
}

View file

@ -2,8 +2,8 @@ package cmdpacks
import ( import (
"context" "context"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"ucl.lmika.dev/ucl" "ucl.lmika.dev/ucl"
) )

View file

@ -2,7 +2,7 @@ package cmdpacks
import ( import (
"context" "context"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"ucl.lmika.dev/ucl" "ucl.lmika.dev/ucl"
) )
@ -39,8 +39,8 @@ func modulePB(
return ucl.Module{ return ucl.Module{
Name: "pb", Name: "pb",
Builtins: map[string]ucl.BuiltinHandler{ Builtins: map[string]ucl.BuiltinHandler{
"get": m.pbGet, "paste": m.pbGet,
"put": m.pbPut, "copy": m.pbPut,
}, },
} }
} }

View file

@ -0,0 +1,34 @@
package cmdpacks_test
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestModPB_Copy(t *testing.T) {
t.Run("copy 1", func(t *testing.T) {
svc := newService(t)
_, err := svc.CommandController.ExecuteAndWait(t.Context(), `
$items = @resultset.Items
$skItems = $items | map { |i| $i.sk } | lists:uniq
pb:copy ($skItems | strs:join "\n")
`)
assert.NoError(t, err)
assert.Equal(t, "111\n222\n131", svc.pasteboard.content)
})
t.Run("copy 2", func(t *testing.T) {
svc := newService(t)
_, err := svc.CommandController.ExecuteAndWait(t.Context(), `
$items = @resultset.Items
$skItems = $items | map { |i| $i.alpha } | filter !nil | lists:uniq
pb:copy ($skItems | strs:join "\n")
`)
assert.NoError(t, err)
assert.Equal(t, "This is some value\nThis is another some value", svc.pasteboard.content)
})
}

View file

@ -3,12 +3,12 @@ package cmdpacks
import ( import (
"context" "context"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables"
"github.com/pkg/errors" "github.com/pkg/errors"
"lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"time" "time"
"ucl.lmika.dev/repl" "ucl.lmika.dev/repl"
"ucl.lmika.dev/ucl" "ucl.lmika.dev/ucl"
@ -252,8 +252,12 @@ func (rs *rsModule) rsSet(ctx context.Context, args ucl.CallArgs) (_ any, err er
return nil, err return nil, err
} }
// TEMP: attribute is always S vs, err := mapUCLObjectToAttributeType(val)
if err := q.SetEvalItem(item.item, &types.AttributeValueMemberS{Value: val.String()}); err != nil { if err != nil {
return nil, err
}
if err := q.SetEvalItem(item.item, vs); err != nil {
return nil, err return nil, err
} }
item.resultSet.SetDirty(item.idx, true) item.resultSet.SetDirty(item.idx, true)

View file

@ -2,8 +2,8 @@ package cmdpacks_test
import ( import (
"fmt" "fmt"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl/cmdpacks" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl/cmdpacks"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"testing" "testing"
) )

View file

@ -3,10 +3,10 @@ package cmdpacks
import ( import (
"context" "context"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"ucl.lmika.dev/ucl" "ucl.lmika.dev/ucl"
) )

View file

@ -3,7 +3,8 @@ package cmdpacks
import ( import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "github.com/pkg/errors"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"maps" "maps"
"strconv" "strconv"
"ucl.lmika.dev/ucl" "ucl.lmika.dev/ucl"
@ -200,6 +201,18 @@ func (tp itemProxy) Each(fn func(k string, v ucl.Object) error) error {
return nil return nil
} }
type attributeValueProxy struct {
value types.AttributeValue
}
func (ip attributeValueProxy) String() string {
return "attributeValueProxy()"
}
func (ip attributeValueProxy) Truthy() bool {
return ip.value != nil
}
func convertAttributeValueToUCLObject(attrValue types.AttributeValue) ucl.Object { func convertAttributeValueToUCLObject(attrValue types.AttributeValue) ucl.Object {
switch t := attrValue.(type) { switch t := attrValue.(type) {
case *types.AttributeValueMemberS: case *types.AttributeValueMemberS:
@ -210,7 +223,58 @@ func convertAttributeValueToUCLObject(attrValue types.AttributeValue) ucl.Object
return nil return nil
} }
return ucl.IntObject(i) return ucl.IntObject(i)
case *types.AttributeValueMemberBOOL:
return ucl.BoolObject(t.Value)
case *types.AttributeValueMemberL:
vs := make(ucl.ListObject, len(t.Value))
for i, v := range t.Value {
vs[i] = convertAttributeValueToUCLObject(v)
} }
// TODO: the rest return &vs
return nil case *types.AttributeValueMemberM:
hs := make(ucl.HashObject)
for k, v := range t.Value {
hs[k] = convertAttributeValueToUCLObject(v)
}
return hs
}
return attributeValueProxy{value: attrValue}
}
func mapUCLObjectToAttributeType(obj ucl.Object) (types.AttributeValue, error) {
switch t := obj.(type) {
case ucl.StringObject:
return &types.AttributeValueMemberS{Value: t.String()}, nil
case ucl.IntObject:
return &types.AttributeValueMemberN{Value: t.String()}, nil
case ucl.BoolObject:
return &types.AttributeValueMemberBOOL{Value: t.Truthy()}, nil
case ucl.Listable:
vals := make([]types.AttributeValue, t.Len())
for i := 0; i < t.Len(); i++ {
v, err := mapUCLObjectToAttributeType(t.Index(i))
if err != nil {
return nil, err
}
vals[i] = v
}
return &types.AttributeValueMemberL{Value: vals}, nil
case ucl.Hashable:
vals := make(map[string]types.AttributeValue)
if err := t.Each(func(k string, v ucl.Object) error {
vv, err := mapUCLObjectToAttributeType(v)
if err != nil {
return err
}
vals[k] = vv
return nil
}); err != nil {
return nil, err
}
return &types.AttributeValueMemberM{Value: vals}, nil
case attributeValueProxy:
return t.value, nil
}
return nil, errors.New("unsupported attribute type")
} }

View file

@ -2,9 +2,9 @@ package cmdpacks
import ( import (
"context" "context"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -3,12 +3,12 @@ package cmdpacks
import ( import (
"context" "context"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables"
"github.com/pkg/errors" "github.com/pkg/errors"
"lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"ucl.lmika.dev/repl" "ucl.lmika.dev/repl"
"ucl.lmika.dev/ucl" "ucl.lmika.dev/ucl"
) )
@ -398,6 +398,7 @@ func (sc StandardCommands) InstOptions() []ucl.InstOption {
ucl.WithModule(sc.modUI), ucl.WithModule(sc.modUI),
ucl.WithModule(modulePB(sc.PBProvider)), ucl.WithModule(modulePB(sc.PBProvider)),
ucl.WithModule(moduleOpt(sc.SettingsController)), ucl.WithModule(moduleOpt(sc.SettingsController)),
ucl.WithModule(moduleAttrValue()),
} }
} }

View file

@ -3,25 +3,24 @@ package cmdpacks_test
import ( import (
"fmt" "fmt"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl/cmdpacks"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/dynamo"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/inputhistorystore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/pasteboardprovider"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/settingstore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/workspacestore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/inputhistory"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/itemrenderer"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs"
keybindings_service "github.com/lmika/dynamo-browse/internal/dynamo-browse/services/keybindings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/viewsnapshot"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/keybindings"
"github.com/lmika/dynamo-browse/test/testdynamo"
"github.com/lmika/dynamo-browse/test/testworkspace"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl/cmdpacks"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/dynamo"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/inputhistorystore"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/settingstore"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/workspacestore"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/inputhistory"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/itemrenderer"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
keybindings_service "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/keybindings"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/viewsnapshot"
"lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/keybindings"
"lmika.dev/cmd/dynamo-browse/test/testdynamo"
"lmika.dev/cmd/dynamo-browse/test/testworkspace"
"testing" "testing"
) )
@ -53,6 +52,20 @@ func TestStdCmds_Mark(t *testing.T) {
} }
type testDataGenerator func() []testdynamo.TestData type testDataGenerator func() []testdynamo.TestData
type testPasteBoard struct {
content string
}
func (t *testPasteBoard) ReadText() (string, bool) {
return t.content, true
}
func (t *testPasteBoard) WriteText(bts []byte) error {
t.content = string(bts)
return nil
}
type services struct { type services struct {
CommandController *commandctrl.CommandController CommandController *commandctrl.CommandController
SelItemIndex int SelItemIndex int
@ -61,6 +74,7 @@ type services struct {
settingStore *settingstore.SettingStore settingStore *settingstore.SettingStore
table string table string
pasteboard *testPasteBoard
testDataGenerator testDataGenerator testDataGenerator testDataGenerator
testData []testdynamo.TestData testData []testdynamo.TestData
@ -97,10 +111,12 @@ func newService(t *testing.T, opts ...serviceOpt) *services {
itemRendererService := itemrenderer.NewService(itemrenderer.PlainTextRenderer(), itemrenderer.PlainTextRenderer()) itemRendererService := itemrenderer.NewService(itemrenderer.PlainTextRenderer(), itemrenderer.PlainTextRenderer())
inputHistoryService := inputhistory.New(inputHistoryStore) inputHistoryService := inputhistory.New(inputHistoryStore)
testPB := &testPasteBoard{}
s := &services{ s := &services{
table: "service-test-data", table: "service-test-data",
settingStore: settingStore, settingStore: settingStore,
testDataGenerator: normalTestData, testDataGenerator: normalTestData,
pasteboard: testPB,
} }
for _, opt := range opts { for _, opt := range opts {
@ -125,13 +141,13 @@ func newService(t *testing.T, opts ...serviceOpt) *services {
jobsController, jobsController,
inputHistoryService, inputHistoryService,
eventBus, eventBus,
pasteboardprovider.NilProvider{}, testPB,
s.table, s.table,
) )
writeController := controllers.NewTableWriteController(state, service, jobsController, readController, settingStore) writeController := controllers.NewTableWriteController(state, service, jobsController, readController, settingStore)
settingsController := controllers.NewSettingsController(settingStore, eventBus) settingsController := controllers.NewSettingsController(settingStore, eventBus)
columnsController := controllers.NewColumnsController(readController, eventBus) columnsController := controllers.NewColumnsController(readController, eventBus)
exportController := controllers.NewExportController(state, service, jobsController, columnsController, pasteboardprovider.NilProvider{}) exportController := controllers.NewExportController(state, service, jobsController, columnsController, testPB)
keyBindingService := keybindings_service.NewService(keybindings.Default()) keyBindingService := keybindings_service.NewService(keybindings.Default())
keyBindingController := controllers.NewKeyBindingController(keyBindingService, nil) keyBindingController := controllers.NewKeyBindingController(keyBindingService, nil)
@ -144,7 +160,7 @@ func newService(t *testing.T, opts ...serviceOpt) *services {
writeController, writeController,
exportController, exportController,
keyBindingController, keyBindingController,
pasteboardprovider.NilProvider{}, testPB,
settingsController, settingsController,
), ),
) )

View file

@ -13,8 +13,8 @@ import (
"ucl.lmika.dev/ucl" "ucl.lmika.dev/ucl"
"ucl.lmika.dev/ucl/builtins" "ucl.lmika.dev/ucl/builtins"
"github.com/lmika/dynamo-browse/internal/common/ui/events"
"github.com/lmika/shellwords" "github.com/lmika/shellwords"
"lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
) )
const commandsCategory = "commands" const commandsCategory = "commands"
@ -47,8 +47,14 @@ func NewCommandController(historyProvider IterProvider, pkgs ...CommandPack) (*C
options := []ucl.InstOption{ options := []ucl.InstOption{
ucl.WithOut(ucl.LineHandler(cc.printLine)), ucl.WithOut(ucl.LineHandler(cc.printLine)),
ucl.WithModule(builtins.OS()), ucl.WithModule(builtins.CSV(nil)),
ucl.WithModule(builtins.FS(nil)), ucl.WithModule(builtins.FS(nil)),
ucl.WithModule(builtins.Log(nil)),
ucl.WithModule(builtins.Itrs()),
ucl.WithModule(builtins.OS()),
ucl.WithModule(builtins.Strs()),
ucl.WithModule(builtins.Lists()),
ucl.WithModule(builtins.Time()),
} }
for _, pkg := range pkgs { for _, pkg := range pkgs {
options = append(options, pkg.InstOptions()...) options = append(options, pkg.InstOptions()...)

View file

@ -2,11 +2,11 @@ package commandctrl_test
import ( import (
"context" "context"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"testing" "testing"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )

View file

@ -3,7 +3,7 @@ package commandctrl
import ( import (
"context" "context"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
) )
type IterProvider interface { type IterProvider interface {

View file

@ -2,7 +2,7 @@ package dispatcher
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/uimodels" "lmika.dev/cmd/dynamo-browse/internal/common/ui/uimodels"
) )
type DispatcherContext struct { type DispatcherContext struct {

View file

@ -4,8 +4,8 @@ import (
"context" "context"
"sync" "sync"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/common/ui/uimodels" "lmika.dev/cmd/dynamo-browse/internal/common/ui/uimodels"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -2,7 +2,7 @@ package events
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"log" "log"
) )

View file

@ -2,7 +2,7 @@ package events
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
) )
// Error indicates that an error occurred // Error indicates that an error occurred

View file

@ -2,11 +2,11 @@ package controllers
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/columns" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/columns"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/evaluators" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/evaluators"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"strings" "strings"
) )

View file

@ -2,7 +2,7 @@ package controllers
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
) )
type promptSequence struct { type promptSequence struct {

View file

@ -6,8 +6,8 @@ import (
"time" "time"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/relitems" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/relitems"
) )
type SetTableItemView struct { type SetTableItemView struct {

View file

@ -9,12 +9,12 @@ import (
"os" "os"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/columns" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/columns"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -2,8 +2,8 @@ package controllers_test
import ( import (
"fmt" "fmt"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"os" "os"
"strings" "strings"

View file

@ -6,8 +6,8 @@ import (
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/relitems" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/relitems"
) )
type TableReadService interface { type TableReadService interface {

View file

@ -3,8 +3,8 @@ package controllers
import ( import (
"context" "context"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
) )
func NewJob[T any](jc *JobsController, description string, job func(ctx context.Context) (T, error)) JobBuilder[T] { func NewJob[T any](jc *JobsController, description string, job func(ctx context.Context) (T, error)) JobBuilder[T] {

View file

@ -2,8 +2,8 @@ package controllers
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"log" "log"
) )

View file

@ -3,8 +3,8 @@ package controllers
import ( import (
"fmt" "fmt"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/keybindings" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/keybindings"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -3,7 +3,7 @@ package controllers
import ( import (
"fmt" "fmt"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"github.com/pkg/errors" "github.com/pkg/errors"
"log" "log"

View file

@ -1,8 +1,8 @@
package controllers_test package controllers_test
import ( import (
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"testing" "testing"
) )

View file

@ -1,7 +1,7 @@
package controllers package controllers
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"sync" "sync"
) )

View file

@ -10,16 +10,16 @@ import (
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrcodec" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrcodec"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/serialisable" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/serialisable"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/inputhistory" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/inputhistory"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/itemrenderer" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/itemrenderer"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/viewsnapshot" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/viewsnapshot"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -4,9 +4,9 @@ import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/test/testdynamo" "lmika.dev/cmd/dynamo-browse/test/testdynamo"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"os" "os"
"strings" "strings"

View file

@ -5,11 +5,11 @@ import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"github.com/pkg/errors" "github.com/pkg/errors"
"log" "log"
"strconv" "strconv"

View file

@ -4,21 +4,21 @@ import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/dynamo" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/dynamo"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/inputhistorystore" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/inputhistorystore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/pasteboardprovider" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/pasteboardprovider"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/settingstore" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/settingstore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/workspacestore" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/workspacestore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/inputhistory" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/inputhistory"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/itemrenderer" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/itemrenderer"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/viewsnapshot" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/viewsnapshot"
"github.com/lmika/dynamo-browse/test/testdynamo" "lmika.dev/cmd/dynamo-browse/test/testdynamo"
"github.com/lmika/dynamo-browse/test/testworkspace" "lmika.dev/cmd/dynamo-browse/test/testworkspace"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"io/fs" "io/fs"

View file

@ -1,6 +1,6 @@
package controllers package controllers
import "github.com/lmika/dynamo-browse/internal/dynamo-browse/models" import "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
func applyToMarkedItems(rs *models.ResultSet, selectedIndex int, applyFn func(idx int, item models.Item) error) error { func applyToMarkedItems(rs *models.ResultSet, selectedIndex int, applyFn func(idx int, item models.Item) error) error {
if markedItems := rs.MarkedItems(); len(markedItems) > 0 { if markedItems := rs.MarkedItems(); len(markedItems) > 0 {

View file

@ -3,7 +3,7 @@ package attrcodec_test
import ( import (
"bytes" "bytes"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrcodec" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrcodec"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"strings" "strings"
"testing" "testing"

View file

@ -1,7 +1,7 @@
package columns package columns
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
) )
type Columns struct { type Columns struct {

View file

@ -1,8 +1,8 @@
package evaluators package evaluators
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
) )
func Equals(x, y models.FieldValueEvaluator) bool { func Equals(x, y models.FieldValueEvaluator) bool {

View file

@ -2,7 +2,7 @@ package models
import ( import (
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
) )
type ItemIndex struct { type ItemIndex struct {

View file

@ -1,6 +1,6 @@
package modexpr package modexpr
import "github.com/lmika/dynamo-browse/internal/dynamo-browse/models" import "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
func (a *astExpr) calcPatchMods(item models.Item) ([]patchMod, error) { func (a *astExpr) calcPatchMods(item models.Item) ([]patchMod, error) {
patchMods := make([]patchMod, 0) patchMods := make([]patchMod, 0)

View file

@ -1,6 +1,6 @@
package modexpr package modexpr
import "github.com/lmika/dynamo-browse/internal/dynamo-browse/models" import "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
type ModExpr struct { type ModExpr struct {
ast *astExpr ast *astExpr

View file

@ -4,8 +4,8 @@ import (
"testing" "testing"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/modexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/modexpr"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )

View file

@ -2,7 +2,7 @@ package modexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
) )
type patchMod interface { type patchMod interface {

View file

@ -3,7 +3,7 @@ package models
import ( import (
"github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/itemrender" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/itemrender"
) )
type QueryExecutionPlan struct { type QueryExecutionPlan struct {

View file

@ -4,8 +4,8 @@ import (
"github.com/alecthomas/participle/v2" "github.com/alecthomas/participle/v2"
"github.com/alecthomas/participle/v2/lexer" "github.com/alecthomas/participle/v2/lexer"
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/pkg/errors" "github.com/pkg/errors"
"strconv" "strconv"
) )

View file

@ -1,7 +1,7 @@
package queryexpr package queryexpr
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -3,7 +3,7 @@ package queryexpr
import ( import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
) )
func (a *astBetweenOp) evalToIR(ctx *evalContext, info *models.TableInfo) (irAtom, error) { func (a *astBetweenOp) evalToIR(ctx *evalContext, info *models.TableInfo) (irAtom, error) {

View file

@ -2,7 +2,7 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"strings" "strings"
) )

View file

@ -2,8 +2,8 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -2,7 +2,7 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"math/big" "math/big"
"strings" "strings"
) )

View file

@ -4,7 +4,7 @@ import (
"context" "context"
"time" "time"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
) )
type timeSource interface { type timeSource interface {

View file

@ -2,7 +2,7 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"strings" "strings"
) )

View file

@ -3,7 +3,7 @@ package queryexpr
import ( import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"strings" "strings"
) )

View file

@ -2,8 +2,8 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"github.com/pkg/errors" "github.com/pkg/errors"
"strings" "strings"
) )

View file

@ -3,8 +3,8 @@ package queryexpr
import ( import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/itemrender" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/itemrender"
"strings" "strings"
) )

View file

@ -7,9 +7,9 @@ import (
"io" "io"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrcodec" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrcodec"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"github.com/pkg/errors" "github.com/pkg/errors"
"golang.org/x/exp/maps" "golang.org/x/exp/maps"
"golang.org/x/exp/slices" "golang.org/x/exp/slices"

View file

@ -8,9 +8,9 @@ import (
"github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )

View file

@ -2,7 +2,7 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
) )
type ExprFieldValueEvaluator struct { type ExprFieldValueEvaluator struct {

View file

@ -5,8 +5,8 @@ import (
"strings" "strings"
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -2,9 +2,9 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"github.com/pkg/errors" "github.com/pkg/errors"
"strings" "strings"
) )

View file

@ -2,7 +2,7 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
) )
// TO DELETE = operandFieldName() string // TO DELETE = operandFieldName() string

View file

@ -2,7 +2,7 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"reflect" "reflect"
"strings" "strings"
) )

View file

@ -1,7 +1,7 @@
package queryexpr package queryexpr
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -1,8 +1,8 @@
package queryexpr package queryexpr
import ( import (
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"strings" "strings"
) )

View file

@ -3,8 +3,8 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/common/maputils" "lmika.dev/cmd/dynamo-browse/internal/common/maputils"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/pkg/errors" "github.com/pkg/errors"
"math/big" "math/big"
"strconv" "strconv"

View file

@ -2,7 +2,7 @@ package queryexpr
import ( import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"strconv" "strconv"
"github.com/pkg/errors" "github.com/pkg/errors"

View file

@ -1,7 +1,7 @@
package relitems package relitems
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
) )
type RelatedItem struct { type RelatedItem struct {

View file

@ -2,7 +2,7 @@ package serialisable
import ( import (
"bytes" "bytes"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"time" "time"
) )

View file

@ -1,7 +1,7 @@
package models package models
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/attrutils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/attrutils"
"sort" "sort"
) )

View file

@ -4,7 +4,7 @@ import (
"testing" "testing"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )

View file

@ -7,9 +7,9 @@ import (
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/aws/aws-sdk-go-v2/service/dynamodb" "github.com/aws/aws-sdk-go-v2/service/dynamodb"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
"github.com/pkg/errors" "github.com/pkg/errors"
"time" "time"
) )

View file

@ -3,12 +3,12 @@ package dynamo_test
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"testing" "testing"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/dynamo" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/dynamo"
"github.com/lmika/dynamo-browse/test/testdynamo" "lmika.dev/cmd/dynamo-browse/test/testdynamo"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )

View file

@ -3,8 +3,8 @@ package inputhistorystore
import ( import (
"context" "context"
"github.com/asdine/storm" "github.com/asdine/storm"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/common/workspaces" "lmika.dev/cmd/dynamo-browse/internal/common/workspaces"
"github.com/pkg/errors" "github.com/pkg/errors"
"sort" "sort"
"time" "time"

View file

@ -2,7 +2,7 @@ package settingstore
import ( import (
"github.com/asdine/storm" "github.com/asdine/storm"
"github.com/lmika/dynamo-browse/internal/common/workspaces" "lmika.dev/cmd/dynamo-browse/internal/common/workspaces"
"github.com/pkg/errors" "github.com/pkg/errors"
"io/fs" "io/fs"
"log" "log"

View file

@ -2,8 +2,8 @@ package workspacestore
import ( import (
"github.com/asdine/storm" "github.com/asdine/storm"
"github.com/lmika/dynamo-browse/internal/common/workspaces" "lmika.dev/cmd/dynamo-browse/internal/common/workspaces"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/serialisable" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/serialisable"
"github.com/pkg/errors" "github.com/pkg/errors"
"log" "log"
) )

View file

@ -2,7 +2,7 @@ package inputhistory
import ( import (
"context" "context"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"log" "log"
"strings" "strings"
) )

View file

@ -2,8 +2,8 @@ package itemrenderer
import ( import (
"fmt" "fmt"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/itemrender" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/itemrender"
"io" "io"
"text/tabwriter" "text/tabwriter"
) )

View file

@ -4,7 +4,7 @@ import (
"context" "context"
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
) )
type TableProvider interface { type TableProvider interface {

View file

@ -5,13 +5,13 @@ import (
"fmt" "fmt"
"github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression" "github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/common/sliceutils" "lmika.dev/cmd/dynamo-browse/internal/common/sliceutils"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/jobs" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/jobs"
"log" "log"
"strings" "strings"
"time" "time"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/pkg/errors" "github.com/pkg/errors"
) )

View file

@ -4,9 +4,9 @@ import (
"context" "context"
"testing" "testing"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/dynamo" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/dynamo"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/tables" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/tables"
"github.com/lmika/dynamo-browse/test/testdynamo" "lmika.dev/cmd/dynamo-browse/test/testdynamo"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )

View file

@ -1,6 +1,6 @@
package viewsnapshot package viewsnapshot
import "github.com/lmika/dynamo-browse/internal/dynamo-browse/models/serialisable" import "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/serialisable"
type ViewSnapshotStore interface { type ViewSnapshotStore interface {
Save(rs *serialisable.ViewSnapshot) error Save(rs *serialisable.ViewSnapshot) error

View file

@ -1,7 +1,7 @@
package viewsnapshot package viewsnapshot
import ( import (
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/serialisable" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/serialisable"
"github.com/pkg/errors" "github.com/pkg/errors"
"time" "time"
) )

View file

@ -3,11 +3,11 @@ package viewsnapshot_test
import ( import (
"bytes" "bytes"
"github.com/aws/aws-sdk-go-v2/service/dynamodb/types" "github.com/aws/aws-sdk-go-v2/service/dynamodb/types"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/queryexpr" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/queryexpr"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/serialisable" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/serialisable"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/providers/workspacestore" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/providers/workspacestore"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/viewsnapshot" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/viewsnapshot"
"github.com/lmika/dynamo-browse/test/testworkspace" "lmika.dev/cmd/dynamo-browse/test/testworkspace"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"testing" "testing"
) )

View file

@ -3,23 +3,23 @@ package ui
import ( import (
"github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/common/ui/commandctrl" "lmika.dev/cmd/dynamo-browse/internal/common/ui/commandctrl"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/itemrenderer" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/itemrenderer"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/keybindings" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/keybindings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/colselector" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/colselector"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/dialogprompt" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/dialogprompt"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamoitemedit" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamoitemedit"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamoitemview" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamoitemview"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamotableview" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamotableview"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/relselector" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/relselector"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/statusandprompt" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/statusandprompt"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/tableselect" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/tableselect"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils"
bus "github.com/lmika/events" bus "github.com/lmika/events"
"log" "log"
) )

View file

@ -4,12 +4,12 @@ import (
"github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/lmika/dynamo-browse/internal/common/ui/events" "lmika.dev/cmd/dynamo-browse/internal/common/ui/events"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/columns" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/columns"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/keybindings" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/keybindings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
table "github.com/lmika/go-bubble-table" table "github.com/lmika/go-bubble-table"
"strings" "strings"
) )

View file

@ -2,10 +2,10 @@ package colselector
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/keybindings" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/keybindings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils"
) )
const ( const (

View file

@ -3,7 +3,7 @@ package colselector
import ( import (
"fmt" "fmt"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/evaluators" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/evaluators"
table "github.com/lmika/go-bubble-table" table "github.com/lmika/go-bubble-table"
"io" "io"
) )

View file

@ -3,7 +3,7 @@ package dialogprompt
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
) )
var style = lipgloss.NewStyle(). var style = lipgloss.NewStyle().

View file

@ -2,7 +2,7 @@ package dialogprompt
import ( import (
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
) )
type Model struct { type Model struct {

View file

@ -4,8 +4,8 @@ import (
table "github.com/calyptia/go-bubble-table" table "github.com/calyptia/go-bubble-table"
"github.com/charmbracelet/bubbles/textinput" "github.com/charmbracelet/bubbles/textinput"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils"
) )
type Model struct { type Model struct {

View file

@ -1,6 +1,6 @@
package dynamoitemview package dynamoitemview
import "github.com/lmika/dynamo-browse/internal/dynamo-browse/models" import "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
type NewItemSelected struct { type NewItemSelected struct {
ResultSet *models.ResultSet ResultSet *models.ResultSet

View file

@ -4,11 +4,11 @@ import (
"github.com/charmbracelet/bubbles/viewport" "github.com/charmbracelet/bubbles/viewport"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/services/itemrenderer" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/services/itemrenderer"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/frame" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/frame"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles"
"strings" "strings"
) )

View file

@ -4,14 +4,14 @@ import (
"github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/key"
tea "github.com/charmbracelet/bubbletea" tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/controllers" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/controllers"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/columns" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/columns"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/keybindings" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/keybindings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamoitemview" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/dynamoitemview"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/frame" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/frame"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/layout"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/styles"
bus "github.com/lmika/events" bus "github.com/lmika/events"
table "github.com/lmika/go-bubble-table" table "github.com/lmika/go-bubble-table"
"strings" "strings"

View file

@ -3,11 +3,11 @@ package dynamotableview
import ( import (
"fmt" "fmt"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models/itemrender" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models/itemrender"
"io" "io"
"strings" "strings"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/models"
table "github.com/lmika/go-bubble-table" table "github.com/lmika/go-bubble-table"
) )

View file

@ -4,7 +4,7 @@ import (
"strings" "strings"
"github.com/charmbracelet/lipgloss" "github.com/charmbracelet/lipgloss"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils" "lmika.dev/cmd/dynamo-browse/internal/dynamo-browse/ui/teamodels/utils"
) )
var ( var (

Some files were not shown because too many files have changed in this diff Show more