Skip to content

Instantly share code, notes, and snippets.

@chenyong
Created February 19, 2019 11:58
Show Gist options
  • Save chenyong/3ea3c1fe5f07a10ad5e0541727a21001 to your computer and use it in GitHub Desktop.
Save chenyong/3ea3c1fe5f07a10ad5e0541727a21001 to your computer and use it in GitHub Desktop.
if (symbol.flags & (32 /* Class */ | 64 /* Interface */)) {
if (symbol.valueDeclaration && symbol.valueDeclaration.parent == null) {
console.log(node) <---- log
}
if (symbol.valueDeclaration && ts.isBinaryExpression(symbol.valueDeclaration.parent)) {
var jsdocType = getJSDocTypeReference(node, symbol, typeArguments);
if (jsdocType) {
return jsdocType;
}
}
return getTypeFromClassOrInterfaceReference(node, symbol, typeArguments);
}
NodeObject {
pos: 637629,
end: 637637,
flags: 4194304,
transformFlags: undefined,
parent:
NodeObject {
pos: 637607,
end: 637638,
flags: 4194304,
transformFlags: undefined,
parent:
NodeObject {
pos: 636774,
end: 643296,
flags: 4194304,
transformFlags: undefined,
parent: [SourceFileObject],
kind: 241,
decorators: undefined,
modifiers: undefined,
name: [IdentifierObject],
typeParameters: undefined,
heritageClauses: [Array],
members: [Array],
modifierFlagsCache: 536870912,
symbol: [SymbolObject],
nextContainer: [NodeObject] },
kind: 153,
modifiers: [ [TokenObject], pos: 637607, end: 637620 ],
name:
IdentifierObject {
pos: 637620,
end: 637628,
flags: 4194304,
parent: [Circular],
escapedText: 'history',
flowNode: [Object] },
questionToken: undefined,
type: [Circular],
modifierFlagsCache: 536870976,
symbol:
SymbolObject {
flags: 4,
escapedName: 'history',
declarations: [Array],
valueDeclaration: [Circular],
parent: [SymbolObject],
id: 2932 } },
kind: 164,
typeName:
IdentifierObject {
pos: 637629,
end: 637637,
flags: 4194304,
parent: [Circular],
escapedText: 'History',
flowNode: { flags: 2 } },
id: 235 }
SymbolObject {
flags: 33555009,
escapedName:
'"/Users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index"',
checkFlags: 0,
declarations:
[ SourceFileObject {
pos: 0,
end: 3748,
flags: 4194304,
transformFlags: undefined,
parent: undefined,
kind: 279,
text:
'// Type definitions for history 4.6.2\r\n// Project: https://github.com/mjackson/history\r\n// Definitions by: Sergey Buturlakin <https://github.com/sergey-buturlakin>, Nathan Brown <https://github.com/ngbrown>, Young Rok Kim <https://github.com/rokoroku>\r\n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\r\nexport as namespace History;\r\n\r\nexport type Action = \'PUSH\' | \'POP\' | \'REPLACE\';\r\nexport type UnregisterCallback = () => void;\r\n\r\nexport interface History {\r\n length: number;\r\n action: Action;\r\n location: Location;\r\n push(path: Path, state?: LocationState): void;\r\n push(location: LocationDescriptorObject): void;\r\n replace(path: Path, state?: LocationState): void;\r\n replace(location: LocationDescriptorObject): void;\r\n go(n: number): void;\r\n goBack(): void;\r\n goForward(): void;\r\n block(prompt?: boolean | string | TransitionPromptHook): UnregisterCallback;\r\n listen(listener: LocationListener): UnregisterCallback;\r\n createHref(location: LocationDescriptorObject): Href;\r\n}\r\n\r\nexport interface Location {\r\n pathname: Pathname;\r\n search: Search;\r\n state: LocationState;\r\n hash: Hash;\r\n key?: LocationKey;\r\n}\r\n\r\nexport interface LocationDescriptorObject {\r\n pathname?: Pathname;\r\n search?: Search;\r\n state?: LocationState;\r\n hash?: Hash;\r\n key?: LocationKey;\r\n}\r\n\r\nexport namespace History {\r\n export type LocationDescriptor = Path | LocationDescriptorObject;\r\n export type LocationKey = string;\r\n export type LocationListener = (location: Location, action: Action) => void;\r\n export type LocationState = any;\r\n export type Path = string;\r\n export type Pathname = string;\r\n export type Search = string;\r\n export type TransitionHook = (location: Location, callback: (result: any) => void) => any;\r\n export type TransitionPromptHook = (location: Location, action: Action) => string | false | void;\r\n export type Hash = string;\r\n export type Href = string;\r\n}\r\n\r\nexport type LocationDescriptor = History.LocationDescriptor;\r\nexport type LocationKey = History.LocationKey;\r\nexport type LocationListener = History.LocationListener;\r\nexport type LocationState = History.LocationState;\r\nexport type Path = History.Path;\r\nexport type Pathname = History.Pathname;\r\nexport type Search = History.Search;\r\nexport type TransitionHook = History.TransitionHook;\r\nexport type TransitionPromptHook = History.TransitionPromptHook;\r\nexport type Hash = History.Hash;\r\nexport type Href = History.Href;\r\n\r\nimport { default as createBrowserHistory } from "./createBrowserHistory";\r\nimport { default as createHashHistory } from "./createHashHistory";\r\nimport { default as createMemoryHistory } from "./createMemoryHistory";\r\nimport { createLocation, locationsAreEqual } from "./LocationUtils";\r\nimport { parsePath, createPath } from "./PathUtils";\r\n\r\n// Global usage, without modules, needs the small trick, because lib.d.ts\r\n// already has `history` and `History` global definitions:\r\n// var createHistory = ((window as any).History as HistoryModule.Module).createHistory;\r\nexport interface Module {\r\n createBrowserHistory: typeof createBrowserHistory;\r\n createHashHistory: typeof createHashHistory;\r\n createMemoryHistory: typeof createMemoryHistory;\r\n createLocation: typeof createLocation;\r\n locationsAreEqual: typeof locationsAreEqual;\r\n parsePath: typeof parsePath;\r\n createPath: typeof createPath;\r\n}\r\n\r\nexport * from "./createBrowserHistory";\r\nexport * from "./createHashHistory";\r\nexport * from "./createMemoryHistory";\r\nexport { createLocation, locationsAreEqual } from "./LocationUtils";\r\nexport { parsePath, createPath } from "./PathUtils";\r\nexport { createBrowserHistory, createHashHistory, createMemoryHistory };\r\n',
bindDiagnostics: [],
bindSuggestionDiagnostics: undefined,
languageVersion: 2,
fileName:
'/Users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
languageVariant: 0,
isDeclarationFile: true,
scriptKind: 3,
pragmas: Map {},
checkJsDirective: undefined,
referencedFiles: [],
typeReferenceDirectives: [],
libReferenceDirectives: [],
amdDependencies: [],
hasNoDefaultLib: false,
statements: [Array],
endOfFileToken: [TokenObject],
externalModuleIndicator: [NodeObject],
nodeCount: 427,
identifierCount: 159,
identifiers: [Map],
parseDiagnostics: [],
version: '1',
path:
'/users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
resolvedPath:
'/users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
originalFileName:
'/Users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
imports: [Array],
moduleAugmentations: [],
ambientModuleNames: [],
resolvedModules: [Map],
symbol: [SymbolObject],
locals: [Map],
nextContainer: [NodeObject],
symbolCount: 128,
classifiableNames: [Map] },
NodeObject {
pos: 322630,
end: 322957,
flags: 4194304,
transformFlags: undefined,
parent: [SourceFileObject],
kind: 241,
decorators: undefined,
modifiers: undefined,
name: [IdentifierObject],
typeParameters: undefined,
heritageClauses: undefined,
members: [Array],
modifierFlagsCache: 536870912,
symbol: [SymbolObject],
nextContainer: [NodeObject] },
NodeObject {
pos: 322970,
end: 323027,
flags: 4194304,
transformFlags: undefined,
parent: [NodeObject],
kind: 237,
name: [IdentifierObject],
type: [NodeObject],
initializer: undefined,
modifierFlagsCache: 536870912,
symbol: [SymbolObject] } ],
parent: undefined,
valueDeclaration:
SourceFileObject {
pos: 0,
end: 3748,
flags: 4194304,
transformFlags: undefined,
parent: undefined,
kind: 279,
text:
'// Type definitions for history 4.6.2\r\n// Project: https://github.com/mjackson/history\r\n// Definitions by: Sergey Buturlakin <https://github.com/sergey-buturlakin>, Nathan Brown <https://github.com/ngbrown>, Young Rok Kim <https://github.com/rokoroku>\r\n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\r\nexport as namespace History;\r\n\r\nexport type Action = \'PUSH\' | \'POP\' | \'REPLACE\';\r\nexport type UnregisterCallback = () => void;\r\n\r\nexport interface History {\r\n length: number;\r\n action: Action;\r\n location: Location;\r\n push(path: Path, state?: LocationState): void;\r\n push(location: LocationDescriptorObject): void;\r\n replace(path: Path, state?: LocationState): void;\r\n replace(location: LocationDescriptorObject): void;\r\n go(n: number): void;\r\n goBack(): void;\r\n goForward(): void;\r\n block(prompt?: boolean | string | TransitionPromptHook): UnregisterCallback;\r\n listen(listener: LocationListener): UnregisterCallback;\r\n createHref(location: LocationDescriptorObject): Href;\r\n}\r\n\r\nexport interface Location {\r\n pathname: Pathname;\r\n search: Search;\r\n state: LocationState;\r\n hash: Hash;\r\n key?: LocationKey;\r\n}\r\n\r\nexport interface LocationDescriptorObject {\r\n pathname?: Pathname;\r\n search?: Search;\r\n state?: LocationState;\r\n hash?: Hash;\r\n key?: LocationKey;\r\n}\r\n\r\nexport namespace History {\r\n export type LocationDescriptor = Path | LocationDescriptorObject;\r\n export type LocationKey = string;\r\n export type LocationListener = (location: Location, action: Action) => void;\r\n export type LocationState = any;\r\n export type Path = string;\r\n export type Pathname = string;\r\n export type Search = string;\r\n export type TransitionHook = (location: Location, callback: (result: any) => void) => any;\r\n export type TransitionPromptHook = (location: Location, action: Action) => string | false | void;\r\n export type Hash = string;\r\n export type Href = string;\r\n}\r\n\r\nexport type LocationDescriptor = History.LocationDescriptor;\r\nexport type LocationKey = History.LocationKey;\r\nexport type LocationListener = History.LocationListener;\r\nexport type LocationState = History.LocationState;\r\nexport type Path = History.Path;\r\nexport type Pathname = History.Pathname;\r\nexport type Search = History.Search;\r\nexport type TransitionHook = History.TransitionHook;\r\nexport type TransitionPromptHook = History.TransitionPromptHook;\r\nexport type Hash = History.Hash;\r\nexport type Href = History.Href;\r\n\r\nimport { default as createBrowserHistory } from "./createBrowserHistory";\r\nimport { default as createHashHistory } from "./createHashHistory";\r\nimport { default as createMemoryHistory } from "./createMemoryHistory";\r\nimport { createLocation, locationsAreEqual } from "./LocationUtils";\r\nimport { parsePath, createPath } from "./PathUtils";\r\n\r\n// Global usage, without modules, needs the small trick, because lib.d.ts\r\n// already has `history` and `History` global definitions:\r\n// var createHistory = ((window as any).History as HistoryModule.Module).createHistory;\r\nexport interface Module {\r\n createBrowserHistory: typeof createBrowserHistory;\r\n createHashHistory: typeof createHashHistory;\r\n createMemoryHistory: typeof createMemoryHistory;\r\n createLocation: typeof createLocation;\r\n locationsAreEqual: typeof locationsAreEqual;\r\n parsePath: typeof parsePath;\r\n createPath: typeof createPath;\r\n}\r\n\r\nexport * from "./createBrowserHistory";\r\nexport * from "./createHashHistory";\r\nexport * from "./createMemoryHistory";\r\nexport { createLocation, locationsAreEqual } from "./LocationUtils";\r\nexport { parsePath, createPath } from "./PathUtils";\r\nexport { createBrowserHistory, createHashHistory, createMemoryHistory };\r\n',
bindDiagnostics: [],
bindSuggestionDiagnostics: undefined,
languageVersion: 2,
fileName:
'/Users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
languageVariant: 0,
isDeclarationFile: true,
scriptKind: 3,
pragmas: Map {},
checkJsDirective: undefined,
referencedFiles: [],
typeReferenceDirectives: [],
libReferenceDirectives: [],
amdDependencies: [],
hasNoDefaultLib: false,
statements:
[ [NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
[NodeObject],
pos: 0,
end: 3746 ],
endOfFileToken:
TokenObject {
pos: 3746,
end: 3748,
flags: 4194304,
parent: [Circular],
kind: 1 },
externalModuleIndicator:
NodeObject {
pos: 349,
end: 401,
flags: 4194304,
transformFlags: undefined,
parent: [Circular],
kind: 242,
decorators: undefined,
modifiers: [Array],
name: [IdentifierObject],
typeParameters: undefined,
type: [NodeObject],
modifierFlagsCache: 536870913,
symbol: [SymbolObject],
localSymbol: [SymbolObject],
locals: Map {},
nextContainer: [NodeObject] },
nodeCount: 427,
identifierCount: 159,
identifiers:
Map {
'History' => 'History',
'Action' => 'Action',
'UnregisterCallback' => 'UnregisterCallback',
'length' => 'length',
'action' => 'action',
'location' => 'location',
'Location' => 'Location',
'push' => 'push',
'path' => 'path',
'Path' => 'Path',
'state' => 'state',
'LocationState' => 'LocationState',
'LocationDescriptorObject' => 'LocationDescriptorObject',
'replace' => 'replace',
'go' => 'go',
'n' => 'n',
'goBack' => 'goBack',
'goForward' => 'goForward',
'block' => 'block',
'prompt' => 'prompt',
'TransitionPromptHook' => 'TransitionPromptHook',
'listen' => 'listen',
'listener' => 'listener',
'LocationListener' => 'LocationListener',
'createHref' => 'createHref',
'Href' => 'Href',
'pathname' => 'pathname',
'Pathname' => 'Pathname',
'search' => 'search',
'Search' => 'Search',
'hash' => 'hash',
'Hash' => 'Hash',
'key' => 'key',
'LocationKey' => 'LocationKey',
'LocationDescriptor' => 'LocationDescriptor',
'TransitionHook' => 'TransitionHook',
'callback' => 'callback',
'result' => 'result',
'any' => 'any',
'string' => 'string',
'default' => 'default',
'createBrowserHistory' => 'createBrowserHistory',
'./createBrowserHistory' => './createBrowserHistory',
'createHashHistory' => 'createHashHistory',
'./createHashHistory' => './createHashHistory',
'createMemoryHistory' => 'createMemoryHistory',
'./createMemoryHistory' => './createMemoryHistory',
'createLocation' => 'createLocation',
'locationsAreEqual' => 'locationsAreEqual',
'./LocationUtils' => './LocationUtils',
'parsePath' => 'parsePath',
'createPath' => 'createPath',
'./PathUtils' => './PathUtils',
'Module' => 'Module' },
parseDiagnostics: [],
version: '1',
path:
'/users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
resolvedPath:
'/users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
originalFileName:
'/Users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index.d.ts',
imports:
[ [TokenObject],
[TokenObject],
[TokenObject],
[TokenObject],
[TokenObject],
[TokenObject],
[TokenObject],
[TokenObject],
[TokenObject],
[TokenObject] ],
moduleAugmentations: [],
ambientModuleNames: [],
resolvedModules:
Map {
'./createBrowserHistory' => [Object],
'./createHashHistory' => [Object],
'./createMemoryHistory' => [Object],
'./LocationUtils' => [Object],
'./PathUtils' => [Object] },
symbol:
SymbolObject {
flags: 512,
escapedName:
'"/Users/chen/work/web/node_modules/@types/react-router/node_modules/@types/history/index"',
declarations: [Array],
exports: [Map],
valueDeclaration: [Circular],
globalExports: [Map],
mergeId: 683 },
locals:
Map {
'Action' => [SymbolObject],
'UnregisterCallback' => [SymbolObject],
'History' => [SymbolObject],
'Location' => [SymbolObject],
'LocationDescriptorObject' => [SymbolObject],
'LocationDescriptor' => [SymbolObject],
'LocationKey' => [SymbolObject],
'LocationListener' => [SymbolObject],
'LocationState' => [SymbolObject],
'Path' => [SymbolObject],
'Pathname' => [SymbolObject],
'Search' => [SymbolObject],
'TransitionHook' => [SymbolObject],
'TransitionPromptHook' => [SymbolObject],
'Hash' => [SymbolObject],
'Href' => [SymbolObject],
'createBrowserHistory' => [SymbolObject],
'createHashHistory' => [SymbolObject],
'createMemoryHistory' => [SymbolObject],
'createLocation' => [SymbolObject],
'locationsAreEqual' => [SymbolObject],
'parsePath' => [SymbolObject],
'createPath' => [SymbolObject],
'Module' => [SymbolObject] },
nextContainer:
NodeObject {
pos: 349,
end: 401,
flags: 4194304,
transformFlags: undefined,
parent: [Circular],
kind: 242,
decorators: undefined,
modifiers: [Array],
name: [IdentifierObject],
typeParameters: undefined,
type: [NodeObject],
modifierFlagsCache: 536870913,
symbol: [SymbolObject],
localSymbol: [SymbolObject],
locals: Map {},
nextContainer: [NodeObject] },
symbolCount: 128,
classifiableNames:
Map {
'History' => true,
'Action' => true,
'UnregisterCallback' => true,
'Location' => true,
'LocationDescriptorObject' => true,
'LocationDescriptor' => true,
'LocationKey' => true,
'LocationListener' => true,
'LocationState' => true,
'Path' => true,
'Pathname' => true,
'Search' => true,
'TransitionHook' => true,
'TransitionPromptHook' => true,
'Hash' => true,
'Href' => true,
'createBrowserHistory' => true,
'createHashHistory' => true,
'createMemoryHistory' => true,
'createLocation' => true,
'locationsAreEqual' => true,
'parsePath' => true,
'createPath' => true,
'Module' => true } },
exports:
Map {
'Action' => SymbolObject {
flags: 524288,
escapedName: 'Action',
declarations: [Array],
parent: [SymbolObject] },
'UnregisterCallback' => SymbolObject {
flags: 524288,
escapedName: 'UnregisterCallback',
declarations: [Array],
parent: [SymbolObject] },
'History' => SymbolObject {
flags: 1088,
escapedName: 'History',
declarations: [Array],
members: [Map],
parent: [SymbolObject],
exports: [Map] },
'Location' => SymbolObject {
flags: 64,
escapedName: 'Location',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'LocationDescriptorObject' => SymbolObject {
flags: 64,
escapedName: 'LocationDescriptorObject',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'LocationDescriptor' => SymbolObject {
flags: 524288,
escapedName: 'LocationDescriptor',
declarations: [Array],
parent: [SymbolObject] },
'LocationKey' => SymbolObject {
flags: 524288,
escapedName: 'LocationKey',
declarations: [Array],
parent: [SymbolObject] },
'LocationListener' => SymbolObject {
flags: 524288,
escapedName: 'LocationListener',
declarations: [Array],
parent: [SymbolObject] },
'LocationState' => SymbolObject {
flags: 524288,
escapedName: 'LocationState',
declarations: [Array],
parent: [SymbolObject] },
'Path' => SymbolObject {
flags: 524288,
escapedName: 'Path',
declarations: [Array],
parent: [SymbolObject] },
'Pathname' => SymbolObject {
flags: 524288,
escapedName: 'Pathname',
declarations: [Array],
parent: [SymbolObject] },
'Search' => SymbolObject {
flags: 524288,
escapedName: 'Search',
declarations: [Array],
parent: [SymbolObject] },
'TransitionHook' => SymbolObject {
flags: 524288,
escapedName: 'TransitionHook',
declarations: [Array],
parent: [SymbolObject] },
'TransitionPromptHook' => SymbolObject {
flags: 524288,
escapedName: 'TransitionPromptHook',
declarations: [Array],
parent: [SymbolObject] },
'Hash' => SymbolObject {
flags: 524288,
escapedName: 'Hash',
declarations: [Array],
parent: [SymbolObject] },
'Href' => SymbolObject {
flags: 524288,
escapedName: 'Href',
declarations: [Array],
parent: [SymbolObject] },
'Module' => SymbolObject {
flags: 64,
escapedName: 'Module',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'__export' => SymbolObject {
flags: 8388608,
escapedName: '__export',
declarations: [Array],
parent: [SymbolObject] },
'createLocation' => SymbolObject {
flags: 2097152,
escapedName: 'createLocation',
declarations: [Array],
parent: [SymbolObject],
id: 301 },
'locationsAreEqual' => SymbolObject {
flags: 2097152,
escapedName: 'locationsAreEqual',
declarations: [Array],
parent: [SymbolObject],
id: 302 },
'parsePath' => SymbolObject {
flags: 2097152,
escapedName: 'parsePath',
declarations: [Array],
parent: [SymbolObject],
id: 303 },
'createPath' => SymbolObject {
flags: 2097152,
escapedName: 'createPath',
declarations: [Array],
parent: [SymbolObject],
id: 304 },
'createBrowserHistory' => SymbolObject {
flags: 2097152,
escapedName: 'createBrowserHistory',
declarations: [Array],
parent: [SymbolObject],
id: 305 },
'createHashHistory' => SymbolObject {
flags: 2097152,
escapedName: 'createHashHistory',
declarations: [Array],
parent: [SymbolObject],
id: 307 },
'createMemoryHistory' => SymbolObject {
flags: 2097152,
escapedName: 'createMemoryHistory',
declarations: [Array],
parent: [SymbolObject],
id: 309 } },
members:
Map {
'length' => SymbolObject {
flags: 4,
escapedName: 'length',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] },
'scrollRestoration' => SymbolObject {
flags: 4,
escapedName: 'scrollRestoration',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] },
'state' => SymbolObject {
flags: 4,
escapedName: 'state',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] },
'back' => SymbolObject {
flags: 8192,
escapedName: 'back',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] },
'forward' => SymbolObject {
flags: 8192,
escapedName: 'forward',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] },
'go' => SymbolObject {
flags: 8192,
escapedName: 'go',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] },
'pushState' => SymbolObject {
flags: 8192,
escapedName: 'pushState',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] },
'replaceState' => SymbolObject {
flags: 8192,
escapedName: 'replaceState',
declarations: [Array],
valueDeclaration: [NodeObject],
parent: [SymbolObject] } },
resolvedExports:
Map {
'Action' => SymbolObject {
flags: 524288,
escapedName: 'Action',
declarations: [Array],
parent: [SymbolObject] },
'UnregisterCallback' => SymbolObject {
flags: 524288,
escapedName: 'UnregisterCallback',
declarations: [Array],
parent: [SymbolObject] },
'History' => SymbolObject {
flags: 1088,
escapedName: 'History',
declarations: [Array],
members: [Map],
parent: [SymbolObject],
exports: [Map] },
'Location' => SymbolObject {
flags: 64,
escapedName: 'Location',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'LocationDescriptorObject' => SymbolObject {
flags: 64,
escapedName: 'LocationDescriptorObject',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'LocationDescriptor' => SymbolObject {
flags: 524288,
escapedName: 'LocationDescriptor',
declarations: [Array],
parent: [SymbolObject] },
'LocationKey' => SymbolObject {
flags: 524288,
escapedName: 'LocationKey',
declarations: [Array],
parent: [SymbolObject] },
'LocationListener' => SymbolObject {
flags: 524288,
escapedName: 'LocationListener',
declarations: [Array],
parent: [SymbolObject] },
'LocationState' => SymbolObject {
flags: 524288,
escapedName: 'LocationState',
declarations: [Array],
parent: [SymbolObject] },
'Path' => SymbolObject {
flags: 524288,
escapedName: 'Path',
declarations: [Array],
parent: [SymbolObject] },
'Pathname' => SymbolObject {
flags: 524288,
escapedName: 'Pathname',
declarations: [Array],
parent: [SymbolObject] },
'Search' => SymbolObject {
flags: 524288,
escapedName: 'Search',
declarations: [Array],
parent: [SymbolObject] },
'TransitionHook' => SymbolObject {
flags: 524288,
escapedName: 'TransitionHook',
declarations: [Array],
parent: [SymbolObject] },
'TransitionPromptHook' => SymbolObject {
flags: 524288,
escapedName: 'TransitionPromptHook',
declarations: [Array],
parent: [SymbolObject] },
'Hash' => SymbolObject {
flags: 524288,
escapedName: 'Hash',
declarations: [Array],
parent: [SymbolObject] },
'Href' => SymbolObject {
flags: 524288,
escapedName: 'Href',
declarations: [Array],
parent: [SymbolObject] },
'Module' => SymbolObject {
flags: 64,
escapedName: 'Module',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'__export' => SymbolObject {
flags: 8388608,
escapedName: '__export',
declarations: [Array],
parent: [SymbolObject] },
'createLocation' => SymbolObject {
flags: 2097152,
escapedName: 'createLocation',
declarations: [Array],
parent: [SymbolObject],
id: 301 },
'locationsAreEqual' => SymbolObject {
flags: 2097152,
escapedName: 'locationsAreEqual',
declarations: [Array],
parent: [SymbolObject],
id: 302 },
'parsePath' => SymbolObject {
flags: 2097152,
escapedName: 'parsePath',
declarations: [Array],
parent: [SymbolObject],
id: 303 },
'createPath' => SymbolObject {
flags: 2097152,
escapedName: 'createPath',
declarations: [Array],
parent: [SymbolObject],
id: 304 },
'createBrowserHistory' => SymbolObject {
flags: 2097152,
escapedName: 'createBrowserHistory',
declarations: [Array],
parent: [SymbolObject],
id: 305 },
'createHashHistory' => SymbolObject {
flags: 2097152,
escapedName: 'createHashHistory',
declarations: [Array],
parent: [SymbolObject],
id: 307 },
'createMemoryHistory' => SymbolObject {
flags: 2097152,
escapedName: 'createMemoryHistory',
declarations: [Array],
parent: [SymbolObject],
id: 309 },
'BrowserHistoryBuildOptions' => SymbolObject {
flags: 64,
escapedName: 'BrowserHistoryBuildOptions',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'HashType' => SymbolObject {
flags: 524288,
escapedName: 'HashType',
declarations: [Array],
parent: [SymbolObject] },
'HashHistoryBuildOptions' => SymbolObject {
flags: 64,
escapedName: 'HashHistoryBuildOptions',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'MemoryHistoryBuildOptions' => SymbolObject {
flags: 64,
escapedName: 'MemoryHistoryBuildOptions',
declarations: [Array],
members: [Map],
parent: [SymbolObject] },
'MemoryHistory' => SymbolObject {
flags: 64,
escapedName: 'MemoryHistory',
declarations: [Array],
members: [Map],
parent: [SymbolObject] } } }
✖ 「atl」: Child process failed to process the request: TypeError: Cannot read property 'kind' of undefined
at Object.isBinaryExpression (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:13451:21)
at getTypeReferenceTypeWorker (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:38868:51)
at getTypeReferenceType (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:38809:24)
at getTypeFromTypeReference (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:38989:28)
at getTypeFromTypeNode (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:40491:28)
at tryGetTypeFromEffectiveTypeNode (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:35772:24)
at getTypeForVariableLikeDeclaration (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:35401:32)
at getWidenedTypeForVariableLikeDeclaration (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:35741:56)
at getTypeOfVariableOrParameterOrPropertyWorker (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:35859:24)
at getTypeOfVariableOrParameterOrProperty (/Users/chen/work/web/node_modules/typescript/lib/typescript.js:35777:48)
^C
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment