MCPcopy Index your code
hub / github.com/nodejs/node / createDeferredCallback

Function createDeferredCallback

lib/internal/test_runner/utils.js:78–105  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

76const kDefaultPattern = `**/{${ArrayPrototypeJoin(kPatterns, ',')}}.{${ArrayPrototypeJoin(kFileExtensions, ',')}}`;
77
78function createDeferredCallback() {
79 let calledCount = 0;
80 const { promise, resolve, reject } = PromiseWithResolvers();
81 const cb = (err) => {
82 calledCount++;
83
84 // If the callback is called a second time, let the user know, but
85 // don't let them know more than once.
86 if (calledCount > 1) {
87 if (calledCount === 2) {
88 throw new ERR_TEST_FAILURE(
89 'callback invoked multiple times',
90 kMultipleCallbackInvocations,
91 );
92 }
93
94 return;
95 }
96
97 if (err) {
98 return reject(err);
99 }
100
101 resolve();
102 };
103
104 return { __proto__: null, promise, cb };
105}
106
107function isTestFailureError(err) {
108 return err?.code === 'ERR_TEST_FAILURE' && kIsNodeError in err;

Callers 1

runMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…