babel-types
Advanced tools
Comparing version 7.0.0-alpha.12 to 7.0.0-alpha.14
@@ -20,3 +20,3 @@ "use strict"; | ||
var BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; | ||
var NUMBER_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = ["+", "-", "++", "--", "~"]; | ||
var NUMBER_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; | ||
var STRING_UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = ["typeof"]; | ||
@@ -23,0 +23,0 @@ var UNARY_OPERATORS = exports.UNARY_OPERATORS = ["void"].concat(BOOLEAN_UNARY_OPERATORS, NUMBER_UNARY_OPERATORS, STRING_UNARY_OPERATORS); |
@@ -114,2 +114,6 @@ "use strict"; | ||
validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Expression", "SpreadElement"))) | ||
}, | ||
optional: { | ||
validate: (0, _index2.assertOneOf)(true, false), | ||
optional: true | ||
} | ||
@@ -403,3 +407,3 @@ }, | ||
(0, _index3.default)("MemberExpression", { | ||
builder: ["object", "property", "computed"], | ||
builder: ["object", "property", "computed", "optional"], | ||
visitor: ["object", "property"], | ||
@@ -412,9 +416,18 @@ aliases: ["Expression", "LVal"], | ||
property: { | ||
validate: function validate(node, key, val) { | ||
var expectedType = node.computed ? "Expression" : "Identifier"; | ||
(0, _index2.assertNodeType)(expectedType)(node, key, val); | ||
} | ||
validate: function () { | ||
var normal = (0, _index2.assertNodeType)("Identifier"); | ||
var computed = (0, _index2.assertNodeType)("Expression"); | ||
return function (node, key, val) { | ||
var validator = node.computed ? computed : normal; | ||
validator(node, key, val); | ||
}; | ||
}() | ||
}, | ||
computed: { | ||
default: false | ||
}, | ||
optional: { | ||
validate: (0, _index2.assertOneOf)(true, false), | ||
optional: true | ||
} | ||
@@ -433,2 +446,6 @@ } | ||
validate: (0, _index2.chain)((0, _index2.assertValueType)("array"), (0, _index2.assertEach)((0, _index2.assertNodeType)("Expression", "SpreadElement"))) | ||
}, | ||
optional: { | ||
validate: (0, _index2.assertOneOf)(true, false), | ||
optional: true | ||
} | ||
@@ -475,6 +492,11 @@ } | ||
key: { | ||
validate: function validate(node, key, val) { | ||
var expectedTypes = node.computed ? ["Expression"] : ["Identifier", "StringLiteral", "NumericLiteral"]; | ||
_index2.assertNodeType.apply(undefined, expectedTypes)(node, key, val); | ||
} | ||
validate: function () { | ||
var normal = (0, _index2.assertNodeType)("Expression"); | ||
var computed = (0, _index2.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); | ||
return function (node, key, val) { | ||
var validator = node.computed ? computed : normal; | ||
validator(node, key, val); | ||
}; | ||
}() | ||
}, | ||
@@ -508,6 +530,11 @@ decorators: { | ||
key: { | ||
validate: function validate(node, key, val) { | ||
var expectedTypes = node.computed ? ["Expression"] : ["Identifier", "StringLiteral", "NumericLiteral"]; | ||
_index2.assertNodeType.apply(undefined, expectedTypes)(node, key, val); | ||
} | ||
validate: function () { | ||
var normal = (0, _index2.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); | ||
var computed = (0, _index2.assertNodeType)("Expression"); | ||
return function (node, key, val) { | ||
var validator = node.computed ? computed : normal; | ||
validator(node, key, val); | ||
}; | ||
}() | ||
}, | ||
@@ -514,0 +541,0 @@ value: { |
@@ -14,3 +14,3 @@ "use strict"; | ||
left: { | ||
validate: (0, _index.assertNodeType)("Identifier") | ||
validate: (0, _index.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern") | ||
}, | ||
@@ -259,6 +259,11 @@ right: { | ||
key: { | ||
validate: function validate(node, key, val) { | ||
var expectedTypes = node.computed ? ["Expression"] : ["Identifier", "StringLiteral", "NumericLiteral"]; | ||
_index.assertNodeType.apply(undefined, expectedTypes)(node, key, val); | ||
} | ||
validate: function () { | ||
var normal = (0, _index.assertNodeType)("Expression"); | ||
var computed = (0, _index.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); | ||
return function (node, key, val) { | ||
var validator = node.computed ? computed : normal; | ||
validator(node, key, val); | ||
}; | ||
}() | ||
}, | ||
@@ -265,0 +270,0 @@ params: { |
@@ -95,2 +95,14 @@ "use strict"; | ||
(0, _index2.default)("DeclareExportDeclaration", { | ||
visitor: ["declaration", "specifiers", "source"], | ||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], | ||
fields: {} | ||
}); | ||
(0, _index2.default)("DeclareExportAllDeclaration", { | ||
visitor: ["source"], | ||
aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], | ||
fields: {} | ||
}); | ||
(0, _index2.default)("ExistsTypeAnnotation", { | ||
@@ -97,0 +109,0 @@ aliases: ["Flow"] |
@@ -134,2 +134,3 @@ "use strict"; | ||
exports.cloneDeep = cloneDeep; | ||
exports.matchesPattern = matchesPattern; | ||
exports.buildMatchMemberExpression = buildMatchMemberExpression; | ||
@@ -584,40 +585,38 @@ exports.removeComments = removeComments; | ||
function buildMatchMemberExpression(match, allowPartial) { | ||
var parts = match.split("."); | ||
function matchesPattern(member, match, allowPartial) { | ||
if (!t.isMemberExpression(member)) return false; | ||
return function (member) { | ||
if (!t.isMemberExpression(member)) return false; | ||
var parts = Array.isArray(match) ? match : match.split("."); | ||
var nodes = []; | ||
var search = [member]; | ||
var i = 0; | ||
var node = void 0; | ||
for (node = member; t.isMemberExpression(node); node = node.object) { | ||
nodes.push(node.property); | ||
} | ||
nodes.push(node); | ||
while (search.length) { | ||
var node = search.shift(); | ||
if (nodes.length < parts.length) return false; | ||
if (!allowPartial && nodes.length > parts.length) return false; | ||
if (allowPartial && i === parts.length) { | ||
return true; | ||
} | ||
for (var i = 0, j = nodes.length - 1; i < parts.length; i++, j--) { | ||
var _node = nodes[j]; | ||
var value = void 0; | ||
if (t.isIdentifier(_node)) { | ||
value = _node.name; | ||
} else if (t.isStringLiteral(_node)) { | ||
value = _node.value; | ||
} else { | ||
return false; | ||
} | ||
if (t.isIdentifier(node)) { | ||
if (parts[i] !== node.name) return false; | ||
} else if (t.isStringLiteral(node)) { | ||
if (parts[i] !== node.value) return false; | ||
} else if (t.isMemberExpression(node)) { | ||
if (node.computed && !t.isStringLiteral(node.property)) { | ||
return false; | ||
} else { | ||
search.push(node.object); | ||
search.push(node.property); | ||
continue; | ||
} | ||
} else { | ||
return false; | ||
} | ||
if (parts[i] !== value) return false; | ||
} | ||
if (++i > parts.length) { | ||
return false; | ||
} | ||
} | ||
return true; | ||
} | ||
return true; | ||
function buildMatchMemberExpression(match, allowPartial) { | ||
var parts = match.split("."); | ||
return function (member) { | ||
return matchesPattern(member, parts, allowPartial); | ||
}; | ||
@@ -770,5 +769,5 @@ } | ||
var _node = _ref8; | ||
var _node2 = _ref8; | ||
traverseFast(_node, enter, opts); | ||
traverseFast(_node2, enter, opts); | ||
} | ||
@@ -775,0 +774,0 @@ } else { |
@@ -179,3 +179,5 @@ "use strict"; | ||
function isSpecifierDefault(specifier) { | ||
return t.isImportDefaultSpecifier(specifier) || t.isIdentifier(specifier.imported || specifier.exported, { name: "default" }); | ||
return t.isImportDefaultSpecifier(specifier) || t.isIdentifier(specifier.imported || specifier.exported, { | ||
name: "default" | ||
}); | ||
} | ||
@@ -182,0 +184,0 @@ |
{ | ||
"name": "babel-types", | ||
"version": "7.0.0-alpha.12", | ||
"version": "7.0.0-alpha.14", | ||
"description": "Babel Types is a Lodash-esque utility library for AST nodes", | ||
@@ -16,5 +16,5 @@ "author": "Sebastian McKenzie <sebmck@gmail.com>", | ||
"devDependencies": { | ||
"babel-generator": "7.0.0-alpha.12", | ||
"babylon": "^7.0.0-beta.12" | ||
"babel-generator": "7.0.0-alpha.14", | ||
"babylon": "^7.0.0-beta.15" | ||
} | ||
} |
@@ -109,3 +109,3 @@ # babel-types | ||
- `left`: `Identifier` (required) | ||
- `left`: `Identifier | ObjectPattern | ArrayPattern` (required) | ||
- `right`: `Expression` (required) | ||
@@ -233,2 +233,3 @@ - `decorators`: `Array<Decorator>` (default: `null`) | ||
- `arguments`: `Array<Expression | SpreadElement>` (required) | ||
- `optional`: `true | false` (default: `null`) | ||
@@ -326,3 +327,3 @@ --- | ||
- `kind`: `"get" | "set" | "method" | "constructor"` (default: `'method'`) | ||
- `key`if computed then `Expression` else `Identifier | Literal` (required) | ||
- `key`: if computed then `Expression` else `Identifier | Literal` (required) | ||
- `params`: `Array<LVal>` (required) | ||
@@ -413,2 +414,30 @@ - `body`: `BlockStatement` (required) | ||
### declareExportAllDeclaration | ||
```javascript | ||
t.declareExportAllDeclaration(source) | ||
``` | ||
See also `t.isDeclareExportAllDeclaration(node, opts)` and `t.assertDeclareExportAllDeclaration(node, opts)`. | ||
Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` | ||
- `source` (required) | ||
--- | ||
### declareExportDeclaration | ||
```javascript | ||
t.declareExportDeclaration(declaration, specifiers, source) | ||
``` | ||
See also `t.isDeclareExportDeclaration(node, opts)` and `t.assertDeclareExportDeclaration(node, opts)`. | ||
Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` | ||
- `declaration` (required) | ||
- `specifiers` (required) | ||
- `source` (required) | ||
--- | ||
### declareFunction | ||
@@ -839,3 +868,3 @@ ```javascript | ||
- `name``string` (required) | ||
- `name`: `string` (required) | ||
- `decorators`: `Array<Decorator>` (default: `null`) | ||
@@ -1165,3 +1194,3 @@ - `typeAnnotation` (default: `null`) | ||
```javascript | ||
t.memberExpression(object, property, computed) | ||
t.memberExpression(object, property, computed, optional) | ||
``` | ||
@@ -1174,4 +1203,5 @@ | ||
- `object`: `Expression` (required) | ||
- `property`if computed then `Expression` else `Identifier` (required) | ||
- `property`: if computed then `Expression` else `Identifier` (required) | ||
- `computed`: `boolean` (default: `false`) | ||
- `optional`: `true | false` (default: `null`) | ||
@@ -1217,2 +1247,3 @@ --- | ||
- `arguments`: `Array<Expression | SpreadElement>` (required) | ||
- `optional`: `true | false` (default: `null`) | ||
@@ -1328,3 +1359,3 @@ --- | ||
- `kind`: `"method" | "get" | "set"` (default: `'method'`) | ||
- `key`if computed then `Expression` else `Identifier | Literal` (required) | ||
- `key`: if computed then `Expression` else `Identifier | Literal` (required) | ||
- `params` (required) | ||
@@ -1365,3 +1396,3 @@ - `body`: `BlockStatement` (required) | ||
- `key`if computed then `Expression` else `Identifier | Literal` (required) | ||
- `key`: if computed then `Expression` else `Identifier | Literal` (required) | ||
- `value`: `Expression | Pattern | RestElement` (required) | ||
@@ -1837,3 +1868,3 @@ - `computed`: `boolean` (default: `false`) | ||
- `operator`: `'void' | 'delete' | '!' | '+' | '-' | '++' | '--' | '~' | 'typeof'` (required) | ||
- `operator`: `'void' | 'delete' | '!' | '+' | '-' | '~' | 'typeof'` (required) | ||
- `argument`: `Expression` (required) | ||
@@ -1840,0 +1871,0 @@ - `prefix`: `boolean` (default: `true`) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
136200
3016
1975