Skip to content

Commit bed1535

Browse files
author
Simon he
committed
feature: add interceptError
1 parent d1b7713 commit bed1535

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ export { isSymbol } from './isSymbol'
2323
export { isNull } from './isNull'
2424
export { isReg } from './isReg'
2525
export { VFetch } from './VFetch'
26+
export { interceptError } from './interceptError'

src/interceptError.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export function interceptError(fn: Function) {
2+
return new Promise((resolve, reject) => {
3+
try {
4+
resolve(fn())
5+
}
6+
catch (error) {
7+
console.error(error)
8+
reject(error)
9+
}
10+
})
11+
}

test/basic.test.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it } from 'vitest'
2-
import { asyncPool, curry, debounce, deepClone, deepCompare, deepMerge, memorizeFn, quickFilter, quickFind, throttle, transformKey, traverse } from 'simon-js-tool'
2+
import { asyncPool, curry, debounce, deepClone, deepCompare, deepMerge, interceptError, memorizeFn, quickFilter, quickFind, throttle, transformKey, traverse } from '../src'
33

44
describe('Test 1', () => {
55
it('deepMerge test', () => {
@@ -470,3 +470,12 @@ describe('Test 12', () => {
470470
expect(count).toBe(1)
471471
})
472472
})
473+
474+
describe('Test 13', async () => {
475+
it('interceptError test', async () => {
476+
function add() {
477+
count++
478+
}
479+
expect(await interceptError(add).catch(e => e)).toMatchInlineSnapshot('[ReferenceError: count is not defined]')
480+
})
481+
})

0 commit comments

Comments
 (0)