Socket
Socket
Sign inDemoInstall

type-coverage-core

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

type-coverage-core - npm Package Compare versions

Comparing version 2.19.1 to 2.21.0

26

dist/checker.js

@@ -48,4 +48,4 @@ "use strict";

context.typeCheckResult.totalCount++;
if (types.every((t) => typeIsAnyOrInTypeArguments(t, context.strict && !context.ignoreNested))) {
const kind = types.every((t) => typeIsAnyOrInTypeArguments(t, false)) ? 1 /* any */ : 2 /* containsAny */;
if (types.every((t) => typeIsAnyOrInTypeArguments(t, context.strict && !context.ignoreNested, context))) {
const kind = types.every((t) => typeIsAnyOrInTypeArguments(t, false, context)) ? 1 /* any */ : 2 /* containsAny */;
const success = collectAny(node, context, kind);

@@ -61,10 +61,28 @@ if (!success) {

}
function typeIsAnyOrInTypeArguments(type, anyCanBeInTypeArguments) {
function typeIsAnyOrInTypeArguments(type, anyCanBeInTypeArguments, context) {
var _a;
if (type.flags === ts.TypeFlags.Any) {
return type.intrinsicName === 'any';
}
if (type.flags === ts.TypeFlags.Object && type.symbol) {
// foo: Object
if (context.strict && !context.ignoreObject && type.symbol.escapedName === 'Object') {
return true;
}
// foo: {}
if (context.strict &&
!context.ignoreEmptyType &&
type.objectFlags === ts.ObjectFlags.Anonymous &&
type.getProperties().length === 0 &&
type.getCallSignatures().length === 0 &&
type.getConstructSignatures().length === 0 &&
type.symbol.flags === (ts.SymbolFlags.Transient | ts.SymbolFlags.TypeLiteral) &&
!((_a = type.symbol.members) === null || _a === void 0 ? void 0 : _a.size)) {
return true;
}
}
if (anyCanBeInTypeArguments && type.flags === ts.TypeFlags.Object) {
const typeArguments = type.typeArguments;
if (typeArguments) {
return typeArguments.some((typeArgument) => typeIsAnyOrInTypeArguments(typeArgument, anyCanBeInTypeArguments));
return typeArguments.some((typeArgument) => typeIsAnyOrInTypeArguments(typeArgument, anyCanBeInTypeArguments, context));
}

@@ -71,0 +89,0 @@ }

@@ -111,2 +111,4 @@ "use strict";

ignoreNonNullAssertion: lintOptions.ignoreNonNullAssertion,
ignoreObject: lintOptions.ignoreObject,
ignoreEmptyType: lintOptions.ignoreEmptyType,
};

@@ -161,2 +163,4 @@ sourceFile.forEachChild(node => {

ignoreNonNullAssertion: false,
ignoreObject: false,
ignoreEmptyType: false,
};

@@ -222,2 +226,4 @@ /**

ignoreNonNullAssertion: lintOptions.ignoreNonNullAssertion,
ignoreObject: lintOptions.ignoreObject,
ignoreEmptyType: lintOptions.ignoreEmptyType,
};

@@ -224,0 +230,0 @@ sourceFile.forEachChild(node => {

@@ -63,2 +63,10 @@ import * as ts from 'typescript';

ignoreNonNullAssertion: boolean;
/**
* Object
*/
ignoreObject: boolean;
/**
* {}
*/
ignoreEmptyType: boolean;
}

@@ -65,0 +73,0 @@ export interface FileContext extends CommonOptions {

2

package.json
{
"name": "type-coverage-core",
"version": "2.19.1",
"version": "2.21.0",
"description": "A library to check type coverage for typescript code",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc