TypeScript: reserve unknown as TSUnknownKeyword (#8755)
This commit is contained in:
@@ -762,6 +762,9 @@ 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 assertTSNumberKeyword(node: Object, opts?: Object = {}): void {
|
||||
assert("TSNumberKeyword", node, opts);
|
||||
}
|
||||
|
||||
@@ -698,6 +698,11 @@ 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 { TSUnknownKeyword as tsUnknownKeyword };
|
||||
export { TSUnknownKeyword as tSUnknownKeyword };
|
||||
export function TSNumberKeyword(...args: Array<any>): Object {
|
||||
return builder("TSNumberKeyword", ...args);
|
||||
}
|
||||
|
||||
@@ -128,6 +128,7 @@ defineType("TSIndexSignature", {
|
||||
|
||||
const tsKeywordTypes = [
|
||||
"TSAnyKeyword",
|
||||
"TSUnknownKeyword",
|
||||
"TSNumberKeyword",
|
||||
"TSObjectKeyword",
|
||||
"TSBooleanKeyword",
|
||||
|
||||
@@ -2406,6 +2406,20 @@ export function isTSAnyKeyword(node: Object, opts?: Object): boolean {
|
||||
|
||||
return false;
|
||||
}
|
||||
export function isTSUnknownKeyword(node: Object, opts?: Object): boolean {
|
||||
if (!node) return false;
|
||||
|
||||
const nodeType = node.type;
|
||||
if (nodeType === "TSUnknownKeyword") {
|
||||
if (typeof opts === "undefined") {
|
||||
return true;
|
||||
} else {
|
||||
return shallowEqual(node, opts);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
export function isTSNumberKeyword(node: Object, opts?: Object): boolean {
|
||||
if (!node) return false;
|
||||
|
||||
@@ -4116,6 +4130,7 @@ export function isTSType(node: Object, opts?: Object): boolean {
|
||||
if (
|
||||
nodeType === "TSType" ||
|
||||
"TSAnyKeyword" === nodeType ||
|
||||
"TSUnknownKeyword" === nodeType ||
|
||||
"TSNumberKeyword" === nodeType ||
|
||||
"TSObjectKeyword" === nodeType ||
|
||||
"TSBooleanKeyword" === nodeType ||
|
||||
|
||||
Reference in New Issue
Block a user