tinyspy
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -6,5 +6,8 @@ // src/utils.ts | ||
} | ||
function u(t, e) { | ||
function y(t, e) { | ||
return typeof e === t; | ||
} | ||
function v(t) { | ||
return t instanceof Promise; | ||
} | ||
function f(t, e, i) { | ||
@@ -15,5 +18,5 @@ Object.defineProperty(t, e, i); | ||
// src/spy.ts | ||
var g = /* @__PURE__ */ new Set(); | ||
function S(t) { | ||
d(u("function", t) || u("undefined", t), "cannot spy on a non-function value"); | ||
var x = /* @__PURE__ */ new Set(); | ||
function A(t) { | ||
d(y("function", t) || y("undefined", t), "cannot spy on a non-function value"); | ||
let e = function(...o) { | ||
@@ -34,3 +37,3 @@ if (e.called = !0, e.callCount++, e.calls.push(o), e.next) { | ||
let c = [n, r]; | ||
if (r && u("object", r) && u("function", r.then)) { | ||
if (v(r)) { | ||
let s = r.then((l) => c[1] = l).catch((l) => { | ||
@@ -55,5 +58,5 @@ throw c[0] = "error", c[1] = l, l; | ||
// src/spyOn.ts | ||
var v = (t, e) => Object.getOwnPropertyDescriptor(t, e); | ||
function I(t, e, i) { | ||
d(!u("undefined", t), "spyOn could not find an object to spy upon"), d(u("object", t) || u("function", t), "cannot spyOn on a primitive value"); | ||
var k = (t, e) => Object.getOwnPropertyDescriptor(t, e); | ||
function C(t, e, i) { | ||
d(!y("undefined", t), "spyOn could not find an object to spy upon"), d(y("object", t) || y("function", t), "cannot spyOn on a primitive value"); | ||
let o = () => { | ||
@@ -69,10 +72,10 @@ if (typeof e != "object") | ||
throw new Error("specify getter or setter to spy on"); | ||
}, [r, n] = o(), c = v(t, r), s = Object.getPrototypeOf(t), l = s && v(s, r), a = c || l; | ||
}, [r, n] = o(), c = k(t, r), s = Object.getPrototypeOf(t), l = s && k(s, r), a = c || l; | ||
d(a || r in t, `${String(r)} does not exist`); | ||
let T = !1; | ||
n === "value" && a && !a.value && a.get && (n = "get", T = !0, i = a.get()); | ||
let y; | ||
a ? y = a[n] : n !== "value" ? y = () => t[r] : y = t[r], i || (i = y); | ||
let p = S(i), A = (m) => { | ||
let { value: w, ...h } = a || { | ||
let u; | ||
a ? u = a[n] : n !== "value" ? u = () => t[r] : u = t[r], i || (i = u); | ||
let p = A(i), S = (m) => { | ||
let { value: O, ...h } = a || { | ||
configurable: !0, | ||
@@ -82,17 +85,17 @@ writable: !0 | ||
n !== "value" && delete h.writable, h[n] = m, f(t, r, h); | ||
}, k = () => A(y); | ||
return p.restore = k, p.getOriginal = () => T ? y() : y, p.willCall = (m) => (p.impl = m, p), A(T ? () => p : p), g.add(p), p; | ||
}, w = () => S(u); | ||
return p.restore = w, p.getOriginal = () => T ? u() : u, p.willCall = (m) => (p.impl = m, p), S(T ? () => p : p), x.add(p), p; | ||
} | ||
// src/restoreAll.ts | ||
function G() { | ||
for (let t of g) | ||
function q() { | ||
for (let t of x) | ||
t.restore(); | ||
g.clear(); | ||
x.clear(); | ||
} | ||
export { | ||
G as restoreAll, | ||
g as spies, | ||
S as spy, | ||
I as spyOn | ||
q as restoreAll, | ||
x as spies, | ||
A as spy, | ||
C as spyOn | ||
}; |
{ | ||
"name": "tinyspy", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"type": "module", | ||
@@ -35,2 +35,5 @@ "main": "./dist/index.cjs", | ||
}, | ||
"dependencies": { | ||
"changelogithub": "^0.6.5" | ||
}, | ||
"scripts": { | ||
@@ -37,0 +40,0 @@ "publish": "npm run build && clean-publish" |
@@ -5,6 +5,8 @@ # tinyspy | ||
A `8KB` package for minimal and easy testing with no dependencies. | ||
A `9KB` package for minimal and easy testing with no dependencies. | ||
This package was created for having a tiny spy library to use in `vitest`, but it can also be used in `jest` and other test environments. | ||
_In case you need more tiny libraries like tinypool or tinyspy, please consider submitting an [RFC](https://github.com/tinylibs/rfcs)_ | ||
## Docs | ||
Read **[full docs](https://github.com/tinylibs/tinyspy#readme)** on GitHub. |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
9704
255
12
0
1
+ Addedchangelogithub@^0.6.5
+ Added@antfu/utils@0.5.2(transitive)
+ Added@fastify/busboy@2.1.1(transitive)
+ Addedacorn@8.11.3(transitive)
+ Addedc12@0.2.13(transitive)
+ Addedcac@6.7.14(transitive)
+ Addedchangelogen@0.1.1(transitive)
+ Addedchangelogithub@0.6.6(transitive)
+ Addedchownr@1.1.4(transitive)
+ Addedconfbox@0.1.7(transitive)
+ Addedconsola@2.15.3(transitive)
+ Addedcross-spawn@7.0.3(transitive)
+ Addeddefu@6.1.4(transitive)
+ Addeddestr@1.2.2(transitive)
+ Addeddotenv@16.4.5(transitive)
+ Addedexeca@6.1.0(transitive)
+ Addedflat@5.0.2(transitive)
+ Addedfs-minipass@1.2.7(transitive)
+ Addedget-stream@6.0.1(transitive)
+ Addedgittar@0.1.1(transitive)
+ Addedhuman-signals@3.0.1(transitive)
+ Addedis-stream@3.0.0(transitive)
+ Addedisexe@2.0.0(transitive)
+ Addedjiti@1.21.0(transitive)
+ Addedjsonc-parser@3.2.1(transitive)
+ Addedkolorist@1.8.0(transitive)
+ Addedmerge-stream@2.0.0(transitive)
+ Addedmimic-fn@4.0.0(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedminipass@2.9.0(transitive)
+ Addedminizlib@1.3.3(transitive)
+ Addedmkdirp@0.5.6(transitive)
+ Addedmlly@0.5.171.7.0(transitive)
+ Addedmri@1.2.0(transitive)
+ Addednode-fetch-native@0.1.8(transitive)
+ Addednpm-run-path@5.3.0(transitive)
+ Addedohmyfetch@0.4.21(transitive)
+ Addedonetime@6.0.0(transitive)
+ Addedpath-key@3.1.14.0.0(transitive)
+ Addedpathe@0.3.91.1.2(transitive)
+ Addedpkg-types@0.3.61.1.1(transitive)
+ Addedrc9@1.2.4(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedscule@0.2.1(transitive)
+ Addedshebang-command@2.0.0(transitive)
+ Addedshebang-regex@3.0.0(transitive)
+ Addedsignal-exit@3.0.7(transitive)
+ Addedstrip-final-newline@3.0.0(transitive)
+ Addedtar@4.4.19(transitive)
+ Addedufo@0.8.61.5.3(transitive)
+ Addedundici@5.28.4(transitive)
+ Addedwhich@2.0.2(transitive)
+ Addedyallist@3.1.1(transitive)