Skip to content

Commit

Permalink
add some docs
Browse files Browse the repository at this point in the history
  • Loading branch information
zloirock committed Jul 22, 2023
1 parent 5c61011 commit 310a81f
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 1 deletion.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Expand Up @@ -25,6 +25,12 @@
- Moved back into [the initial proposal](https://github.com/tc39/proposal-explicit-resource-management) -> moved to stage 3, [proposal-explicit-resource-management/154](https://github.com/tc39/proposal-explicit-resource-management/pull/154)
- Added `/actual/` namespace entries, disabled forced replacement
- Ignore return value of `[@@dispose]()` method when hint is `async-dispose`, [proposal-explicit-resource-management/180](https://github.com/tc39/proposal-explicit-resource-management/pull/180)
- Added some methods from [`Float16Array` stage 3 proposal](https://github.com/tc39/proposal-float16array):
- There are some reason why I don't want to add `Float16Array` right now, however, make sense to add some methods from this proposal.
- Methods:
- `Math.f16round`
- `DataView.prototype.getFloat16`
- `DataView.prototype.setFloat16`
- Added [`DataView` get / set `Uint8Clamped` methods stage 1 proposal](https://github.com/tc39/proposal-dataview-get-set-uint8clamped):
- Methods:
- `DataView.prototype.getUint8Clamped`
Expand Down
36 changes: 36 additions & 0 deletions README.md
Expand Up @@ -158,6 +158,7 @@ structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3])
- [New `Set` methods](#new-set-methods)
- [`Promise.withResolvers`](#promisewithresolvers)
- [`JSON.parse` source text access](#jsonparse-source-text-access)
- [`Float16` methods](#float16-methods)
- [`ArrayBuffer.prototype.transfer` and friends](#arraybufferprototypetransfer-and-friends)
- [Explicit resource management](#explicit-resource-management)
- [`Symbol.metadata` for decorators metadata proposal](#symbolmetadata-for-decorators-metadata-proposal)
Expand Down Expand Up @@ -2359,6 +2360,35 @@ JSON.parse(String(wayTooBig), digitsToBigInt) === wayTooBig; // true
const embedded = JSON.stringify({ tooBigForNumber }, bigIntToRawJSON);
embedded === '{"tooBigForNumber":9007199254740993}'; // true
```
##### [`Float16` methods](https://github.com/tc39/proposal-float16array)[⬆](#index)
Modules [`esnext.data-view.get-uint8-clamped`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.data-view.get-uint8-clamped.js), [`esnext.data-view.set-uint8-clamped`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.data-view.set-uint8-clamped.js) and [`esnext.math.f16round`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.math.f16round.js)
```js
class DataView {
getFloat16(offset: any): number
setFloat16(offset: any, value: any): void;
}

namespace Math {
fround(number: any): number;
}
```
[*CommonJS entry points:*](#commonjs-api)
```js
core-js/proposals/float16
core-js/actual|full/dataview/get-float16
core-js/actual|full/dataview/set-float16
core-js/actual|full/math/f16round
```
[Examples](https://tinyurl.com/2zxkrwub):
```js
console.log(Math.f16round(1.337)); // => 1.3369140625

const view = new DataView(new ArrayBuffer(2));
view.setFloat16(0, 1.337);
console.log(view.getFloat16(0)); // => 1.3369140625
```
##### [`ArrayBuffer.prototype.transfer` and friends](#https://github.com/tc39/proposal-arraybuffer-transfer)[⬆](#index)
Note: **`ArrayBuffer.prototype.{ transfer, transferToFixedLength }` polyfilled only in runtime with native `structuredClone` with `ArrayBuffer` transfer support.**
Modules [`esnext.array-buffer.detached`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.array-buffer.detached.js), [`esnext.array-buffer.transfer`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.array-buffer.transfer.js), [`esnext.array-buffer.transfer-to-fixed-length`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js).
Expand Down Expand Up @@ -2920,6 +2950,12 @@ core-js/proposals/data-view-get-set-uint8-clamped
core-js/full/dataview/get-uint8-clamped
core-js/full/dataview/set-uint8-clamped
```
[Examples](https://tinyurl.com/2h4zv8sw):
```js
const view = new DataView(new ArrayBuffer(1));
view.setUint8Clamped(0, 100500);
console.log(view.getUint8Clamped(0)); // => 255
```
##### [`Number.fromString`](https://github.com/tc39/proposal-number-fromstring)[⬆](#index)
Module [`esnext.number.from-string`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.number.from-string.js)
Expand Down
2 changes: 1 addition & 1 deletion tests/unit-global/esnext.data-view.set-float16.js
Expand Up @@ -26,7 +26,7 @@ QUnit.test('DataView.prototype.{ getFloat16, setFloat16 }', assert => {
[0b1111101111111111, -65504],
[0b0000000000000001, 2 ** -24],
[0b1000000000000001, -(2 ** -24)],
// [0b0111110000000001, NaN], <- what NaN should be used?
// [0b0111110000000001, NaN], <- what NaN representation should be used?
[0b0111110000000000, Infinity],
[0b1111110000000000, -Infinity],
];
Expand Down

0 comments on commit 310a81f

Please sign in to comment.