Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TSBigIntKeyword to @babel/types #10341

Merged
merged 2 commits into from Aug 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions packages/babel-generator/src/generators/typescript.js
Expand Up @@ -129,6 +129,9 @@ export function TSIndexSignature(node) {
export function TSAnyKeyword() {
this.word("any");
}
export function TSBigIntKeyword() {
this.word("bigint");
}
export function TSUnknownKeyword() {
this.word("unknown");
}
Expand Down
@@ -0,0 +1,4 @@
const {result} = idArray.reduce(
(a, b) => {},
{result: [] as (number | bigint)[]},
)
@@ -0,0 +1,3 @@
{
"plugins": ["transform-typescript", "transform-destructuring"]
}
@@ -0,0 +1,4 @@
const _idArray$reduce = idArray.reduce((a, b) => {}, {
result: []
}),
result = _idArray$reduce.result;
27 changes: 15 additions & 12 deletions packages/babel-types/src/asserts/generated/index.js
Expand Up @@ -794,38 +794,41 @@ export function assertTSIndexSignature(node: Object, opts?: Object = {}): void {
export function assertTSAnyKeyword(node: Object, opts?: Object = {}): void {
assert("TSAnyKeyword", node, opts);
}
export function assertTSUnknownKeyword(node: Object, opts?: Object = {}): void {
assert("TSUnknownKeyword", node, opts);
export function assertTSBooleanKeyword(node: Object, opts?: Object = {}): void {
assert("TSBooleanKeyword", node, opts);
}
export function assertTSBigIntKeyword(node: Object, opts?: Object = {}): void {
assert("TSBigIntKeyword", node, opts);
}
export function assertTSNeverKeyword(node: Object, opts?: Object = {}): void {
assert("TSNeverKeyword", node, opts);
}
export function assertTSNullKeyword(node: Object, opts?: Object = {}): void {
assert("TSNullKeyword", node, opts);
}
export function assertTSNumberKeyword(node: Object, opts?: Object = {}): void {
assert("TSNumberKeyword", node, opts);
}
export function assertTSObjectKeyword(node: Object, opts?: Object = {}): void {
assert("TSObjectKeyword", node, opts);
}
export function assertTSBooleanKeyword(node: Object, opts?: Object = {}): void {
assert("TSBooleanKeyword", node, opts);
}
export function assertTSStringKeyword(node: Object, opts?: Object = {}): void {
assert("TSStringKeyword", node, opts);
}
export function assertTSSymbolKeyword(node: Object, opts?: Object = {}): void {
assert("TSSymbolKeyword", node, opts);
}
export function assertTSVoidKeyword(node: Object, opts?: Object = {}): void {
assert("TSVoidKeyword", node, opts);
}
export function assertTSUndefinedKeyword(
node: Object,
opts?: Object = {},
): void {
assert("TSUndefinedKeyword", node, opts);
}
export function assertTSNullKeyword(node: Object, opts?: Object = {}): void {
assert("TSNullKeyword", node, opts);
export function assertTSUnknownKeyword(node: Object, opts?: Object = {}): void {
assert("TSUnknownKeyword", node, opts);
}
export function assertTSNeverKeyword(node: Object, opts?: Object = {}): void {
assert("TSNeverKeyword", node, opts);
export function assertTSVoidKeyword(node: Object, opts?: Object = {}): void {
assert("TSVoidKeyword", node, opts);
}
export function assertTSThisType(node: Object, opts?: Object = {}): void {
assert("TSThisType", node, opts);
Expand Down
49 changes: 27 additions & 22 deletions packages/babel-types/src/builders/generated/index.js
Expand Up @@ -722,11 +722,26 @@ export function TSAnyKeyword(...args: Array<any>): Object {
}
export { TSAnyKeyword as tsAnyKeyword };
export { TSAnyKeyword as tSAnyKeyword };
export function TSUnknownKeyword(...args: Array<any>): Object {
return builder("TSUnknownKeyword", ...args);
export function TSBooleanKeyword(...args: Array<any>): Object {
return builder("TSBooleanKeyword", ...args);
}
export { TSUnknownKeyword as tsUnknownKeyword };
export { TSUnknownKeyword as tSUnknownKeyword };
export { TSBooleanKeyword as tsBooleanKeyword };
export { TSBooleanKeyword as tSBooleanKeyword };
export function TSBigIntKeyword(...args: Array<any>): Object {
return builder("TSBigIntKeyword", ...args);
}
export { TSBigIntKeyword as tsBigIntKeyword };
export { TSBigIntKeyword as tSBigIntKeyword };
export function TSNeverKeyword(...args: Array<any>): Object {
return builder("TSNeverKeyword", ...args);
}
export { TSNeverKeyword as tsNeverKeyword };
export { TSNeverKeyword as tSNeverKeyword };
export function TSNullKeyword(...args: Array<any>): Object {
return builder("TSNullKeyword", ...args);
}
export { TSNullKeyword as tsNullKeyword };
export { TSNullKeyword as tSNullKeyword };
export function TSNumberKeyword(...args: Array<any>): Object {
return builder("TSNumberKeyword", ...args);
}
Expand All @@ -737,11 +752,6 @@ export function TSObjectKeyword(...args: Array<any>): Object {
}
export { TSObjectKeyword as tsObjectKeyword };
export { TSObjectKeyword as tSObjectKeyword };
export function TSBooleanKeyword(...args: Array<any>): Object {
return builder("TSBooleanKeyword", ...args);
}
export { TSBooleanKeyword as tsBooleanKeyword };
export { TSBooleanKeyword as tSBooleanKeyword };
export function TSStringKeyword(...args: Array<any>): Object {
return builder("TSStringKeyword", ...args);
}
Expand All @@ -752,26 +762,21 @@ export function TSSymbolKeyword(...args: Array<any>): Object {
}
export { TSSymbolKeyword as tsSymbolKeyword };
export { TSSymbolKeyword as tSSymbolKeyword };
export function TSVoidKeyword(...args: Array<any>): Object {
return builder("TSVoidKeyword", ...args);
}
export { TSVoidKeyword as tsVoidKeyword };
export { TSVoidKeyword as tSVoidKeyword };
export function TSUndefinedKeyword(...args: Array<any>): Object {
return builder("TSUndefinedKeyword", ...args);
}
export { TSUndefinedKeyword as tsUndefinedKeyword };
export { TSUndefinedKeyword as tSUndefinedKeyword };
export function TSNullKeyword(...args: Array<any>): Object {
return builder("TSNullKeyword", ...args);
export function TSUnknownKeyword(...args: Array<any>): Object {
return builder("TSUnknownKeyword", ...args);
}
export { TSNullKeyword as tsNullKeyword };
export { TSNullKeyword as tSNullKeyword };
export function TSNeverKeyword(...args: Array<any>): Object {
return builder("TSNeverKeyword", ...args);
export { TSUnknownKeyword as tsUnknownKeyword };
export { TSUnknownKeyword as tSUnknownKeyword };
export function TSVoidKeyword(...args: Array<any>): Object {
return builder("TSVoidKeyword", ...args);
}
export { TSNeverKeyword as tsNeverKeyword };
export { TSNeverKeyword as tSNeverKeyword };
export { TSVoidKeyword as tsVoidKeyword };
export { TSVoidKeyword as tSVoidKeyword };
export function TSThisType(...args: Array<any>): Object {
return builder("TSThisType", ...args);
}
Expand Down
11 changes: 6 additions & 5 deletions packages/babel-types/src/definitions/typescript.js
Expand Up @@ -128,16 +128,17 @@ defineType("TSIndexSignature", {

const tsKeywordTypes = [
"TSAnyKeyword",
"TSUnknownKeyword",
"TSBooleanKeyword",
"TSBigIntKeyword",
"TSNeverKeyword",
"TSNullKeyword",
"TSNumberKeyword",
"TSObjectKeyword",
"TSBooleanKeyword",
"TSStringKeyword",
"TSSymbolKeyword",
"TSVoidKeyword",
"TSUndefinedKeyword",
"TSNullKeyword",
"TSNeverKeyword",
"TSUnknownKeyword",
"TSVoidKeyword",
];

for (const type of tsKeywordTypes) {
Expand Down
61 changes: 38 additions & 23 deletions packages/babel-types/src/validators/generated/index.js
Expand Up @@ -2523,11 +2523,11 @@ export function isTSAnyKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSUnknownKeyword(node: ?Object, opts?: Object): boolean {
export function isTSBooleanKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSUnknownKeyword") {
if (nodeType === "TSBooleanKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2537,11 +2537,11 @@ export function isTSUnknownKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSNumberKeyword(node: ?Object, opts?: Object): boolean {
export function isTSBigIntKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSNumberKeyword") {
if (nodeType === "TSBigIntKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2551,11 +2551,11 @@ export function isTSNumberKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSObjectKeyword(node: ?Object, opts?: Object): boolean {
export function isTSNeverKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSObjectKeyword") {
if (nodeType === "TSNeverKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2565,11 +2565,11 @@ export function isTSObjectKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSBooleanKeyword(node: ?Object, opts?: Object): boolean {
export function isTSNullKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSBooleanKeyword") {
if (nodeType === "TSNullKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2579,11 +2579,11 @@ export function isTSBooleanKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSStringKeyword(node: ?Object, opts?: Object): boolean {
export function isTSNumberKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSStringKeyword") {
if (nodeType === "TSNumberKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2593,11 +2593,11 @@ export function isTSStringKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSSymbolKeyword(node: ?Object, opts?: Object): boolean {
export function isTSObjectKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSSymbolKeyword") {
if (nodeType === "TSObjectKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2607,11 +2607,25 @@ export function isTSSymbolKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSVoidKeyword(node: ?Object, opts?: Object): boolean {
export function isTSStringKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSVoidKeyword") {
if (nodeType === "TSStringKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
return shallowEqual(node, opts);
}
}

return false;
}
export function isTSSymbolKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSSymbolKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2635,11 +2649,11 @@ export function isTSUndefinedKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSNullKeyword(node: ?Object, opts?: Object): boolean {
export function isTSUnknownKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSNullKeyword") {
if (nodeType === "TSUnknownKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand All @@ -2649,11 +2663,11 @@ export function isTSNullKeyword(node: ?Object, opts?: Object): boolean {

return false;
}
export function isTSNeverKeyword(node: ?Object, opts?: Object): boolean {
export function isTSVoidKeyword(node: ?Object, opts?: Object): boolean {
if (!node) return false;

const nodeType = node.type;
if (nodeType === "TSNeverKeyword") {
if (nodeType === "TSVoidKeyword") {
if (typeof opts === "undefined") {
return true;
} else {
Expand Down Expand Up @@ -4326,16 +4340,17 @@ export function isTSType(node: ?Object, opts?: Object): boolean {
if (
nodeType === "TSType" ||
"TSAnyKeyword" === nodeType ||
"TSUnknownKeyword" === nodeType ||
"TSBooleanKeyword" === nodeType ||
"TSBigIntKeyword" === nodeType ||
"TSNeverKeyword" === nodeType ||
"TSNullKeyword" === nodeType ||
"TSNumberKeyword" === nodeType ||
"TSObjectKeyword" === nodeType ||
"TSBooleanKeyword" === nodeType ||
"TSStringKeyword" === nodeType ||
"TSSymbolKeyword" === nodeType ||
"TSVoidKeyword" === nodeType ||
"TSUndefinedKeyword" === nodeType ||
"TSNullKeyword" === nodeType ||
"TSNeverKeyword" === nodeType ||
"TSUnknownKeyword" === nodeType ||
"TSVoidKeyword" === nodeType ||
"TSThisType" === nodeType ||
"TSFunctionType" === nodeType ||
"TSConstructorType" === nodeType ||
Expand Down