lib/types: flip maybeRaw's merge function

`maybeRaw` should prioritise merging `rawLua` before the other type
This commit is contained in:
Matt Sturgeon 2024-09-29 16:40:14 +01:00
parent cd76b4feb8
commit 7886be8760
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
2 changed files with 17 additions and 2 deletions

View file

@ -32,7 +32,22 @@ rec {
check = v: (isRawType v) || (v ? __empty);
};
maybeRaw = type: types.either type rawLua;
maybeRaw =
elemType:
let
luaFirst = types.either rawLua elemType;
elemFirst = types.either elemType rawLua;
in
luaFirst
// {
name = "maybeRaw";
inherit (elemFirst) description;
nestedTypes = {
left = lib.warn "maybeRaw.nestedTypes: `left` is a deprecated alias for `elemType`." elemType;
right = lib.warn "maybeRaw.nestedTypes: `right` is a deprecated alias for `rawLua`." rawLua;
inherit rawLua elemType;
};
};
# Describes an boolean-like integer flag that is either 0 or 1
# Has legacy support for boolean definitions, added 2024-09-08

View file

@ -92,7 +92,7 @@
toolType = opt.type.nestedTypes.left;
# toolType is a `either (enum possible) rawLua
# Look into `nestedTypes.left` for the enum
possible = toolType.nestedTypes.left;
possible = toolType.nestedTypes.elemType;
# possible is an enum, look into functor.payload for the variants
toolList = possible.functor.payload;
in