File: invoke-async.js

package info (click to toggle)
node-tad 3.1.1%2B~cs11.22.49-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 3,400 kB
  • sloc: javascript: 25,549; makefile: 6
file content (15 lines) | stat: -rw-r--r-- 490 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Invoke asynchronous function

"use strict";

var isCallable = require("es5-ext/object/is-callable")
  , callable   = require("es5-ext/object/valid-callable")
  , value      = require("es5-ext/object/valid-value")
  , callAsync  = require("./ext/function/call-async")._base
  , slice      = Array.prototype.slice;

module.exports = function (obj, fn/*, …args*/) {
	value(obj);
	if (!isCallable(fn)) fn = callable(obj[fn]);
	return callAsync(fn, null, obj, slice.call(arguments, 2));
};