aboutsummaryrefslogtreecommitdiff
path: root/node_modules/event-emitter/emit-error.js
blob: 769b4c53e1dd65dc689008dda837b4c8840e9175 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
'use strict';

var ensureError  = require('es5-ext/error/valid-error')
  , ensureObject = require('es5-ext/object/valid-object')

  , hasOwnProperty = Object.prototype.hasOwnProperty;

module.exports = function (err) {
	(ensureObject(this) && ensureError(err));
	if (!hasOwnProperty.call(ensureObject(this), '__ee__')) throw err;
	if (!this.__ee__.error) throw err;
	this.emit('error', err);
};