'use strict';varGetIntrinsic=require('../GetIntrinsic');var$TypeError=GetIntrinsic('%TypeError%');varIsPropertyKey=require('./IsPropertyKey');varType=require('./Type');// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throwmodule.exports=functionSet(O,P,V,Throw){if(Type(O)!=='Object'){thrownew$TypeError('Assertion failed: `O` must be an Object');}if(!IsPropertyKey(P)){thrownew$TypeError('Assertion failed: `P` must be a Property Key');}if(Type(Throw)!=='Boolean'){thrownew$TypeError('Assertion failed: `Throw` must be a Boolean');}if(Throw){O[P]=V;// eslint-disable-line no-param-reassignreturntrue;}else{try{O[P]=V;// eslint-disable-line no-param-reassign}catch(e){returnfalse;}}};