feat(nix/tag): add functions for querying a tag's name and value
Both are just trivial wrappers around assertIsTag to make these lookups more ergonomic. This also allows us to demote assertIsTag to an implemtation detail. Change-Id: Ib6ba2a858f4839354a57b660042b418976c4b1d9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3541 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
parent
1883159f92
commit
3a8e8120de
1 changed files with 14 additions and 1 deletions
|
@ -24,6 +24,18 @@ let
|
||||||
val = null;
|
val = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Returns the tag name of a given tag attribute set.
|
||||||
|
# Throws if the tag is invalid.
|
||||||
|
#
|
||||||
|
# Type: tag -> string
|
||||||
|
tagName = tag: (assertIsTag tag).name;
|
||||||
|
|
||||||
|
# Returns the tagged value of a given tag attribute set.
|
||||||
|
# Throws if the tag is invalid.
|
||||||
|
#
|
||||||
|
# Type: tag -> any
|
||||||
|
tagValue = tag: (assertIsTag tag).val;
|
||||||
|
|
||||||
# like `verifyTag`, but throws the error message if it is not a tag.
|
# like `verifyTag`, but throws the error message if it is not a tag.
|
||||||
assertIsTag = tag:
|
assertIsTag = tag:
|
||||||
let res = verifyTag tag; in
|
let res = verifyTag tag; in
|
||||||
|
@ -139,7 +151,8 @@ let
|
||||||
in {
|
in {
|
||||||
inherit
|
inherit
|
||||||
verifyTag
|
verifyTag
|
||||||
assertIsTag
|
tagName
|
||||||
|
tagValue
|
||||||
discr
|
discr
|
||||||
discrDef
|
discrDef
|
||||||
match
|
match
|
||||||
|
|
Loading…
Reference in a new issue