// ------------------------------------------------------------------------ // Project active // Active Thing (activething.com) git.activething.com/go // // File name string.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 rsls type ( String interface { Result Value() string // GResult implementation } StringSuccess string StringError struct{ error } ) func TupleStringSuccess(result string) (string, error) { return result, nil } func TupleStringError(err error) (string, error) { return "", err } // StringSuccess -> Result, G.Result Implementation func (_ StringSuccess) Ok() bool { return true } func (s StringSuccess) Success() any { return s } func (_ StringSuccess) Fail() error { return nil } func (s StringSuccess) Value() string { return string(s) } // StringError -> Result, G.Result Implementation func MakeStringError(cause error) StringError { return StringError{cause} } func (e StringError) Ok() bool { return false } func (_ StringError) Success() any { return nil } func (e StringError) Fail() error { return e.error } func (_ StringError) Value() string { return "" }