Show More
Commit Description:
submission report
Commit Description:
submission report
References:
File last commit:
Show/Diff file:
Action:
node_modules/es-abstract/2017/CreateDataPropertyOrThrow.js
| 25 lines
| 736 B
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var GetIntrinsic = require('../GetIntrinsic'); | ||||
var $TypeError = GetIntrinsic('%TypeError%'); | ||||
var CreateDataProperty = require('./CreateDataProperty'); | ||||
var IsPropertyKey = require('./IsPropertyKey'); | ||||
var Type = require('./Type'); | ||||
// // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow | ||||
module.exports = function CreateDataPropertyOrThrow(O, P, V) { | ||||
if (Type(O) !== 'Object') { | ||||
throw new $TypeError('Assertion failed: Type(O) is not Object'); | ||||
} | ||||
if (!IsPropertyKey(P)) { | ||||
throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); | ||||
} | ||||
var success = CreateDataProperty(O, P, V); | ||||
if (!success) { | ||||
throw new $TypeError('unable to create data property'); | ||||
} | ||||
return success; | ||||
}; | ||||