@voiceflow/universal-mock 1.1.1 → 3.0.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/build/main.d.mts +33 -0
- package/build/main.d.mts.map +1 -0
- package/build/main.mjs +90 -0
- package/build/main.mjs.map +1 -0
- package/package.json +7 -25
- package/vitest/main.mjs +2 -2
- package/build/cjs/main.d.ts +0 -2
- package/build/cjs/main.d.ts.map +0 -1
- package/build/cjs/main.js +0 -18
- package/build/cjs/main.js.map +0 -1
- package/build/cjs/mock.d.ts +0 -40
- package/build/cjs/mock.d.ts.map +0 -1
- package/build/cjs/mock.js +0 -135
- package/build/cjs/mock.js.map +0 -1
- package/build/cjs/package.json +0 -1
- package/build/esm/main.d.ts +0 -2
- package/build/esm/main.d.ts.map +0 -1
- package/build/esm/main.js +0 -2
- package/build/esm/main.js.map +0 -1
- package/build/esm/mock.d.ts +0 -40
- package/build/esm/mock.d.ts.map +0 -1
- package/build/esm/mock.js +0 -129
- package/build/esm/mock.js.map +0 -1
- package/build/esm/package.json +0 -1
package/build/main.d.mts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* this implementation was copied from the package `@golevelup/ts-jest`
|
|
3
|
+
* so that we can make it framework-agnostic (jest vs vitest)
|
|
4
|
+
*
|
|
5
|
+
* you can find the original implementation here:
|
|
6
|
+
* https://github.com/golevelup/nestjs/blob/master/packages/testing/ts-jest/src/mocks.ts
|
|
7
|
+
*/
|
|
8
|
+
declare const IS_MOCK_FREE: unique symbol;
|
|
9
|
+
export interface MockInstance<T, Y extends any[], C = any> {}
|
|
10
|
+
interface FrameworkStatic<M> {
|
|
11
|
+
fn: <T, Y extends any[], C = any>(implementation?: (this: C, ...args: Y) => T) => M;
|
|
12
|
+
isMockFunction?: (fn: any) => boolean;
|
|
13
|
+
}
|
|
14
|
+
type ArgsType<T> = T extends ((...args: infer R) => any) ? R : never;
|
|
15
|
+
export type DeepPartial<T> = { [P in keyof T]?: T[P] extends Array<infer U> ? Array<PartialFuncReturn<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<PartialFuncReturn<U>> : unknown extends T[P] ? T[P] : PartialFuncReturn<T[P]>; };
|
|
16
|
+
export type PartialFuncReturn<T> = { [K in keyof T]?: T[K] extends ((...args: infer A) => infer U) ? (...args: A) => PartialFuncReturn<U> | PartialFuncReturn<Awaited<U>> : DeepPartial<T[K]>; };
|
|
17
|
+
export type DeepMocked<T> = { [K in keyof T]: Required<T>[K] extends ((...args: any[]) => infer U) ? MockInstance<ReturnType<Required<T>[K]>, ArgsType<T[K]>> & ((...args: ArgsType<T[K]>) => DeepMocked<U>) : T[K] extends object ? DeepMocked<T[K]> : T[K]; } & T;
|
|
18
|
+
/**
|
|
19
|
+
* tags objects that should not be extended with automatically mocked properties and methods
|
|
20
|
+
*/
|
|
21
|
+
export declare const mockFree: <T extends object & {
|
|
22
|
+
[IS_MOCK_FREE]?: boolean;
|
|
23
|
+
}>(value: T) => T;
|
|
24
|
+
/**
|
|
25
|
+
* creates a mock proxy that can be treated as either a function or an object
|
|
26
|
+
*/
|
|
27
|
+
export declare const createUniversalMockProxy: <M, T extends object>(framework: FrameworkStatic<M>, name: string) => DeepMocked<T>;
|
|
28
|
+
export interface MockOptions {
|
|
29
|
+
name?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const createMockFactory: <M>(framework: FrameworkStatic<M>) => <T extends object>(partial?: PartialFuncReturn<T>, options?: MockOptions) => DeepMocked<T>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=main.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.mts","names":[],"sources":["../src/mock.ts"],"mappings":";;;;;;;cASM;iBAGW,aAAa,GAAG,iBAAiB;UAExC,gBAAgB;EACxB,KAAK,GAAG,iBAAiB,SAAS,kBAAkB,MAAM,MAAM,MAAM,MAAM,MAAM;EAClF,kBAAkB;;KAEf,SAAS,KAAK,eAAc,YAAY,aAAY;YAE7C,YAAY,QACrB,WAAW,KAAK,EAAE,WAAW,YAAY,KACtC,MAAM,kBAAkB,MACxB,EAAE,WAAW,oBAAoB,KAC/B,cAAc,kBAAkB,sBAChB,EAAE,KAChB,EAAE,KACF,kBAAkB,EAAE;YAGlB,kBAAkB,QAC3B,WAAW,KAAK,EAAE,gBAAe,YAAY,YAAY,SAClD,MAAM,MAAM,kBAAkB,KAAK,kBAAkB,QAAQ,MACjE,YAAY,EAAE;YAGR,WAAW,QACpB,WAAW,IAAI,SAAS,GAAG,gBAAe,sBAAsB,KAC7D,aAAa,WAAW,SAAS,GAAG,KAAK,SAAS,EAAE,YAAY,MAAM,SAAS,EAAE,QAAQ,WAAW,MACpG,EAAE,oBACA,WAAW,EAAE,MACb,EAAE,QACN;;;;qBAgBS,WAAY;GAAsB;GAA2B,OAAO,MAAI;;;;qBAsCxE,2BAA4B,GAAG,kBAC1C,WAAW,gBAAgB,IAC3B,iBACC,WAAW;iBAkCG;EACf;;qBAGW,oBACV,GAAG,WAAW,gBAAgB,QAC9B,kBAAkB,UAAS,kBAAkB,IAAS,UAAS,gBAAmB,WAAW"}
|
package/build/main.mjs
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// src/mock.ts
|
|
2
|
+
/**
|
|
3
|
+
* this implementation was copied from the package `@golevelup/ts-jest`
|
|
4
|
+
* so that we can make it framework-agnostic (jest vs vitest)
|
|
5
|
+
*
|
|
6
|
+
* you can find the original implementation here:
|
|
7
|
+
* https://github.com/golevelup/nestjs/blob/master/packages/testing/ts-jest/src/mocks.ts
|
|
8
|
+
*/
|
|
9
|
+
const IS_PROXY_MOCK = Symbol("is-proxy-mock");
|
|
10
|
+
const IS_MOCK_FREE = Symbol("is-mock-free");
|
|
11
|
+
const isReserved = (prop) => {
|
|
12
|
+
return prop === "inspect" || prop === "then" || typeof prop === "symbol" && prop.toString() === "Symbol(util.inspect.custom)";
|
|
13
|
+
};
|
|
14
|
+
const isProxyMock = (obj) => obj[IS_PROXY_MOCK] === true;
|
|
15
|
+
const isMockFree = (obj) => obj instanceof Map || obj instanceof Set || obj[IS_MOCK_FREE] === true;
|
|
16
|
+
/**
|
|
17
|
+
* tags objects that should not be extended with automatically mocked properties and methods
|
|
18
|
+
*/
|
|
19
|
+
const mockFree = (value) => {
|
|
20
|
+
if (value) value[IS_MOCK_FREE] = true;
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* creates a mocked function that returns a mock proxy when called
|
|
25
|
+
*/
|
|
26
|
+
const createRecursiveMockProxy = (framework, name) => {
|
|
27
|
+
const cache = /* @__PURE__ */ new Map();
|
|
28
|
+
const proxy = new Proxy({}, { get: (_obj, prop) => {
|
|
29
|
+
if (prop === IS_PROXY_MOCK) return true;
|
|
30
|
+
if (isReserved(prop)) return void 0;
|
|
31
|
+
if (cache.has(prop)) return cache.get(prop);
|
|
32
|
+
const mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);
|
|
33
|
+
cache.set(prop, mockedProp);
|
|
34
|
+
return mockedProp;
|
|
35
|
+
} });
|
|
36
|
+
return framework.fn(() => proxy);
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* creates a mock proxy that can be treated as either a function or an object
|
|
40
|
+
*/
|
|
41
|
+
const createUniversalMockProxy = (framework, name) => {
|
|
42
|
+
const cache = /* @__PURE__ */ new Map();
|
|
43
|
+
return new Proxy(createRecursiveMockProxy(framework, name), {
|
|
44
|
+
set: (target, prop, newValue, receiver) => {
|
|
45
|
+
const didSet = Reflect.set(target, prop, newValue, receiver);
|
|
46
|
+
if (didSet) cache.delete(prop);
|
|
47
|
+
return didSet;
|
|
48
|
+
},
|
|
49
|
+
get: (obj, prop) => {
|
|
50
|
+
if (prop === IS_PROXY_MOCK) return true;
|
|
51
|
+
if (isReserved(prop)) return void 0;
|
|
52
|
+
if (cache.has(prop)) return cache.get(prop);
|
|
53
|
+
let mockedProp;
|
|
54
|
+
if (prop in obj) mockedProp = obj[prop];
|
|
55
|
+
else mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);
|
|
56
|
+
cache.set(prop, mockedProp);
|
|
57
|
+
return mockedProp;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
const createMockFactory = (framework) => (partial = {}, options = {}) => {
|
|
62
|
+
const cache = /* @__PURE__ */ new Map();
|
|
63
|
+
const { name = "mock" } = options;
|
|
64
|
+
return new Proxy(partial, {
|
|
65
|
+
set: (target, prop, newValue, receiver) => {
|
|
66
|
+
const didSet = Reflect.set(target, prop, newValue, receiver);
|
|
67
|
+
if (didSet) cache.delete(prop);
|
|
68
|
+
return didSet;
|
|
69
|
+
},
|
|
70
|
+
get: (obj, prop) => {
|
|
71
|
+
if (prop === IS_PROXY_MOCK) return true;
|
|
72
|
+
if (isReserved(prop)) return void 0;
|
|
73
|
+
if (cache.has(prop)) return cache.get(prop);
|
|
74
|
+
let mockedProp;
|
|
75
|
+
if (prop in obj) {
|
|
76
|
+
const checkProp = obj[prop];
|
|
77
|
+
if (isProxyMock(checkProp) || isMockFree(checkProp) || framework.isMockFunction?.(checkProp)) mockedProp = checkProp;
|
|
78
|
+
else if (typeof checkProp === "function") mockedProp = framework.fn(checkProp);
|
|
79
|
+
else if (!!checkProp && typeof checkProp === "object" && !Array.isArray(checkProp)) mockedProp = createMockFactory(framework)(checkProp, { name: `${name}.${prop.toString()}` });
|
|
80
|
+
else mockedProp = checkProp;
|
|
81
|
+
} else if (prop === "constructor") mockedProp = () => void 0;
|
|
82
|
+
else mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);
|
|
83
|
+
cache.set(prop, mockedProp);
|
|
84
|
+
return mockedProp;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
export { createMockFactory, createUniversalMockProxy, mockFree };
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=main.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.mjs","names":[],"sources":["../src/mock.ts"],"sourcesContent":["/**\n * this implementation was copied from the package `@golevelup/ts-jest`\n * so that we can make it framework-agnostic (jest vs vitest)\n *\n * you can find the original implementation here:\n * https://github.com/golevelup/nestjs/blob/master/packages/testing/ts-jest/src/mocks.ts\n */\n\nconst IS_PROXY_MOCK = Symbol('is-proxy-mock');\nconst IS_MOCK_FREE = Symbol('is-mock-free');\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-object-type\nexport interface MockInstance<T, Y extends any[], C = any> {}\n\ninterface FrameworkStatic<M> {\n fn: <T, Y extends any[], C = any>(implementation?: (this: C, ...args: Y) => T) => M;\n isMockFunction?: (fn: any) => boolean;\n}\ntype ArgsType<T> = T extends (...args: infer R) => any ? R : never;\n\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends Array<infer U>\n ? Array<PartialFuncReturn<U>>\n : T[P] extends ReadonlyArray<infer U>\n ? ReadonlyArray<PartialFuncReturn<U>>\n : unknown extends T[P]\n ? T[P]\n : PartialFuncReturn<T[P]>;\n};\n\nexport type PartialFuncReturn<T> = {\n [K in keyof T]?: T[K] extends (...args: infer A) => infer U\n ? (...args: A) => PartialFuncReturn<U> | PartialFuncReturn<Awaited<U>>\n : DeepPartial<T[K]>;\n};\n\nexport type DeepMocked<T> = {\n [K in keyof T]: Required<T>[K] extends (...args: any[]) => infer U\n ? MockInstance<ReturnType<Required<T>[K]>, ArgsType<T[K]>> & ((...args: ArgsType<T[K]>) => DeepMocked<U>)\n : T[K] extends object\n ? DeepMocked<T[K]>\n : T[K];\n} & T;\n\nconst isReserved = (prop: string | symbol) => {\n return (\n prop === 'inspect' ||\n prop === 'then' ||\n (typeof prop === 'symbol' && prop.toString() === 'Symbol(util.inspect.custom)')\n );\n};\n\nconst isProxyMock = (obj: any) => obj[IS_PROXY_MOCK] === true;\nconst isMockFree = (obj: any) => obj instanceof Map || obj instanceof Set || obj[IS_MOCK_FREE] === true;\n\n/**\n * tags objects that should not be extended with automatically mocked properties and methods\n */\nexport const mockFree = <T extends object & { [IS_MOCK_FREE]?: boolean }>(value: T): T => {\n if (value) {\n // eslint-disable-next-line no-param-reassign\n value[IS_MOCK_FREE] = true;\n }\n\n return value;\n};\n\n/**\n * creates a mocked function that returns a mock proxy when called\n */\nconst createRecursiveMockProxy = <T extends object>(\n framework: FrameworkStatic<any>,\n name: string\n): MockInstance<T, any[]> => {\n const cache = new Map<string | number | symbol, any>();\n\n const proxy = new Proxy({} as T, {\n get: (_obj, prop) => {\n if (prop === IS_PROXY_MOCK) return true;\n if (isReserved(prop)) return undefined;\n if (cache.has(prop)) return cache.get(prop);\n\n const mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);\n\n cache.set(prop, mockedProp);\n\n return mockedProp;\n },\n });\n\n return framework.fn(() => proxy);\n};\n\n/**\n * creates a mock proxy that can be treated as either a function or an object\n */\nexport const createUniversalMockProxy = <M, T extends object>(\n framework: FrameworkStatic<M>,\n name: string\n): DeepMocked<T> => {\n const cache = new Map<string | number | symbol, any>();\n\n const proxy = new Proxy(createRecursiveMockProxy(framework, name) as T, {\n set: (target, prop, newValue, receiver) => {\n const didSet = Reflect.set(target, prop, newValue, receiver);\n\n if (didSet) {\n cache.delete(prop);\n }\n\n return didSet;\n },\n get: (obj, prop) => {\n if (prop === IS_PROXY_MOCK) return true;\n if (isReserved(prop)) return undefined;\n if (cache.has(prop)) return cache.get(prop);\n\n let mockedProp: any;\n\n if (prop in obj) {\n mockedProp = obj[prop as keyof PartialFuncReturn<T>];\n } else {\n mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);\n }\n\n cache.set(prop, mockedProp);\n return mockedProp;\n },\n });\n\n return proxy as DeepMocked<T>;\n};\n\nexport interface MockOptions {\n name?: string;\n}\n\nexport const createMockFactory =\n <M>(framework: FrameworkStatic<M>) =>\n <T extends object>(partial: PartialFuncReturn<T> = {}, options: MockOptions = {}): DeepMocked<T> => {\n const cache = new Map<string | number | symbol, any>();\n const { name = 'mock' } = options;\n\n const proxy = new Proxy(partial, {\n set: (target, prop, newValue, receiver) => {\n const didSet = Reflect.set(target, prop, newValue, receiver);\n\n if (didSet) {\n cache.delete(prop);\n }\n\n return didSet;\n },\n get: (obj, prop) => {\n if (prop === IS_PROXY_MOCK) return true;\n if (isReserved(prop)) return undefined;\n if (cache.has(prop)) return cache.get(prop);\n\n let mockedProp: any;\n\n if (prop in obj) {\n const checkProp = obj[prop as keyof PartialFuncReturn<T>];\n\n if (isProxyMock(checkProp) || isMockFree(checkProp) || framework.isMockFunction?.(checkProp)) {\n mockedProp = checkProp;\n } else if (typeof checkProp === 'function') {\n // wrap functions using test framework\n mockedProp = framework.fn(checkProp);\n } else if (!!checkProp && typeof checkProp === 'object' && !Array.isArray(checkProp)) {\n // extend objects by automatically mocking other properties and methods\n mockedProp = createMockFactory(framework)(checkProp, { name: `${name}.${prop.toString()}` });\n } else {\n mockedProp = checkProp;\n }\n } else if (prop === 'constructor') {\n mockedProp = () => undefined;\n } else {\n // treats undefined properties as both mock functions and objects with automatically mocked properties\n mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);\n }\n\n cache.set(prop, mockedProp);\n return mockedProp;\n },\n });\n\n return proxy as DeepMocked<T>;\n };\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voiceflow/universal-mock",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"exports": {
|
|
5
|
-
".":
|
|
6
|
-
|
|
7
|
-
"import": "./build/esm/main.js",
|
|
8
|
-
"default": "./build/cjs/main.js"
|
|
9
|
-
},
|
|
10
|
-
"./vitest": {
|
|
11
|
-
"types": "./vitest/main.d.ts",
|
|
12
|
-
"import": "./vitest/main.mjs",
|
|
13
|
-
"default": "./vitest/main.mjs"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
"main": "build/cjs/main.js",
|
|
17
|
-
"types": "build/cjs/main.d.ts",
|
|
18
|
-
"typesVersions": {
|
|
19
|
-
"*": {
|
|
20
|
-
"vitest": [
|
|
21
|
-
"./vitest/main.d.ts"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
6
|
+
".": "./build/main.mjs",
|
|
7
|
+
"./vitest": "./vitest/main.mjs"
|
|
24
8
|
},
|
|
25
9
|
"files": [
|
|
26
10
|
"build",
|
|
@@ -28,9 +12,7 @@
|
|
|
28
12
|
],
|
|
29
13
|
"scripts": {
|
|
30
14
|
"build": "yarn g:turbo run build:cmd --filter=@voiceflow/universal-mock...",
|
|
31
|
-
"build:
|
|
32
|
-
"build:cmd": "yarn g:run-p build:cjs build:esm",
|
|
33
|
-
"build:esm": "yarn g:build:pkg esm",
|
|
15
|
+
"build:cmd": "yarn g:tsdown",
|
|
34
16
|
"clean": "yarn g:rimraf build",
|
|
35
17
|
"lint": "yarn g:run-p -c lint:eslint lint:prettier",
|
|
36
18
|
"lint:eslint": "yarn g:eslint",
|
|
@@ -52,10 +34,10 @@
|
|
|
52
34
|
}
|
|
53
35
|
},
|
|
54
36
|
"engines": {
|
|
55
|
-
"node": "
|
|
37
|
+
"node": "26"
|
|
56
38
|
},
|
|
57
39
|
"volta": {
|
|
58
40
|
"extends": "../../package.json"
|
|
59
41
|
},
|
|
60
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "856cf9c6f41c3510675115d0feb331c6165f0975"
|
|
61
43
|
}
|
package/vitest/main.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { vi } from 'vitest';
|
|
2
2
|
|
|
3
|
-
import { createMockFactory } from '../build/
|
|
3
|
+
import { createMockFactory } from '../build/main.mjs';
|
|
4
4
|
|
|
5
|
-
export { mockFree } from '../build/
|
|
5
|
+
export { mockFree } from '../build/main.mjs';
|
|
6
6
|
|
|
7
7
|
export const createMock = createMockFactory(vi);
|
package/build/cjs/main.d.ts
DELETED
package/build/cjs/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
package/build/cjs/main.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./mock"), exports);
|
|
18
|
-
//# sourceMappingURL=main.js.map
|
package/build/cjs/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|
package/build/cjs/mock.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* this implementation was copied from the package `@golevelup/ts-jest`
|
|
3
|
-
* so that we can make it framework-agnostic (jest vs vitest)
|
|
4
|
-
*
|
|
5
|
-
* you can find the original implementation here:
|
|
6
|
-
* https://github.com/golevelup/nestjs/blob/master/packages/testing/ts-jest/src/mocks.ts
|
|
7
|
-
*/
|
|
8
|
-
declare const IS_MOCK_FREE: unique symbol;
|
|
9
|
-
export interface MockInstance<T, Y extends any[], C = any> {
|
|
10
|
-
}
|
|
11
|
-
interface FrameworkStatic<M> {
|
|
12
|
-
fn: <T, Y extends any[], C = any>(implementation?: (this: C, ...args: Y) => T) => M;
|
|
13
|
-
isMockFunction?: (fn: any) => boolean;
|
|
14
|
-
}
|
|
15
|
-
type ArgsType<T> = T extends (...args: infer R) => any ? R : never;
|
|
16
|
-
export type DeepPartial<T> = {
|
|
17
|
-
[P in keyof T]?: T[P] extends Array<infer U> ? Array<PartialFuncReturn<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<PartialFuncReturn<U>> : unknown extends T[P] ? T[P] : PartialFuncReturn<T[P]>;
|
|
18
|
-
};
|
|
19
|
-
export type PartialFuncReturn<T> = {
|
|
20
|
-
[K in keyof T]?: T[K] extends (...args: infer A) => infer U ? (...args: A) => PartialFuncReturn<U> | PartialFuncReturn<Awaited<U>> : DeepPartial<T[K]>;
|
|
21
|
-
};
|
|
22
|
-
export type DeepMocked<T> = {
|
|
23
|
-
[K in keyof T]: Required<T>[K] extends (...args: any[]) => infer U ? MockInstance<ReturnType<Required<T>[K]>, ArgsType<T[K]>> & ((...args: ArgsType<T[K]>) => DeepMocked<U>) : T[K] extends object ? DeepMocked<T[K]> : T[K];
|
|
24
|
-
} & T;
|
|
25
|
-
/**
|
|
26
|
-
* tags objects that should not be extended with automatically mocked properties and methods
|
|
27
|
-
*/
|
|
28
|
-
export declare const mockFree: <T extends object & {
|
|
29
|
-
[IS_MOCK_FREE]?: boolean;
|
|
30
|
-
}>(value: T) => T;
|
|
31
|
-
/**
|
|
32
|
-
* creates a mock proxy that can be treated as either a function or an object
|
|
33
|
-
*/
|
|
34
|
-
export declare const createUniversalMockProxy: <M, T extends object>(framework: FrameworkStatic<M>, name: string) => DeepMocked<T>;
|
|
35
|
-
export interface MockOptions {
|
|
36
|
-
name?: string;
|
|
37
|
-
}
|
|
38
|
-
export declare const createMockFactory: <M>(framework: FrameworkStatic<M>) => <T extends object>(partial?: PartialFuncReturn<T>, options?: MockOptions) => DeepMocked<T>;
|
|
39
|
-
export {};
|
|
40
|
-
//# sourceMappingURL=mock.d.ts.map
|
package/build/cjs/mock.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/mock.ts"],"names":[],"mappings":"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"}
|
package/build/cjs/mock.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* this implementation was copied from the package `@golevelup/ts-jest`
|
|
4
|
-
* so that we can make it framework-agnostic (jest vs vitest)
|
|
5
|
-
*
|
|
6
|
-
* you can find the original implementation here:
|
|
7
|
-
* https://github.com/golevelup/nestjs/blob/master/packages/testing/ts-jest/src/mocks.ts
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.createMockFactory = exports.createUniversalMockProxy = exports.mockFree = void 0;
|
|
11
|
-
const IS_PROXY_MOCK = Symbol('is-proxy-mock');
|
|
12
|
-
const IS_MOCK_FREE = Symbol('is-mock-free');
|
|
13
|
-
const isReserved = (prop) => {
|
|
14
|
-
return (prop === 'inspect' ||
|
|
15
|
-
prop === 'then' ||
|
|
16
|
-
(typeof prop === 'symbol' && prop.toString() === 'Symbol(util.inspect.custom)'));
|
|
17
|
-
};
|
|
18
|
-
const isProxyMock = (obj) => obj[IS_PROXY_MOCK] === true;
|
|
19
|
-
const isMockFree = (obj) => obj instanceof Map || obj instanceof Set || obj[IS_MOCK_FREE] === true;
|
|
20
|
-
/**
|
|
21
|
-
* tags objects that should not be extended with automatically mocked properties and methods
|
|
22
|
-
*/
|
|
23
|
-
const mockFree = (value) => {
|
|
24
|
-
if (value) {
|
|
25
|
-
// eslint-disable-next-line no-param-reassign
|
|
26
|
-
value[IS_MOCK_FREE] = true;
|
|
27
|
-
}
|
|
28
|
-
return value;
|
|
29
|
-
};
|
|
30
|
-
exports.mockFree = mockFree;
|
|
31
|
-
/**
|
|
32
|
-
* creates a mocked function that returns a mock proxy when called
|
|
33
|
-
*/
|
|
34
|
-
const createRecursiveMockProxy = (framework, name) => {
|
|
35
|
-
const cache = new Map();
|
|
36
|
-
const proxy = new Proxy({}, {
|
|
37
|
-
get: (_obj, prop) => {
|
|
38
|
-
if (prop === IS_PROXY_MOCK)
|
|
39
|
-
return true;
|
|
40
|
-
if (isReserved(prop))
|
|
41
|
-
return undefined;
|
|
42
|
-
if (cache.has(prop))
|
|
43
|
-
return cache.get(prop);
|
|
44
|
-
const mockedProp = (0, exports.createUniversalMockProxy)(framework, `${name}.${prop.toString()}`);
|
|
45
|
-
cache.set(prop, mockedProp);
|
|
46
|
-
return mockedProp;
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
return framework.fn(() => proxy);
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* creates a mock proxy that can be treated as either a function or an object
|
|
53
|
-
*/
|
|
54
|
-
const createUniversalMockProxy = (framework, name) => {
|
|
55
|
-
const cache = new Map();
|
|
56
|
-
const proxy = new Proxy(createRecursiveMockProxy(framework, name), {
|
|
57
|
-
set: (target, prop, newValue, receiver) => {
|
|
58
|
-
const didSet = Reflect.set(target, prop, newValue, receiver);
|
|
59
|
-
if (didSet) {
|
|
60
|
-
cache.delete(prop);
|
|
61
|
-
}
|
|
62
|
-
return didSet;
|
|
63
|
-
},
|
|
64
|
-
get: (obj, prop) => {
|
|
65
|
-
if (prop === IS_PROXY_MOCK)
|
|
66
|
-
return true;
|
|
67
|
-
if (isReserved(prop))
|
|
68
|
-
return undefined;
|
|
69
|
-
if (cache.has(prop))
|
|
70
|
-
return cache.get(prop);
|
|
71
|
-
let mockedProp;
|
|
72
|
-
if (prop in obj) {
|
|
73
|
-
mockedProp = obj[prop];
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
mockedProp = (0, exports.createUniversalMockProxy)(framework, `${name}.${prop.toString()}`);
|
|
77
|
-
}
|
|
78
|
-
cache.set(prop, mockedProp);
|
|
79
|
-
return mockedProp;
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
return proxy;
|
|
83
|
-
};
|
|
84
|
-
exports.createUniversalMockProxy = createUniversalMockProxy;
|
|
85
|
-
const createMockFactory = (framework) => (partial = {}, options = {}) => {
|
|
86
|
-
const cache = new Map();
|
|
87
|
-
const { name = 'mock' } = options;
|
|
88
|
-
const proxy = new Proxy(partial, {
|
|
89
|
-
set: (target, prop, newValue, receiver) => {
|
|
90
|
-
const didSet = Reflect.set(target, prop, newValue, receiver);
|
|
91
|
-
if (didSet) {
|
|
92
|
-
cache.delete(prop);
|
|
93
|
-
}
|
|
94
|
-
return didSet;
|
|
95
|
-
},
|
|
96
|
-
get: (obj, prop) => {
|
|
97
|
-
if (prop === IS_PROXY_MOCK)
|
|
98
|
-
return true;
|
|
99
|
-
if (isReserved(prop))
|
|
100
|
-
return undefined;
|
|
101
|
-
if (cache.has(prop))
|
|
102
|
-
return cache.get(prop);
|
|
103
|
-
let mockedProp;
|
|
104
|
-
if (prop in obj) {
|
|
105
|
-
const checkProp = obj[prop];
|
|
106
|
-
if (isProxyMock(checkProp) || isMockFree(checkProp) || framework.isMockFunction?.(checkProp)) {
|
|
107
|
-
mockedProp = checkProp;
|
|
108
|
-
}
|
|
109
|
-
else if (typeof checkProp === 'function') {
|
|
110
|
-
// wrap functions using test framework
|
|
111
|
-
mockedProp = framework.fn(checkProp);
|
|
112
|
-
}
|
|
113
|
-
else if (!!checkProp && typeof checkProp === 'object' && !Array.isArray(checkProp)) {
|
|
114
|
-
// extend objects by automatically mocking other properties and methods
|
|
115
|
-
mockedProp = (0, exports.createMockFactory)(framework)(checkProp, { name: `${name}.${prop.toString()}` });
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
mockedProp = checkProp;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
else if (prop === 'constructor') {
|
|
122
|
-
mockedProp = () => undefined;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
// treats undefined properties as both mock functions and objects with automatically mocked properties
|
|
126
|
-
mockedProp = (0, exports.createUniversalMockProxy)(framework, `${name}.${prop.toString()}`);
|
|
127
|
-
}
|
|
128
|
-
cache.set(prop, mockedProp);
|
|
129
|
-
return mockedProp;
|
|
130
|
-
},
|
|
131
|
-
});
|
|
132
|
-
return proxy;
|
|
133
|
-
};
|
|
134
|
-
exports.createMockFactory = createMockFactory;
|
|
135
|
-
//# sourceMappingURL=mock.js.map
|
package/build/cjs/mock.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/mock.ts"],"names":[],"mappings":"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"}
|
package/build/cjs/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{ "type": "commonjs" }
|
package/build/esm/main.d.ts
DELETED
package/build/esm/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
package/build/esm/main.js
DELETED
package/build/esm/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
package/build/esm/mock.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* this implementation was copied from the package `@golevelup/ts-jest`
|
|
3
|
-
* so that we can make it framework-agnostic (jest vs vitest)
|
|
4
|
-
*
|
|
5
|
-
* you can find the original implementation here:
|
|
6
|
-
* https://github.com/golevelup/nestjs/blob/master/packages/testing/ts-jest/src/mocks.ts
|
|
7
|
-
*/
|
|
8
|
-
declare const IS_MOCK_FREE: unique symbol;
|
|
9
|
-
export interface MockInstance<T, Y extends any[], C = any> {
|
|
10
|
-
}
|
|
11
|
-
interface FrameworkStatic<M> {
|
|
12
|
-
fn: <T, Y extends any[], C = any>(implementation?: (this: C, ...args: Y) => T) => M;
|
|
13
|
-
isMockFunction?: (fn: any) => boolean;
|
|
14
|
-
}
|
|
15
|
-
type ArgsType<T> = T extends (...args: infer R) => any ? R : never;
|
|
16
|
-
export type DeepPartial<T> = {
|
|
17
|
-
[P in keyof T]?: T[P] extends Array<infer U> ? Array<PartialFuncReturn<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<PartialFuncReturn<U>> : unknown extends T[P] ? T[P] : PartialFuncReturn<T[P]>;
|
|
18
|
-
};
|
|
19
|
-
export type PartialFuncReturn<T> = {
|
|
20
|
-
[K in keyof T]?: T[K] extends (...args: infer A) => infer U ? (...args: A) => PartialFuncReturn<U> | PartialFuncReturn<Awaited<U>> : DeepPartial<T[K]>;
|
|
21
|
-
};
|
|
22
|
-
export type DeepMocked<T> = {
|
|
23
|
-
[K in keyof T]: Required<T>[K] extends (...args: any[]) => infer U ? MockInstance<ReturnType<Required<T>[K]>, ArgsType<T[K]>> & ((...args: ArgsType<T[K]>) => DeepMocked<U>) : T[K] extends object ? DeepMocked<T[K]> : T[K];
|
|
24
|
-
} & T;
|
|
25
|
-
/**
|
|
26
|
-
* tags objects that should not be extended with automatically mocked properties and methods
|
|
27
|
-
*/
|
|
28
|
-
export declare const mockFree: <T extends object & {
|
|
29
|
-
[IS_MOCK_FREE]?: boolean;
|
|
30
|
-
}>(value: T) => T;
|
|
31
|
-
/**
|
|
32
|
-
* creates a mock proxy that can be treated as either a function or an object
|
|
33
|
-
*/
|
|
34
|
-
export declare const createUniversalMockProxy: <M, T extends object>(framework: FrameworkStatic<M>, name: string) => DeepMocked<T>;
|
|
35
|
-
export interface MockOptions {
|
|
36
|
-
name?: string;
|
|
37
|
-
}
|
|
38
|
-
export declare const createMockFactory: <M>(framework: FrameworkStatic<M>) => <T extends object>(partial?: PartialFuncReturn<T>, options?: MockOptions) => DeepMocked<T>;
|
|
39
|
-
export {};
|
|
40
|
-
//# sourceMappingURL=mock.d.ts.map
|
package/build/esm/mock.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/mock.ts"],"names":[],"mappings":"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"}
|
package/build/esm/mock.js
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* this implementation was copied from the package `@golevelup/ts-jest`
|
|
3
|
-
* so that we can make it framework-agnostic (jest vs vitest)
|
|
4
|
-
*
|
|
5
|
-
* you can find the original implementation here:
|
|
6
|
-
* https://github.com/golevelup/nestjs/blob/master/packages/testing/ts-jest/src/mocks.ts
|
|
7
|
-
*/
|
|
8
|
-
const IS_PROXY_MOCK = Symbol('is-proxy-mock');
|
|
9
|
-
const IS_MOCK_FREE = Symbol('is-mock-free');
|
|
10
|
-
const isReserved = (prop) => {
|
|
11
|
-
return (prop === 'inspect' ||
|
|
12
|
-
prop === 'then' ||
|
|
13
|
-
(typeof prop === 'symbol' && prop.toString() === 'Symbol(util.inspect.custom)'));
|
|
14
|
-
};
|
|
15
|
-
const isProxyMock = (obj) => obj[IS_PROXY_MOCK] === true;
|
|
16
|
-
const isMockFree = (obj) => obj instanceof Map || obj instanceof Set || obj[IS_MOCK_FREE] === true;
|
|
17
|
-
/**
|
|
18
|
-
* tags objects that should not be extended with automatically mocked properties and methods
|
|
19
|
-
*/
|
|
20
|
-
export const mockFree = (value) => {
|
|
21
|
-
if (value) {
|
|
22
|
-
// eslint-disable-next-line no-param-reassign
|
|
23
|
-
value[IS_MOCK_FREE] = true;
|
|
24
|
-
}
|
|
25
|
-
return value;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* creates a mocked function that returns a mock proxy when called
|
|
29
|
-
*/
|
|
30
|
-
const createRecursiveMockProxy = (framework, name) => {
|
|
31
|
-
const cache = new Map();
|
|
32
|
-
const proxy = new Proxy({}, {
|
|
33
|
-
get: (_obj, prop) => {
|
|
34
|
-
if (prop === IS_PROXY_MOCK)
|
|
35
|
-
return true;
|
|
36
|
-
if (isReserved(prop))
|
|
37
|
-
return undefined;
|
|
38
|
-
if (cache.has(prop))
|
|
39
|
-
return cache.get(prop);
|
|
40
|
-
const mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);
|
|
41
|
-
cache.set(prop, mockedProp);
|
|
42
|
-
return mockedProp;
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
return framework.fn(() => proxy);
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* creates a mock proxy that can be treated as either a function or an object
|
|
49
|
-
*/
|
|
50
|
-
export const createUniversalMockProxy = (framework, name) => {
|
|
51
|
-
const cache = new Map();
|
|
52
|
-
const proxy = new Proxy(createRecursiveMockProxy(framework, name), {
|
|
53
|
-
set: (target, prop, newValue, receiver) => {
|
|
54
|
-
const didSet = Reflect.set(target, prop, newValue, receiver);
|
|
55
|
-
if (didSet) {
|
|
56
|
-
cache.delete(prop);
|
|
57
|
-
}
|
|
58
|
-
return didSet;
|
|
59
|
-
},
|
|
60
|
-
get: (obj, prop) => {
|
|
61
|
-
if (prop === IS_PROXY_MOCK)
|
|
62
|
-
return true;
|
|
63
|
-
if (isReserved(prop))
|
|
64
|
-
return undefined;
|
|
65
|
-
if (cache.has(prop))
|
|
66
|
-
return cache.get(prop);
|
|
67
|
-
let mockedProp;
|
|
68
|
-
if (prop in obj) {
|
|
69
|
-
mockedProp = obj[prop];
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);
|
|
73
|
-
}
|
|
74
|
-
cache.set(prop, mockedProp);
|
|
75
|
-
return mockedProp;
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
return proxy;
|
|
79
|
-
};
|
|
80
|
-
export const createMockFactory = (framework) => (partial = {}, options = {}) => {
|
|
81
|
-
const cache = new Map();
|
|
82
|
-
const { name = 'mock' } = options;
|
|
83
|
-
const proxy = new Proxy(partial, {
|
|
84
|
-
set: (target, prop, newValue, receiver) => {
|
|
85
|
-
const didSet = Reflect.set(target, prop, newValue, receiver);
|
|
86
|
-
if (didSet) {
|
|
87
|
-
cache.delete(prop);
|
|
88
|
-
}
|
|
89
|
-
return didSet;
|
|
90
|
-
},
|
|
91
|
-
get: (obj, prop) => {
|
|
92
|
-
if (prop === IS_PROXY_MOCK)
|
|
93
|
-
return true;
|
|
94
|
-
if (isReserved(prop))
|
|
95
|
-
return undefined;
|
|
96
|
-
if (cache.has(prop))
|
|
97
|
-
return cache.get(prop);
|
|
98
|
-
let mockedProp;
|
|
99
|
-
if (prop in obj) {
|
|
100
|
-
const checkProp = obj[prop];
|
|
101
|
-
if (isProxyMock(checkProp) || isMockFree(checkProp) || framework.isMockFunction?.(checkProp)) {
|
|
102
|
-
mockedProp = checkProp;
|
|
103
|
-
}
|
|
104
|
-
else if (typeof checkProp === 'function') {
|
|
105
|
-
// wrap functions using test framework
|
|
106
|
-
mockedProp = framework.fn(checkProp);
|
|
107
|
-
}
|
|
108
|
-
else if (!!checkProp && typeof checkProp === 'object' && !Array.isArray(checkProp)) {
|
|
109
|
-
// extend objects by automatically mocking other properties and methods
|
|
110
|
-
mockedProp = createMockFactory(framework)(checkProp, { name: `${name}.${prop.toString()}` });
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
mockedProp = checkProp;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
else if (prop === 'constructor') {
|
|
117
|
-
mockedProp = () => undefined;
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
// treats undefined properties as both mock functions and objects with automatically mocked properties
|
|
121
|
-
mockedProp = createUniversalMockProxy(framework, `${name}.${prop.toString()}`);
|
|
122
|
-
}
|
|
123
|
-
cache.set(prop, mockedProp);
|
|
124
|
-
return mockedProp;
|
|
125
|
-
},
|
|
126
|
-
});
|
|
127
|
-
return proxy;
|
|
128
|
-
};
|
|
129
|
-
//# sourceMappingURL=mock.js.map
|
package/build/esm/mock.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/mock.ts"],"names":[],"mappings":"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"}
|
package/build/esm/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{ "type": "module" }
|