mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-09-14 14:52:30 +00:00
Update dependencies and build to go1.22 (#2113)
* Update dependencies and build to go1.22 * Fix api changes wrt to dependencies * Update golangci config
This commit is contained in:
32
vendor/go.mau.fi/whatsmeow/binary/armadillo/armadilloutil/decode.go
vendored
Normal file
32
vendor/go.mau.fi/whatsmeow/binary/armadillo/armadilloutil/decode.go
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
package armadilloutil
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"go.mau.fi/whatsmeow/binary/armadillo/waCommon"
|
||||
)
|
||||
|
||||
var ErrUnsupportedVersion = errors.New("unsupported subprotocol version")
|
||||
|
||||
func Unmarshal[T proto.Message](into T, msg *waCommon.SubProtocol, expectedVersion int32) (T, error) {
|
||||
if msg.GetVersion() != expectedVersion {
|
||||
return into, fmt.Errorf("%w %d in %T (expected %d)", ErrUnsupportedVersion, msg.GetVersion(), into, expectedVersion)
|
||||
}
|
||||
|
||||
err := proto.Unmarshal(msg.GetPayload(), into)
|
||||
return into, err
|
||||
}
|
||||
|
||||
func Marshal[T proto.Message](msg T, version int32) (*waCommon.SubProtocol, error) {
|
||||
payload, err := proto.Marshal(msg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &waCommon.SubProtocol{
|
||||
Payload: payload,
|
||||
Version: version,
|
||||
}, nil
|
||||
}
|
Reference in New Issue
Block a user