package napi import "sirherobrine23.com.br/Sirherobrine23/napi-go/internal/napi" type Buffer struct{ value } // Convert [ValueType] to [*Buffer]. func ToBuffer(o ValueType) *Buffer { return &Buffer{o} } // Create new Buffer with length func CreateBuffer(env EnvType, length int) (*Buffer, error) { napiValue, err := mustValueErr(napi.CreateBuffer(env.NapiValue(), length)) if err != nil { return nil, err } return ToBuffer(N_APIValue(env, napiValue)), nil } // Copy []byte to Node::Buffer struct func CopyBuffer(env EnvType, buff []byte) (*Buffer, error) { napiValue, err := mustValueErr(napi.CreateBufferCopy(env.NapiValue(), buff)) if err != nil { return nil, err } return ToBuffer(N_APIValue(env, napiValue)), nil } // Get size of buffer func (buff *Buffer) Length() (int, error) { return mustValueErr(napi.GetBufferInfoSize(buff.NapiEnv(), buff.NapiValue())) } // return []byte from Buffer value func (buff *Buffer) Data() ([]byte, error) { return mustValueErr(napi.GetBufferInfoData(buff.NapiEnv(), buff.NapiValue())) }