34 lines
1.1 KiB
Text
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
|