es-abstract
Version:
ECMAScript spec abstract operations.
23 lines (16 loc) • 659 B
JavaScript
var $TypeError = require('es-errors/type');
var CreateNonEnumerableDataPropertyOrThrow = require('./CreateNonEnumerableDataPropertyOrThrow');
var Get = require('./Get');
var HasProperty = require('./HasProperty');
var isObject = require('../helpers/isObject');
// https://262.ecma-international.org/13.0/#sec-installerrorcause
module.exports = function InstallErrorCause(O, options) {
if (!isObject(O)) {
throw new $TypeError('Assertion failed: Type(O) is not Object');
}
if (isObject(options) && HasProperty(options, 'cause')) {
var cause = Get(options, 'cause');
CreateNonEnumerableDataPropertyOrThrow(O, 'cause', cause);
}
};
;