You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/types
Joe Tsai c9188d7760
types/bools: add IfElse (#14272)
The IfElse function is equivalent to the ternary (c ? a : b) operator
in many other languages like C. Unfortunately, this function
cannot perform short-circuit evaluation like in many other languages,
but this is a restriction that's not much different
than the pre-existing cmp.Or function.

The argument against ternary operators in Go is that
nested ternary operators become unreadable
(e.g., (c1 ? (c2 ? a : b) : (c2 ? x : y))).
But a single layer of ternary expressions can sometimes
make code much more readable.

Having the bools.IfElse function gives code authors the
ability to decide whether use of this is more readable or not.
Obviously, code authors will need to be judicious about
their use of this helper function.
Readability is more of an art than a science.

Updates #cleanup

Signed-off-by: Joe Tsai <joetsai@digital-static.net>
12 months ago
..
appctype appc,ipn/ipnlocal,types/appctype: implement control provided routes 2 years ago
bools types/bools: add IfElse (#14272) 12 months ago
dnstype cli: add `tailscale dns query` (#13368) 1 year ago
empty all: update copyright and license headers 3 years ago
flagtype all: update copyright and license headers 3 years ago
iox types/iox: add function types for Reader and Writer (#14366) 12 months ago
ipproto all: use Go 1.22 range-over-int 2 years ago
key types/key: use tlpub: in error message (#13707) 1 year ago
lazy types/lazy: add DeferredInit type 1 year ago
logger all: use Go 1.22 range-over-int 2 years ago
logid types/logid: add Add method (#12478) 1 year ago
netlogtype all: update copyright and license headers 3 years ago
netmap all: use iterators over slice views more 1 year ago
nettype wgengine/magicsock, types/nettype, etc: finish ReadFromUDPAddrPort netip migration 3 years ago
opt util/syspolicy/setting: make setting.RawItem JSON-marshallable 1 year ago
persist types/persist: remove unused field Persist.Provider 2 years ago
prefs types/prefs: add a package containing generic preference types 1 year ago
preftype cmd/tailscaled,*: add start of configuration file support 2 years ago
ptr all: update copyright and license headers 3 years ago
result types/result, util/lineiter: add package for a result type, use it 1 year ago
structs all: update copyright and license headers 3 years ago
tkatype types/tkatype: add test for MarshaledSignature's JSON format 2 years ago
views types/views: add iterators to the three Map view types 1 year ago