Added 'mustCompile' which panicks if there is an error compiling
This commit is contained in:
		| @@ -1110,10 +1110,11 @@ func thompson(re []postfixNode) (Reg, error) { | ||||
|  | ||||
| } | ||||
|  | ||||
| // Compiles the given regular expression into a Reg type, suitable for use with the | ||||
| // matching functions. The second return value is non-nil if a compilation error has | ||||
| // occured. As such, the error value must be checked before using the Reg returned by this function. | ||||
| // The second parameter is an optional list of flags, passed to the parsing function shuntingYard. | ||||
| // Compile compiles the given regular expression into a [Reg]. | ||||
| // | ||||
| // An error value != nil indicates that the regex was invalid; the error message should provide | ||||
| // detailed information on the nature of the error. | ||||
| // The second parameter is a sequence of zero or more [ReFlag] values, that modify the behavior of the regex. | ||||
| func Compile(re string, flags ...ReFlag) (Reg, error) { | ||||
| 	nodes, err := shuntingYard(re, flags...) | ||||
| 	if err != nil { | ||||
| @@ -1125,3 +1126,12 @@ func Compile(re string, flags ...ReFlag) (Reg, error) { | ||||
| 	} | ||||
| 	return reg, nil | ||||
| } | ||||
|  | ||||
| // MustCompile panicks if Compile returns an error. They are identical in all other respects. | ||||
| func MustCompile(re string, flags ...ReFlag) Reg { | ||||
| 	reg, err := Compile(re, flags...) | ||||
| 	if err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
| 	return reg | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user