Socket
Socket
Sign inDemoInstall

eslint-plugin-flowtype

Package Overview
Dependencies
Maintainers
1
Versions
185
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-flowtype - npm Package Compare versions

Comparing version 2.21.0 to 2.22.0

dist/utilities/getTokenAfterParens.js

10

CHANGELOG.md

@@ -5,2 +5,12 @@ # Change Log

<a name="2.22.0"></a>
# [2.22.0](https://github.com/gajus/eslint-plugin-flowtype/compare/v2.21.0...v2.22.0) (2016-10-24)
### Features
* ObjectTypeIndexer in spaceBeforeTypeColon & spaceAfterTypeColon ([82c87c4](https://github.com/gajus/eslint-plugin-flowtype/commit/82c87c4)), closes [#134](https://github.com/gajus/eslint-plugin-flowtype/issues/134)
<a name="2.21.0"></a>

@@ -7,0 +17,0 @@ # [2.21.0](https://github.com/gajus/eslint-plugin-flowtype/compare/v2.20.0...v2.21.0) (2016-10-22)

83

dist/rules/spaceAfterTypeColon.js

@@ -226,8 +226,86 @@ 'use strict';

var objectTypeIndexerEvaluator = function objectTypeIndexerEvaluator(context) {
var _parseOptions4 = parseOptions(context);
var always = _parseOptions4.always;
var sourceCode = context.getSourceCode();
// type X = { [a: b]: c }
// ^
var checkIndexerKey = function checkIndexerKey(objectTypeIndexer) {
// babel-eslint deletes ObjectTypeIndexer's id, have to check the raw tokens instead
var colonToken = (0, _utilities.getTokenBeforeParens)(sourceCode, objectTypeIndexer.key);
var tokenAfterColon = sourceCode.getTokenAfter(colonToken);
var spaces = tokenAfterColon.start - colonToken.end;
if (always && spaces > 1) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(colonToken, spaces - 1),
message: 'There must be 1 space after type annotation colon.',
node: objectTypeIndexer
});
} else if (always && spaces === 0) {
context.report({
fix: _utilities.spacingFixers.addSpaceAfter(colonToken),
message: 'There must be a space after type annotation colon.',
node: objectTypeIndexer
});
} else if (!always && spaces > 0) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(colonToken, spaces),
message: 'There must be no space after type annotation colon.',
node: objectTypeIndexer
});
}
};
// type X = { [a: b]: c }
// ^
var checkIndexerValue = function checkIndexerValue(objectTypeIndexer) {
var _sourceCode$getTokens = sourceCode.getTokensAfter((0, _utilities.getTokenAfterParens)(sourceCode, objectTypeIndexer.key), 2);
var _sourceCode$getTokens2 = _slicedToArray(_sourceCode$getTokens, 2);
var colonToken = _sourceCode$getTokens2[0];
var tokenAfterColon = _sourceCode$getTokens2[1];
var spaces = tokenAfterColon.start - colonToken.end;
if (always && spaces > 1) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(colonToken, spaces - 1),
message: 'There must be 1 space after type annotation colon.',
node: objectTypeIndexer
});
} else if (always && spaces === 0) {
context.report({
fix: _utilities.spacingFixers.addSpaceAfter(colonToken),
message: 'There must be a space after type annotation colon.',
node: objectTypeIndexer
});
} else if (!always && spaces > 0) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(colonToken, spaces),
message: 'There must be no space after type annotation colon.',
node: objectTypeIndexer
});
}
};
return function (objectTypeIndexer) {
checkIndexerKey(objectTypeIndexer);
checkIndexerValue(objectTypeIndexer);
};
};
var typeCastEvaluator = function typeCastEvaluator(context) {
var sourceCode = context.getSourceCode();
var _parseOptions4 = parseOptions(context);
var _parseOptions5 = parseOptions(context);
var always = _parseOptions4.always;
var always = _parseOptions5.always;

@@ -269,2 +347,3 @@

ClassProperty: propertyEvaluator(context, 'class property'),
ObjectTypeIndexer: objectTypeIndexerEvaluator(context),
ObjectTypeProperty: objectTypePropertyEvaluator(context),

@@ -271,0 +350,0 @@ TypeCastExpression: typeCastEvaluator(context)

@@ -172,8 +172,80 @@ 'use strict';

var objectTypeIndexerEvaluator = function objectTypeIndexerEvaluator(context) {
var _parseOptions3 = parseOptions(context);
var always = _parseOptions3.always;
var sourceCode = context.getSourceCode();
// type X = { [a: b]: c }
// ^
var checkIndexerKey = function checkIndexerKey(objectTypeIndexer) {
// babel-eslint deletes ObjectTypeIndexer's id, have to check the raw tokens instead
var colonToken = (0, _utilities.getTokenBeforeParens)(sourceCode, objectTypeIndexer.key);
var idToken = sourceCode.getTokenBefore(colonToken);
var spaces = colonToken.start - idToken.end;
if (always && spaces > 1) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(idToken, spaces - 1),
message: 'There must be 1 space before type annotation colon.',
node: objectTypeIndexer
});
} else if (always && spaces === 0) {
context.report({
fix: _utilities.spacingFixers.addSpaceAfter(idToken),
message: 'There must be a space before type annotation colon.',
node: objectTypeIndexer
});
} else if (!always && spaces > 0) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(idToken, spaces),
message: 'There must be no space before type annotation colon.',
node: objectTypeIndexer
});
}
};
// type X = { [a: b]: c }
// ^
var checkIndexerValue = function checkIndexerValue(objectTypeIndexer) {
var tokenBeforeColon = (0, _utilities.getTokenAfterParens)(sourceCode, objectTypeIndexer.key);
var colonToken = sourceCode.getTokenAfter(tokenBeforeColon);
var spaces = colonToken.start - tokenBeforeColon.end;
if (always && spaces > 1) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(tokenBeforeColon, spaces - 1),
message: 'There must be 1 space before type annotation colon.',
node: objectTypeIndexer
});
} else if (always && spaces === 0) {
context.report({
fix: _utilities.spacingFixers.addSpaceAfter(tokenBeforeColon),
message: 'There must be a space before type annotation colon.',
node: objectTypeIndexer
});
} else if (!always && spaces > 0) {
context.report({
fix: _utilities.spacingFixers.stripSpacesAfter(tokenBeforeColon, spaces),
message: 'There must be no space before type annotation colon.',
node: objectTypeIndexer
});
}
};
return function (objectTypeIndexer) {
checkIndexerKey(objectTypeIndexer);
checkIndexerValue(objectTypeIndexer);
};
};
var typeCastEvaluator = function typeCastEvaluator(context) {
var sourceCode = context.getSourceCode();
var _parseOptions3 = parseOptions(context);
var _parseOptions4 = parseOptions(context);
var always = _parseOptions3.always;
var always = _parseOptions4.always;

@@ -210,2 +282,3 @@

ClassProperty: propertyEvaluator(context, 'class property'),
ObjectTypeIndexer: objectTypeIndexerEvaluator(context),
ObjectTypeProperty: objectTypePropertyEvaluator(context),

@@ -212,0 +285,0 @@ TypeCastExpression: typeCastEvaluator(context)

14

dist/rules/unionIntersectionSpacing.js

@@ -14,14 +14,2 @@ 'use strict';

var getTokenAfterParens = function getTokenAfterParens(node) {
var sep = void 0;
sep = sourceCode.getTokenAfter(node);
while (sep.type === 'Punctuator' && sep.value === ')') {
sep = sourceCode.getTokenAfter(sep);
}
return sep;
};
var check = function check(node) {

@@ -33,3 +21,3 @@ node.types.forEach(function (type, index) {

var separator = getTokenAfterParens(type);
var separator = (0, _utilities.getTokenAfterParens)(sourceCode, type);
var endOfType = sourceCode.getTokenBefore(separator);

@@ -36,0 +24,0 @@ var nextType = sourceCode.getTokenAfter(separator);

@@ -7,3 +7,3 @@ 'use strict';

});
exports.quoteName = exports.spacingFixers = exports.iterateFunctionNodes = exports.isFlowFileAnnotation = exports.isFlowFile = exports.getParameterName = undefined;
exports.getTokenAfterParens = exports.getTokenBeforeParens = exports.quoteName = exports.spacingFixers = exports.iterateFunctionNodes = exports.isFlowFileAnnotation = exports.isFlowFile = exports.getParameterName = undefined;

@@ -34,2 +34,10 @@ var _getParameterName2 = require('./getParameterName.js');

var _getTokenBeforeParens2 = require('./getTokenBeforeParens');
var _getTokenBeforeParens3 = _interopRequireDefault(_getTokenBeforeParens2);
var _getTokenAfterParens2 = require('./getTokenAfterParens');
var _getTokenAfterParens3 = _interopRequireDefault(_getTokenAfterParens2);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

@@ -44,2 +52,4 @@

exports.spacingFixers = _spacingFixers;
exports.quoteName = _quoteName3.default;
exports.quoteName = _quoteName3.default;
exports.getTokenBeforeParens = _getTokenBeforeParens3.default;
exports.getTokenAfterParens = _getTokenAfterParens3.default;
{
"name": "eslint-plugin-flowtype",
"description": "Flowtype linting rules for ESLint.",
"version": "2.21.0",
"version": "2.22.0",
"main": "./dist/index.js",

@@ -6,0 +6,0 @@ "repository": {

Sorry, the diff of this file is too big to display

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