30 lines
463 B
Go
30 lines
463 B
Go
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
package vms
|
|
|
|
import "regexp"
|
|
|
|
type regexValue struct {
|
|
r *regexp.Regexp
|
|
}
|
|
|
|
func (r *regexValue) String() string {
|
|
if r.r == nil {
|
|
return ""
|
|
}
|
|
|
|
return r.r.String()
|
|
}
|
|
|
|
func (r *regexValue) Set(val string) error {
|
|
if rex, err := regexp.Compile(val); err != nil {
|
|
return err
|
|
} else {
|
|
r.r = rex
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func (r regexValue) Unwrap() *regexp.Regexp { return r.r }
|