vitest-auto-spy 1.8.2 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -4
- package/assets/one-api-three-runtimes.svg +40 -22
- package/dist/angular.cjs +1 -1
- package/dist/angular.d.cts +2 -2
- package/dist/angular.d.ts +2 -2
- package/dist/angular.js +1 -1
- package/dist/bun.cjs +1 -1
- package/dist/bun.d.cts +15 -4
- package/dist/bun.d.ts +15 -4
- package/dist/bun.js +1 -1
- package/dist/chunk-HDCUMVHT.js +1 -0
- package/dist/chunk-N724W7OZ.js +1 -0
- package/dist/chunk-Q4FBVCJO.js +1 -0
- package/dist/chunk-RTGT5WHR.js +1 -0
- package/dist/chunk-T3N4PY2U.js +1 -0
- package/dist/console.cjs +1 -1
- package/dist/console.d.cts +1 -1
- package/dist/console.d.ts +1 -1
- package/dist/console.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/nestjs.cjs +1 -1
- package/dist/nestjs.d.cts +1 -1
- package/dist/nestjs.d.ts +1 -1
- package/dist/nestjs.js +1 -1
- package/dist/node.cjs +1 -1
- package/dist/node.d.cts +2 -2
- package/dist/node.d.ts +2 -2
- package/dist/node.js +1 -1
- package/dist/react.cjs +1 -1
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +1 -1
- package/dist/rxjs.cjs +1 -1
- package/dist/rxjs.d.cts +2 -2
- package/dist/rxjs.d.ts +2 -2
- package/dist/rxjs.js +1 -1
- package/dist/svelte.cjs +1 -1
- package/dist/svelte.d.cts +2 -2
- package/dist/svelte.d.ts +2 -2
- package/dist/svelte.js +1 -1
- package/dist/{types-Cv3L71P0.d.cts → types-BKS6JdLv.d.cts} +13 -1
- package/dist/{types-Cv3L71P0.d.ts → types-BKS6JdLv.d.ts} +13 -1
- package/dist/vue.cjs +1 -1
- package/dist/vue.d.cts +3 -3
- package/dist/vue.d.ts +3 -3
- package/dist/vue.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-6LFQMHSX.js +0 -1
- package/dist/chunk-HVN6A3AX.js +0 -1
- package/dist/chunk-IPBQZ4JC.js +0 -1
- package/dist/chunk-MQCVIN2A.js +0 -1
- package/dist/chunk-WP2TFS53.js +0 -1
package/README.md
CHANGED
|
@@ -635,6 +635,12 @@ beforeEach(() => {
|
|
|
635
635
|
> [`@analogjs/vite-plugin-angular`](https://www.npmjs.com/package/@analogjs/vite-plugin-angular)
|
|
636
636
|
> plus a TestBed setup file (e.g. `@analogjs/vitest-angular`'s `setupTestBed()`).
|
|
637
637
|
|
|
638
|
+
> **Lazy by default.** `provideAutoSpy` builds each method spy on first access
|
|
639
|
+
> (`lazySpies: true`), since Angular tests typically spy a wide service but call
|
|
640
|
+
> only a few of its methods — roughly **4× faster** spy assembly (≈8× on a
|
|
641
|
+
> 20-method service). Behaviour is unchanged; pass `{ lazySpies: false }` to build
|
|
642
|
+
> every spy eagerly.
|
|
643
|
+
|
|
638
644
|
#### Signal / readonly property mocking (bonus)
|
|
639
645
|
|
|
640
646
|
```ts
|
|
@@ -724,6 +730,8 @@ expect(fakeConsole.info).toHaveBeenCalledWith('done');
|
|
|
724
730
|
| --- | --- |
|
|
725
731
|
| `createSpyFromClass(Class, methodsOrConfig?)` | Build a fully-typed `Spy<T>` from a class |
|
|
726
732
|
| `createAutoMock<T>(overrides?)` | Build a `Spy<T>` from a **type/interface** alone (Proxy, no class) |
|
|
733
|
+
| `mockDeep<T>(overrides?)` | Build a **recursive** auto-mock — `mock.repo.user.find()` chains without seeding |
|
|
734
|
+
| `resetAutoSpy(spy)` / `clearAutoSpy(spy)` | Reset every spy in an auto-spy at once — `reset` also reverts return-value config (`calledWith` **and** a bare `mockReturnValue`); `clear` keeps it |
|
|
727
735
|
| `provideAutoSpy(Class, methodsOrConfig?)` | Angular / NestJS `{ provide, useValue }` shorthand |
|
|
728
736
|
| `provideAutoSpy(token, Class, methodsOrConfig?)` | Vue `{ [token]: Spy<T> }` for `global.provide` |
|
|
729
737
|
| `injectSpy(token)` _(Angular)_ / `injectSpy(moduleRef, token)` _(NestJS)_ | Inject typed as `Spy<T>` |
|
|
@@ -734,7 +742,8 @@ expect(fakeConsole.info).toHaveBeenCalledWith('done');
|
|
|
734
742
|
| `installConsoleSpies()` / `resetConsoleSpies()` / `restoreConsole()` | Install / clear / undo the console spies |
|
|
735
743
|
| `errorHandler` | The `mustBeCalledWith` argument-mismatch error helper |
|
|
736
744
|
|
|
737
|
-
**Spied sync method:** `mockReturnValue`, `calledWith(...)`, `mustBeCalledWith(...)`
|
|
745
|
+
**Spied sync method:** `mockReturnValue`, `calledWith(...)`, `mustBeCalledWith(...)` — `calledWith`
|
|
746
|
+
also matches **asymmetric matchers** (`calledWith(expect.any(Number))`, `expect.objectContaining({...})`)
|
|
738
747
|
|
|
739
748
|
**Spied Promise method:** `resolveWith`, `rejectWith`, `resolveWithPerCall`
|
|
740
749
|
|
|
@@ -742,7 +751,8 @@ expect(fakeConsole.info).toHaveBeenCalledWith('done');
|
|
|
742
751
|
`nextWithPerCall`, `throwWith`, `complete`, `returnSubject`
|
|
743
752
|
|
|
744
753
|
**Config (`ClassSpyConfiguration`):** `methodsToSpyOn`, `observablePropsToSpyOn`,
|
|
745
|
-
`gettersToSpyOn`, `settersToSpyOn`
|
|
754
|
+
`gettersToSpyOn`, `settersToSpyOn`, `autoSpyAccessors` (discover every getter/setter),
|
|
755
|
+
`lazySpies` (materialize method spies on first access — cheaper for wide classes; the `provideAutoSpy` default on Angular)
|
|
746
756
|
|
|
747
757
|
`ValueConfig` (for `nextWithValues`): `{ value, delay? }` | `{ errorValue, delay? }` | `{ complete?, delay? }`.
|
|
748
758
|
|
|
@@ -785,11 +795,16 @@ Contributions are welcome! Please read [CONTRIBUTING.md](./CONTRIBUTING.md) and
|
|
|
785
795
|
|
|
786
796
|
```bash
|
|
787
797
|
npm ci
|
|
788
|
-
npm test # run the suite
|
|
789
|
-
npm run test:
|
|
798
|
+
npm test # run the suite once
|
|
799
|
+
npm run test:watch # fast local loop — no v8 coverage instrumentation
|
|
800
|
+
npm run test:coverage # 100% thresholds enforced (slower; for CI / pre-push)
|
|
790
801
|
npm run build
|
|
791
802
|
```
|
|
792
803
|
|
|
804
|
+
> **Tip:** develop against `npm run test:watch` — it skips the v8 coverage
|
|
805
|
+
> instrumentation that `test:coverage` adds, so the feedback loop is noticeably
|
|
806
|
+
> faster. Run `test:coverage` before pushing to confirm the 100% thresholds.
|
|
807
|
+
|
|
793
808
|
Releases are automated: merging a PR into `master` bumps the version from the
|
|
794
809
|
Conventional Commit types and publishes to npm — see
|
|
795
810
|
[CONTRIBUTING.md → Releasing](./CONTRIBUTING.md#releasing).
|
|
@@ -1,9 +1,24 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="840" height="
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="840" height="320" viewBox="0 0 840 320" font-family="ui-sans-serif, -apple-system, Segoe UI, Roboto, sans-serif" role="img" aria-label="One class-based API, three Vitest-compatible runtimes: Vitest, Bun, node:test">
|
|
2
2
|
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#ffffff"/>
|
|
5
|
+
<stop offset="1" stop-color="#eef2fb"/>
|
|
6
|
+
</linearGradient>
|
|
3
7
|
<linearGradient id="card" x1="0" y1="0" x2="0" y2="1">
|
|
4
8
|
<stop offset="0" stop-color="#ffffff"/>
|
|
5
|
-
<stop offset="1" stop-color="#
|
|
9
|
+
<stop offset="1" stop-color="#f5f7fc"/>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="brand" x1="0" y1="0" x2="1" y2="0">
|
|
12
|
+
<stop offset="0" stop-color="#6E9F18"/>
|
|
13
|
+
<stop offset="1" stop-color="#1f6feb"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<linearGradient id="arrow" x1="0" y1="0" x2="1" y2="0">
|
|
16
|
+
<stop offset="0" stop-color="#8c959f"/>
|
|
17
|
+
<stop offset="1" stop-color="#1f6feb"/>
|
|
6
18
|
</linearGradient>
|
|
19
|
+
<filter id="shadow" x="-20%" y="-20%" width="140%" height="160%">
|
|
20
|
+
<feDropShadow dx="0" dy="6" stdDeviation="10" flood-color="#1f2a44" flood-opacity="0.14"/>
|
|
21
|
+
</filter>
|
|
7
22
|
<style>
|
|
8
23
|
@media (prefers-color-scheme: dark) {
|
|
9
24
|
.bg { fill: #0d1117; }
|
|
@@ -11,41 +26,44 @@
|
|
|
11
26
|
.title { fill: #e6edf3; }
|
|
12
27
|
.sub { fill: #8b949e; }
|
|
13
28
|
.code { fill: #e6edf3; }
|
|
14
|
-
.
|
|
15
|
-
.
|
|
16
|
-
.
|
|
29
|
+
.fn { fill: #d2a8ff; }
|
|
30
|
+
.type { fill: #7ee787; }
|
|
31
|
+
.punct { fill: #8b949e; }
|
|
32
|
+
.arrow { stroke: url(#arrow); }
|
|
17
33
|
}
|
|
18
34
|
</style>
|
|
19
35
|
</defs>
|
|
20
36
|
|
|
21
|
-
<rect class="bg" width="840" height="
|
|
37
|
+
<rect class="bg" width="840" height="320" fill="url(#bg)" rx="18"/>
|
|
22
38
|
|
|
23
|
-
<text class="title" x="40" y="
|
|
24
|
-
<text class="sub" x="40" y="
|
|
39
|
+
<text class="title" x="40" y="58" font-size="30" font-weight="700" fill="#0d1117">vitest-auto-spy</text>
|
|
40
|
+
<text class="sub" x="40" y="86" font-size="16" fill="#57606a">One class-based API. Every Vitest-compatible runtime.</text>
|
|
25
41
|
|
|
26
42
|
<!-- source call -->
|
|
27
|
-
<rect class="card" x="40" y="
|
|
28
|
-
<text
|
|
29
|
-
<text class="code" x="62" y="176" font-size="16" font-family="ui-monospace, SFMono-Regular, Menlo, monospace" fill="#0d1117">  UserService)</text>
|
|
43
|
+
<rect class="card" x="40" y="126" width="330" height="76" rx="14" fill="url(#card)" stroke="#d0d7de" filter="url(#shadow)"/>
|
|
44
|
+
<text x="64" y="170" font-size="15" font-family="ui-monospace, SFMono-Regular, Menlo, monospace"><tspan class="fn" fill="#8250df">createSpyFromClass</tspan><tspan class="punct" fill="#6e7781">(</tspan><tspan class="type" fill="#0550ae">UserService</tspan><tspan class="punct" fill="#6e7781">)</tspan></text>
|
|
30
45
|
|
|
31
46
|
<!-- arrow -->
|
|
32
|
-
<line class="arrow" x1="378" y1="
|
|
33
|
-
<polygon points="
|
|
47
|
+
<line class="arrow" x1="378" y1="164" x2="474" y2="164" stroke="url(#arrow)" stroke-width="2.5" stroke-linecap="round"/>
|
|
48
|
+
<polygon points="474,158 488,164 474,170" fill="#1f6feb"/>
|
|
34
49
|
|
|
35
50
|
<!-- fully-typed spy -->
|
|
36
|
-
<rect class="card" x="490" y="
|
|
37
|
-
<text class="title" x="
|
|
38
|
-
<text class="sub" x="
|
|
51
|
+
<rect class="card" x="490" y="126" width="330" height="76" rx="14" fill="url(#card)" stroke="#d0d7de" filter="url(#shadow)"/>
|
|
52
|
+
<text class="title" x="514" y="158" font-size="16" font-weight="600" fill="#0d1117">Spy<UserService></text>
|
|
53
|
+
<text class="sub" x="514" y="182" font-size="12" fill="#57606a">typed methods + resolveWith / nextWith / calledWith</text>
|
|
39
54
|
|
|
40
55
|
<!-- runtime chips -->
|
|
41
56
|
<g>
|
|
42
|
-
<rect
|
|
43
|
-
<
|
|
57
|
+
<rect x="40" y="244" width="240" height="48" rx="24" fill="#ddf4ff" stroke="#54aeff"/>
|
|
58
|
+
<circle cx="70" cy="268" r="6" fill="#6E9F18"/>
|
|
59
|
+
<text x="164" y="273" font-size="17" font-weight="600" text-anchor="middle" fill="#0969da">Vitest</text>
|
|
44
60
|
|
|
45
|
-
<rect
|
|
46
|
-
<
|
|
61
|
+
<rect x="300" y="244" width="240" height="48" rx="24" fill="#fbe9f4" stroke="#f472b6"/>
|
|
62
|
+
<circle cx="330" cy="268" r="6" fill="#fbf0df" stroke="#e0a96d" stroke-width="1.5"/>
|
|
63
|
+
<text x="424" y="273" font-size="17" font-weight="600" text-anchor="middle" fill="#be185d">Bun  (bun:test)</text>
|
|
47
64
|
|
|
48
|
-
<rect
|
|
49
|
-
<
|
|
65
|
+
<rect x="560" y="244" width="240" height="48" rx="24" fill="#e6f4ea" stroke="#5aa469"/>
|
|
66
|
+
<circle cx="590" cy="268" r="6" fill="#539e43"/>
|
|
67
|
+
<text x="684" y="273" font-size="17" font-weight="600" text-anchor="middle" fill="#2f7d32">node:test</text>
|
|
50
68
|
</g>
|
|
51
69
|
</svg>
|
package/dist/angular.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vitest=require('vitest'),testing=require('@angular/core/testing');var
|
|
1
|
+
'use strict';var vitest=require('vitest'),testing=require('@angular/core/testing');var m;function w(e){m=e;}var L="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function u(){if(!m)throw new Error(L);return m}var h={createMockFn(e,t){let n=e?vitest.vi.fn(e):vitest.vi.fn();return t!==void 0&&n.mockName(t),n},spyOnGetter(e,t){return vitest.vi.spyOn(e,t,"get")},spyOnSetter(e,t){return vitest.vi.spyOn(e,t,"set")},getCalls(e){return e.mock.calls},reset(e){e.mockReset();},clear(e){e.mockClear();},restoreImplementation(e,t){e.mockImplementation(t);}};var N=Symbol.for("vitest-auto-spy.mock"),U=Symbol.for("vitest-auto-spy.resetConfig"),q=Symbol.for("vitest-auto-spy.clearHook");function y(e){Object.defineProperty(e,N,{value:true,enumerable:false,configurable:true});}function T(e,t){Object.defineProperty(e,U,{value:t,enumerable:false,configurable:true});}function v(e,t){Object.defineProperty(e,q,{value:t,enumerable:false,configurable:true});}function j(e,t){Object.defineProperty(e,t,{get(){},set(n){},configurable:true});}function M(e,t,n){let r=u(),o=n==="setter"?r.spyOnSetter(e,t):r.spyOnGetter(e,t);return y(o),o}function C(e,t,n){let r={getters:{},setters:{}};e.accessorSpies=r,t.forEach(o=>{j(e,o),r.getters[o]=M(e,o,"getter");}),n.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||j(e,o),r.setters[o]=M(e,o,"setter");});}function Y(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function J(e,t){return Object.entries(e).map(([n,r])=>`${n}:${i(r,t)}`).join(",")}function X(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${i(r,t)},${i(o,t)}]`).join(",")}])`}function Q(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=X(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>i(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>i(r,t)).join(",")}]`:n=`{${J(e,t)}}`,t.delete(e),n}function g(e){return typeof e=="string"?Y(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function O(e){return typeof e=="object"&&e!==null}function i(e,t=new WeakSet){return typeof e=="object"&&e!==null?Q(e,t):g(e)}function R(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function Z(e){return e.some(R)}var l=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&Z(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(O)?`[${t.map(n=>g(n)).join(",")}]`:i(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#s(r,n[o]))}#s(t,n){return R(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var ee=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,te="But the function was called without any arguments.",ne=e=>{let t=i(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},A={throwArgumentsError(e,t){let n=e.length===0?te:ne(e);throw new Error(ee(t)+n)}};var re="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function P(){throw new Error(re);}function p(e,t){return Object.assign(e,t)}function oe(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function F(e,t){p(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:oe(n)});}});}function x(e,t){F(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function V(e,t){F(e,n=>{e.argsToValuesMap.set(t,n);});}var se={record:e=>e,clear:()=>{}};function ie(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function E(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return se;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),ie(r)?r.then(s=>{o.type="fulfilled",o.value=s;},s=>{o.type="rejected",o.value=s;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}function ce(e){return typeof e=="object"&&e!==null&&"value"in e}function $(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function W(e,t){let n=e.argsToValuesMap.get(t);return ce(n)?{found:true,value:$(n)}:{found:false,value:void 0}}function ue(e,t,n,r,o){if(e.wasConfigured){let s=W(e,r);if(s.found)return s.value}if(t.wasConfigured){let s=W(t,r);if(s.found)return s.value;A.throwArgumentsError(r,o);}return $(n)}function z(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return p(e,{mockReturnValue:n,returnValue:n}),V(e,t),e}function _(){return {wasConfigured:false,argsToValuesMap:new l}}function H(e){e.wasConfigured=false,e.argsToValuesMap=new l;}function S(e){let t=_(),n=_(),r={value:void 0},o=(...a)=>c.record(ue(t,n,r,a,e)),s=u().createMockFn(o,e),c=E(s);x(s,r);let d=p(s,{calledWith:(...a)=>z(t,a),mustBeCalledWith:(...a)=>z(n,a)});return T(d,()=>{H(t),H(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,u().restoreImplementation(s,o);}),v(d,()=>c.clear()),y(d),d}var K={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function ae(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(n=>n!=="constructor"&&!t[n]?.get)}function B(e,t){let n=e;for(;n;){let r=Object.getPrototypeOf(n);r&&t(n),n=r;}}var I=new WeakMap;function G(e){let t=I.get(e);if(t)return t;let n=new Set;B(e,o=>ae(o).forEach(s=>n.add(s)));let r=[...n];return I.set(e,r),r}function le(e){let t=new Set,n=new Set;return B(e,r=>{let o=Object.getOwnPropertyDescriptors(r);Object.keys(o).forEach(s=>{s!=="constructor"&&(o[s]?.get&&t.add(s),o[s]?.set&&n.add(s));});}),{getters:[...t],setters:[...n]}}function pe(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let n=le(e);return {getters:[...new Set([...t.gettersToSpyOn,...n.getters])],setters:[...new Set([...t.settersToSpyOn,...n.setters])]}}function de(e,t){let n=new Set(G(e.prototype)),r=t.filter(o=>!n.has(o));r.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${r.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function fe(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let n=S(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n}),n}});}function ye(e){return e?Array.isArray(e)?{...K,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...K}}function D(e,t){let n=ye(t),r=n.methodsToSpyOn.length>0?n.methodsToSpyOn:G(e.prototype);n.methodsToSpyOn.length>0&&de(e,n.methodsToSpyOn);let o={};n.observablePropsToSpyOn.forEach(c=>{o[c]=P().createPropSpy();});let s=pe(e.prototype,n);return C(o,s.getters,s.setters),r.forEach(c=>{n.lazySpies?fe(o,c):o[c]=S(c);}),o}function ge(e){return e?Array.isArray(e)?{methodsToSpyOn:e,lazySpies:true}:{...e,lazySpies:e.lazySpies??true}:{lazySpies:true}}function ke(e,t){return {provide:e,useValue:D(e,ge(t))}}function be(e){return testing.TestBed.inject(e)}function Se(e,t,n){Object.defineProperty(e,t,{get:()=>n,configurable:true});}function we(e,t,n){Object.defineProperty(e,t,{get:n,configurable:true});}function he(e,t){let n=u();Object.defineProperty(e,t,{get:n.createMockFn(),set:n.createMockFn(),configurable:true});}w(h);exports.injectSpy=be;exports.mockAccessorsProp=he;exports.mockReadonlyProp=Se;exports.mockReadonlyPropGetter=we;exports.provideAutoSpy=ke;
|
package/dist/angular.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as ClassType, S as Spy, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-
|
|
1
|
+
import { C as ClassType, S as Spy, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-BKS6JdLv.cjs';
|
|
2
2
|
import 'rxjs';
|
|
3
3
|
import 'vitest';
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ type AngularValueProvider<T> = {
|
|
|
7
7
|
provide: ClassType<T>;
|
|
8
8
|
useValue: Spy<T>;
|
|
9
9
|
};
|
|
10
|
-
/** Shorthand Angular provider: `{ provide, useValue: createSpyFromClass(...) }
|
|
10
|
+
/** Shorthand Angular provider: `{ provide, useValue: createSpyFromClass(...) }` (lazy spies by default). */
|
|
11
11
|
declare function provideAutoSpy<T>(ObjectClass: ClassType<T>, methodsToSpyOnOrConfig?: ClassSpyConfiguration<T> | OnlyMethodKeysOf<T>[]): AngularValueProvider<T>;
|
|
12
12
|
/** Inject a service from Angular's `TestBed`, already typed as `Spy<T>`. */
|
|
13
13
|
declare function injectSpy<T>(token: ClassType<T> | (abstract new (...args: never[]) => T)): Spy<T>;
|
package/dist/angular.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as ClassType, S as Spy, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-
|
|
1
|
+
import { C as ClassType, S as Spy, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-BKS6JdLv.js';
|
|
2
2
|
import 'rxjs';
|
|
3
3
|
import 'vitest';
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ type AngularValueProvider<T> = {
|
|
|
7
7
|
provide: ClassType<T>;
|
|
8
8
|
useValue: Spy<T>;
|
|
9
9
|
};
|
|
10
|
-
/** Shorthand Angular provider: `{ provide, useValue: createSpyFromClass(...) }
|
|
10
|
+
/** Shorthand Angular provider: `{ provide, useValue: createSpyFromClass(...) }` (lazy spies by default). */
|
|
11
11
|
declare function provideAutoSpy<T>(ObjectClass: ClassType<T>, methodsToSpyOnOrConfig?: ClassSpyConfiguration<T> | OnlyMethodKeysOf<T>[]): AngularValueProvider<T>;
|
|
12
12
|
/** Inject a service from Angular's `TestBed`, already typed as `Spy<T>`. */
|
|
13
13
|
declare function injectSpy<T>(token: ClassType<T> | (abstract new (...args: never[]) => T)): Spy<T>;
|
package/dist/angular.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-HDCUMVHT.js';import {a as a$2}from'./chunk-Q4FBVCJO.js';import {a,c as c$1}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';import {TestBed}from'@angular/core/testing';function s(e){return e?Array.isArray(e)?{methodsToSpyOn:e,lazySpies:true}:{...e,lazySpies:e.lazySpies??true}:{lazySpies:true}}function y(e,r){return {provide:e,useValue:a$2(e,s(r))}}function u(e){return TestBed.inject(e)}function c(e,r,t){Object.defineProperty(e,r,{get:()=>t,configurable:true});}function l(e,r,t){Object.defineProperty(e,r,{get:t,configurable:true});}function T(e,r){let t=c$1();Object.defineProperty(e,r,{get:t.createMockFn(),set:t.createMockFn(),configurable:true});}a(a$1);export{u as injectSpy,T as mockAccessorsProp,c as mockReadonlyProp,l as mockReadonlyPropGetter,y as provideAutoSpy};
|
package/dist/bun.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var bun_test=require('bun:test');function S({createMockFn:e,getCalls:t,reset:r}){return {createMockFn:e,spyOnGetter:(o,n)=>b(e,o,n,"get"),spyOnSetter:(o,n)=>b(e,o,n,"set"),getCalls:t,reset:r}}function b(e,t,r,o){let n=Object.getOwnPropertyDescriptor(t,r),s=o==="get"?n?.get:n?.set,i=e(s),c={configurable:true,enumerable:n?.enumerable??true};return n?.get&&(c.get=n.get),n?.set&&(c.set=n.set),o==="get"?c.get=i:c.set=i,Object.defineProperty(t,r,c),i}function w(e){return S({createMockFn:(r,o)=>{let n=e.mock(r??(()=>{}));return o!==void 0&&n.mockName&&n.mockName(o),n},getCalls:r=>r.mock.calls,reset:r=>r.mockReset()})}var y;function M(e){y=e;}var E="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function d(){if(!y)throw new Error(E);return y}function h(e,t){Object.defineProperty(e,t,{get(){},set(r){},configurable:true});}function O(e,t,r){let o=d();return r==="setter"?o.spyOnSetter(e,t):o.spyOnGetter(e,t)}function T(e,t,r){let o={getters:{},setters:{}};e.accessorSpies=o,t.forEach(n=>{h(e,n),o.getters[n]=O(e,n,"getter");}),r.forEach(n=>{Object.prototype.hasOwnProperty.call(e,n)||h(e,n),o.setters[n]=O(e,n,"setter");});}function _(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function B(e,t){return Object.entries(e).map(([r,o])=>`${r}:${a(o,t)}`).join(",")}function H(e,t){return `new Map([${[...e.entries()].map(([o,n])=>`[${a(o,t)},${a(n,t)}]`).join(",")}])`}function $(e,t){if(t.has(e))return "[Circular]";t.add(e);let r;return e instanceof Date?r=`new Date(${e.getTime()})`:e instanceof Map?r=H(e,t):e instanceof Set?r=`new Set([${[...e].map(o=>a(o,t)).join(",")}])`:Array.isArray(e)?r=`[${e.map(o=>a(o,t)).join(",")}]`:r=`{${B(e,t)}}`,t.delete(e),r}function a(e,t=new WeakSet){return typeof e=="string"?_(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:typeof e=="object"&&e!==null?$(e,t):Object.is(e,-0)?"-0":String(e)}var f=class{#e={};set(t,r){this.#e[this.#t(t)]=r;}get(t){return this.#e[this.#t(t)]}#t(t){return a(t)}};var z=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,D="But the function was called without any arguments.",I=e=>{let t=a(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},m={throwArgumentsError(e,t){let r=e.length===0?D:I(e);throw new Error(z(t)+r)}};var G="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function C(){throw new Error(G);}function u(e,t){return Object.assign(e,t)}function K(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(r=>setTimeout(()=>r(t.value),t.delay))}))}function j(e,t){u(e,{resolveWith:r=>{t({value:Promise.resolve(r)});},rejectWith:r=>{t({value:r,_isRejectedPromise:true});},resolveWithPerCall:r=>{r.length!==0&&t({value:void 0,valuesPerCalls:K(r)});}});}function F(e,t){j(e,r=>{t.value=r.value,t._isRejectedPromise=r._isRejectedPromise??false,t.valuesPerCalls=r.valuesPerCalls??[];});}function A(e,t){j(e,r=>{e.argsToValuesMap.set(t,r);});}function N(e){return typeof e=="object"&&e!==null&&"value"in e}function x(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function P(e,t){let r=e.argsToValuesMap.get(t);return N(r)?{found:true,value:x(r)}:{found:false,value:void 0}}function q(e,t,r,o,n){if(e.wasConfigured){let s=P(e,o);if(s.found)return s.value}if(t.wasConfigured){let s=P(t,o);if(s.found)return s.value;m.throwArgumentsError(o,n);}return x(r)}function R(e,t){e.wasConfigured=true;let r=o=>{e.argsToValuesMap.set(t,{value:o});};return u(e,{mockReturnValue:r,returnValue:r}),A(e,t),e}function v(){return {wasConfigured:false,argsToValuesMap:new f}}function p(e){let t=v(),r=v(),o={value:void 0},n=d().createMockFn((...i)=>q(t,r,o,i,e),e);F(n,o);let s=u(n,{calledWith:(...i)=>R(t,i),mustBeCalledWith:(...i)=>R(r,i)});return s}var V={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[]};function U(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(r=>r!=="constructor"&&!t[r]?.get)}var W=new WeakMap;function L(e){let t=W.get(e);if(t)return t;let r=new Set,o=e;for(;o;){let s=Object.getPrototypeOf(o);s&&U(o).forEach(i=>r.add(i)),o=s;}let n=[...r];return W.set(e,n),n}function J(e){return e?Array.isArray(e)?{...V,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[]}:{...V}}function X(e,t){let{methodsToSpyOn:r,observablePropsToSpyOn:o,settersToSpyOn:n,gettersToSpyOn:s}=J(t),i=r.length>0?r:L(e.prototype),c={};return o.forEach(l=>{c[l]=C().createPropSpy();}),T(c,s,n),i.forEach(l=>{c[l]=p(l);}),c}function Y(e={}){let t=new Map;for(let o of Reflect.ownKeys(e))t.set(o,Reflect.get(e,o));let r={get(o,n){if(t.has(n))return t.get(n);if(typeof n=="symbol"||n==="then"||n==="constructor")return;let s=p(String(n));return t.set(n,s),s},set(o,n,s){return t.set(n,s),true},has(o,n){return t.has(n)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(o,n){if(t.has(n))return {configurable:true,enumerable:true,value:t.get(n),writable:true}}};return new Proxy({},r)}M(w({mock:bun_test.mock}));exports.createAutoMock=Y;exports.createFunctionSpy=p;exports.createSpyFromClass=X;exports.errorHandler=m;
|
|
1
|
+
'use strict';var bun_test=require('bun:test');function v({createMockFn:e,getCalls:t,reset:n,clear:r,restoreImplementation:o}){return {createMockFn:e,spyOnGetter:(s,i)=>O(e,s,i,"get"),spyOnSetter:(s,i)=>O(e,s,i,"set"),getCalls:t,reset:n,clear:r,restoreImplementation:o}}function O(e,t,n,r){let o=Object.getOwnPropertyDescriptor(t,n),s=r==="get"?o?.get:o?.set,i=e(s),c={configurable:true,enumerable:o?.enumerable??true};return o?.get&&(c.get=o.get),o?.set&&(c.set=o.set),r==="get"?c.get=i:c.set=i,Object.defineProperty(t,n,c),i}function A(e){return v({createMockFn:(n,r)=>{let o=e.mock(n??(()=>{}));return r!==void 0&&o.mockName&&o.mockName(r),o},getCalls:n=>n.mock.calls,reset:n=>n.mockReset(),clear:n=>n.mockClear(),restoreImplementation:(n,r)=>n.mockImplementation(r)})}var m;function C(e){m=e;}var Z="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function p(){if(!m)throw new Error(Z);return m}var T=Symbol.for("vitest-auto-spy.mock"),g=Symbol.for("vitest-auto-spy.resetConfig"),k=Symbol.for("vitest-auto-spy.clearHook");function y(e){Object.defineProperty(e,T,{value:true,enumerable:false,configurable:true});}function b(e){return typeof e=="function"&&T in e}function R(e,t){Object.defineProperty(e,g,{value:t,enumerable:false,configurable:true});}function F(e){if(!(g in e))return;let t=Reflect.get(e,g);typeof t=="function"&&t();}function P(e,t){Object.defineProperty(e,k,{value:t,enumerable:false,configurable:true});}function w(e){if(!(k in e))return;let t=Reflect.get(e,k);typeof t=="function"&&t();}function x(e,t){Object.defineProperty(e,t,{get(){},set(n){},configurable:true});}function V(e,t,n){let r=p(),o=n==="setter"?r.spyOnSetter(e,t):r.spyOnGetter(e,t);return y(o),o}function E(e,t,n){let r={getters:{},setters:{}};e.accessorSpies=r,t.forEach(o=>{x(e,o),r.getters[o]=V(e,o,"getter");}),n.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||x(e,o),r.setters[o]=V(e,o,"setter");});}function ee(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function te(e,t){return Object.entries(e).map(([n,r])=>`${n}:${a(r,t)}`).join(",")}function ne(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${a(r,t)},${a(o,t)}]`).join(",")}])`}function re(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=ne(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>a(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>a(r,t)).join(",")}]`:n=`{${te(e,t)}}`,t.delete(e),n}function h(e){return typeof e=="string"?ee(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function W(e){return typeof e=="object"&&e!==null}function a(e,t=new WeakSet){return typeof e=="object"&&e!==null?re(e,t):h(e)}function _(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function oe(e){return e.some(_)}var f=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&oe(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(W)?`[${t.map(n=>h(n)).join(",")}]`:a(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#s(r,n[o]))}#s(t,n){return _(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var se=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,ie="But the function was called without any arguments.",ce=e=>{let t=a(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},S={throwArgumentsError(e,t){let n=e.length===0?ie:ce(e);throw new Error(se(t)+n)}};var ue="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function B(){throw new Error(ue);}function d(e,t){return Object.assign(e,t)}function ae(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function D(e,t){d(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:ae(n)});}});}function H(e,t){D(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function z(e,t){D(e,n=>{e.argsToValuesMap.set(t,n);});}var pe={record:e=>e,clear:()=>{}};function le(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function $(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return pe;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),le(r)?r.then(s=>{o.type="fulfilled",o.value=s;},s=>{o.type="rejected",o.value=s;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}function fe(e){return typeof e=="object"&&e!==null&&"value"in e}function L(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function I(e,t){let n=e.argsToValuesMap.get(t);return fe(n)?{found:true,value:L(n)}:{found:false,value:void 0}}function de(e,t,n,r,o){if(e.wasConfigured){let s=I(e,r);if(s.found)return s.value}if(t.wasConfigured){let s=I(t,r);if(s.found)return s.value;S.throwArgumentsError(r,o);}return L(n)}function K(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return d(e,{mockReturnValue:n,returnValue:n}),z(e,t),e}function N(){return {wasConfigured:false,argsToValuesMap:new f}}function G(e){e.wasConfigured=false,e.argsToValuesMap=new f;}function l(e){let t=N(),n=N(),r={value:void 0},o=(...u)=>i.record(de(t,n,r,u,e)),s=p().createMockFn(o,e),i=$(s);H(s,r);let c=d(s,{calledWith:(...u)=>K(t,u),mustBeCalledWith:(...u)=>K(n,u)});return R(c,()=>{G(t),G(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,p().restoreImplementation(s,o);}),P(c,()=>i.clear()),y(c),c}var U={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function ye(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(n=>n!=="constructor"&&!t[n]?.get)}function Y(e,t){let n=e;for(;n;){let r=Object.getPrototypeOf(n);r&&t(n),n=r;}}var q=new WeakMap;function J(e){let t=q.get(e);if(t)return t;let n=new Set;Y(e,o=>ye(o).forEach(s=>n.add(s)));let r=[...n];return q.set(e,r),r}function me(e){let t=new Set,n=new Set;return Y(e,r=>{let o=Object.getOwnPropertyDescriptors(r);Object.keys(o).forEach(s=>{s!=="constructor"&&(o[s]?.get&&t.add(s),o[s]?.set&&n.add(s));});}),{getters:[...t],setters:[...n]}}function ge(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let n=me(e);return {getters:[...new Set([...t.gettersToSpyOn,...n.getters])],setters:[...new Set([...t.settersToSpyOn,...n.setters])]}}function ke(e,t){let n=new Set(J(e.prototype)),r=t.filter(o=>!n.has(o));r.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${r.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function be(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let n=l(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n}),n}});}function we(e){return e?Array.isArray(e)?{...U,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...U}}function he(e,t){let n=we(t),r=n.methodsToSpyOn.length>0?n.methodsToSpyOn:J(e.prototype);n.methodsToSpyOn.length>0&&ke(e,n.methodsToSpyOn);let o={};n.observablePropsToSpyOn.forEach(i=>{o[i]=B().createPropSpy();});let s=ge(e.prototype,n);return E(o,s.getters,s.setters),r.forEach(i=>{n.lazySpies?be(o,i):o[i]=l(i);}),o}function Se(e={}){let t=new Map;for(let r of Reflect.ownKeys(e))t.set(r,Reflect.get(e,r));let n={get(r,o){if(t.has(o))return t.get(o);if(typeof o=="symbol"||o==="then"||o==="constructor")return;let s=l(String(o));return t.set(o,s),s},set(r,o,s){return t.set(o,s),true},has(r,o){return t.has(o)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(r,o){if(t.has(o))return {configurable:true,enumerable:true,value:t.get(o),writable:true}}};return new Proxy({},n)}function X(e,t){let n=l(e),r=new Map,o=new Map;for(let i of Reflect.ownKeys(t))o.set(i,Reflect.get(t,i));let s={get(i,c,u){if(o.has(c))return o.get(c);if(c!=="then"){if(c in i)return Reflect.get(i,c,u);if(typeof c!="symbol")return r.has(c)||r.set(c,X(`${e}.${String(c)}`,{})),r.get(c)}},set(i,c,u){return o.set(c,u),true}};return new Proxy(n,s)}function Me(e={}){return X("mockDeep",e)}function je(e){return typeof e=="object"&&e!==null&&"getters"in e&&"setters"in e}function Oe(e){let t=Object.getOwnPropertyDescriptor(e,"accessorSpies")?.value;return je(t)?[...Object.values(t.getters),...Object.values(t.setters)].filter(b):[]}function Q(e){let t=[];return Object.keys(e).forEach(n=>{let r=Object.getOwnPropertyDescriptor(e,n);!r||r.get||r.set||b(r.value)&&t.push(r.value);}),[...t,...Oe(e)]}function ve(e){let t=p();Q(e).forEach(n=>{t.clear(n),w(n);});}function Ae(e){let t=p();Q(e).forEach(n=>{t.clear(n),w(n),F(n);});}C(A({mock:bun_test.mock}));exports.clearAutoSpy=ve;exports.createAutoMock=Se;exports.createFunctionSpy=l;exports.createSpyFromClass=he;exports.errorHandler=S;exports.mockDeep=Me;exports.resetAutoSpy=Ae;
|
package/dist/bun.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf, S as Spy, F as Func, i as AddSpyMethodsByReturnTypes } from './types-
|
|
2
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
1
|
+
import { C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf, S as Spy, D as DeepMockProxy, F as Func, i as AddSpyMethodsByReturnTypes } from './types-BKS6JdLv.cjs';
|
|
2
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.cjs';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
|
5
5
|
|
|
@@ -17,11 +17,22 @@ declare function createSpyFromClass<T>(ObjectClass: ClassType<T>, methodsToSpyOn
|
|
|
17
17
|
*/
|
|
18
18
|
declare function createAutoMock<T>(overrides?: Partial<T>): Spy<T>;
|
|
19
19
|
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Create a recursively-mocked `T` from its type alone (no class). Nested object
|
|
22
|
+
* access auto-creates chainable spies; seed concrete values via `overrides`.
|
|
23
|
+
*/
|
|
24
|
+
declare function mockDeep<T>(overrides?: Partial<T>): DeepMockProxy<T>;
|
|
25
|
+
|
|
26
|
+
/** Create a single host-runner-backed function spy with all return-type helpers attached. */
|
|
21
27
|
declare function createFunctionSpy<FunctionType extends Func>(name: string): AddSpyMethodsByReturnTypes<FunctionType>;
|
|
22
28
|
|
|
29
|
+
/** Clear recorded calls on every spy inside `spy` (configured return values are kept). */
|
|
30
|
+
declare function clearAutoSpy(spy: object): void;
|
|
31
|
+
/** Reset every spy inside `spy`: clears recorded calls and reverts all `calledWith`/return-value configuration. */
|
|
32
|
+
declare function resetAutoSpy(spy: object): void;
|
|
33
|
+
|
|
23
34
|
declare const errorHandler: {
|
|
24
35
|
throwArgumentsError(actualArgs: unknown[], functionName: string): never;
|
|
25
36
|
};
|
|
26
37
|
|
|
27
|
-
export { AddSpyMethodsByReturnTypes, ClassSpyConfiguration, ClassType, Func, OnlyMethodKeysOf, Spy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler };
|
|
38
|
+
export { AddSpyMethodsByReturnTypes, ClassSpyConfiguration, ClassType, DeepMockProxy, Func, OnlyMethodKeysOf, Spy, clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy };
|
package/dist/bun.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf, S as Spy, F as Func, i as AddSpyMethodsByReturnTypes } from './types-
|
|
2
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
1
|
+
import { C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf, S as Spy, D as DeepMockProxy, F as Func, i as AddSpyMethodsByReturnTypes } from './types-BKS6JdLv.js';
|
|
2
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.js';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
|
5
5
|
|
|
@@ -17,11 +17,22 @@ declare function createSpyFromClass<T>(ObjectClass: ClassType<T>, methodsToSpyOn
|
|
|
17
17
|
*/
|
|
18
18
|
declare function createAutoMock<T>(overrides?: Partial<T>): Spy<T>;
|
|
19
19
|
|
|
20
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Create a recursively-mocked `T` from its type alone (no class). Nested object
|
|
22
|
+
* access auto-creates chainable spies; seed concrete values via `overrides`.
|
|
23
|
+
*/
|
|
24
|
+
declare function mockDeep<T>(overrides?: Partial<T>): DeepMockProxy<T>;
|
|
25
|
+
|
|
26
|
+
/** Create a single host-runner-backed function spy with all return-type helpers attached. */
|
|
21
27
|
declare function createFunctionSpy<FunctionType extends Func>(name: string): AddSpyMethodsByReturnTypes<FunctionType>;
|
|
22
28
|
|
|
29
|
+
/** Clear recorded calls on every spy inside `spy` (configured return values are kept). */
|
|
30
|
+
declare function clearAutoSpy(spy: object): void;
|
|
31
|
+
/** Reset every spy inside `spy`: clears recorded calls and reverts all `calledWith`/return-value configuration. */
|
|
32
|
+
declare function resetAutoSpy(spy: object): void;
|
|
33
|
+
|
|
23
34
|
declare const errorHandler: {
|
|
24
35
|
throwArgumentsError(actualArgs: unknown[], functionName: string): never;
|
|
25
36
|
};
|
|
26
37
|
|
|
27
|
-
export { AddSpyMethodsByReturnTypes, ClassSpyConfiguration, ClassType, Func, OnlyMethodKeysOf, Spy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler };
|
|
38
|
+
export { AddSpyMethodsByReturnTypes, ClassSpyConfiguration, ClassType, DeepMockProxy, Func, OnlyMethodKeysOf, Spy, clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy };
|
package/dist/bun.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-T3N4PY2U.js';export{c as clearAutoSpy,a as createAutoMock,b as mockDeep,d as resetAutoSpy}from'./chunk-N724W7OZ.js';export{a as createSpyFromClass}from'./chunk-Q4FBVCJO.js';import {a}from'./chunk-RTGT5WHR.js';export{i as createFunctionSpy,h as errorHandler}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';import {mock}from'bun:test';function r(m){return a$1({createMockFn:(o,e)=>{let n=m.mock(o??(()=>{}));return e!==void 0&&n.mockName&&n.mockName(e),n},getCalls:o=>o.mock.calls,reset:o=>o.mockReset(),clear:o=>o.mockClear(),restoreImplementation:(o,e)=>o.mockImplementation(e)})}a(r({mock:mock}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {vi}from'vitest';var c={createMockFn(n,e){let t=n?vi.fn(n):vi.fn();return e!==void 0&&t.mockName(e),t},spyOnGetter(n,e){return vi.spyOn(n,e,"get")},spyOnSetter(n,e){return vi.spyOn(n,e,"set")},getCalls(n){return n.mock.calls},reset(n){n.mockReset();},clear(n){n.mockClear();},restoreImplementation(n,e){n.mockImplementation(e);}};export{c as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {c,g as g$1,f,i,e}from'./chunk-RTGT5WHR.js';function m(t={}){let e=new Map;for(let o of Reflect.ownKeys(t))e.set(o,Reflect.get(t,o));let n={get(o,r){if(e.has(r))return e.get(r);if(typeof r=="symbol"||r==="then"||r==="constructor")return;let s=i(String(r));return e.set(r,s),s},set(o,r,s){return e.set(r,s),true},has(o,r){return e.has(r)},ownKeys(){return [...e.keys()]},getOwnPropertyDescriptor(o,r){if(e.has(r))return {configurable:true,enumerable:true,value:e.get(r),writable:true}}};return new Proxy({},n)}function g(t,e){let n=i(t),o=new Map,r=new Map;for(let u of Reflect.ownKeys(e))r.set(u,Reflect.get(e,u));let s={get(u,c,i){if(r.has(c))return r.get(c);if(c!=="then"){if(c in u)return Reflect.get(u,c,i);if(typeof c!="symbol")return o.has(c)||o.set(c,g(`${t}.${String(c)}`,{})),o.get(c)}},set(u,c,i){return r.set(c,i),true}};return new Proxy(n,s)}function b(t={}){return g("mockDeep",t)}function w(t){return typeof t=="object"&&t!==null&&"getters"in t&&"setters"in t}function M(t){let e$1=Object.getOwnPropertyDescriptor(t,"accessorSpies")?.value;return w(e$1)?[...Object.values(e$1.getters),...Object.values(e$1.setters)].filter(e):[]}function d(t){let e$1=[];return Object.keys(t).forEach(n=>{let o=Object.getOwnPropertyDescriptor(t,n);!o||o.get||o.set||e(o.value)&&e$1.push(o.value);}),[...e$1,...M(t)]}function x(t){let e=c();d(t).forEach(n=>{e.clear(n),g$1(n);});}function P(t){let e=c();d(t).forEach(n=>{e.clear(n),g$1(n),f(n);});}export{m as a,b,x as c,P as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {i,c as c$1,d as d$1}from'./chunk-RTGT5WHR.js';import {c}from'./chunk-7IUYJ6ZW.js';function u(e,s){Object.defineProperty(e,s,{get(){},set(t){},configurable:true});}function l(e,s,t){let o=c$1(),r=t==="setter"?o.spyOnSetter(e,s):o.spyOnGetter(e,s);return d$1(r),r}function f(e,s,t){let o={getters:{},setters:{}};e.accessorSpies=o,s.forEach(r=>{u(e,r),o.getters[r]=l(e,r,"getter");}),t.forEach(r=>{Object.prototype.hasOwnProperty.call(e,r)||u(e,r),o.setters[r]=l(e,r,"setter");});}var g={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function O(e){let s=Object.getOwnPropertyDescriptors(e);return Object.keys(s).filter(t=>t!=="constructor"&&!s[t]?.get)}function S(e,s){let t=e;for(;t;){let o=Object.getPrototypeOf(t);o&&s(t),t=o;}}var d=new WeakMap;function b(e){let s=d.get(e);if(s)return s;let t=new Set;S(e,r=>O(r).forEach(n=>t.add(n)));let o=[...t];return d.set(e,o),o}function T(e){let s=new Set,t=new Set;return S(e,o=>{let r=Object.getOwnPropertyDescriptors(o);Object.keys(r).forEach(n=>{n!=="constructor"&&(r[n]?.get&&s.add(n),r[n]?.set&&t.add(n));});}),{getters:[...s],setters:[...t]}}function w(e,s){if(!s.autoSpyAccessors)return {getters:s.gettersToSpyOn,setters:s.settersToSpyOn};let t=T(e);return {getters:[...new Set([...s.gettersToSpyOn,...t.getters])],setters:[...new Set([...s.settersToSpyOn,...t.setters])]}}function h(e,s){let t=new Set(b(e.prototype)),o=s.filter(r=>!t.has(r));o.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${o.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function A(e,s){Object.defineProperty(e,s,{configurable:true,enumerable:true,get(){let t=i(s);return Object.defineProperty(e,s,{configurable:true,enumerable:true,writable:true,value:t}),t}});}function v(e){return e?Array.isArray(e)?{...g,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...g}}function F(e,s){let t=v(s),o=t.methodsToSpyOn.length>0?t.methodsToSpyOn:b(e.prototype);t.methodsToSpyOn.length>0&&h(e,t.methodsToSpyOn);let r={};t.observablePropsToSpyOn.forEach(c$1=>{r[c$1]=c().createPropSpy();});let n=w(e.prototype,t);return f(r,n.getters,n.setters),o.forEach(c=>{t.lazySpies?A(r,c):r[c]=i(c);}),r}export{F as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {b as b$1,d}from'./chunk-7IUYJ6ZW.js';var f;function q(e){f=e;}function Y(){return f!==void 0}var E="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function p(){if(!f)throw new Error(E);return f}function W(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function _(e,t){return Object.entries(e).map(([n,r])=>`${n}:${u(r,t)}`).join(",")}function $(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${u(r,t)},${u(o,t)}]`).join(",")}])`}function z(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=$(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>u(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>u(r,t)).join(",")}]`:n=`{${_(e,t)}}`,t.delete(e),n}function m(e){return typeof e=="string"?W(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function w(e){return typeof e=="object"&&e!==null}function u(e,t=new WeakSet){return typeof e=="object"&&e!==null?z(e,t):m(e)}var H=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,B="But the function was called without any arguments.",I=e=>{let t=u(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},b={throwArgumentsError(e,t){let n=e.length===0?B:I(e);throw new Error(H(t)+n)}};function g(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function D(e){return e.some(g)}var l=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&D(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(w)?`[${t.map(n=>m(n)).join(",")}]`:u(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#i(r,n[o]))}#i(t,n){return g(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};function N(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function C(e,t){d(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:N(n)});}});}function j(e,t){C(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function M(e,t){C(e,n=>{e.argsToValuesMap.set(t,n);});}var G={record:e=>e,clear:()=>{}};function L(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function R(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return G;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),L(r)?r.then(i=>{o.type="fulfilled",o.value=i;},i=>{o.type="rejected",o.value=i;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}var v=Symbol.for("vitest-auto-spy.mock"),y=Symbol.for("vitest-auto-spy.resetConfig"),k=Symbol.for("vitest-auto-spy.clearHook");function S(e){Object.defineProperty(e,v,{value:true,enumerable:false,configurable:true});}function ie(e){return typeof e=="function"&&v in e}function T(e,t){Object.defineProperty(e,y,{value:t,enumerable:false,configurable:true});}function ue(e){if(!(y in e))return;let t=Reflect.get(e,y);typeof t=="function"&&t();}function P(e,t){Object.defineProperty(e,k,{value:t,enumerable:false,configurable:true});}function ae(e){if(!(k in e))return;let t=Reflect.get(e,k);typeof t=="function"&&t();}function K(e){return typeof e=="object"&&e!==null&&"value"in e}function x(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function O(e,t){let n=e.argsToValuesMap.get(t);return K(n)?{found:true,value:x(n)}:{found:false,value:void 0}}function U(e,t,n,r,o){if(e.wasConfigured){let i=O(e,r);if(i.found)return i.value}if(t.wasConfigured){let i=O(t,r);if(i.found)return i.value;b.throwArgumentsError(r,o);}return x(n)}function V(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return d(e,{mockReturnValue:n,returnValue:n}),M(e,t),b$1()?.addToCalledWithObject(e,t),e}function A(){return {wasConfigured:false,argsToValuesMap:new l}}function F(e){e.wasConfigured=false,e.argsToValuesMap=new l;}function he(e){let t=A(),n=A(),r={value:void 0},o=(...a)=>h.record(U(t,n,r,a,e)),i=p().createMockFn(o,e),h=R(i);j(i,r),b$1()?.addToFunctionSpy(i,r);let c=d(i,{calledWith:(...a)=>V(t,a),mustBeCalledWith:(...a)=>V(n,a)});return T(c,()=>{F(t),F(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,p().restoreImplementation(i,o);}),P(c,()=>h.clear()),S(c),c}export{q as a,Y as b,p as c,S as d,ie as e,ue as f,ae as g,b as h,he as i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function p({createMockFn:r,getCalls:c,reset:s,clear:a,restoreImplementation:e}){return {createMockFn:r,spyOnGetter:(o,t)=>i(r,o,t,"get"),spyOnSetter:(o,t)=>i(r,o,t,"set"),getCalls:c,reset:s,clear:a,restoreImplementation:e}}function i(r,c,s,a){let e=Object.getOwnPropertyDescriptor(c,s),o=a==="get"?e?.get:e?.set,t=r(o),n={configurable:true,enumerable:e?.enumerable??true};return e?.get&&(n.get=e.get),e?.set&&(n.set=e.set),a==="get"?n.get=t:n.set=t,Object.defineProperty(c,s,n),t}export{p as a};
|
package/dist/console.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vitest=require('vitest');function
|
|
1
|
+
'use strict';var vitest=require('vitest');function D(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function L(e,t){return Object.entries(e).map(([n,o])=>`${n}:${s(o,t)}`).join(",")}function N(e,t){return `new Map([${[...e.entries()].map(([o,r])=>`[${s(o,t)},${s(r,t)}]`).join(",")}])`}function G(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=N(e,t):e instanceof Set?n=`new Set([${[...e].map(o=>s(o,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(o=>s(o,t)).join(",")}]`:n=`{${L(e,t)}}`,t.delete(e),n}function k(e){return typeof e=="string"?D(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function g(e){return typeof e=="object"&&e!==null}function s(e,t=new WeakSet){return typeof e=="object"&&e!==null?G(e,t):k(e)}function w(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function U(e){return e.some(w)}var l=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&U(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#o(t)}#e(t){return Array.isArray(t)&&!t.some(g)?`[${t.map(n=>k(n)).join(",")}]`:s(t)}#o(t){return Array.isArray(t)?this.#n.find(o=>this.#r(o.args,t))?.value:void 0}#r(t,n){return t.length!==n.length?false:t.every((o,r)=>this.#i(o,n[r]))}#i(t,n){return w(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var q=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,K="But the function was called without any arguments.",J=e=>{let t=s(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},j={throwArgumentsError(e,t){let n=e.length===0?K:J(e);throw new Error(q(t)+n)}};var y;function v(e){y=e;}function R(){return y!==void 0}var X="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function c(){if(!y)throw new Error(X);return y}function p(e,t){return Object.assign(e,t)}function Q(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function T(e,t){p(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:Q(n)});}});}function F(e,t){T(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function O(e,t){T(e,n=>{e.argsToValuesMap.set(t,n);});}var Z={record:e=>e,clear:()=>{}};function ee(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function x(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return Z;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(o){let r={type:"incomplete",value:void 0};return n.push(r),ee(o)?o.then(i=>{r.type="fulfilled",r.value=i;},i=>{r.type="rejected",r.value=i;}):(r.type="fulfilled",r.value=o),o},clear(){n.length=0;}}}var te=Symbol.for("vitest-auto-spy.mock"),ne=Symbol.for("vitest-auto-spy.resetConfig"),oe=Symbol.for("vitest-auto-spy.clearHook");function A(e){Object.defineProperty(e,te,{value:true,enumerable:false,configurable:true});}function P(e,t){Object.defineProperty(e,ne,{value:t,enumerable:false,configurable:true});}function V(e,t){Object.defineProperty(e,oe,{value:t,enumerable:false,configurable:true});}function re(e){return typeof e=="object"&&e!==null&&"value"in e}function I(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function W(e,t){let n=e.argsToValuesMap.get(t);return re(n)?{found:true,value:I(n)}:{found:false,value:void 0}}function ie(e,t,n,o,r){if(e.wasConfigured){let i=W(e,o);if(i.found)return i.value}if(t.wasConfigured){let i=W(t,o);if(i.found)return i.value;j.throwArgumentsError(o,r);}return I(n)}function E(e,t){e.wasConfigured=true;let n=o=>{e.argsToValuesMap.set(t,{value:o});};return p(e,{mockReturnValue:n,returnValue:n}),O(e,t),e}function _(){return {wasConfigured:false,argsToValuesMap:new l}}function H(e){e.wasConfigured=false,e.argsToValuesMap=new l;}function $(e){let t=_(),n=_(),o={value:void 0},r=(...a)=>M.record(ie(t,n,o,a,e)),i=c().createMockFn(r,e),M=x(i);F(i,o);let f=p(i,{calledWith:(...a)=>E(t,a),mustBeCalledWith:(...a)=>E(n,a)});return P(f,()=>{H(t),H(n),o.value=void 0,delete o._isRejectedPromise,delete o.valuesPerCalls,c().restoreImplementation(i,r);}),V(f,()=>M.clear()),A(f),f}var h=new Map,b=new Map,d;function se(e){return console[e]}function z(e,t){console[e]=t;}function u(e){h.set(e,se(e));let t=$(`console.${e}`);return z(e,t),b.set(e,t),t}function C(){return d||(d={consoleDebugSpy:u("debug"),consoleErrorSpy:u("error"),consoleInfoSpy:u("info"),consoleLogSpy:u("log"),consoleTimeEndSpy:u("timeEnd"),consoleTimeSpy:u("time"),consoleTraceSpy:u("trace"),consoleWarnSpy:u("warn")},d)}function ue(){let e=c();for(let t of b.values())e.reset(t);}function ae(){for(let[e,t]of h)z(e,t);h.clear(),b.clear(),d=void 0;}var B={createMockFn(e,t){let n=e?vitest.vi.fn(e):vitest.vi.fn();return t!==void 0&&n.mockName(t),n},spyOnGetter(e,t){return vitest.vi.spyOn(e,t,"get")},spyOnSetter(e,t){return vitest.vi.spyOn(e,t,"set")},getCalls(e){return e.mock.calls},reset(e){e.mockReset();},clear(e){e.mockClear();},restoreImplementation(e,t){e.mockImplementation(t);}};R()||v(B);var {consoleDebugSpy:Ie,consoleErrorSpy:$e,consoleInfoSpy:ze,consoleLogSpy:Be,consoleTimeEndSpy:De,consoleTimeSpy:Le,consoleTraceSpy:Ne,consoleWarnSpy:Ge}=C();exports.consoleDebugSpy=Ie;exports.consoleErrorSpy=$e;exports.consoleInfoSpy=ze;exports.consoleLogSpy=Be;exports.consoleTimeEndSpy=De;exports.consoleTimeSpy=Le;exports.consoleTraceSpy=Ne;exports.consoleWarnSpy=Ge;exports.installConsoleSpies=C;exports.resetConsoleSpies=ue;exports.restoreConsole=ae;
|
package/dist/console.d.cts
CHANGED
package/dist/console.d.ts
CHANGED
package/dist/console.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$2}from'./chunk-
|
|
1
|
+
import {a as a$2}from'./chunk-HDCUMVHT.js';import {b as b$1,a as a$1,i,c}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';var t=new Map,p=new Map,s;function a(o){return console[o]}function y(o,e){console[o]=e;}function n(o){t.set(o,a(o));let e=i(`console.${o}`);return y(o,e),p.set(o,e),e}function l(){return s||(s={consoleDebugSpy:n("debug"),consoleErrorSpy:n("error"),consoleInfoSpy:n("info"),consoleLogSpy:n("log"),consoleTimeEndSpy:n("timeEnd"),consoleTimeSpy:n("time"),consoleTraceSpy:n("trace"),consoleWarnSpy:n("warn")},s)}function C(){let o=c();for(let e of p.values())o.reset(e);}function M(){for(let[o,e]of t)y(o,e);t.clear(),p.clear(),s=void 0;}b$1()||a$1(a$2);var {consoleDebugSpy:x,consoleErrorSpy:E,consoleInfoSpy:F,consoleLogSpy:v,consoleTimeEndSpy:b,consoleTimeSpy:A,consoleTraceSpy:k,consoleWarnSpy:w}=l();export{x as consoleDebugSpy,E as consoleErrorSpy,F as consoleInfoSpy,v as consoleLogSpy,b as consoleTimeEndSpy,A as consoleTimeSpy,k as consoleTraceSpy,w as consoleWarnSpy,l as installConsoleSpies,C as resetConsoleSpies,M as restoreConsole};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vitest=require('vitest');var g;function
|
|
1
|
+
'use strict';var vitest=require('vitest');var g;function O(e){g=e;}var Q="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function p(){if(!g)throw new Error(Q);return g}var T={createMockFn(e,t){let n=e?vitest.vi.fn(e):vitest.vi.fn();return t!==void 0&&n.mockName(t),n},spyOnGetter(e,t){return vitest.vi.spyOn(e,t,"get")},spyOnSetter(e,t){return vitest.vi.spyOn(e,t,"set")},getCalls(e){return e.mock.calls},reset(e){e.mockReset();},clear(e){e.mockClear();},restoreImplementation(e,t){e.mockImplementation(t);}};var C=Symbol.for("vitest-auto-spy.mock"),b=Symbol.for("vitest-auto-spy.resetConfig"),k=Symbol.for("vitest-auto-spy.clearHook");function m(e){Object.defineProperty(e,C,{value:true,enumerable:false,configurable:true});}function w(e){return typeof e=="function"&&C in e}function R(e,t){Object.defineProperty(e,b,{value:t,enumerable:false,configurable:true});}function A(e){if(!(b in e))return;let t=Reflect.get(e,b);typeof t=="function"&&t();}function P(e,t){Object.defineProperty(e,k,{value:t,enumerable:false,configurable:true});}function h(e){if(!(k in e))return;let t=Reflect.get(e,k);typeof t=="function"&&t();}function F(e,t){Object.defineProperty(e,t,{get(){},set(n){},configurable:true});}function x(e,t,n){let r=p(),o=n==="setter"?r.spyOnSetter(e,t):r.spyOnGetter(e,t);return m(o),o}function V(e,t,n){let r={getters:{},setters:{}};e.accessorSpies=r,t.forEach(o=>{F(e,o),r.getters[o]=x(e,o,"getter");}),n.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||F(e,o),r.setters[o]=x(e,o,"setter");});}function Z(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function ee(e,t){return Object.entries(e).map(([n,r])=>`${n}:${a(r,t)}`).join(",")}function te(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${a(r,t)},${a(o,t)}]`).join(",")}])`}function ne(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=te(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>a(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>a(r,t)).join(",")}]`:n=`{${ee(e,t)}}`,t.delete(e),n}function S(e){return typeof e=="string"?Z(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function E(e){return typeof e=="object"&&e!==null}function a(e,t=new WeakSet){return typeof e=="object"&&e!==null?ne(e,t):S(e)}function W(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function re(e){return e.some(W)}var f=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&re(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(E)?`[${t.map(n=>S(n)).join(",")}]`:a(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#s(r,n[o]))}#s(t,n){return W(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var oe=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,se="But the function was called without any arguments.",ie=e=>{let t=a(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},M={throwArgumentsError(e,t){let n=e.length===0?se:ie(e);throw new Error(oe(t)+n)}};var ce="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function _(){throw new Error(ce);}function d(e,t){return Object.assign(e,t)}function ue(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function H(e,t){d(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:ue(n)});}});}function D(e,t){H(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function z(e,t){H(e,n=>{e.argsToValuesMap.set(t,n);});}var ae={record:e=>e,clear:()=>{}};function pe(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function $(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return ae;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),pe(r)?r.then(s=>{o.type="fulfilled",o.value=s;},s=>{o.type="rejected",o.value=s;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}function le(e){return typeof e=="object"&&e!==null&&"value"in e}function N(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function I(e,t){let n=e.argsToValuesMap.get(t);return le(n)?{found:true,value:N(n)}:{found:false,value:void 0}}function fe(e,t,n,r,o){if(e.wasConfigured){let s=I(e,r);if(s.found)return s.value}if(t.wasConfigured){let s=I(t,r);if(s.found)return s.value;M.throwArgumentsError(r,o);}return N(n)}function B(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return d(e,{mockReturnValue:n,returnValue:n}),z(e,t),e}function K(){return {wasConfigured:false,argsToValuesMap:new f}}function G(e){e.wasConfigured=false,e.argsToValuesMap=new f;}function l(e){let t=K(),n=K(),r={value:void 0},o=(...u)=>c.record(fe(t,n,r,u,e)),s=p().createMockFn(o,e),c=$(s);D(s,r);let i=d(s,{calledWith:(...u)=>B(t,u),mustBeCalledWith:(...u)=>B(n,u)});return R(i,()=>{G(t),G(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,p().restoreImplementation(s,o);}),P(i,()=>c.clear()),m(i),i}var L={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function de(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(n=>n!=="constructor"&&!t[n]?.get)}function q(e,t){let n=e;for(;n;){let r=Object.getPrototypeOf(n);r&&t(n),n=r;}}var U=new WeakMap;function Y(e){let t=U.get(e);if(t)return t;let n=new Set;q(e,o=>de(o).forEach(s=>n.add(s)));let r=[...n];return U.set(e,r),r}function ye(e){let t=new Set,n=new Set;return q(e,r=>{let o=Object.getOwnPropertyDescriptors(r);Object.keys(o).forEach(s=>{s!=="constructor"&&(o[s]?.get&&t.add(s),o[s]?.set&&n.add(s));});}),{getters:[...t],setters:[...n]}}function me(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let n=ye(e);return {getters:[...new Set([...t.gettersToSpyOn,...n.getters])],setters:[...new Set([...t.settersToSpyOn,...n.setters])]}}function ge(e,t){let n=new Set(Y(e.prototype)),r=t.filter(o=>!n.has(o));r.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${r.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function be(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let n=l(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n}),n}});}function ke(e){return e?Array.isArray(e)?{...L,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...L}}function we(e,t){let n=ke(t),r=n.methodsToSpyOn.length>0?n.methodsToSpyOn:Y(e.prototype);n.methodsToSpyOn.length>0&&ge(e,n.methodsToSpyOn);let o={};n.observablePropsToSpyOn.forEach(c=>{o[c]=_().createPropSpy();});let s=me(e.prototype,n);return V(o,s.getters,s.setters),r.forEach(c=>{n.lazySpies?be(o,c):o[c]=l(c);}),o}function he(e={}){let t=new Map;for(let r of Reflect.ownKeys(e))t.set(r,Reflect.get(e,r));let n={get(r,o){if(t.has(o))return t.get(o);if(typeof o=="symbol"||o==="then"||o==="constructor")return;let s=l(String(o));return t.set(o,s),s},set(r,o,s){return t.set(o,s),true},has(r,o){return t.has(o)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(r,o){if(t.has(o))return {configurable:true,enumerable:true,value:t.get(o),writable:true}}};return new Proxy({},n)}function J(e,t){let n=l(e),r=new Map,o=new Map;for(let c of Reflect.ownKeys(t))o.set(c,Reflect.get(t,c));let s={get(c,i,u){if(o.has(i))return o.get(i);if(i!=="then"){if(i in c)return Reflect.get(c,i,u);if(typeof i!="symbol")return r.has(i)||r.set(i,J(`${e}.${String(i)}`,{})),r.get(i)}},set(c,i,u){return o.set(i,u),true}};return new Proxy(n,s)}function Se(e={}){return J("mockDeep",e)}function Me(e){return typeof e=="object"&&e!==null&&"getters"in e&&"setters"in e}function je(e){let t=Object.getOwnPropertyDescriptor(e,"accessorSpies")?.value;return Me(t)?[...Object.values(t.getters),...Object.values(t.setters)].filter(w):[]}function X(e){let t=[];return Object.keys(e).forEach(n=>{let r=Object.getOwnPropertyDescriptor(e,n);!r||r.get||r.set||w(r.value)&&t.push(r.value);}),[...t,...je(e)]}function ve(e){let t=p();X(e).forEach(n=>{t.clear(n),h(n);});}function Oe(e){let t=p();X(e).forEach(n=>{t.clear(n),h(n),A(n);});}O(T);exports.clearAutoSpy=ve;exports.createAutoMock=he;exports.createFunctionSpy=l;exports.createSpyFromClass=we;exports.errorHandler=M;exports.mockDeep=Se;exports.resetAutoSpy=Oe;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.cjs';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.cjs';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.cjs';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.js';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.js';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.js';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-HDCUMVHT.js';export{c as clearAutoSpy,a as createAutoMock,b as mockDeep,d as resetAutoSpy}from'./chunk-N724W7OZ.js';export{a as createSpyFromClass}from'./chunk-Q4FBVCJO.js';import {a}from'./chunk-RTGT5WHR.js';export{i as createFunctionSpy,h as errorHandler}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';a(a$1);
|
package/dist/nestjs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vitest=require('vitest');var
|
|
1
|
+
'use strict';var vitest=require('vitest');var m;function h(e){m=e;}var K="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function a(){if(!m)throw new Error(K);return m}var w={createMockFn(e,t){let n=e?vitest.vi.fn(e):vitest.vi.fn();return t!==void 0&&n.mockName(t),n},spyOnGetter(e,t){return vitest.vi.spyOn(e,t,"get")},spyOnSetter(e,t){return vitest.vi.spyOn(e,t,"set")},getCalls(e){return e.mock.calls},reset(e){e.mockReset();},clear(e){e.mockClear();},restoreImplementation(e,t){e.mockImplementation(t);}};var L=Symbol.for("vitest-auto-spy.mock"),U=Symbol.for("vitest-auto-spy.resetConfig"),q=Symbol.for("vitest-auto-spy.clearHook");function y(e){Object.defineProperty(e,L,{value:true,enumerable:false,configurable:true});}function v(e,t){Object.defineProperty(e,U,{value:t,enumerable:false,configurable:true});}function M(e,t){Object.defineProperty(e,q,{value:t,enumerable:false,configurable:true});}function T(e,t){Object.defineProperty(e,t,{get(){},set(n){},configurable:true});}function j(e,t,n){let r=a(),o=n==="setter"?r.spyOnSetter(e,t):r.spyOnGetter(e,t);return y(o),o}function O(e,t,n){let r={getters:{},setters:{}};e.accessorSpies=r,t.forEach(o=>{T(e,o),r.getters[o]=j(e,o,"getter");}),n.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||T(e,o),r.setters[o]=j(e,o,"setter");});}function Y(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function J(e,t){return Object.entries(e).map(([n,r])=>`${n}:${i(r,t)}`).join(",")}function X(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${i(r,t)},${i(o,t)}]`).join(",")}])`}function Q(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=X(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>i(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>i(r,t)).join(",")}]`:n=`{${J(e,t)}}`,t.delete(e),n}function g(e){return typeof e=="string"?Y(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function C(e){return typeof e=="object"&&e!==null}function i(e,t=new WeakSet){return typeof e=="object"&&e!==null?Q(e,t):g(e)}function R(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function Z(e){return e.some(R)}var l=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&Z(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(C)?`[${t.map(n=>g(n)).join(",")}]`:i(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#s(r,n[o]))}#s(t,n){return R(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var ee=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,te="But the function was called without any arguments.",ne=e=>{let t=i(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},A={throwArgumentsError(e,t){let n=e.length===0?te:ne(e);throw new Error(ee(t)+n)}};var re="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function P(){throw new Error(re);}function p(e,t){return Object.assign(e,t)}function oe(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function F(e,t){p(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:oe(n)});}});}function x(e,t){F(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function V(e,t){F(e,n=>{e.argsToValuesMap.set(t,n);});}var se={record:e=>e,clear:()=>{}};function ie(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function E(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return se;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),ie(r)?r.then(s=>{o.type="fulfilled",o.value=s;},s=>{o.type="rejected",o.value=s;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}function ce(e){return typeof e=="object"&&e!==null&&"value"in e}function $(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function W(e,t){let n=e.argsToValuesMap.get(t);return ce(n)?{found:true,value:$(n)}:{found:false,value:void 0}}function ue(e,t,n,r,o){if(e.wasConfigured){let s=W(e,r);if(s.found)return s.value}if(t.wasConfigured){let s=W(t,r);if(s.found)return s.value;A.throwArgumentsError(r,o);}return $(n)}function _(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return p(e,{mockReturnValue:n,returnValue:n}),V(e,t),e}function z(){return {wasConfigured:false,argsToValuesMap:new l}}function H(e){e.wasConfigured=false,e.argsToValuesMap=new l;}function S(e){let t=z(),n=z(),r={value:void 0},o=(...u)=>c.record(ue(t,n,r,u,e)),s=a().createMockFn(o,e),c=E(s);x(s,r);let d=p(s,{calledWith:(...u)=>_(t,u),mustBeCalledWith:(...u)=>_(n,u)});return v(d,()=>{H(t),H(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,a().restoreImplementation(s,o);}),M(d,()=>c.clear()),y(d),d}var I={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function ae(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(n=>n!=="constructor"&&!t[n]?.get)}function B(e,t){let n=e;for(;n;){let r=Object.getPrototypeOf(n);r&&t(n),n=r;}}var N=new WeakMap;function D(e){let t=N.get(e);if(t)return t;let n=new Set;B(e,o=>ae(o).forEach(s=>n.add(s)));let r=[...n];return N.set(e,r),r}function le(e){let t=new Set,n=new Set;return B(e,r=>{let o=Object.getOwnPropertyDescriptors(r);Object.keys(o).forEach(s=>{s!=="constructor"&&(o[s]?.get&&t.add(s),o[s]?.set&&n.add(s));});}),{getters:[...t],setters:[...n]}}function pe(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let n=le(e);return {getters:[...new Set([...t.gettersToSpyOn,...n.getters])],setters:[...new Set([...t.settersToSpyOn,...n.setters])]}}function de(e,t){let n=new Set(D(e.prototype)),r=t.filter(o=>!n.has(o));r.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${r.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function fe(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let n=S(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n}),n}});}function ye(e){return e?Array.isArray(e)?{...I,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...I}}function G(e,t){let n=ye(t),r=n.methodsToSpyOn.length>0?n.methodsToSpyOn:D(e.prototype);n.methodsToSpyOn.length>0&&de(e,n.methodsToSpyOn);let o={};n.observablePropsToSpyOn.forEach(c=>{o[c]=P().createPropSpy();});let s=pe(e.prototype,n);return O(o,s.getters,s.setters),r.forEach(c=>{n.lazySpies?fe(o,c):o[c]=S(c);}),o}function me(e,t){return {provide:e,useValue:G(e,t)}}function ge(e,t){return e.get(t)}h(w);exports.injectSpy=ge;exports.provideAutoSpy=me;
|
package/dist/nestjs.d.cts
CHANGED
package/dist/nestjs.d.ts
CHANGED
package/dist/nestjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-HDCUMVHT.js';import {a as a$2}from'./chunk-Q4FBVCJO.js';import {a}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';function s(e,t){return {provide:e,useValue:a$2(e,t)}}function n(e,t){return e.get(t)}a(a$1);export{n as injectSpy,s as provideAutoSpy};
|
package/dist/node.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var node_test=require('node:test');var y;function k(e){y=e;}var E="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function d(){if(!y)throw new Error(E);return y}function w({createMockFn:e,getCalls:t,reset:r}){return {createMockFn:e,spyOnGetter:(o,n)=>S(e,o,n,"get"),spyOnSetter:(o,n)=>S(e,o,n,"set"),getCalls:t,reset:r}}function S(e,t,r,o){let n=Object.getOwnPropertyDescriptor(t,r),s=o==="get"?n?.get:n?.set,i=e(s),c={configurable:true,enumerable:n?.enumerable??true};return n?.get&&(c.get=n.get),n?.set&&(c.set=n.set),o==="get"?c.get=i:c.set=i,Object.defineProperty(t,r,c),i}function M(e){return w({createMockFn:t=>e.fn(t??(()=>{})),getCalls:t=>t.mock.calls.map(r=>r.arguments),reset:t=>t.mock.resetCalls()})}function h(e,t){Object.defineProperty(e,t,{get(){},set(r){},configurable:true});}function O(e,t,r){let o=d();return r==="setter"?o.spyOnSetter(e,t):o.spyOnGetter(e,t)}function T(e,t,r){let o={getters:{},setters:{}};e.accessorSpies=o,t.forEach(n=>{h(e,n),o.getters[n]=O(e,n,"getter");}),r.forEach(n=>{Object.prototype.hasOwnProperty.call(e,n)||h(e,n),o.setters[n]=O(e,n,"setter");});}function _(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function H(e,t){return Object.entries(e).map(([r,o])=>`${r}:${a(o,t)}`).join(",")}function $(e,t){return `new Map([${[...e.entries()].map(([o,n])=>`[${a(o,t)},${a(n,t)}]`).join(",")}])`}function N(e,t){if(t.has(e))return "[Circular]";t.add(e);let r;return e instanceof Date?r=`new Date(${e.getTime()})`:e instanceof Map?r=$(e,t):e instanceof Set?r=`new Set([${[...e].map(o=>a(o,t)).join(",")}])`:Array.isArray(e)?r=`[${e.map(o=>a(o,t)).join(",")}]`:r=`{${H(e,t)}}`,t.delete(e),r}function a(e,t=new WeakSet){return typeof e=="string"?_(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:typeof e=="object"&&e!==null?N(e,t):Object.is(e,-0)?"-0":String(e)}var f=class{#e={};set(t,r){this.#e[this.#t(t)]=r;}get(t){return this.#e[this.#t(t)]}#t(t){return a(t)}};var z=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,B="But the function was called without any arguments.",D=e=>{let t=a(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},g={throwArgumentsError(e,t){let r=e.length===0?B:D(e);throw new Error(z(t)+r)}};var I="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function C(){throw new Error(I);}function u(e,t){return Object.assign(e,t)}function G(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(r=>setTimeout(()=>r(t.value),t.delay))}))}function j(e,t){u(e,{resolveWith:r=>{t({value:Promise.resolve(r)});},rejectWith:r=>{t({value:r,_isRejectedPromise:true});},resolveWithPerCall:r=>{r.length!==0&&t({value:void 0,valuesPerCalls:G(r)});}});}function F(e,t){j(e,r=>{t.value=r.value,t._isRejectedPromise=r._isRejectedPromise??false,t.valuesPerCalls=r.valuesPerCalls??[];});}function A(e,t){j(e,r=>{e.argsToValuesMap.set(t,r);});}function K(e){return typeof e=="object"&&e!==null&&"value"in e}function x(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function P(e,t){let r=e.argsToValuesMap.get(t);return K(r)?{found:true,value:x(r)}:{found:false,value:void 0}}function q(e,t,r,o,n){if(e.wasConfigured){let s=P(e,o);if(s.found)return s.value}if(t.wasConfigured){let s=P(t,o);if(s.found)return s.value;g.throwArgumentsError(o,n);}return x(r)}function v(e,t){e.wasConfigured=true;let r=o=>{e.argsToValuesMap.set(t,{value:o});};return u(e,{mockReturnValue:r,returnValue:r}),A(e,t),e}function R(){return {wasConfigured:false,argsToValuesMap:new f}}function p(e){let t=R(),r=R(),o={value:void 0},n=d().createMockFn((...i)=>q(t,r,o,i,e),e);F(n,o);let s=u(n,{calledWith:(...i)=>v(t,i),mustBeCalledWith:(...i)=>v(r,i)});return s}var V={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[]};function U(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(r=>r!=="constructor"&&!t[r]?.get)}var W=new WeakMap;function L(e){let t=W.get(e);if(t)return t;let r=new Set,o=e;for(;o;){let s=Object.getPrototypeOf(o);s&&U(o).forEach(i=>r.add(i)),o=s;}let n=[...r];return W.set(e,n),n}function J(e){return e?Array.isArray(e)?{...V,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[]}:{...V}}function X(e,t){let{methodsToSpyOn:r,observablePropsToSpyOn:o,settersToSpyOn:n,gettersToSpyOn:s}=J(t),i=r.length>0?r:L(e.prototype),c={};return o.forEach(l=>{c[l]=C().createPropSpy();}),T(c,s,n),i.forEach(l=>{c[l]=p(l);}),c}function Y(e={}){let t=new Map;for(let o of Reflect.ownKeys(e))t.set(o,Reflect.get(e,o));let r={get(o,n){if(t.has(n))return t.get(n);if(typeof n=="symbol"||n==="then"||n==="constructor")return;let s=p(String(n));return t.set(n,s),s},set(o,n,s){return t.set(n,s),true},has(o,n){return t.has(n)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(o,n){if(t.has(n))return {configurable:true,enumerable:true,value:t.get(n),writable:true}}};return new Proxy({},r)}k(M(node_test.mock));exports.createAutoMock=Y;exports.createFunctionSpy=p;exports.createSpyFromClass=X;exports.errorHandler=g;
|
|
1
|
+
'use strict';var node_test=require('node:test');var m;function O(e){m=e;}var Z="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function p(){if(!m)throw new Error(Z);return m}function C({createMockFn:e,getCalls:t,reset:r,clear:o,restoreImplementation:n}){return {createMockFn:e,spyOnGetter:(s,i)=>v(e,s,i,"get"),spyOnSetter:(s,i)=>v(e,s,i,"set"),getCalls:t,reset:r,clear:o,restoreImplementation:n}}function v(e,t,r,o){let n=Object.getOwnPropertyDescriptor(t,r),s=o==="get"?n?.get:n?.set,i=e(s),c={configurable:true,enumerable:n?.enumerable??true};return n?.get&&(c.get=n.get),n?.set&&(c.set=n.set),o==="get"?c.get=i:c.set=i,Object.defineProperty(t,r,c),i}function ee(e,t){return t!==void 0&&Object.defineProperty(e,"displayName",{value:t,configurable:true}),e}function A(e){return C({createMockFn:(t,r)=>ee(e.fn(t??(()=>{})),r),getCalls:t=>t.mock.calls.map(r=>r.arguments),reset:t=>t.mock.resetCalls(),clear:t=>t.mock.resetCalls(),restoreImplementation:(t,r)=>t.mock.mockImplementation(r)})}var T=Symbol.for("vitest-auto-spy.mock"),g=Symbol.for("vitest-auto-spy.resetConfig"),k=Symbol.for("vitest-auto-spy.clearHook");function y(e){Object.defineProperty(e,T,{value:true,enumerable:false,configurable:true});}function b(e){return typeof e=="function"&&T in e}function R(e,t){Object.defineProperty(e,g,{value:t,enumerable:false,configurable:true});}function F(e){if(!(g in e))return;let t=Reflect.get(e,g);typeof t=="function"&&t();}function P(e,t){Object.defineProperty(e,k,{value:t,enumerable:false,configurable:true});}function w(e){if(!(k in e))return;let t=Reflect.get(e,k);typeof t=="function"&&t();}function x(e,t){Object.defineProperty(e,t,{get(){},set(r){},configurable:true});}function V(e,t,r){let o=p(),n=r==="setter"?o.spyOnSetter(e,t):o.spyOnGetter(e,t);return y(n),n}function E(e,t,r){let o={getters:{},setters:{}};e.accessorSpies=o,t.forEach(n=>{x(e,n),o.getters[n]=V(e,n,"getter");}),r.forEach(n=>{Object.prototype.hasOwnProperty.call(e,n)||x(e,n),o.setters[n]=V(e,n,"setter");});}function te(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function re(e,t){return Object.entries(e).map(([r,o])=>`${r}:${u(o,t)}`).join(",")}function ne(e,t){return `new Map([${[...e.entries()].map(([o,n])=>`[${u(o,t)},${u(n,t)}]`).join(",")}])`}function oe(e,t){if(t.has(e))return "[Circular]";t.add(e);let r;return e instanceof Date?r=`new Date(${e.getTime()})`:e instanceof Map?r=ne(e,t):e instanceof Set?r=`new Set([${[...e].map(o=>u(o,t)).join(",")}])`:Array.isArray(e)?r=`[${e.map(o=>u(o,t)).join(",")}]`:r=`{${re(e,t)}}`,t.delete(e),r}function h(e){return typeof e=="string"?te(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function W(e){return typeof e=="object"&&e!==null}function u(e,t=new WeakSet){return typeof e=="object"&&e!==null?oe(e,t):h(e)}function _(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function se(e){return e.some(_)}var f=class{#t=Object.create(null);#r=[];set(t,r){if(Array.isArray(t)&&se(t)){this.#r.push({args:t,value:r});return}this.#t[this.#e(t)]=r;}get(t){let r=this.#e(t);return r in this.#t?this.#t[r]:this.#n(t)}#e(t){return Array.isArray(t)&&!t.some(W)?`[${t.map(r=>h(r)).join(",")}]`:u(t)}#n(t){return Array.isArray(t)?this.#r.find(o=>this.#o(o.args,t))?.value:void 0}#o(t,r){return t.length!==r.length?false:t.every((o,n)=>this.#s(o,r[n]))}#s(t,r){return _(t)?t.asymmetricMatch(r):this.#e([t])===this.#e([r])}};var ie=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,ce="But the function was called without any arguments.",ae=e=>{let t=u(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},M={throwArgumentsError(e,t){let r=e.length===0?ce:ae(e);throw new Error(ie(t)+r)}};var ue="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function D(){throw new Error(ue);}function d(e,t){return Object.assign(e,t)}function pe(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(r=>setTimeout(()=>r(t.value),t.delay))}))}function H(e,t){d(e,{resolveWith:r=>{t({value:Promise.resolve(r)});},rejectWith:r=>{t({value:r,_isRejectedPromise:true});},resolveWithPerCall:r=>{r.length!==0&&t({value:void 0,valuesPerCalls:pe(r)});}});}function z(e,t){H(e,r=>{t.value=r.value,t._isRejectedPromise=r._isRejectedPromise??false,t.valuesPerCalls=r.valuesPerCalls??[];});}function $(e,t){H(e,r=>{e.argsToValuesMap.set(t,r);});}var le={record:e=>e,clear:()=>{}};function fe(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function I(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return le;let r=[];return Object.defineProperty(t,"settledResults",{value:r,enumerable:true,configurable:true,writable:true}),{record(o){let n={type:"incomplete",value:void 0};return r.push(n),fe(o)?o.then(s=>{n.type="fulfilled",n.value=s;},s=>{n.type="rejected",n.value=s;}):(n.type="fulfilled",n.value=o),o},clear(){r.length=0;}}}function de(e){return typeof e=="object"&&e!==null&&"value"in e}function L(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function N(e,t){let r=e.argsToValuesMap.get(t);return de(r)?{found:true,value:L(r)}:{found:false,value:void 0}}function ye(e,t,r,o,n){if(e.wasConfigured){let s=N(e,o);if(s.found)return s.value}if(t.wasConfigured){let s=N(t,o);if(s.found)return s.value;M.throwArgumentsError(o,n);}return L(r)}function B(e,t){e.wasConfigured=true;let r=o=>{e.argsToValuesMap.set(t,{value:o});};return d(e,{mockReturnValue:r,returnValue:r}),$(e,t),e}function K(){return {wasConfigured:false,argsToValuesMap:new f}}function G(e){e.wasConfigured=false,e.argsToValuesMap=new f;}function l(e){let t=K(),r=K(),o={value:void 0},n=(...a)=>i.record(ye(t,r,o,a,e)),s=p().createMockFn(n,e),i=I(s);z(s,o);let c=d(s,{calledWith:(...a)=>B(t,a),mustBeCalledWith:(...a)=>B(r,a)});return R(c,()=>{G(t),G(r),o.value=void 0,delete o._isRejectedPromise,delete o.valuesPerCalls,p().restoreImplementation(s,n);}),P(c,()=>i.clear()),y(c),c}var U={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function me(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(r=>r!=="constructor"&&!t[r]?.get)}function Y(e,t){let r=e;for(;r;){let o=Object.getPrototypeOf(r);o&&t(r),r=o;}}var q=new WeakMap;function J(e){let t=q.get(e);if(t)return t;let r=new Set;Y(e,n=>me(n).forEach(s=>r.add(s)));let o=[...r];return q.set(e,o),o}function ge(e){let t=new Set,r=new Set;return Y(e,o=>{let n=Object.getOwnPropertyDescriptors(o);Object.keys(n).forEach(s=>{s!=="constructor"&&(n[s]?.get&&t.add(s),n[s]?.set&&r.add(s));});}),{getters:[...t],setters:[...r]}}function ke(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let r=ge(e);return {getters:[...new Set([...t.gettersToSpyOn,...r.getters])],setters:[...new Set([...t.settersToSpyOn,...r.setters])]}}function be(e,t){let r=new Set(J(e.prototype)),o=t.filter(n=>!r.has(n));o.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${o.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function we(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let r=l(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r}),r}});}function he(e){return e?Array.isArray(e)?{...U,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...U}}function Me(e,t){let r=he(t),o=r.methodsToSpyOn.length>0?r.methodsToSpyOn:J(e.prototype);r.methodsToSpyOn.length>0&&be(e,r.methodsToSpyOn);let n={};r.observablePropsToSpyOn.forEach(i=>{n[i]=D().createPropSpy();});let s=ke(e.prototype,r);return E(n,s.getters,s.setters),o.forEach(i=>{r.lazySpies?we(n,i):n[i]=l(i);}),n}function Se(e={}){let t=new Map;for(let o of Reflect.ownKeys(e))t.set(o,Reflect.get(e,o));let r={get(o,n){if(t.has(n))return t.get(n);if(typeof n=="symbol"||n==="then"||n==="constructor")return;let s=l(String(n));return t.set(n,s),s},set(o,n,s){return t.set(n,s),true},has(o,n){return t.has(n)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(o,n){if(t.has(n))return {configurable:true,enumerable:true,value:t.get(n),writable:true}}};return new Proxy({},r)}function X(e,t){let r=l(e),o=new Map,n=new Map;for(let i of Reflect.ownKeys(t))n.set(i,Reflect.get(t,i));let s={get(i,c,a){if(n.has(c))return n.get(c);if(c!=="then"){if(c in i)return Reflect.get(i,c,a);if(typeof c!="symbol")return o.has(c)||o.set(c,X(`${e}.${String(c)}`,{})),o.get(c)}},set(i,c,a){return n.set(c,a),true}};return new Proxy(r,s)}function je(e={}){return X("mockDeep",e)}function Oe(e){return typeof e=="object"&&e!==null&&"getters"in e&&"setters"in e}function ve(e){let t=Object.getOwnPropertyDescriptor(e,"accessorSpies")?.value;return Oe(t)?[...Object.values(t.getters),...Object.values(t.setters)].filter(b):[]}function Q(e){let t=[];return Object.keys(e).forEach(r=>{let o=Object.getOwnPropertyDescriptor(e,r);!o||o.get||o.set||b(o.value)&&t.push(o.value);}),[...t,...ve(e)]}function Ce(e){let t=p();Q(e).forEach(r=>{t.clear(r),w(r);});}function Ae(e){let t=p();Q(e).forEach(r=>{t.clear(r),w(r),F(r);});}O(A(node_test.mock));exports.clearAutoSpy=Ce;exports.createAutoMock=Se;exports.createFunctionSpy=l;exports.createSpyFromClass=Me;exports.errorHandler=M;exports.mockDeep=je;exports.resetAutoSpy=Ae;
|
package/dist/node.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.cjs';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.cjs';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.cjs';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/node.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.js';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.js';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.js';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/node.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$
|
|
1
|
+
import {a as a$2}from'./chunk-T3N4PY2U.js';export{c as clearAutoSpy,a as createAutoMock,b as mockDeep,d as resetAutoSpy}from'./chunk-N724W7OZ.js';export{a as createSpyFromClass}from'./chunk-Q4FBVCJO.js';import {a as a$1}from'./chunk-RTGT5WHR.js';export{i as createFunctionSpy,h as errorHandler}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';import {mock}from'node:test';function a(n,e){return e!==void 0&&Object.defineProperty(n,"displayName",{value:e,configurable:true}),n}function c(n){return a$2({createMockFn:(e,o)=>a(n.fn(e??(()=>{})),o),getCalls:e=>e.mock.calls.map(o=>o.arguments),reset:e=>e.mock.resetCalls(),clear:e=>e.mock.resetCalls(),restoreImplementation:(e,o)=>e.mock.mockImplementation(o)})}a$1(c(mock));
|
package/dist/react.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vitest=require('vitest');var g;function
|
|
1
|
+
'use strict';var vitest=require('vitest');var g;function O(e){g=e;}var Q="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function p(){if(!g)throw new Error(Q);return g}var T={createMockFn(e,t){let n=e?vitest.vi.fn(e):vitest.vi.fn();return t!==void 0&&n.mockName(t),n},spyOnGetter(e,t){return vitest.vi.spyOn(e,t,"get")},spyOnSetter(e,t){return vitest.vi.spyOn(e,t,"set")},getCalls(e){return e.mock.calls},reset(e){e.mockReset();},clear(e){e.mockClear();},restoreImplementation(e,t){e.mockImplementation(t);}};var C=Symbol.for("vitest-auto-spy.mock"),b=Symbol.for("vitest-auto-spy.resetConfig"),k=Symbol.for("vitest-auto-spy.clearHook");function m(e){Object.defineProperty(e,C,{value:true,enumerable:false,configurable:true});}function w(e){return typeof e=="function"&&C in e}function R(e,t){Object.defineProperty(e,b,{value:t,enumerable:false,configurable:true});}function A(e){if(!(b in e))return;let t=Reflect.get(e,b);typeof t=="function"&&t();}function P(e,t){Object.defineProperty(e,k,{value:t,enumerable:false,configurable:true});}function h(e){if(!(k in e))return;let t=Reflect.get(e,k);typeof t=="function"&&t();}function F(e,t){Object.defineProperty(e,t,{get(){},set(n){},configurable:true});}function x(e,t,n){let r=p(),o=n==="setter"?r.spyOnSetter(e,t):r.spyOnGetter(e,t);return m(o),o}function V(e,t,n){let r={getters:{},setters:{}};e.accessorSpies=r,t.forEach(o=>{F(e,o),r.getters[o]=x(e,o,"getter");}),n.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||F(e,o),r.setters[o]=x(e,o,"setter");});}function Z(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function ee(e,t){return Object.entries(e).map(([n,r])=>`${n}:${a(r,t)}`).join(",")}function te(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${a(r,t)},${a(o,t)}]`).join(",")}])`}function ne(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=te(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>a(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>a(r,t)).join(",")}]`:n=`{${ee(e,t)}}`,t.delete(e),n}function S(e){return typeof e=="string"?Z(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function E(e){return typeof e=="object"&&e!==null}function a(e,t=new WeakSet){return typeof e=="object"&&e!==null?ne(e,t):S(e)}function W(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function re(e){return e.some(W)}var f=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&re(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(E)?`[${t.map(n=>S(n)).join(",")}]`:a(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#s(r,n[o]))}#s(t,n){return W(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var oe=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,se="But the function was called without any arguments.",ie=e=>{let t=a(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},M={throwArgumentsError(e,t){let n=e.length===0?se:ie(e);throw new Error(oe(t)+n)}};var ce="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function _(){throw new Error(ce);}function d(e,t){return Object.assign(e,t)}function ue(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function H(e,t){d(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:ue(n)});}});}function D(e,t){H(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function z(e,t){H(e,n=>{e.argsToValuesMap.set(t,n);});}var ae={record:e=>e,clear:()=>{}};function pe(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function $(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return ae;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),pe(r)?r.then(s=>{o.type="fulfilled",o.value=s;},s=>{o.type="rejected",o.value=s;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}function le(e){return typeof e=="object"&&e!==null&&"value"in e}function N(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function I(e,t){let n=e.argsToValuesMap.get(t);return le(n)?{found:true,value:N(n)}:{found:false,value:void 0}}function fe(e,t,n,r,o){if(e.wasConfigured){let s=I(e,r);if(s.found)return s.value}if(t.wasConfigured){let s=I(t,r);if(s.found)return s.value;M.throwArgumentsError(r,o);}return N(n)}function B(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return d(e,{mockReturnValue:n,returnValue:n}),z(e,t),e}function K(){return {wasConfigured:false,argsToValuesMap:new f}}function G(e){e.wasConfigured=false,e.argsToValuesMap=new f;}function l(e){let t=K(),n=K(),r={value:void 0},o=(...u)=>c.record(fe(t,n,r,u,e)),s=p().createMockFn(o,e),c=$(s);D(s,r);let i=d(s,{calledWith:(...u)=>B(t,u),mustBeCalledWith:(...u)=>B(n,u)});return R(i,()=>{G(t),G(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,p().restoreImplementation(s,o);}),P(i,()=>c.clear()),m(i),i}var L={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function de(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(n=>n!=="constructor"&&!t[n]?.get)}function q(e,t){let n=e;for(;n;){let r=Object.getPrototypeOf(n);r&&t(n),n=r;}}var U=new WeakMap;function Y(e){let t=U.get(e);if(t)return t;let n=new Set;q(e,o=>de(o).forEach(s=>n.add(s)));let r=[...n];return U.set(e,r),r}function ye(e){let t=new Set,n=new Set;return q(e,r=>{let o=Object.getOwnPropertyDescriptors(r);Object.keys(o).forEach(s=>{s!=="constructor"&&(o[s]?.get&&t.add(s),o[s]?.set&&n.add(s));});}),{getters:[...t],setters:[...n]}}function me(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let n=ye(e);return {getters:[...new Set([...t.gettersToSpyOn,...n.getters])],setters:[...new Set([...t.settersToSpyOn,...n.setters])]}}function ge(e,t){let n=new Set(Y(e.prototype)),r=t.filter(o=>!n.has(o));r.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${r.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function be(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let n=l(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n}),n}});}function ke(e){return e?Array.isArray(e)?{...L,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...L}}function we(e,t){let n=ke(t),r=n.methodsToSpyOn.length>0?n.methodsToSpyOn:Y(e.prototype);n.methodsToSpyOn.length>0&&ge(e,n.methodsToSpyOn);let o={};n.observablePropsToSpyOn.forEach(c=>{o[c]=_().createPropSpy();});let s=me(e.prototype,n);return V(o,s.getters,s.setters),r.forEach(c=>{n.lazySpies?be(o,c):o[c]=l(c);}),o}function he(e={}){let t=new Map;for(let r of Reflect.ownKeys(e))t.set(r,Reflect.get(e,r));let n={get(r,o){if(t.has(o))return t.get(o);if(typeof o=="symbol"||o==="then"||o==="constructor")return;let s=l(String(o));return t.set(o,s),s},set(r,o,s){return t.set(o,s),true},has(r,o){return t.has(o)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(r,o){if(t.has(o))return {configurable:true,enumerable:true,value:t.get(o),writable:true}}};return new Proxy({},n)}function J(e,t){let n=l(e),r=new Map,o=new Map;for(let c of Reflect.ownKeys(t))o.set(c,Reflect.get(t,c));let s={get(c,i,u){if(o.has(i))return o.get(i);if(i!=="then"){if(i in c)return Reflect.get(c,i,u);if(typeof i!="symbol")return r.has(i)||r.set(i,J(`${e}.${String(i)}`,{})),r.get(i)}},set(c,i,u){return o.set(i,u),true}};return new Proxy(n,s)}function Se(e={}){return J("mockDeep",e)}function Me(e){return typeof e=="object"&&e!==null&&"getters"in e&&"setters"in e}function je(e){let t=Object.getOwnPropertyDescriptor(e,"accessorSpies")?.value;return Me(t)?[...Object.values(t.getters),...Object.values(t.setters)].filter(w):[]}function X(e){let t=[];return Object.keys(e).forEach(n=>{let r=Object.getOwnPropertyDescriptor(e,n);!r||r.get||r.set||w(r.value)&&t.push(r.value);}),[...t,...je(e)]}function ve(e){let t=p();X(e).forEach(n=>{t.clear(n),h(n);});}function Oe(e){let t=p();X(e).forEach(n=>{t.clear(n),h(n),A(n);});}O(T);exports.clearAutoSpy=ve;exports.createAutoMock=he;exports.createFunctionSpy=l;exports.createSpyFromClass=we;exports.errorHandler=M;exports.mockDeep=Se;exports.resetAutoSpy=Oe;
|
package/dist/react.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.cjs';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.cjs';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.cjs';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/react.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.js';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.js';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.js';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-HDCUMVHT.js';export{c as clearAutoSpy,a as createAutoMock,b as mockDeep,d as resetAutoSpy}from'./chunk-N724W7OZ.js';export{a as createSpyFromClass}from'./chunk-Q4FBVCJO.js';import {a}from'./chunk-RTGT5WHR.js';export{i as createFunctionSpy,h as errorHandler}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';a(a$1);
|
package/dist/rxjs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var rxjs=require('rxjs'),operators=require('rxjs/operators');function i(t){return "complete"in t}function v(t){return "value"in t}function
|
|
1
|
+
'use strict';var rxjs=require('rxjs'),operators=require('rxjs/operators');function i(t){return "complete"in t}function v(t){return "value"in t}function T(t){return "errorValue"in t}function n(){return new rxjs.ReplaySubject(1)}function O(t,a){let r=new rxjs.ReplaySubject(1),o=rxjs.from(a).pipe(operators.concatMap(e=>i(e)&&e.complete&&e.delay?rxjs.of(e).pipe(operators.delay(e.delay)):rxjs.of(e)),operators.takeWhile(e=>i(e)&&e.complete?(r.next(),false):true),operators.concatMap(e=>v(e)&&e.value?e.delay?rxjs.of(e.value).pipe(operators.delay(e.delay)):rxjs.of(e.value):T(e)&&e.errorValue?e.delay?rxjs.timer(e.delay).pipe(operators.switchMap(()=>rxjs.throwError(()=>e.errorValue))):rxjs.throwError(()=>e.errorValue):rxjs.EMPTY));return rxjs.merge(o,t.pipe(operators.takeUntil(r)))}function A(t,a){let r=n(),o=O(r,t);return a?.returnSubject?{values$:o,subject:r}:o}exports.createObservableWithValues=A;
|
package/dist/rxjs.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable, ReplaySubject } from 'rxjs';
|
|
2
|
-
import { V as ValueConfig } from './types-
|
|
3
|
-
export { A as AddObservableSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, c as ValueConfigPerCall } from './types-
|
|
2
|
+
import { V as ValueConfig } from './types-BKS6JdLv.cjs';
|
|
3
|
+
export { A as AddObservableSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, c as ValueConfigPerCall } from './types-BKS6JdLv.cjs';
|
|
4
4
|
import 'vitest';
|
|
5
5
|
|
|
6
6
|
/**
|
package/dist/rxjs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable, ReplaySubject } from 'rxjs';
|
|
2
|
-
import { V as ValueConfig } from './types-
|
|
3
|
-
export { A as AddObservableSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, c as ValueConfigPerCall } from './types-
|
|
2
|
+
import { V as ValueConfig } from './types-BKS6JdLv.js';
|
|
3
|
+
export { A as AddObservableSpyMethods, b as CompleteValueConfig, E as ErrorValueConfig, N as NextValueConfig, c as ValueConfigPerCall } from './types-BKS6JdLv.js';
|
|
4
4
|
import 'vitest';
|
|
5
5
|
|
|
6
6
|
/**
|
package/dist/rxjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a,d
|
|
1
|
+
import {a,d}from'./chunk-7IUYJ6ZW.js';import {defer,ReplaySubject,from,of,EMPTY,timer,throwError,merge}from'rxjs';import {concatMap,delay,takeWhile,switchMap,takeUntil,take}from'rxjs/operators';function i(t){return "complete"in t}function v(t){return "value"in t}function f(t){return "errorValue"in t}function u(){return new ReplaySubject(1)}function m(t,a){let r=new ReplaySubject(1),l=from(a).pipe(concatMap(e=>i(e)&&e.complete&&e.delay?of(e).pipe(delay(e.delay)):of(e)),takeWhile(e=>i(e)&&e.complete?(r.next(),false):true),concatMap(e=>v(e)&&e.value?e.delay?of(e.value).pipe(delay(e.delay)):of(e.value):f(e)&&e.errorValue?e.delay?timer(e.delay).pipe(switchMap(()=>throwError(()=>e.errorValue))):throwError(()=>e.errorValue):EMPTY));return merge(l,t.pipe(takeUntil(r)))}function b(t,a,r){d(t,{nextWith:l=>{let e=a();e.next(l),r(e);},nextOneTimeWith:l=>{let e=a();e.next(l),e.complete(),r(e);},nextWithValues:l=>{l.length!==0&&r(m(a(),l));},throwWith:l=>{let e=a();e.error(l),r(e);},complete:()=>{let l=a();l.complete(),r(l);},returnSubject:()=>{let l=a();return r(l),l}});}function O(){let t;return ()=>t??=u()}function $(t,a){let r=t.asObservable();return a.delay&&(r=r.pipe(delay(a.delay))),a.doNotComplete||(r=r.pipe(take(1))),r}function j(t,a,r=()=>{}){d(t,{nextWithPerCall:l=>{let e=[];if(l.length===0)return e;let T=[];return l.forEach(c=>{let n=u();n.next(c.value),e.push(n),T.push({wrappedValue:$(n,c)});}),a.valuesPerCalls=T,r(a),e}});}function S(t,a){b(t,O(),r=>{a.value=r;}),j(t,a);}function h(t,a){let r={value:void 0};b(t,O(),l=>{r.value=l,t.argsToValuesMap.set(a,r);}),j(t,r,l=>{t.argsToValuesMap.set(a,l);});}function A(t,a){let r=u(),l=m(r,t);return a?.returnSubject?{values$:l,subject:r}:l}function x(){let t=u(),a=t,r=defer(()=>a);return b(r,()=>t,l=>{a=l;}),r}a({addToFunctionSpy:S,addToCalledWithObject:h,createPropSpy:x});export{A as createObservableWithValues};
|
package/dist/svelte.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vitest=require('vitest');var g;function
|
|
1
|
+
'use strict';var vitest=require('vitest');var g;function O(e){g=e;}var Q="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function p(){if(!g)throw new Error(Q);return g}var T={createMockFn(e,t){let n=e?vitest.vi.fn(e):vitest.vi.fn();return t!==void 0&&n.mockName(t),n},spyOnGetter(e,t){return vitest.vi.spyOn(e,t,"get")},spyOnSetter(e,t){return vitest.vi.spyOn(e,t,"set")},getCalls(e){return e.mock.calls},reset(e){e.mockReset();},clear(e){e.mockClear();},restoreImplementation(e,t){e.mockImplementation(t);}};var C=Symbol.for("vitest-auto-spy.mock"),b=Symbol.for("vitest-auto-spy.resetConfig"),k=Symbol.for("vitest-auto-spy.clearHook");function m(e){Object.defineProperty(e,C,{value:true,enumerable:false,configurable:true});}function w(e){return typeof e=="function"&&C in e}function R(e,t){Object.defineProperty(e,b,{value:t,enumerable:false,configurable:true});}function A(e){if(!(b in e))return;let t=Reflect.get(e,b);typeof t=="function"&&t();}function P(e,t){Object.defineProperty(e,k,{value:t,enumerable:false,configurable:true});}function h(e){if(!(k in e))return;let t=Reflect.get(e,k);typeof t=="function"&&t();}function F(e,t){Object.defineProperty(e,t,{get(){},set(n){},configurable:true});}function x(e,t,n){let r=p(),o=n==="setter"?r.spyOnSetter(e,t):r.spyOnGetter(e,t);return m(o),o}function V(e,t,n){let r={getters:{},setters:{}};e.accessorSpies=r,t.forEach(o=>{F(e,o),r.getters[o]=x(e,o,"getter");}),n.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||F(e,o),r.setters[o]=x(e,o,"setter");});}function Z(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function ee(e,t){return Object.entries(e).map(([n,r])=>`${n}:${a(r,t)}`).join(",")}function te(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${a(r,t)},${a(o,t)}]`).join(",")}])`}function ne(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=te(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>a(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>a(r,t)).join(",")}]`:n=`{${ee(e,t)}}`,t.delete(e),n}function S(e){return typeof e=="string"?Z(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function E(e){return typeof e=="object"&&e!==null}function a(e,t=new WeakSet){return typeof e=="object"&&e!==null?ne(e,t):S(e)}function W(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function re(e){return e.some(W)}var f=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&re(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(E)?`[${t.map(n=>S(n)).join(",")}]`:a(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#s(r,n[o]))}#s(t,n){return W(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var oe=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,se="But the function was called without any arguments.",ie=e=>{let t=a(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},M={throwArgumentsError(e,t){let n=e.length===0?se:ie(e);throw new Error(oe(t)+n)}};var ce="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function _(){throw new Error(ce);}function d(e,t){return Object.assign(e,t)}function ue(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function H(e,t){d(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:ue(n)});}});}function D(e,t){H(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function z(e,t){H(e,n=>{e.argsToValuesMap.set(t,n);});}var ae={record:e=>e,clear:()=>{}};function pe(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function $(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return ae;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),pe(r)?r.then(s=>{o.type="fulfilled",o.value=s;},s=>{o.type="rejected",o.value=s;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}function le(e){return typeof e=="object"&&e!==null&&"value"in e}function N(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function I(e,t){let n=e.argsToValuesMap.get(t);return le(n)?{found:true,value:N(n)}:{found:false,value:void 0}}function fe(e,t,n,r,o){if(e.wasConfigured){let s=I(e,r);if(s.found)return s.value}if(t.wasConfigured){let s=I(t,r);if(s.found)return s.value;M.throwArgumentsError(r,o);}return N(n)}function B(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return d(e,{mockReturnValue:n,returnValue:n}),z(e,t),e}function K(){return {wasConfigured:false,argsToValuesMap:new f}}function G(e){e.wasConfigured=false,e.argsToValuesMap=new f;}function l(e){let t=K(),n=K(),r={value:void 0},o=(...u)=>c.record(fe(t,n,r,u,e)),s=p().createMockFn(o,e),c=$(s);D(s,r);let i=d(s,{calledWith:(...u)=>B(t,u),mustBeCalledWith:(...u)=>B(n,u)});return R(i,()=>{G(t),G(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,p().restoreImplementation(s,o);}),P(i,()=>c.clear()),m(i),i}var L={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function de(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(n=>n!=="constructor"&&!t[n]?.get)}function q(e,t){let n=e;for(;n;){let r=Object.getPrototypeOf(n);r&&t(n),n=r;}}var U=new WeakMap;function Y(e){let t=U.get(e);if(t)return t;let n=new Set;q(e,o=>de(o).forEach(s=>n.add(s)));let r=[...n];return U.set(e,r),r}function ye(e){let t=new Set,n=new Set;return q(e,r=>{let o=Object.getOwnPropertyDescriptors(r);Object.keys(o).forEach(s=>{s!=="constructor"&&(o[s]?.get&&t.add(s),o[s]?.set&&n.add(s));});}),{getters:[...t],setters:[...n]}}function me(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let n=ye(e);return {getters:[...new Set([...t.gettersToSpyOn,...n.getters])],setters:[...new Set([...t.settersToSpyOn,...n.setters])]}}function ge(e,t){let n=new Set(Y(e.prototype)),r=t.filter(o=>!n.has(o));r.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${r.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function be(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let n=l(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n}),n}});}function ke(e){return e?Array.isArray(e)?{...L,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...L}}function we(e,t){let n=ke(t),r=n.methodsToSpyOn.length>0?n.methodsToSpyOn:Y(e.prototype);n.methodsToSpyOn.length>0&&ge(e,n.methodsToSpyOn);let o={};n.observablePropsToSpyOn.forEach(c=>{o[c]=_().createPropSpy();});let s=me(e.prototype,n);return V(o,s.getters,s.setters),r.forEach(c=>{n.lazySpies?be(o,c):o[c]=l(c);}),o}function he(e={}){let t=new Map;for(let r of Reflect.ownKeys(e))t.set(r,Reflect.get(e,r));let n={get(r,o){if(t.has(o))return t.get(o);if(typeof o=="symbol"||o==="then"||o==="constructor")return;let s=l(String(o));return t.set(o,s),s},set(r,o,s){return t.set(o,s),true},has(r,o){return t.has(o)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(r,o){if(t.has(o))return {configurable:true,enumerable:true,value:t.get(o),writable:true}}};return new Proxy({},n)}function J(e,t){let n=l(e),r=new Map,o=new Map;for(let c of Reflect.ownKeys(t))o.set(c,Reflect.get(t,c));let s={get(c,i,u){if(o.has(i))return o.get(i);if(i!=="then"){if(i in c)return Reflect.get(c,i,u);if(typeof i!="symbol")return r.has(i)||r.set(i,J(`${e}.${String(i)}`,{})),r.get(i)}},set(c,i,u){return o.set(i,u),true}};return new Proxy(n,s)}function Se(e={}){return J("mockDeep",e)}function Me(e){return typeof e=="object"&&e!==null&&"getters"in e&&"setters"in e}function je(e){let t=Object.getOwnPropertyDescriptor(e,"accessorSpies")?.value;return Me(t)?[...Object.values(t.getters),...Object.values(t.setters)].filter(w):[]}function X(e){let t=[];return Object.keys(e).forEach(n=>{let r=Object.getOwnPropertyDescriptor(e,n);!r||r.get||r.set||w(r.value)&&t.push(r.value);}),[...t,...je(e)]}function ve(e){let t=p();X(e).forEach(n=>{t.clear(n),h(n);});}function Oe(e){let t=p();X(e).forEach(n=>{t.clear(n),h(n),A(n);});}O(T);exports.clearAutoSpy=ve;exports.createAutoMock=he;exports.createFunctionSpy=l;exports.createSpyFromClass=we;exports.errorHandler=M;exports.mockDeep=Se;exports.resetAutoSpy=Oe;
|
package/dist/svelte.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.cjs';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.cjs';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.cjs';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/svelte.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
2
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.js';
|
|
1
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, a as ClassSpyConfiguration, C as ClassType, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, O as OnlyMethodKeysOf, j as OnlyObservablePropsOf, k as OnlyPropsOf, S as Spy, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.js';
|
|
2
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.js';
|
|
3
3
|
import 'rxjs';
|
|
4
4
|
import 'vitest';
|
package/dist/svelte.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-HDCUMVHT.js';export{c as clearAutoSpy,a as createAutoMock,b as mockDeep,d as resetAutoSpy}from'./chunk-N724W7OZ.js';export{a as createSpyFromClass}from'./chunk-Q4FBVCJO.js';import {a}from'./chunk-RTGT5WHR.js';export{i as createFunctionSpy,h as errorHandler}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';a(a$1);
|
|
@@ -104,6 +104,14 @@ type AddAccessorsSpies<T> = {
|
|
|
104
104
|
};
|
|
105
105
|
};
|
|
106
106
|
};
|
|
107
|
+
/**
|
|
108
|
+
* A recursively-mocked `T`: object properties become nested deep mocks (so
|
|
109
|
+
* `mock.repo.user.find()` works without seeding), methods become spies, and
|
|
110
|
+
* primitive properties keep their type (seed them via `overrides`/assignment).
|
|
111
|
+
*/
|
|
112
|
+
type DeepMockProxy<T> = {
|
|
113
|
+
[K in keyof T]: T[K] extends Func ? AddSpyMethodsByReturnTypes<T[K]> : T[K] extends object ? DeepMockProxy<T[K]> : T[K];
|
|
114
|
+
};
|
|
107
115
|
/** Fully-typed spy of `T`. */
|
|
108
116
|
type Spy<T> = AddAccessorsSpies<T> & {
|
|
109
117
|
[K in keyof T]: T[K] extends Func ? AddSpyMethodsByReturnTypes<T[K]> : T[K] extends Observable<infer O> ? AddObservableSpyMethods<O> & T[K] : T[K];
|
|
@@ -114,6 +122,10 @@ interface ClassSpyConfiguration<T> {
|
|
|
114
122
|
observablePropsToSpyOn?: OnlyObservablePropsOf<T>[];
|
|
115
123
|
settersToSpyOn?: OnlyPropsOf<T>[];
|
|
116
124
|
gettersToSpyOn?: OnlyPropsOf<T>[];
|
|
125
|
+
/** Auto-discover and spy every getter/setter on the prototype chain (merged with the explicit lists). */
|
|
126
|
+
autoSpyAccessors?: boolean;
|
|
127
|
+
/** Materialize each method spy lazily, on first access, instead of eagerly up-front (cheaper for large classes). */
|
|
128
|
+
lazySpies?: boolean;
|
|
117
129
|
}
|
|
118
130
|
|
|
119
|
-
export type { AddObservableSpyMethods as A, ClassType as C, ErrorValueConfig as E, Func as F, NextValueConfig as N, OnlyMethodKeysOf as O, Spy as S, ValueConfig as V, WithMockReturnValue as W, ClassSpyConfiguration as a, CompleteValueConfig as b, ValueConfigPerCall as c, AddAccessorsSpies as d, AddCalledWithObservable as e, AddCalledWithPromise as f, AddCalledWithSpyMethods as g, AddPromiseSpyMethods as h, AddSpyMethodsByReturnTypes as i, OnlyObservablePropsOf as j, OnlyPropsOf as k };
|
|
131
|
+
export type { AddObservableSpyMethods as A, ClassType as C, DeepMockProxy as D, ErrorValueConfig as E, Func as F, NextValueConfig as N, OnlyMethodKeysOf as O, Spy as S, ValueConfig as V, WithMockReturnValue as W, ClassSpyConfiguration as a, CompleteValueConfig as b, ValueConfigPerCall as c, AddAccessorsSpies as d, AddCalledWithObservable as e, AddCalledWithPromise as f, AddCalledWithSpyMethods as g, AddPromiseSpyMethods as h, AddSpyMethodsByReturnTypes as i, OnlyObservablePropsOf as j, OnlyPropsOf as k };
|
|
@@ -104,6 +104,14 @@ type AddAccessorsSpies<T> = {
|
|
|
104
104
|
};
|
|
105
105
|
};
|
|
106
106
|
};
|
|
107
|
+
/**
|
|
108
|
+
* A recursively-mocked `T`: object properties become nested deep mocks (so
|
|
109
|
+
* `mock.repo.user.find()` works without seeding), methods become spies, and
|
|
110
|
+
* primitive properties keep their type (seed them via `overrides`/assignment).
|
|
111
|
+
*/
|
|
112
|
+
type DeepMockProxy<T> = {
|
|
113
|
+
[K in keyof T]: T[K] extends Func ? AddSpyMethodsByReturnTypes<T[K]> : T[K] extends object ? DeepMockProxy<T[K]> : T[K];
|
|
114
|
+
};
|
|
107
115
|
/** Fully-typed spy of `T`. */
|
|
108
116
|
type Spy<T> = AddAccessorsSpies<T> & {
|
|
109
117
|
[K in keyof T]: T[K] extends Func ? AddSpyMethodsByReturnTypes<T[K]> : T[K] extends Observable<infer O> ? AddObservableSpyMethods<O> & T[K] : T[K];
|
|
@@ -114,6 +122,10 @@ interface ClassSpyConfiguration<T> {
|
|
|
114
122
|
observablePropsToSpyOn?: OnlyObservablePropsOf<T>[];
|
|
115
123
|
settersToSpyOn?: OnlyPropsOf<T>[];
|
|
116
124
|
gettersToSpyOn?: OnlyPropsOf<T>[];
|
|
125
|
+
/** Auto-discover and spy every getter/setter on the prototype chain (merged with the explicit lists). */
|
|
126
|
+
autoSpyAccessors?: boolean;
|
|
127
|
+
/** Materialize each method spy lazily, on first access, instead of eagerly up-front (cheaper for large classes). */
|
|
128
|
+
lazySpies?: boolean;
|
|
117
129
|
}
|
|
118
130
|
|
|
119
|
-
export type { AddObservableSpyMethods as A, ClassType as C, ErrorValueConfig as E, Func as F, NextValueConfig as N, OnlyMethodKeysOf as O, Spy as S, ValueConfig as V, WithMockReturnValue as W, ClassSpyConfiguration as a, CompleteValueConfig as b, ValueConfigPerCall as c, AddAccessorsSpies as d, AddCalledWithObservable as e, AddCalledWithPromise as f, AddCalledWithSpyMethods as g, AddPromiseSpyMethods as h, AddSpyMethodsByReturnTypes as i, OnlyObservablePropsOf as j, OnlyPropsOf as k };
|
|
131
|
+
export type { AddObservableSpyMethods as A, ClassType as C, DeepMockProxy as D, ErrorValueConfig as E, Func as F, NextValueConfig as N, OnlyMethodKeysOf as O, Spy as S, ValueConfig as V, WithMockReturnValue as W, ClassSpyConfiguration as a, CompleteValueConfig as b, ValueConfigPerCall as c, AddAccessorsSpies as d, AddCalledWithObservable as e, AddCalledWithPromise as f, AddCalledWithSpyMethods as g, AddPromiseSpyMethods as h, AddSpyMethodsByReturnTypes as i, OnlyObservablePropsOf as j, OnlyPropsOf as k };
|
package/dist/vue.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var vitest=require('vitest');var g;function
|
|
1
|
+
'use strict';var vitest=require('vitest');var g;function O(e){g=e;}var Z="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function p(){if(!g)throw new Error(Z);return g}var C={createMockFn(e,t){let n=e?vitest.vi.fn(e):vitest.vi.fn();return t!==void 0&&n.mockName(t),n},spyOnGetter(e,t){return vitest.vi.spyOn(e,t,"get")},spyOnSetter(e,t){return vitest.vi.spyOn(e,t,"set")},getCalls(e){return e.mock.calls},reset(e){e.mockReset();},clear(e){e.mockClear();},restoreImplementation(e,t){e.mockImplementation(t);}};var R=Symbol.for("vitest-auto-spy.mock"),b=Symbol.for("vitest-auto-spy.resetConfig"),k=Symbol.for("vitest-auto-spy.clearHook");function m(e){Object.defineProperty(e,R,{value:true,enumerable:false,configurable:true});}function S(e){return typeof e=="function"&&R in e}function A(e,t){Object.defineProperty(e,b,{value:t,enumerable:false,configurable:true});}function P(e){if(!(b in e))return;let t=Reflect.get(e,b);typeof t=="function"&&t();}function F(e,t){Object.defineProperty(e,k,{value:t,enumerable:false,configurable:true});}function w(e){if(!(k in e))return;let t=Reflect.get(e,k);typeof t=="function"&&t();}function x(e,t){Object.defineProperty(e,t,{get(){},set(n){},configurable:true});}function V(e,t,n){let r=p(),o=n==="setter"?r.spyOnSetter(e,t):r.spyOnGetter(e,t);return m(o),o}function E(e,t,n){let r={getters:{},setters:{}};e.accessorSpies=r,t.forEach(o=>{x(e,o),r.getters[o]=V(e,o,"getter");}),n.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||x(e,o),r.setters[o]=V(e,o,"setter");});}function ee(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function te(e,t){return Object.entries(e).map(([n,r])=>`${n}:${a(r,t)}`).join(",")}function ne(e,t){return `new Map([${[...e.entries()].map(([r,o])=>`[${a(r,t)},${a(o,t)}]`).join(",")}])`}function re(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=ne(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>a(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>a(r,t)).join(",")}]`:n=`{${te(e,t)}}`,t.delete(e),n}function h(e){return typeof e=="string"?ee(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:Object.is(e,-0)?"-0":String(e)}function W(e){return typeof e=="object"&&e!==null}function a(e,t=new WeakSet){return typeof e=="object"&&e!==null?re(e,t):h(e)}function _(e){return typeof e=="object"&&e!==null&&"asymmetricMatch"in e&&typeof e.asymmetricMatch=="function"}function oe(e){return e.some(_)}var f=class{#t=Object.create(null);#n=[];set(t,n){if(Array.isArray(t)&&oe(t)){this.#n.push({args:t,value:n});return}this.#t[this.#e(t)]=n;}get(t){let n=this.#e(t);return n in this.#t?this.#t[n]:this.#r(t)}#e(t){return Array.isArray(t)&&!t.some(W)?`[${t.map(n=>h(n)).join(",")}]`:a(t)}#r(t){return Array.isArray(t)?this.#n.find(r=>this.#o(r.args,t))?.value:void 0}#o(t,n){return t.length!==n.length?false:t.every((r,o)=>this.#s(r,n[o]))}#s(t,n){return _(t)?t.asymmetricMatch(n):this.#e([t])===this.#e([n])}};var se=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,ie="But the function was called without any arguments.",ce=e=>{let t=a(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},M={throwArgumentsError(e,t){let n=e.length===0?ie:ce(e);throw new Error(se(t)+n)}};var ue="Observable spies require rxjs. Import 'vitest-auto-spy/rxjs' once (e.g. in your test setup) to enable observablePropsToSpyOn / nextWith / nextWithValues / throwWith / complete / returnSubject.";function H(){throw new Error(ue);}function d(e,t){return Object.assign(e,t)}function ae(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function D(e,t){d(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:ae(n)});}});}function z(e,t){D(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function I(e,t){D(e,n=>{e.argsToValuesMap.set(t,n);});}var pe={record:e=>e,clear:()=>{}};function le(e){return typeof e!="object"&&typeof e!="function"||e===null?false:typeof Reflect.get(e,"then")=="function"}function $(e){let t=Reflect.get(e,"mock");if(typeof t!="object"||t===null||"settledResults"in t)return pe;let n=[];return Object.defineProperty(t,"settledResults",{value:n,enumerable:true,configurable:true,writable:true}),{record(r){let o={type:"incomplete",value:void 0};return n.push(o),le(r)?r.then(s=>{o.type="fulfilled",o.value=s;},s=>{o.type="rejected",o.value=s;}):(o.type="fulfilled",o.value=r),r},clear(){n.length=0;}}}function fe(e){return typeof e=="object"&&e!==null&&"value"in e}function L(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function K(e,t){let n=e.argsToValuesMap.get(t);return fe(n)?{found:true,value:L(n)}:{found:false,value:void 0}}function de(e,t,n,r,o){if(e.wasConfigured){let s=K(e,r);if(s.found)return s.value}if(t.wasConfigured){let s=K(t,r);if(s.found)return s.value;M.throwArgumentsError(r,o);}return L(n)}function B(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return d(e,{mockReturnValue:n,returnValue:n}),I(e,t),e}function G(){return {wasConfigured:false,argsToValuesMap:new f}}function N(e){e.wasConfigured=false,e.argsToValuesMap=new f;}function l(e){let t=G(),n=G(),r={value:void 0},o=(...u)=>c.record(de(t,n,r,u,e)),s=p().createMockFn(o,e),c=$(s);z(s,r);let i=d(s,{calledWith:(...u)=>B(t,u),mustBeCalledWith:(...u)=>B(n,u)});return A(i,()=>{N(t),N(n),r.value=void 0,delete r._isRejectedPromise,delete r.valuesPerCalls,p().restoreImplementation(s,o);}),F(i,()=>c.clear()),m(i),i}var U={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[],autoSpyAccessors:false,lazySpies:false};function ye(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(n=>n!=="constructor"&&!t[n]?.get)}function Y(e,t){let n=e;for(;n;){let r=Object.getPrototypeOf(n);r&&t(n),n=r;}}var q=new WeakMap;function J(e){let t=q.get(e);if(t)return t;let n=new Set;Y(e,o=>ye(o).forEach(s=>n.add(s)));let r=[...n];return q.set(e,r),r}function me(e){let t=new Set,n=new Set;return Y(e,r=>{let o=Object.getOwnPropertyDescriptors(r);Object.keys(o).forEach(s=>{s!=="constructor"&&(o[s]?.get&&t.add(s),o[s]?.set&&n.add(s));});}),{getters:[...t],setters:[...n]}}function ge(e,t){if(!t.autoSpyAccessors)return {getters:t.gettersToSpyOn,setters:t.settersToSpyOn};let n=me(e);return {getters:[...new Set([...t.gettersToSpyOn,...n.getters])],setters:[...new Set([...t.settersToSpyOn,...n.setters])]}}function be(e,t){let n=new Set(J(e.prototype)),r=t.filter(o=>!n.has(o));r.length!==0&&console.warn(`[vitest-auto-spy] createSpyFromClass(${e.name}): requested method(s) not found on the class prototype: ${r.join(", ")}. A spy was still created, but the real code will never call it \u2014 check for typos.`);}function ke(e,t){Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let n=l(t);return Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n}),n}});}function Se(e){return e?Array.isArray(e)?{...U,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[],autoSpyAccessors:e.autoSpyAccessors??false,lazySpies:e.lazySpies??false}:{...U}}function v(e,t){let n=Se(t),r=n.methodsToSpyOn.length>0?n.methodsToSpyOn:J(e.prototype);n.methodsToSpyOn.length>0&&be(e,n.methodsToSpyOn);let o={};n.observablePropsToSpyOn.forEach(c=>{o[c]=H().createPropSpy();});let s=ge(e.prototype,n);return E(o,s.getters,s.setters),r.forEach(c=>{n.lazySpies?ke(o,c):o[c]=l(c);}),o}function we(e,t,n){return {[e]:v(t,n)}}function he(e={}){let t=new Map;for(let r of Reflect.ownKeys(e))t.set(r,Reflect.get(e,r));let n={get(r,o){if(t.has(o))return t.get(o);if(typeof o=="symbol"||o==="then"||o==="constructor")return;let s=l(String(o));return t.set(o,s),s},set(r,o,s){return t.set(o,s),true},has(r,o){return t.has(o)},ownKeys(){return [...t.keys()]},getOwnPropertyDescriptor(r,o){if(t.has(o))return {configurable:true,enumerable:true,value:t.get(o),writable:true}}};return new Proxy({},n)}function X(e,t){let n=l(e),r=new Map,o=new Map;for(let c of Reflect.ownKeys(t))o.set(c,Reflect.get(t,c));let s={get(c,i,u){if(o.has(i))return o.get(i);if(i!=="then"){if(i in c)return Reflect.get(c,i,u);if(typeof i!="symbol")return r.has(i)||r.set(i,X(`${e}.${String(i)}`,{})),r.get(i)}},set(c,i,u){return o.set(i,u),true}};return new Proxy(n,s)}function Me(e={}){return X("mockDeep",e)}function je(e){return typeof e=="object"&&e!==null&&"getters"in e&&"setters"in e}function Te(e){let t=Object.getOwnPropertyDescriptor(e,"accessorSpies")?.value;return je(t)?[...Object.values(t.getters),...Object.values(t.setters)].filter(S):[]}function Q(e){let t=[];return Object.keys(e).forEach(n=>{let r=Object.getOwnPropertyDescriptor(e,n);!r||r.get||r.set||S(r.value)&&t.push(r.value);}),[...t,...Te(e)]}function ve(e){let t=p();Q(e).forEach(n=>{t.clear(n),w(n);});}function Oe(e){let t=p();Q(e).forEach(n=>{t.clear(n),w(n),P(n);});}O(C);exports.clearAutoSpy=ve;exports.createAutoMock=he;exports.createFunctionSpy=l;exports.createSpyFromClass=v;exports.errorHandler=M;exports.mockDeep=Me;exports.provideAutoSpy=we;exports.resetAutoSpy=Oe;
|
package/dist/vue.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as Spy, C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-
|
|
2
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
3
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.cjs';
|
|
1
|
+
import { S as Spy, C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-BKS6JdLv.cjs';
|
|
2
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.cjs';
|
|
3
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.cjs';
|
|
4
4
|
import 'rxjs';
|
|
5
5
|
import 'vitest';
|
|
6
6
|
|
package/dist/vue.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as Spy, C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-
|
|
2
|
-
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, b as CompleteValueConfig, E as ErrorValueConfig, F as Func, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-
|
|
3
|
-
export { createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler } from './bun.js';
|
|
1
|
+
import { S as Spy, C as ClassType, a as ClassSpyConfiguration, O as OnlyMethodKeysOf } from './types-BKS6JdLv.js';
|
|
2
|
+
export { d as AddAccessorsSpies, e as AddCalledWithObservable, f as AddCalledWithPromise, g as AddCalledWithSpyMethods, A as AddObservableSpyMethods, h as AddPromiseSpyMethods, i as AddSpyMethodsByReturnTypes, b as CompleteValueConfig, D as DeepMockProxy, E as ErrorValueConfig, F as Func, N as NextValueConfig, j as OnlyObservablePropsOf, k as OnlyPropsOf, V as ValueConfig, c as ValueConfigPerCall, W as WithMockReturnValue } from './types-BKS6JdLv.js';
|
|
3
|
+
export { clearAutoSpy, createAutoMock, createFunctionSpy, createSpyFromClass, errorHandler, mockDeep, resetAutoSpy } from './bun.js';
|
|
4
4
|
import 'rxjs';
|
|
5
5
|
import 'vitest';
|
|
6
6
|
|
package/dist/vue.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-HDCUMVHT.js';export{c as clearAutoSpy,a as createAutoMock,b as mockDeep,d as resetAutoSpy}from'./chunk-N724W7OZ.js';import {a as a$2}from'./chunk-Q4FBVCJO.js';export{a as createSpyFromClass}from'./chunk-Q4FBVCJO.js';import {a}from'./chunk-RTGT5WHR.js';export{i as createFunctionSpy,h as errorHandler}from'./chunk-RTGT5WHR.js';import'./chunk-7IUYJ6ZW.js';function y(r,p,n){return {[r]:a$2(p,n)}}a(a$1);export{y as provideAutoSpy};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vitest-auto-spy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Auto-generate fully-typed test spies from a class — across Vitest, Bun and node:test, with NestJS/React/Vue/Svelte/Angular recipes. Drop-in replacement for jest-auto-spies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"auto-mock",
|
package/dist/chunk-6LFQMHSX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {vi}from'vitest';var c={createMockFn(n,t){let o=n?vi.fn(n):vi.fn();return t!==void 0&&o.mockName(t),o},spyOnGetter(n,t){return vi.spyOn(n,t,"get")},spyOnSetter(n,t){return vi.spyOn(n,t,"set")},getCalls(n){return n.mock.calls},reset(n){n.mockReset();}};export{c as a};
|
package/dist/chunk-HVN6A3AX.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {e}from'./chunk-MQCVIN2A.js';function s(u={}){let r=new Map;for(let t of Reflect.ownKeys(u))r.set(t,Reflect.get(u,t));let a={get(t,e$1){if(r.has(e$1))return r.get(e$1);if(typeof e$1=="symbol"||e$1==="then"||e$1==="constructor")return;let n=e(String(e$1));return r.set(e$1,n),n},set(t,e,n){return r.set(e,n),true},has(t,e){return r.has(e)},ownKeys(){return [...r.keys()]},getOwnPropertyDescriptor(t,e){if(r.has(e))return {configurable:true,enumerable:true,value:r.get(e),writable:true}}};return new Proxy({},a)}export{s as a};
|
package/dist/chunk-IPBQZ4JC.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function a({createMockFn:r,getCalls:o,reset:c}){return {createMockFn:r,spyOnGetter:(t,e)=>i(r,t,e,"get"),spyOnSetter:(t,e)=>i(r,t,e,"set"),getCalls:o,reset:c}}function i(r,o,c,t){let e=Object.getOwnPropertyDescriptor(o,c),p=t==="get"?e?.get:e?.set,s=r(p),n={configurable:true,enumerable:e?.enumerable??true};return e?.get&&(n.get=e.get),e?.set&&(n.set=e.set),t==="get"?n.get=s:n.set=s,Object.defineProperty(o,c,n),s}export{a};
|
package/dist/chunk-MQCVIN2A.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {b as b$1,d as d$1}from'./chunk-7IUYJ6ZW.js';var c;function W(e){c=e;}function x(){return c!==void 0}var b="No mock adapter registered. Import a runtime entry once before creating spies \u2014 'vitest-auto-spy' (default, Vitest) or a runtime variant such as 'vitest-auto-spy/bun'.";function d(){if(!c)throw new Error(b);return c}function j(e){return `'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function M(e,t){return Object.entries(e).map(([n,r])=>`${n}:${o(r,t)}`).join(",")}function T(e,t){return `new Map([${[...e.entries()].map(([r,i])=>`[${o(r,t)},${o(i,t)}]`).join(",")}])`}function S(e,t){if(t.has(e))return "[Circular]";t.add(e);let n;return e instanceof Date?n=`new Date(${e.getTime()})`:e instanceof Map?n=T(e,t):e instanceof Set?n=`new Set([${[...e].map(r=>o(r,t)).join(",")}])`:Array.isArray(e)?n=`[${e.map(r=>o(r,t)).join(",")}]`:n=`{${M(e,t)}}`,t.delete(e),n}function o(e,t=new WeakSet){return typeof e=="string"?j(e):typeof e=="bigint"?`${e}n`:typeof e=="symbol"?e.toString():typeof e=="function"?`[Function: ${e.name}]`:typeof e=="object"&&e!==null?S(e,t):Object.is(e,-0)?"-0":String(e)}var V=e=>`The function '${e}' was configured with 'mustBeCalledWith' and expects to be called with specific arguments. `,F="But the function was called without any arguments.",P=e=>{let t=o(e);return `But the actual arguments were: ${t.substring(1,t.length-1)}`},f={throwArgumentsError(e,t){let n=e.length===0?F:P(e);throw new Error(V(t)+n)}};var l=class{#e={};set(t,n){this.#e[this.#t(t)]=n;}get(t){return this.#e[this.#t(t)]}#t(t){return o(t)}};function R(e){return e.map(t=>({wrappedValue:t.delay===void 0?Promise.resolve(t.value):new Promise(n=>setTimeout(()=>n(t.value),t.delay))}))}function m(e,t){d$1(e,{resolveWith:n=>{t({value:Promise.resolve(n)});},rejectWith:n=>{t({value:n,_isRejectedPromise:true});},resolveWithPerCall:n=>{n.length!==0&&t({value:void 0,valuesPerCalls:R(n)});}});}function g(e,t){m(e,n=>{t.value=n.value,t._isRejectedPromise=n._isRejectedPromise??false,t.valuesPerCalls=n.valuesPerCalls??[];});}function y(e,t){m(e,n=>{e.argsToValuesMap.set(t,n);});}function A(e){return typeof e=="object"&&e!==null&&"value"in e}function h(e){if(e._isRejectedPromise)return Promise.reject(e.value);let t=e.valuesPerCalls?.shift();return t?t.wrappedValue:e.value}function k(e,t){let n=e.argsToValuesMap.get(t);return A(n)?{found:true,value:h(n)}:{found:false,value:void 0}}function O(e,t,n,r,i){if(e.wasConfigured){let u=k(e,r);if(u.found)return u.value}if(t.wasConfigured){let u=k(t,r);if(u.found)return u.value;f.throwArgumentsError(r,i);}return h(n)}function w(e,t){e.wasConfigured=true;let n=r=>{e.argsToValuesMap.set(t,{value:r});};return d$1(e,{mockReturnValue:n,returnValue:n}),y(e,t),b$1()?.addToCalledWithObject(e,t),e}function C(){return {wasConfigured:false,argsToValuesMap:new l}}function K(e){let t=C(),n=C(),r={value:void 0},i=d().createMockFn((...a)=>O(t,n,r,a,e),e);g(i,r),b$1()?.addToFunctionSpy(i,r);let u=d$1(i,{calledWith:(...a)=>w(t,a),mustBeCalledWith:(...a)=>w(n,a)});return u}export{W as a,x as b,d as c,f as d,K as e};
|
package/dist/chunk-WP2TFS53.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {e,c as c$1}from'./chunk-MQCVIN2A.js';import {c}from'./chunk-7IUYJ6ZW.js';function u(e,t){Object.defineProperty(e,t,{get(){},set(r){},configurable:true});}function f(e,t,r){let s=c$1();return r==="setter"?s.spyOnSetter(e,t):s.spyOnGetter(e,t)}function l(e,t,r){let s={getters:{},setters:{}};e.accessorSpies=s,t.forEach(o=>{u(e,o),s.getters[o]=f(e,o,"getter");}),r.forEach(o=>{Object.prototype.hasOwnProperty.call(e,o)||u(e,o),s.setters[o]=f(e,o,"setter");});}var d={methodsToSpyOn:[],observablePropsToSpyOn:[],settersToSpyOn:[],gettersToSpyOn:[]};function S(e){let t=Object.getOwnPropertyDescriptors(e);return Object.keys(t).filter(r=>r!=="constructor"&&!t[r]?.get)}var O=new WeakMap;function T(e){let t=O.get(e);if(t)return t;let r=new Set,s=e;for(;s;){let n=Object.getPrototypeOf(s);n&&S(s).forEach(p=>r.add(p)),s=n;}let o=[...r];return O.set(e,o),o}function b(e){return e?Array.isArray(e)?{...d,methodsToSpyOn:e}:{methodsToSpyOn:e.methodsToSpyOn??[],observablePropsToSpyOn:e.observablePropsToSpyOn??[],settersToSpyOn:e.settersToSpyOn??[],gettersToSpyOn:e.gettersToSpyOn??[]}:{...d}}function M(e$1,t){let{methodsToSpyOn:r,observablePropsToSpyOn:s,settersToSpyOn:o,gettersToSpyOn:n}=b(t),p=r.length>0?r:T(e$1.prototype),c$1={};return s.forEach(i=>{c$1[i]=c().createPropSpy();}),l(c$1,n,o),p.forEach(i=>{c$1[i]=e(i);}),c$1}export{M as a};
|