go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/configutil/const.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package configutil 9 10 import ( 11 "context" 12 ) 13 14 // Const returns a constant configuration value. 15 // 16 // Do not reference resolved fields with this function! They will always be zero! 17 func Const[T comparable](v T) Source[T] { 18 return func(_ context.Context) (*T, error) { 19 var zero T 20 if v == zero { 21 return nil, nil 22 } 23 return &v, nil 24 } 25 }