about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsterni <sternenseemann@systemli.org>2021-03-03T00·57+0100
committersterni <sternenseemann@systemli.org>2021-03-05T11·07+0000
commit8ff14cacb69dce491c81a629595087525b455a3f (patch)
treea373d488737545f60824261af74f778b329b109c
parented3fce2b19fa0d28054382093b019967a9a16177 (diff)
feat(users/sterni/nix): move flow.match to string.match r/2266
After all it only matches strings.

Change-Id: I3d2e5221ef43f692de69028e78ed98b6b11f82d1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2586
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
-rw-r--r--users/sterni/nix/flow/default.nix2
-rw-r--r--users/sterni/nix/flow/tests/default.nix10
-rw-r--r--users/sterni/nix/int/tests/default.nix3
-rw-r--r--users/sterni/nix/string/default.nix4
-rw-r--r--users/sterni/nix/string/tests/default.nix12
5 files changed, 17 insertions, 14 deletions
diff --git a/users/sterni/nix/flow/default.nix b/users/sterni/nix/flow/default.nix
index 838e65bfb2..a9fe3c6735 100644
--- a/users/sterni/nix/flow/default.nix
+++ b/users/sterni/nix/flow/default.nix
@@ -44,11 +44,9 @@ let
   # TODO(sterni): condf or magic
   # like <nixpkgs/pkgs/build-support/coq/extra-lib.nix>
 
-  match = val: matcher: matcher."${val}";
 
 in {
   inherit
     cond
-    match
     ;
 }
diff --git a/users/sterni/nix/flow/tests/default.nix b/users/sterni/nix/flow/tests/default.nix
index 0bec4a3bd7..54cea01858 100644
--- a/users/sterni/nix/flow/tests/default.nix
+++ b/users/sterni/nix/flow/tests/default.nix
@@ -33,17 +33,7 @@ let
       ]))
   ];
 
-  testMatch = it "tests match" [
-    (assertEq "basic match usage" 42
-      (match "answer" {
-        "answer" = 42;
-        "banana" = dontEval;
-        "maleur" = dontEval;
-      }))
-  ];
-
 in
   runTestsuite "nix.flow" [
     testCond
-    testMatch
   ]
diff --git a/users/sterni/nix/int/tests/default.nix b/users/sterni/nix/int/tests/default.nix
index 966ac5a128..fac45dd251 100644
--- a/users/sterni/nix/int/tests/default.nix
+++ b/users/sterni/nix/int/tests/default.nix
@@ -12,7 +12,6 @@ let
     int
     string
     fun
-    flow
     ;
 
   testBounds = it "checks minBound and maxBound" [
@@ -113,7 +112,7 @@ let
 
   checkShift = { a, b, c, op }@args:
     let
-      f = flow.match op {
+      f = string.match op {
         "<<" = int.bitShiftL;
         ">>" = int.bitShiftR;
       };
diff --git a/users/sterni/nix/string/default.nix b/users/sterni/nix/string/default.nix
index 782f86b7f7..e2b27571c7 100644
--- a/users/sterni/nix/string/default.nix
+++ b/users/sterni/nix/string/default.nix
@@ -55,6 +55,9 @@ let
       then s
       else pad { inherit char; "${side}" = diff; } s;
 
+  # pattern matching for strings only
+  match = val: matcher: matcher."${val}";
+
 in {
   inherit
     take
@@ -67,5 +70,6 @@ in {
     fromChars
     pad
     fit
+    match
     ;
 }
diff --git a/users/sterni/nix/string/tests/default.nix b/users/sterni/nix/string/tests/default.nix
index 5769526734..2caecbfa7b 100644
--- a/users/sterni/nix/string/tests/default.nix
+++ b/users/sterni/nix/string/tests/default.nix
@@ -45,9 +45,21 @@ let
       null)
   ];
 
+  dontEval = builtins.throw "this should not get evaluated";
+
+  testMatch = it "tests match" [
+    (assertEq "basic match usage" 42
+      (string.match "answer" {
+        "answer" = 42;
+        "banana" = dontEval;
+        "maleur" = dontEval;
+      }))
+  ];
+
 in
   runTestsuite "nix.string" [
     testTakeDrop
     testIndexing
     testFinding
+    testMatch
   ]