forked from TrueCloudLab/frostfs-node
[#907] morph/event: Implement Op to string converter
Implement `StringFromOpcode` function that tries to retrieve `string` to `Op`. Add a comment about neo-go source code that is used for implementation of converters. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
123328a2f4
commit
3173bf345e
1 changed files with 9 additions and 0 deletions
|
@ -25,6 +25,8 @@ func (o Op) Param() []byte {
|
||||||
return o.param
|
return o.param
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Below are the functions which reverse the results of github.com/nspcc-dev/neo-go/pkg/vm/emit.Array function.
|
||||||
|
|
||||||
// BytesFromOpcode tries to retrieve bytes from Op.
|
// BytesFromOpcode tries to retrieve bytes from Op.
|
||||||
func BytesFromOpcode(op Op) ([]byte, error) {
|
func BytesFromOpcode(op Op) ([]byte, error) {
|
||||||
switch code := op.Code(); code {
|
switch code := op.Code(); code {
|
||||||
|
@ -48,3 +50,10 @@ func IntFromOpcode(op Op) (int64, error) {
|
||||||
return 0, fmt.Errorf("unexpected INT opcode %s", code)
|
return 0, fmt.Errorf("unexpected INT opcode %s", code)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StringFromOpcode tries to retrieve string from Op.
|
||||||
|
func StringFromOpcode(op Op) (string, error) {
|
||||||
|
// strings are emitted like bytes
|
||||||
|
data, err := BytesFromOpcode(op)
|
||||||
|
return string(data), err
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue