Skip to content

Commit

Permalink
Add TSBigIntKeyword to @babel/types (#10341)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo authored and existentialism committed Aug 20, 2019
1 parent 15aa511 commit a2bf689
Show file tree
Hide file tree
Showing 8 changed files with 100 additions and 62 deletions.
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

0 comments on commit a2bf689

Please sign in to comment.