MCPcopy
hub / github.com/prisma/prisma / callOnceOnSuccess

Function callOnceOnSuccess

packages/internals/src/utils/callOnce.ts:13–28  ·  view source on GitHub ↗
(fn: AsyncFn<Args, R>)

Source from the content-addressed store, hash-verified

11 * @returns
12 */
13export function callOnceOnSuccess<Args extends unknown[], R>(fn: AsyncFn<Args, R>): AsyncFn<Args, R> {
14 let result: Promise<R> | undefined
15
16 return (...args) => {
17 if (result) {
18 return result
19 }
20
21 result = fn(...args).catch((err) => {
22 result = undefined
23 throw err
24 })
25
26 return result
27 }
28}

Callers 1

callOnce.test.tsFile · 0.90

Calls 2

catchMethod · 0.80
fnFunction · 0.50

Tested by

no test coverage detected