mirror of
https://github.com/getAlby/lndhub.go.git
synced 2025-12-24 16:14:55 +01:00
33 lines
637 B
Go
33 lines
637 B
Go
package lib
|
|
|
|
import (
|
|
"encoding/hex"
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
type JavaScriptBuffer struct {
|
|
Data []uint8
|
|
}
|
|
|
|
func (buf *JavaScriptBuffer) MarshalJSON() ([]byte, error) {
|
|
var array string
|
|
if buf.Data == nil {
|
|
array = "null"
|
|
} else {
|
|
array = strings.Join(strings.Fields(fmt.Sprintf("%d", buf.Data)), ",")
|
|
}
|
|
jsonResult := fmt.Sprintf(`{"type": "Buffer", "data":%s}`, array)
|
|
return []byte(jsonResult), nil
|
|
}
|
|
|
|
func ToJavaScriptBuffer(hexString string) (*JavaScriptBuffer, error) {
|
|
buf := JavaScriptBuffer{}
|
|
hexArray, err := hex.DecodeString(hexString)
|
|
if err != nil {
|
|
return &buf, err
|
|
}
|
|
buf.Data = hexArray
|
|
return &buf, nil
|
|
}
|