summary refs log tree commit diff
path: root/gnu/packages/emacs-xyz.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2020-10-20 17:02:25 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2020-10-20 17:07:15 +0200
commitd53ee6bcd2c28e3414b2dbeffb6e15005d414d7e (patch)
treea766abf9e2bd33d36077429838b7a7a70a64cdab /gnu/packages/emacs-xyz.scm
parent074d033a553d58a75658cc287ca9ea8476050be0 (diff)
downloadguix-d53ee6bcd2c28e3414b2dbeffb6e15005d414d7e.tar.gz
gnu: Add emacs-promise.
* gnu/packages/emacs-xyz.scm (emacs-promise): New variable.
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r--gnu/packages/emacs-xyz.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 1a08da2e4e..a34a355df7 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -25049,3 +25049,34 @@ built-in generator package.  It provides @code{iter2-defun} and
 @code{iter-next}) are intentionally not duplicated: just use the ones from the
 original package.")
     (license license:gpl3+)))
+
+(define-public emacs-promise
+  (package
+    (name "emacs-promise")
+    (version "1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/chuntaro/emacs-promise")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/chuntaro/emacs-promise")
+    (synopsis "Promises/A+ for Emacs")
+    (description "This is a simple implementation of Promises/A+.
+
+This implementation ports the following Promises/A+ features
+faithfully.  See @url{https://github.com/then/promise}.
+
+@itemize
+@item The same API as the JavaScript version of Promise can be used.
+@item It has all the @code{then}, @code{catch}, @code{resolve}, @code{reject},
+@code{all}, @code{race}, etc.
+@item It supports \"thenable\".
+@item It supports \"Inheritance of Promise\".
+@item It supports \"rejection-tracking\".
+@end itemize\n")
+    (license license:gpl3+)))