205 lines
5.8 KiB
JavaScript
205 lines
5.8 KiB
JavaScript
"use strict";
|
|
|
|
var _utils = _interopRequireWildcard(require("./utils"));
|
|
|
|
var _es = require("./es2015");
|
|
|
|
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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
|
|
(0, _utils.default)("ArgumentPlaceholder", {});
|
|
(0, _utils.default)("AwaitExpression", {
|
|
builder: ["argument"],
|
|
visitor: ["argument"],
|
|
aliases: ["Expression", "Terminatorless"],
|
|
fields: {
|
|
argument: {
|
|
validate: (0, _utils.assertNodeType)("Expression")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("BindExpression", {
|
|
visitor: ["object", "callee"],
|
|
aliases: ["Expression"],
|
|
fields: {}
|
|
});
|
|
(0, _utils.default)("ClassProperty", {
|
|
visitor: ["key", "value", "typeAnnotation", "decorators"],
|
|
builder: ["key", "value", "typeAnnotation", "decorators", "computed"],
|
|
aliases: ["Property"],
|
|
fields: Object.assign({}, _es.classMethodOrPropertyCommon, {
|
|
value: {
|
|
validate: (0, _utils.assertNodeType)("Expression"),
|
|
optional: true
|
|
},
|
|
definite: {
|
|
validate: (0, _utils.assertValueType)("boolean"),
|
|
optional: true
|
|
},
|
|
typeAnnotation: {
|
|
validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
|
|
optional: true
|
|
},
|
|
decorators: {
|
|
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
|
|
optional: true
|
|
},
|
|
readonly: {
|
|
validate: (0, _utils.assertValueType)("boolean"),
|
|
optional: true
|
|
}
|
|
})
|
|
});
|
|
(0, _utils.default)("OptionalMemberExpression", {
|
|
builder: ["object", "property", "computed", "optional"],
|
|
visitor: ["object", "property"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
object: {
|
|
validate: (0, _utils.assertNodeType)("Expression")
|
|
},
|
|
property: {
|
|
validate: function () {
|
|
const normal = (0, _utils.assertNodeType)("Identifier");
|
|
const computed = (0, _utils.assertNodeType)("Expression");
|
|
return function (node, key, val) {
|
|
const validator = node.computed ? computed : normal;
|
|
validator(node, key, val);
|
|
};
|
|
}()
|
|
},
|
|
computed: {
|
|
default: false
|
|
},
|
|
optional: {
|
|
validate: (0, _utils.assertValueType)("boolean")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("PipelineTopicExpression", {
|
|
builder: ["expression"],
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: {
|
|
validate: (0, _utils.assertNodeType)("Expression")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("PipelineBareFunction", {
|
|
builder: ["callee"],
|
|
visitor: ["callee"],
|
|
fields: {
|
|
callee: {
|
|
validate: (0, _utils.assertNodeType)("Expression")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("PipelinePrimaryTopicReference", {
|
|
aliases: ["Expression"]
|
|
});
|
|
(0, _utils.default)("OptionalCallExpression", {
|
|
visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
|
|
builder: ["callee", "arguments", "optional"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
callee: {
|
|
validate: (0, _utils.assertNodeType)("Expression")
|
|
},
|
|
arguments: {
|
|
validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName")))
|
|
},
|
|
optional: {
|
|
validate: (0, _utils.assertValueType)("boolean")
|
|
},
|
|
typeArguments: {
|
|
validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"),
|
|
optional: true
|
|
},
|
|
typeParameters: {
|
|
validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("ClassPrivateProperty", {
|
|
visitor: ["key", "value"],
|
|
builder: ["key", "value"],
|
|
aliases: ["Property", "Private"],
|
|
fields: {
|
|
key: {
|
|
validate: (0, _utils.assertNodeType)("PrivateName")
|
|
},
|
|
value: {
|
|
validate: (0, _utils.assertNodeType)("Expression"),
|
|
optional: true
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("ClassPrivateMethod", {
|
|
builder: ["kind", "key", "params", "body", "static"],
|
|
visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
|
|
aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
|
|
fields: Object.assign({}, _es.classMethodOrDeclareMethodCommon, {
|
|
key: {
|
|
validate: (0, _utils.assertNodeType)("PrivateName")
|
|
},
|
|
body: {
|
|
validate: (0, _utils.assertNodeType)("BlockStatement")
|
|
}
|
|
})
|
|
});
|
|
(0, _utils.default)("Import", {
|
|
aliases: ["Expression"]
|
|
});
|
|
(0, _utils.default)("Decorator", {
|
|
visitor: ["expression"],
|
|
fields: {
|
|
expression: {
|
|
validate: (0, _utils.assertNodeType)("Expression")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("DoExpression", {
|
|
visitor: ["body"],
|
|
aliases: ["Expression"],
|
|
fields: {
|
|
body: {
|
|
validate: (0, _utils.assertNodeType)("BlockStatement")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("ExportDefaultSpecifier", {
|
|
visitor: ["exported"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
exported: {
|
|
validate: (0, _utils.assertNodeType)("Identifier")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("ExportNamespaceSpecifier", {
|
|
visitor: ["exported"],
|
|
aliases: ["ModuleSpecifier"],
|
|
fields: {
|
|
exported: {
|
|
validate: (0, _utils.assertNodeType)("Identifier")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("PrivateName", {
|
|
visitor: ["id"],
|
|
aliases: ["Private"],
|
|
fields: {
|
|
id: {
|
|
validate: (0, _utils.assertNodeType)("Identifier")
|
|
}
|
|
}
|
|
});
|
|
(0, _utils.default)("BigIntLiteral", {
|
|
builder: ["value"],
|
|
fields: {
|
|
value: {
|
|
validate: (0, _utils.assertValueType)("string")
|
|
}
|
|
},
|
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
}); |