esnext.data-view.set-uint8-clamped.js 838 B

1234567891011121314151617181920
  1. 'use strict';
  2. var $ = require('../internals/export');
  3. var uncurryThis = require('../internals/function-uncurry-this');
  4. var classof = require('../internals/classof');
  5. var toIndex = require('../internals/to-index');
  6. var toUint8Clamped = require('../internals/to-uint8-clamped');
  7. var $TypeError = TypeError;
  8. // eslint-disable-next-line es/no-typed-arrays -- safe
  9. var setUint8 = uncurryThis(DataView.prototype.setUint8);
  10. // `DataView.prototype.setUint8Clamped` method
  11. // https://github.com/tc39/proposal-dataview-get-set-uint8clamped
  12. $({ target: 'DataView', proto: true, forced: true }, {
  13. setUint8Clamped: function setUint8Clamped(byteOffset, value) {
  14. if (classof(this) !== 'DataView') throw new $TypeError('Incorrect receiver');
  15. var offset = toIndex(byteOffset);
  16. return setUint8(this, offset, toUint8Clamped(value));
  17. }
  18. });