// ------------------------------------------------------------------------ // Project active2 // Active Thing (activething.com) git.activething.com/go // // File name builder.go // Created by DEV // Modified 15/04/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 fmtr import "time" type ( FieldBuilder interface { AddFieldAny (name string, value any ) AddFieldInt (name string, value int ) AddFieldBool (name string, value bool ) AddFieldString(name string, value string ) AddFieldFloat (name string, value float64) AddFieldTime (name string, value time.Time) AddFieldDate (name string, value time.Time) } BuildFieldFnc func (builder FieldBuilder) ) func AddAny(name string, value any) BuildFieldFnc { return func(b FieldBuilder) { b.AddFieldAny(name,value) }} func AddString(name, value string) BuildFieldFnc { return func(b FieldBuilder) { b.AddFieldString(name,value) }} func AddInt (name string, value int) BuildFieldFnc { return func(b FieldBuilder) { b.AddFieldInt(name,value) }} func AddFloat(name string, value float64) BuildFieldFnc { return func(b FieldBuilder) { b.AddFieldFloat(name,value) }} func AddBool (name string, value bool) BuildFieldFnc { return func(b FieldBuilder) { b.AddFieldBool(name,value) }} func AddTime (name string, value time.Time) BuildFieldFnc { return func(b FieldBuilder) { b.AddFieldTime(name,value) }} func AddDate (name string, value time.Time) BuildFieldFnc { return func(b FieldBuilder) { b.AddFieldDate(name,value) }}