Skip to content

Commit f7c5e5a

Browse files
re-export original from immer (#832)
Co-authored-by: Mark Erikson <[email protected]>
1 parent 12ed030 commit f7c5e5a

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
if: ${{ matrix.ts < 3.7 }}
7474
run: |
7575
sed -i -e "/import .* freeze .* from 'immer'/s/^/\/\/ @ts-ignore\n/" dist/typings.d.ts
76-
sed -i -e "/export .* freeze .* from 'immer'/s/^/\/\/ @ts-ignore\n/" src/index.ts
76+
sed -i -e "/ freeze,/s/^/ \/\/ @ts-ignore\n/" src/index.ts
7777
7878
- name: Use typings-tester for old TS versions
7979
if: ${{ matrix.ts < 3.9 }}

docs/api/otherExports.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ The default immutable update function from the [`immer` library](https://immerjs
3030

3131
[The `current` function](https://immerjs.github.io/immer/docs/current) from the [`immer` library](https://immerjs.github.io/immer/), which takes a snapshot of the current state of a draft and finalizes it (but without freezing). Current is a great utility to print the current state during debugging, and the output of `current` can also be safely leaked outside the producer.
3232

33+
### `original`
34+
35+
[The `original` function](https://immerjs.github.io/immer/docs/original) from the [`immer` library](https://immerjs.github.io/immer/), which returns the original object. This is particularly useful for referential equality check in reducers.
36+
3337
```ts
3438
import { createReducer, createAction, current } from '@reduxjs/toolkit'
3539

etc/redux-toolkit.api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { Dispatch } from 'redux';
1515
import { Draft } from 'immer';
1616
import { freeze } from 'immer';
1717
import { Middleware } from 'redux';
18+
import { original } from 'immer';
1819
import { OutputParametricSelector } from 'reselect';
1920
import { OutputSelector } from 'reselect';
2021
import { ParametricSelector } from 'reselect';
@@ -374,6 +375,8 @@ export class MiddlewareArray<Middlewares extends Middleware<any, any>> extends A
374375
// @public (undocumented)
375376
export let nanoid: (size?: number) => string;
376377

378+
export { original }
379+
377380
export { OutputParametricSelector }
378381

379382
export { OutputSelector }

src/index.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import { enableES5 } from 'immer'
22
export * from 'redux'
3-
// @ts-ignore
4-
export { default as createNextState, Draft, current, freeze } from 'immer'
3+
export {
4+
default as createNextState,
5+
Draft,
6+
current,
7+
freeze,
8+
original
9+
} from 'immer'
510
export {
611
createSelector,
712
Selector,

0 commit comments

Comments
 (0)