Tags: immerjs/immer
Tags
feat: Optimize Immer performance where possible, introduce `setUseStr… …ictIteration` (#1164) * Use WeakMap caching implementation of isPlainObject * Add some early returns to `finalizeProperty` * Add `strictIteration` option * Add non-strict iteration handling * Use strict iteration option * Switch back to default strict iteration * Fix strict iteration checks * Shorten benchmark array sizes for faster results * Dedupe Map/Set method overrides * Removed old isPlainObject impl * Add early bailout to `isFrozen`
chore(deps): bump webpack from 5.76.1 to 5.94.0 in /website (#1140) Bumps [webpack](https://github.com/webpack/webpack) from 5.76.1 to 5.94.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](webpack/webpack@v5.76.1...v5.94.0) --- updated-dependencies: - dependency-name: webpack dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
feat(performance): Make non-strict mode faster for classes. Addresses #… …1071 Immer 10.x solved slow iteration for plain JS objects. This update applies the same handling to class instances. In cases this makes class instance handling 3 times faster. Note that this slightly modifies the behavior of Immer with classes in obscure corner cases, in ways that match current documentation, but do not match previous behavior. If you run into issues with this release icmw. class instances, use `setUseStrictShallowCopy("class_only")` to revert to the old behavior. For more details see https://immerjs.github.io/immer/complex-objects#semantics-in-detail
PreviousNext