Compare commits
6 commits
feature/uc
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
213a4fc9cc | ||
|
204c79ca2d | ||
|
32ae488066 | ||
|
8b5b5798da | ||
|
40136e3936 | ||
|
aae3c419db |
|
@ -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/*"
|
|
@ -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
|
|
@ -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
7
go.mod
|
@ -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
12
go.sum
|
@ -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=
|
||||||
|
|
52
internal/common/ui/commandctrl/cmdpacks/modav.go
Normal file
52
internal/common/ui/commandctrl/cmdpacks/modav.go
Normal 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,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
34
internal/common/ui/commandctrl/cmdpacks/modpb_test.go
Normal file
34
internal/common/ui/commandctrl/cmdpacks/modpb_test.go
Normal 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)
|
||||||
|
})
|
||||||
|
}
|
|
@ -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)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
}
|
||||||
|
return &vs
|
||||||
|
case *types.AttributeValueMemberM:
|
||||||
|
hs := make(ucl.HashObject)
|
||||||
|
for k, v := range t.Value {
|
||||||
|
hs[k] = convertAttributeValueToUCLObject(v)
|
||||||
|
}
|
||||||
|
return hs
|
||||||
}
|
}
|
||||||
// TODO: the rest
|
|
||||||
return nil
|
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")
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
|
@ -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()...)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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] {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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 (
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -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().
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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
Loading…
Reference in a new issue