summary refs log tree commit diff
diff options
context:
space:
mode:
authorRon Nazarov <noisytoot@disroot.org>2021-04-09 23:10:18 +0100
committerTobias Geerinckx-Rice <me@tobias.gr>2021-05-04 23:10:03 +0200
commit2959adef94ba8684127bb995ce26b3234b4d457d (patch)
tree300c3872a2e1742117e41fb05d96238467f373a7
parenta6992b38e730301d35f32e1a0b1a43546862c5f1 (diff)
downloadguix-2959adef94ba8684127bb995ce26b3234b4d457d.tar.gz
gnu: Add node-once.
* gnu/packages/node-xyz.scm (node-once): New variable.

Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
-rw-r--r--gnu/packages/node-xyz.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index f401380310..27a76f59c3 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -298,3 +298,35 @@ function with browser support.")
     (synopsis "Callback wrapping utility")
     (description "@code{wrappy} is a utility for Node.js to wrap callbacks.")
     (license license:isc)))
+
+(define-public node-once
+  (package
+    (name "node-once")
+    (version "1.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/isaacs/once")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1z8dcbf28dqdcp4wb0c53wrs90a07nkrax2c9kk26dsk1dhrnxav"))))
+    (build-system node-build-system)
+    (arguments
+     '(#:tests? #f                      ; FIXME: tests depend on node-tap
+       #:phases
+       (modify-phases %standard-phases
+         ;; The default configure phase fails due to tap being missing, as we do
+         ;; not have tap packaged yet.  It is used only for tests.  This package
+         ;; still works as a dependency of node-glob and node-inflight.
+         (delete 'configure))))
+    (inputs
+     `(("node-wrappy" ,node-wrappy)))
+    (home-page "https://github.com/isaacs/once")
+    (synopsis "Node.js module to call a function only once")
+    (description
+     "@code{once} is a Node.js module to call a function exactly one time.
+Subsequent calls will either return the cached previous value or throw an error
+if desired.")
+    (license license:isc)))