diff --git a/CHANGELOG.md b/CHANGELOG.md index 2208623cbf38..33a63bc7ddc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,11 @@ - `Math.sumPrecise` - Moved to stage 3, [October 2024 TC39 meeting](https://x.com/robpalmer2/status/1843829675036160179) - Added `/actual/` namespace entries, unconditional forced replacement changed to feature detection +- [`DataView` get / set `Uint8Clamped` methods proposal](https://github.com/tc39/proposal-dataview-get-set-uint8clamped): + - Methods: + - `DataView.prototype.getUint8Clamped` + - `DataView.prototype.setUint8Clamped` + - Moved to stage 2, October 2024 TC39 meeting - Compat data improvements: - [`JSON.parse` source text access proposal](https://github.com/tc39/proposal-json-parse-with-source) features marked as [supported from FF132](https://bugzilla.mozilla.org/show_bug.cgi?id=1913085) - `self` descriptor [is fixed](https://github.com/denoland/deno/issues/24683) in Deno 1.46.0 diff --git a/README.md b/README.md index cf26e3965570..b7ebff0d8bfc 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,7 @@ structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3]) - [`Array.isTemplateObject`](#arrayistemplateobject) - [`String.dedent`](#stringdedent) - [`Symbol` predicates](#symbol-predicates) + - [`DataView` get / set `Uint8Clamped` methods](#dataview-get-set-iint8clamped-methods) - [Stage 1 proposals](#stage-1-proposals) - [`Observable`](#observable) - [New collections methods](#new-collections-methods) @@ -182,7 +183,6 @@ structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3]) - [`compositeKey` and `compositeSymbol`](#compositekey-and-compositesymbol) - [`Array` filtering](#array-filtering) - [`Array` deduplication](#array-deduplication) - - [`DataView` get / set `Uint8Clamped` methods](#dataview-get-set-iint8clamped-methods) - [`Number.fromString`](#numberfromstring) - [`String.cooked`](#stringcooked) - [`String.prototype.codePoints`](#stringprototypecodepoints) @@ -2846,6 +2846,27 @@ Symbol.isWellKnownSymbol(Symbol.iterator); // => true Symbol.isWellKnownSymbol(Symbol('key')); // => false ``` +##### [`DataView` get / set `Uint8Clamped` methods](https://github.com/tc39/proposal-dataview-get-set-uint8clamped)[⬆](#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) and [`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) +```ts +class DataView { + getUint8Clamped(offset: any): uint8 + setUint8Clamped(offset: any, value: any): void; +} +``` +[*CommonJS entry points:*](#commonjs-api) +``` +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 +``` + #### Stage 1 proposals[⬆](#index) [*CommonJS entry points:*](#commonjs-api) ``` @@ -3068,27 +3089,6 @@ core-js/full/typed-array/unique-by ].uniqueBy(it => it.uid); // => [{ id: 1, uid: 10000 }, { id: 3, uid: 10001 }] ``` -##### [`DataView` get / set `Uint8Clamped` methods](https://github.com/tc39/proposal-dataview-get-set-uint8clamped)[⬆](#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) and [`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) -```ts -class DataView { - getUint8Clamped(offset: any): uint8 - setUint8Clamped(offset: any, value: any): void; -} -``` -[*CommonJS entry points:*](#commonjs-api) -``` -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) ```ts diff --git a/packages/core-js/stage/1.js b/packages/core-js/stage/1.js index 4f59dad3533f..f80815bdf18a 100644 --- a/packages/core-js/stage/1.js +++ b/packages/core-js/stage/1.js @@ -6,7 +6,6 @@ require('../proposals/array-last'); require('../proposals/array-unique'); require('../proposals/collection-methods'); require('../proposals/collection-of-from'); -require('../proposals/data-view-get-set-uint8-clamped'); require('../proposals/extractors'); require('../proposals/keys-composition'); require('../proposals/math-extensions'); diff --git a/packages/core-js/stage/2.js b/packages/core-js/stage/2.js index b2dd9d4773f8..b4b53cd983c2 100644 --- a/packages/core-js/stage/2.js +++ b/packages/core-js/stage/2.js @@ -3,6 +3,7 @@ var parent = require('./2.7'); require('../proposals/array-is-template-object'); require('../proposals/async-iterator-helpers'); +require('../proposals/data-view-get-set-uint8-clamped'); require('../proposals/iterator-range'); require('../proposals/map-upsert-stage-2'); require('../proposals/string-dedent');