@vitest/utils 3.2.4 → 4.0.0-beta.2

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/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { PrettyFormatOptions } from '@vitest/pretty-format';
2
2
  export { DeferPromise, assertTypes, clone, createDefer, createSimpleStackTrace, deepClone, deepMerge, getCallLastIndex, getOwnProperties, getType, isNegativeNaN, isObject, isPrimitive, noop, notNullish, objectAttr, parseRegexp, slash, toArray } from './helpers.js';
3
3
  import { Colors } from 'tinyrainbow';
4
- export { ArgumentsType, Arrayable, Awaitable, Constructable, DeepMerge, ErrorWithDiff, MergeInsertions, MutableArray, Nullable, ParsedStack, SerializedError, TestError } from './types.js';
4
+ export { ArgumentsType, Arrayable, Awaitable, Constructable, DeepMerge, MergeInsertions, Nullable, ParsedStack, SerializedError, TestError } from './types.js';
5
5
 
6
6
  type Inspect = (value: unknown, options: Options) => string;
7
7
  interface Options {
@@ -41,13 +41,18 @@ declare function offsetToLineNumber(source: string, offset: number): number;
41
41
  declare function shuffle<T>(array: T[], seed?: number): T[];
42
42
 
43
43
  interface SafeTimers {
44
- nextTick: (cb: () => void) => void;
44
+ // node.js timers
45
+ nextTick?: (cb: () => void) => void;
46
+ setImmediate?: {
47
+ <TArgs extends any[]>(callback: (...args: TArgs) => void, ...args: TArgs): any
48
+ __promisify__: <T = void>(value?: T, options?: any) => Promise<T>
49
+ };
50
+ clearImmediate?: (immediateId: any) => void;
51
+ // cross-platform timers
45
52
  setTimeout: typeof setTimeout;
46
53
  setInterval: typeof setInterval;
47
54
  clearInterval: typeof clearInterval;
48
55
  clearTimeout: typeof clearTimeout;
49
- setImmediate: typeof setImmediate;
50
- clearImmediate: typeof clearImmediate;
51
56
  queueMicrotask: typeof queueMicrotask;
52
57
  }
53
58
  declare function getSafeTimers(): SafeTimers;
package/dist/index.js CHANGED
@@ -602,7 +602,7 @@ function shuffle(array, seed = RealDate.now()) {
602
602
  const SAFE_TIMERS_SYMBOL = Symbol("vitest:SAFE_TIMERS");
603
603
  function getSafeTimers() {
604
604
  const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis;
605
- const { nextTick: safeNextTick } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis.process || { nextTick: (cb) => cb() };
605
+ const { nextTick: safeNextTick } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis.process || {};
606
606
  return {
607
607
  nextTick: safeNextTick,
608
608
  setTimeout: safeSetTimeout,
@@ -616,7 +616,7 @@ function getSafeTimers() {
616
616
  }
617
617
  function setSafeTimers() {
618
618
  const { setTimeout: safeSetTimeout, setInterval: safeSetInterval, clearInterval: safeClearInterval, clearTimeout: safeClearTimeout, setImmediate: safeSetImmediate, clearImmediate: safeClearImmediate, queueMicrotask: safeQueueMicrotask } = globalThis;
619
- const { nextTick: safeNextTick } = globalThis.process || { nextTick: (cb) => cb() };
619
+ const { nextTick: safeNextTick } = globalThis.process || {};
620
620
  const timers = {
621
621
  nextTick: safeNextTick,
622
622
  setTimeout: safeSetTimeout,
@@ -1,4 +1,4 @@
1
- import { ErrorWithDiff, ParsedStack } from './types.js';
1
+ import { TestError, ParsedStack } from './types.js';
2
2
 
3
3
  type GeneratedColumn = number;
4
4
  type SourcesIndex = number;
@@ -124,7 +124,7 @@ interface StackTraceParserOptions {
124
124
  ignoreStackEntries?: (RegExp | string)[];
125
125
  getSourceMap?: (file: string) => unknown;
126
126
  getUrlId?: (id: string) => string;
127
- frameFilter?: (error: ErrorWithDiff, frame: ParsedStack) => boolean | void;
127
+ frameFilter?: (error: TestError, frame: ParsedStack) => boolean | void;
128
128
  }
129
129
  declare function parseSingleFFOrSafariStack(raw: string): ParsedStack | null;
130
130
  declare function parseSingleStack(raw: string): ParsedStack | null;
@@ -133,7 +133,7 @@ declare function parseSingleStack(raw: string): ParsedStack | null;
133
133
  declare function parseSingleV8Stack(raw: string): ParsedStack | null;
134
134
  declare function createStackString(stacks: ParsedStack[]): string;
135
135
  declare function parseStacktrace(stack: string, options?: StackTraceParserOptions): ParsedStack[];
136
- declare function parseErrorStacktrace(e: ErrorWithDiff, options?: StackTraceParserOptions): ParsedStack[];
136
+ declare function parseErrorStacktrace(e: TestError | Error, options?: StackTraceParserOptions): ParsedStack[];
137
137
 
138
138
  export { TraceMap, createStackString, eachMapping, generatedPositionFor, originalPositionFor, parseErrorStacktrace, parseSingleFFOrSafariStack, parseSingleStack, parseSingleV8Stack, parseStacktrace };
139
139
  export type { EachMapping, SourceMapInput, StackTraceParserOptions };
@@ -970,7 +970,7 @@ function parseErrorStacktrace(e, options = {}) {
970
970
  if (!e || isPrimitive(e)) {
971
971
  return [];
972
972
  }
973
- if (e.stacks) {
973
+ if ("stacks" in e && e.stacks) {
974
974
  return e.stacks;
975
975
  }
976
976
  const stackStr = e.stack || "";
package/dist/types.d.ts CHANGED
@@ -7,7 +7,6 @@ type DeepMerge<
7
7
  F,
8
8
  S
9
9
  > = MergeInsertions<{ [K in keyof F | keyof S] : K extends keyof S & keyof F ? DeepMerge<F[K], S[K]> : K extends keyof S ? S[K] : K extends keyof F ? F[K] : never }>;
10
- type MutableArray<T extends readonly any[]> = { -readonly [k in keyof T] : T[k] };
11
10
  interface Constructable {
12
11
  new (...args: any[]): any;
13
12
  }
@@ -31,23 +30,5 @@ interface TestError extends SerializedError {
31
30
  actual?: string;
32
31
  expected?: string;
33
32
  }
34
- /**
35
- * @deprecated Use `TestError` instead
36
- */
37
- interface ErrorWithDiff {
38
- message: string;
39
- name?: string;
40
- cause?: unknown;
41
- stack?: string;
42
- stacks?: ParsedStack[];
43
- showDiff?: boolean;
44
- actual?: any;
45
- expected?: any;
46
- operator?: string;
47
- type?: string;
48
- frame?: string;
49
- diff?: string;
50
- codeFrame?: string;
51
- }
52
33
 
53
- export type { ArgumentsType, Arrayable, Awaitable, Constructable, DeepMerge, ErrorWithDiff, MergeInsertions, MutableArray, Nullable, ParsedStack, SerializedError, TestError };
34
+ export type { ArgumentsType, Arrayable, Awaitable, Constructable, DeepMerge, MergeInsertions, Nullable, ParsedStack, SerializedError, TestError };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/utils",
3
3
  "type": "module",
4
- "version": "3.2.4",
4
+ "version": "4.0.0-beta.2",
5
5
  "description": "Shared Vitest utility functions",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -62,7 +62,7 @@
62
62
  "dependencies": {
63
63
  "loupe": "^3.1.4",
64
64
  "tinyrainbow": "^2.0.0",
65
- "@vitest/pretty-format": "3.2.4"
65
+ "@vitest/pretty-format": "4.0.0-beta.2"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@jridgewell/trace-mapping": "^0.3.25",