wrec 0.36.3 → 0.36.4
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/package.json +1 -1
- package/scripts/lint.js +26 -1
package/package.json
CHANGED
package/scripts/lint.js
CHANGED
|
@@ -1680,12 +1680,37 @@ function typeExpressionMatchesDeclaredType(
|
|
|
1680
1680
|
typeExpression,
|
|
1681
1681
|
declaredTypeNode
|
|
1682
1682
|
) {
|
|
1683
|
-
const declaredType = checker.getTypeFromTypeNode(declaredTypeNode);
|
|
1684
1683
|
const typeKind = typeExpressionKind(typeExpression);
|
|
1684
|
+
const declaredType = checker.getTypeFromTypeNode(declaredTypeNode);
|
|
1685
|
+
|
|
1686
|
+
if (typeKind === 'Boolean') {
|
|
1687
|
+
return checker.isTypeAssignableTo(checker.getBooleanType(), declaredType);
|
|
1688
|
+
}
|
|
1689
|
+
|
|
1690
|
+
if (typeKind === 'Number') {
|
|
1691
|
+
return checker.isTypeAssignableTo(checker.getNumberType(), declaredType);
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1694
|
+
if (typeKind === 'String') {
|
|
1695
|
+
return checker.isTypeAssignableTo(checker.getStringType(), declaredType);
|
|
1696
|
+
}
|
|
1685
1697
|
|
|
1686
1698
|
if (typeKind === 'Object') {
|
|
1687
1699
|
return isNonArrayObjectLikeType(checker, declaredType);
|
|
1688
1700
|
}
|
|
1701
|
+
|
|
1702
|
+
if (typeKind === 'Array') {
|
|
1703
|
+
const declaredTypes = declaredType.isUnion()
|
|
1704
|
+
? declaredType.types
|
|
1705
|
+
: [declaredType];
|
|
1706
|
+
return declaredTypes.every(
|
|
1707
|
+
type =>
|
|
1708
|
+
Boolean(type.flags & (ts.TypeFlags.Any | ts.TypeFlags.Unknown)) ||
|
|
1709
|
+
checker.isArrayType(type) ||
|
|
1710
|
+
checker.isTupleType(type)
|
|
1711
|
+
);
|
|
1712
|
+
}
|
|
1713
|
+
|
|
1689
1714
|
if (typeKind === 'HTMLElement') {
|
|
1690
1715
|
const elementType = getConstructedType(checker, typeExpression);
|
|
1691
1716
|
return elementType
|