Skip to content

Commit 44e5055

Browse files
authored
Export miniSerializeError (#980)
1 parent 4575139 commit 44e5055

File tree

4 files changed

+32
-2
lines changed

4 files changed

+32
-2
lines changed

docs/api/otherExports.mdx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,24 @@ console.log(nanoid())
2020
// 'dgPXxUz_6fWIQBD8XmiSy'
2121
```
2222

23+
### `miniSerializeError`
24+
25+
A re-worked, inlined copy of [`serialize-error`](https://github.com/sindresorhus/serialize-error). Serializes an error into a plain object. `createAsyncThunk` uses this by default for rejected cases. May also be useful other other cases as well.
26+
27+
Returns a plain object with optional `name`, `message`, `stack` and `code` properties.
28+
29+
```ts
30+
import { miniSerializeError } from '@reduxjs/toolkit'
31+
32+
const serializedError = miniSerializeError(new Error('Something has gone wrong'))
33+
console.log(serializedError.name)
34+
// "Error"
35+
console.log(serializedError.message)
36+
// "Something has gone wrong"
37+
console.log(serializedError.stack)
38+
// "Error: Something has gone wrong↵ at <anonymous>:24:34"
39+
```
40+
2341
## Exports from Other Libraries
2442

2543
### `createNextState`

etc/redux-toolkit.api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,9 @@ export class MiddlewareArray<Middlewares extends Middleware<any, any>> extends A
394394
prepend<AdditionalMiddlewares extends ReadonlyArray<Middleware<any, any>>>(...items: AdditionalMiddlewares): MiddlewareArray<AdditionalMiddlewares[number] | Middlewares>;
395395
}
396396

397+
// @public
398+
export const miniSerializeError: (value: any) => SerializedError;
399+
397400
// @public (undocumented)
398401
export let nanoid: (size?: number) => string;
399402

src/createAsyncThunk.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ class RejectWithValue<RejectValue> {
4848
constructor(public readonly payload: RejectValue) {}
4949
}
5050

51-
// Reworked from https://github.com/sindresorhus/serialize-error
51+
/**
52+
* Serializes an error into a plain object.
53+
* Reworked from https://github.com/sindresorhus/serialize-error
54+
*
55+
* @public
56+
*/
5257
export const miniSerializeError = (value: any): SerializedError => {
5358
if (typeof value === 'object' && value !== null) {
5459
const simpleError: SerializedError = {}

src/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,11 @@ export type {
117117
Comparer,
118118
} from './entities/models'
119119

120-
export { createAsyncThunk, unwrapResult } from './createAsyncThunk'
120+
export {
121+
createAsyncThunk,
122+
unwrapResult,
123+
miniSerializeError,
124+
} from './createAsyncThunk'
121125
export type {
122126
AsyncThunk,
123127
AsyncThunkOptions,

0 commit comments

Comments
 (0)