aboutsummaryrefslogtreecommitdiff
path: root/modules/lib/dag.nix
diff options
context:
space:
mode:
authorRobert Helgesson <robert@rycee.net>2020-02-02 00:39:17 +0100
committerRobert Helgesson <robert@rycee.net>2020-02-02 01:07:28 +0100
commit45abf3d38a2b51c00c347cab6950f3734e023bba (patch)
tree414fde5d14d1d075fa65e59175660fd1fb680c43 /modules/lib/dag.nix
parent9799d3de2d270a9c40fcf81d600bfd71088e144d (diff)
Apply `nixfmt` on many files
Diffstat (limited to 'modules/lib/dag.nix')
-rw-r--r--modules/lib/dag.nix45
1 files changed, 19 insertions, 26 deletions
diff --git a/modules/lib/dag.nix b/modules/lib/dag.nix
index 535dec35ad4..cbe34129652 100644
--- a/modules/lib/dag.nix
+++ b/modules/lib/dag.nix
@@ -13,13 +13,11 @@ with lib;
rec {
- emptyDag = {};
+ emptyDag = { };
isDag = dag:
- let
- isEntry = e: (e ? data) && (e ? after) && (e ? before);
- in
- builtins.isAttrs dag && all (x: x) (mapAttrsToList (n: isEntry) dag);
+ let isEntry = e: (e ? data) && (e ? after) && (e ? before);
+ in builtins.isAttrs dag && all (x: x) (mapAttrsToList (n: isEntry) dag);
# Takes an attribute set containing entries built by
# dagEntryAnywhere, dagEntryAfter, and dagEntryBefore to a
@@ -80,22 +78,19 @@ rec {
dagTopoSort = dag:
let
dagBefore = dag: name:
- mapAttrsToList (n: v: n) (
- filterAttrs (n: v: any (a: a == name) v.before) dag
- );
- normalizedDag =
- mapAttrs (n: v: {
- name = n;
- data = v.data;
- after = v.after ++ dagBefore dag n;
- }) dag;
+ mapAttrsToList (n: v: n)
+ (filterAttrs (n: v: any (a: a == name) v.before) dag);
+ normalizedDag = mapAttrs (n: v: {
+ name = n;
+ data = v.data;
+ after = v.after ++ dagBefore dag n;
+ }) dag;
before = a: b: any (c: a.name == c) b.after;
sorted = toposort before (mapAttrsToList (n: v: v) normalizedDag);
- in
- if sorted ? result then
- { result = map (v: { inherit (v) name data; }) sorted.result; }
- else
- sorted;
+ in if sorted ? result then {
+ result = map (v: { inherit (v) name data; }) sorted.result;
+ } else
+ sorted;
# Applies a function to each element of the given DAG.
dagMap = f: dag: mapAttrs (n: v: v // { data = f n v.data; }) dag;
@@ -103,22 +98,20 @@ rec {
# Create a DAG entry with no particular dependency information.
dagEntryAnywhere = data: {
inherit data;
- before = [];
- after = [];
+ before = [ ];
+ after = [ ];
};
- dagEntryBetween = before: after: data: {
- inherit data before after;
- };
+ dagEntryBetween = before: after: data: { inherit data before after; };
dagEntryAfter = after: data: {
inherit data after;
- before = [];
+ before = [ ];
};
dagEntryBefore = before: data: {
inherit data before;
- after = [];
+ after = [ ];
};
}