javascript / expert
Snippet
Proxy-basierte Aufruf-Spione für Server-Action-Integrationstests
Verwendet ES6-Proxy-Traps (apply-Trap) und Reflect.apply, um Funktionsaufrufe abzufangen und Aufruf-Telemetrie bei Server-Action-Tests zu erfassen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
export function createActionSpy(targetFn) {const calls = [];const spy = new Proxy(targetFn, {apply(target, thisArg, argArray) {const callRecord = { args: argArray, timestamp: Date.now() };calls.push(callRecord);return Reflect.apply(target, thisArg, argArray);}});return { spy, calls };}
nextjs
Erklärung
1
const spy = new Proxy(targetFn, {
Erstellt einen ES6-Proxy um die Zielfunktion zum Abfangen von Laufzeit-Operationen.
2
apply(target, thisArg, argArray) {
Trap-Methode, die aufgerufen wird, sobald die gefangene Zielfunktion direkt ausgeführt wird.
3
return Reflect.apply(target, thisArg, argArray);
Leitet den Funktionsaufruf unter Verwendung von Reflect-Primitiven an das Originalziel weiter.