dhall-nix-lib/Set/toSet.dhall

34 lines
1.1 KiB
Text

λ(nix : ../NixPrelude.dhall) →
let Any = ../Any/Type.dhall
let Set = ./Type.dhall
let Map =
https://raw.githubusercontent.com/dhall-lang/dhall-lang/v22.0.0/Prelude/Map/Type.dhall
sha256:210c7a9eba71efbb0f7a66b3dcf8b9d3976ffc2bc0e907aadfb6aa29c333e8ed
let Entry =
https://raw.githubusercontent.com/dhall-lang/dhall-lang/v22.0.0/Prelude/Map/Entry.dhall
sha256:f334283bdd9cd88e6ea510ca914bc221fc2dab5fb424d24514b2e0df600d5346
let List/map =
https://raw.githubusercontent.com/dhall-lang/dhall-lang/v22.0.0/Prelude/List/map.dhall
sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680
let Any/toAny = ../Any/toAny.dhall nix
let toSet
: ∀(a : Type) → Map Text a → Set
= λ(a : Type) →
λ(map : Map Text a) →
nix.builtins.listToAttrs
( List/map
(Entry Text a)
{ name : Text, value : Any }
( λ(entry : Entry Text a) →
{ name = entry.mapKey, value = Any/toAny a entry.mapValue }
)
map
)
in toSet