tstyche 6.0.0-beta.5 → 6.0.0-beta.6

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.
Files changed (2) hide show
  1. package/dist/tstyche.js +17 -5
  2. package/package.json +1 -1
package/dist/tstyche.js CHANGED
@@ -4550,6 +4550,10 @@ class ToAcceptProps {
4550
4550
  }
4551
4551
  }
4552
4552
 
4553
+ function containsInstantiableType(target, compiler) {
4554
+ return ("types" in target &&
4555
+ target.types.some((type) => type.flags & compiler.TypeFlags.InstantiableNonPrimitive));
4556
+ }
4553
4557
  function getIndexSignatures(type, compiler, typeChecker) {
4554
4558
  if (type.flags & compiler.TypeFlags.Intersection) {
4555
4559
  return type.types.flatMap((type) => getIndexSignatures(type, compiler, typeChecker));
@@ -4704,10 +4708,18 @@ class Structure {
4704
4708
  return !!(b.flags & this.#compiler.TypeFlags.Undefined);
4705
4709
  }
4706
4710
  if ((a.flags | b.flags) & this.#compiler.TypeFlags.Intersection) {
4707
- return (((a.flags & b.flags & this.#compiler.TypeFlags.Intersection) !== 0 &&
4708
- this.compareIntersections(a, b)) ||
4709
- (((a.flags & b.flags) | this.#compiler.TypeFlags.StructuredType) !== 0 &&
4710
- this.#seen.memoized(a, b, () => this.compareStructuredTypes(a, b))));
4711
+ if (a.flags & b.flags & this.#compiler.TypeFlags.Intersection) {
4712
+ if (this.compareIntersections(a, b)) {
4713
+ return true;
4714
+ }
4715
+ }
4716
+ if (containsInstantiableType(a, this.#compiler) || containsInstantiableType(b, this.#compiler)) {
4717
+ return false;
4718
+ }
4719
+ if ((a.flags & b.flags) | this.#compiler.TypeFlags.StructuredType) {
4720
+ return this.#seen.memoized(a, b, () => this.compareStructuredTypes(a, b));
4721
+ }
4722
+ return false;
4711
4723
  }
4712
4724
  if ((a.flags | b.flags) & this.#compiler.TypeFlags.Union) {
4713
4725
  if (a.flags & b.flags & this.#compiler.TypeFlags.Union) {
@@ -5900,7 +5912,7 @@ class FileRunner {
5900
5912
  class Runner {
5901
5913
  #eventEmitter = new EventEmitter();
5902
5914
  #resolvedConfig;
5903
- static version = "6.0.0-beta.5";
5915
+ static version = "6.0.0-beta.6";
5904
5916
  constructor(resolvedConfig) {
5905
5917
  this.#resolvedConfig = resolvedConfig;
5906
5918
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tstyche",
3
- "version": "6.0.0-beta.5",
3
+ "version": "6.0.0-beta.6",
4
4
  "description": "Everything You Need for Type Testing.",
5
5
  "keywords": [
6
6
  "typescript",