5 Commits

Author SHA1 Message Date
e1910a89f9 update
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2025-03-02 01:04:48 +03:00
551d522616 Merge pull request 'Update workflows' (#96) from atolstikhin/micro-codec-yaml:master into master
All checks were successful
test / test (push) Successful in 12m44s
Reviewed-on: #96
2024-12-13 12:23:52 +03:00
Aleksandr Tolstikhin
8b2b346af9 Update workflows 2024-12-13 11:17:55 +07:00
19f0e4b27e Merge pull request 'move to micro v4' (#95) from v4 into master
Reviewed-on: #95
2023-04-30 10:56:15 +03:00
e48795153d move to micro v4
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2023-04-30 10:55:48 +03:00
4 changed files with 48 additions and 1562 deletions

View File

@@ -4,7 +4,7 @@ import (
"bytes"
"testing"
"go.unistack.org/micro/v3/codec"
"go.unistack.org/micro/v4/codec"
)
func TestFrame(t *testing.T) {

18
go.mod
View File

@@ -1,10 +1,18 @@
module go.unistack.org/micro-codec-yaml/v3
module go.unistack.org/micro-codec-yaml/v4
go 1.16
go 1.23
require (
go.unistack.org/micro-proto/v3 v3.4.1
go.unistack.org/micro/v3 v3.10.94
google.golang.org/protobuf v1.34.2 // indirect
go.unistack.org/micro-proto/v4 v4.1.0
go.unistack.org/micro/v4 v4.1.2
gopkg.in/yaml.v3 v3.0.1
)
require (
github.com/ash3in/uuidv8 v1.2.0 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/matoous/go-nanoid v1.5.1 // indirect
google.golang.org/protobuf v1.36.5 // indirect
)

1572
go.sum

File diff suppressed because it is too large Load Diff

18
yaml.go
View File

@@ -1,10 +1,10 @@
// Package yaml provides a yaml codec
package yaml // import "go.unistack.org/micro-codec-yaml/v3"
package yaml
import (
pb "go.unistack.org/micro-proto/v3/codec"
"go.unistack.org/micro/v3/codec"
rutil "go.unistack.org/micro/v3/util/reflect"
pb "go.unistack.org/micro-proto/v4/codec"
"go.unistack.org/micro/v4/codec"
rutil "go.unistack.org/micro/v4/util/reflect"
yaml "gopkg.in/yaml.v3"
)
@@ -35,6 +35,10 @@ func (c *yamlCodec) Marshal(v interface{}, opts ...codec.Option) ([]byte, error)
return m.Data, nil
case *pb.Frame:
return m.Data, nil
case codec.RawMessage:
return []byte(m), nil
case *codec.RawMessage:
return []byte(*m), nil
}
return yaml.Marshal(v)
@@ -63,6 +67,12 @@ func (c *yamlCodec) Unmarshal(b []byte, v interface{}, opts ...codec.Option) err
case *pb.Frame:
m.Data = b
return nil
case *codec.RawMessage:
*m = append((*m)[0:0], b...)
return nil
case codec.RawMessage:
copy(m, b)
return nil
}
return yaml.Unmarshal(b, v)