aboutsummaryrefslogtreecommitdiff
path: root/refined/builder.go
blob: 95b3ab9784f57b8b2c11b74539d4e6d5fad3586f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*******************************************************************************
* Copyright 2025 Stefan Majewsky <majewsky@gmx.net>
* SPDX-License-Identifier: Apache-2.0
* Refer to the file "LICENSE" for details.
*******************************************************************************/

package refined

import (
	"errors"
	"regexp"
)

type ValueType[Self any, T any] interface {
	MatchesValue(T) error
	Build(Prevalue[Self, T]) Self
}

// Building block for writing MatchesValue() implementations.
func RegexpMatch(rx *regexp.Regexp, value string) error {
	if !rx.MatchString(value) {
		return errors.New("TODO: error message")
	}
	return nil
}