Skip to content

Commit c8a8167

Browse files
committed
extract a-data-view helper
1 parent e8e1437 commit c8a8167

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
'use strict';
2+
var classof = require('../internals/classof');
3+
4+
var $TypeError = TypeError;
5+
6+
module.exports = function (argument) {
7+
if (classof(argument) === 'DataView') return argument;
8+
throw new $TypeError('Argument is not a DataView');
9+
};

packages/core-js/modules/esnext.data-view.set-float16.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
'use strict';
22
var $ = require('../internals/export');
33
var uncurryThis = require('../internals/function-uncurry-this');
4-
var classof = require('../internals/classof');
4+
var aDataView = require('../internals/a-data-view');
55
var toIndex = require('../internals/to-index');
66
var packIEEE754 = require('../internals/ieee754').pack;
77
var f16round = require('../internals/math-f16round');
88

9-
var $TypeError = TypeError;
109
// eslint-disable-next-line es/no-typed-arrays -- safe
1110
var setUint16 = uncurryThis(DataView.prototype.setUint16);
1211

1312
// `DataView.prototype.setFloat16` method
1413
// https://github.com/tc39/proposal-float16array
1514
$({ target: 'DataView', proto: true }, {
1615
setFloat16: function setFloat16(byteOffset, value /* , littleEndian */) {
17-
if (classof(this) !== 'DataView') throw new $TypeError('Incorrect receiver');
16+
aDataView(this);
1817
var offset = toIndex(byteOffset);
1918
var bytes = packIEEE754(f16round(value), 10, 2);
2019
return setUint16(this, offset, bytes[1] << 8 | bytes[0], arguments.length > 2 ? arguments[2] : false);

packages/core-js/modules/esnext.data-view.set-uint8-clamped.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
'use strict';
22
var $ = require('../internals/export');
33
var uncurryThis = require('../internals/function-uncurry-this');
4-
var classof = require('../internals/classof');
4+
var aDataView = require('../internals/a-data-view');
55
var toIndex = require('../internals/to-index');
66
var toUint8Clamped = require('../internals/to-uint8-clamped');
77

8-
var $TypeError = TypeError;
98
// eslint-disable-next-line es/no-typed-arrays -- safe
109
var setUint8 = uncurryThis(DataView.prototype.setUint8);
1110

1211
// `DataView.prototype.setUint8Clamped` method
1312
// https://github.com/tc39/proposal-dataview-get-set-uint8clamped
1413
$({ target: 'DataView', proto: true, forced: true }, {
1514
setUint8Clamped: function setUint8Clamped(byteOffset, value) {
16-
if (classof(this) !== 'DataView') throw new $TypeError('Incorrect receiver');
15+
aDataView(this);
1716
var offset = toIndex(byteOffset);
1817
return setUint8(this, offset, toUint8Clamped(value));
1918
}

0 commit comments

Comments
 (0)