// ------------------------------------------------------------------------ // Project active // Active Thing (activething.com) git.activething.com/go // // File name bytes.go // Created by DEV // Modified 07/03/2024 // // Copyright 2024 activething.com // ------------------------------------------------------------------------ // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ------------------------------------------------------------------------ package rets type ( BytesResult interface { Result Value() []byte // GResult implementation } BytesSuccess []byte BytesError struct{ error } ) func TupleBytesSuccess(bytes []byte) ([]byte, error) { return bytes, nil } func TupleBytesError(err error) ([]byte, error) { return nil, err } // BytesSuccess -> BytesResult Implementation func MakeBytesSuccess(success []byte) BytesSuccess { return success } func (_ BytesSuccess) Ok() bool { return true } func (_ BytesSuccess) Fail() error { return nil } func (s BytesSuccess) Value() []byte { return s } func (s BytesSuccess) Success() any { return s } // BytesError -> BytesResult Implementation func MakeBytesError(cause error) BytesError { return BytesError{cause} } func (e BytesError) Ok() bool { return false } func (e BytesError) Fail() error { return e.error } func (_ BytesError) Value() []byte { return nil } func (_ BytesError) Success() any { return nil }