@vitest/utils 0.28.5 → 0.29.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/dist/helpers.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Nullable, Arrayable } from './types.js';
2
2
 
3
3
  declare function assertTypes(value: unknown, name: string, types: string[]): void;
4
4
  declare function slash(path: string): string;
5
+ declare function parseRegexp(input: string): RegExp;
5
6
  declare function toArray<T>(array?: Nullable<Arrayable<T>>): Array<T>;
6
7
  declare function isObject(item: unknown): boolean;
7
8
  declare function getType(value: unknown): string;
@@ -16,4 +17,4 @@ type DeferPromise<T> = Promise<T> & {
16
17
  };
17
18
  declare function createDefer<T>(): DeferPromise<T>;
18
19
 
19
- export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, slash, toArray };
20
+ export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, parseRegexp, slash, toArray };
package/dist/helpers.js CHANGED
@@ -7,6 +7,14 @@ function assertTypes(value, name, types) {
7
7
  function slash(path) {
8
8
  return path.replace(/\\/g, "/");
9
9
  }
10
+ function parseRegexp(input) {
11
+ const m = input.match(/(\/?)(.+)\1([a-z]*)/i);
12
+ if (!m)
13
+ return /$^/;
14
+ if (m[3] && !/^(?!.*?(.).*?\1)[gmixXsuUAJ]+$/.test(m[3]))
15
+ return RegExp(input);
16
+ return new RegExp(m[2], m[3]);
17
+ }
10
18
  function toArray(array) {
11
19
  if (array === null || array === void 0)
12
20
  array = [];
@@ -84,4 +92,4 @@ function createDefer() {
84
92
  return p;
85
93
  }
86
94
 
87
- export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, slash, toArray };
95
+ export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, parseRegexp, slash, toArray };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, slash, toArray } from './helpers.js';
1
+ export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, parseRegexp, slash, toArray } from './helpers.js';
2
2
  export { ArgumentsType, Arrayable, Awaitable, Constructable, DeepMerge, MergeInsertions, MutableArray, Nullable } from './types.js';
3
3
  import { PrettyFormatOptions } from 'pretty-format';
4
4
  import p from 'picocolors';
@@ -8,10 +8,13 @@ declare function stringify(object: unknown, maxDepth?: number, { maxLength, ...o
8
8
  }): string;
9
9
 
10
10
  declare function getSafeTimers(): {
11
+ nextTick: any;
11
12
  setTimeout: any;
12
13
  setInterval: any;
13
14
  clearInterval: any;
14
15
  clearTimeout: any;
16
+ setImmediate: any;
17
+ clearImmediate: any;
15
18
  };
16
19
  declare function setSafeTimers(): void;
17
20
 
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, slash, toArray } from './helpers.js';
1
+ export { assertTypes, clone, createDefer, deepClone, getOwnProperties, getType, isObject, noop, objectAttr, parseRegexp, slash, toArray } from './helpers.js';
2
2
  import { format as format$1, plugins } from 'pretty-format';
3
3
  import util from 'util';
4
4
  import loupeImport from 'loupe';
@@ -49,13 +49,21 @@ function getSafeTimers() {
49
49
  setTimeout: safeSetTimeout,
50
50
  setInterval: safeSetInterval,
51
51
  clearInterval: safeClearInterval,
52
- clearTimeout: safeClearTimeout
52
+ clearTimeout: safeClearTimeout,
53
+ setImmediate: safeSetImmediate,
54
+ clearImmediate: safeClearImmediate
53
55
  } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis;
56
+ const {
57
+ nextTick: safeNextTick
58
+ } = globalThis[SAFE_TIMERS_SYMBOL] || globalThis.process || { nextTick: (cb) => cb() };
54
59
  return {
60
+ nextTick: safeNextTick,
55
61
  setTimeout: safeSetTimeout,
56
62
  setInterval: safeSetInterval,
57
63
  clearInterval: safeClearInterval,
58
- clearTimeout: safeClearTimeout
64
+ clearTimeout: safeClearTimeout,
65
+ setImmediate: safeSetImmediate,
66
+ clearImmediate: safeClearImmediate
59
67
  };
60
68
  }
61
69
  function setSafeTimers() {
@@ -63,13 +71,21 @@ function setSafeTimers() {
63
71
  setTimeout: safeSetTimeout,
64
72
  setInterval: safeSetInterval,
65
73
  clearInterval: safeClearInterval,
66
- clearTimeout: safeClearTimeout
74
+ clearTimeout: safeClearTimeout,
75
+ setImmediate: safeSetImmediate,
76
+ clearImmediate: safeClearImmediate
67
77
  } = globalThis;
78
+ const {
79
+ nextTick: safeNextTick
80
+ } = globalThis.process || { nextTick: (cb) => cb() };
68
81
  const timers = {
82
+ nextTick: safeNextTick,
69
83
  setTimeout: safeSetTimeout,
70
84
  setInterval: safeSetInterval,
71
85
  clearInterval: safeClearInterval,
72
- clearTimeout: safeClearTimeout
86
+ clearTimeout: safeClearTimeout,
87
+ setImmediate: safeSetImmediate,
88
+ clearImmediate: safeClearImmediate
73
89
  };
74
90
  globalThis[SAFE_TIMERS_SYMBOL] = timers;
75
91
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/utils",
3
3
  "type": "module",
4
- "version": "0.28.5",
4
+ "version": "0.29.0",
5
5
  "description": "Shared Vitest utility functions",
6
6
  "license": "MIT",
7
7
  "repository": {