@hazae41/phobos
Version:
Modern and minimalist testing library for the web
1 lines • 1.06 kB
Source Map (JSON)
{"version":3,"file":"spyer.cjs","sources":["../../../../src/mods/spyer/spyer.ts"],"sourcesContent":["import { Call } from \"mods/spyer/call.js\"\n\nexport function spy<P extends Array<unknown>, R>(\n closure: (...p: P) => R\n) {\n return new Spyer(closure)\n}\n\nexport class Spyer<P extends Array<unknown>, R> {\n constructor(\n readonly closure: (...p: P) => R\n ) { }\n\n readonly calls = new Array<Call<P, R>>()\n\n call(...params: P): R {\n const result = this.closure(...params)\n this.calls.push(new Call(params, result))\n return result\n }\n}"],"names":["Call"],"mappings":";;;;AAEM,SAAU,GAAG,CACjB,OAAuB,EAAA;AAEvB,IAAA,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;MAEY,KAAK,CAAA;AAEL,IAAA,OAAA,CAAA;AADX,IAAA,WAAA,CACW,OAAuB,EAAA;QAAvB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgB;KAC7B;AAEI,IAAA,KAAK,GAAG,IAAI,KAAK,EAAc,CAAA;IAExC,IAAI,CAAC,GAAG,MAAS,EAAA;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAA;AACtC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAIA,SAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AACzC,QAAA,OAAO,MAAM,CAAA;KACd;AACF;;;;;"}