Browse Source

added js promisify to p5 utils

Piotr Labudda 8 years ago
parent
commit
1a701d28f2
1 changed files with 13 additions and 0 deletions
  1. 13 0
      SE/static/p5UI/utils.js

+ 13 - 0
SE/static/p5UI/utils.js

@@ -74,6 +74,18 @@ function p5Utils__nodeStyle(node, style) {
 	for (i in style) node.style[i] = style[i];
 }
 
+function p5Utils__promisify(fun) {
+	return function () {
+		var args = new Array(arguments.length);
+		for (var i = 0; i < args.length; ++i) args[i] = arguments[i];
+		return new Promise(function (resolve, reject) {
+			fun.apply(fun, [].concat(args, function (err, res) {
+				return (err) ? reject(err) : resolve(res)
+			}))
+		})
+	}
+}
+
 global.p5Utils__format = p5Utils__format
 global.p5Utils__parseFloatOrZero = p5Utils__parseFloatOrZero
 global.p5Utils__pricePrint = p5Utils__pricePrint
@@ -81,3 +93,4 @@ global.p5Utils__pricePrintPL = p5Utils__pricePrintPL
 global.p5Utils__pricePrintFormat = p5Utils__pricePrintFormat
 global.p5Utils__clearNode = p5Utils__clearNode
 global.p5Utils__nodeStyle = p5Utils__nodeStyle
+global.p5Utils__promisify = p5Utils__promisify