Version 1
[yaffs-website] / node_modules / phridge / lib / lift.js
diff --git a/node_modules/phridge/lib/lift.js b/node_modules/phridge/lib/lift.js
new file mode 100644 (file)
index 0000000..e673b0a
--- /dev/null
@@ -0,0 +1,23 @@
+"use strict";
+
+var slice = Array.prototype.slice;
+
+function lift(fn) {
+    /**
+     * @this ctx
+     * @returns {Promise}
+     */
+    return function () {
+        var args = slice.call(arguments);
+        var ctx = this;
+
+        return new Promise(function (resolve, reject) {
+            args.push(function (err, result) {
+                err ? reject(err) : resolve(result);
+            });
+            fn.apply(ctx, args);
+        });
+    };
+}
+
+module.exports = lift;