|
| 1 | +//// [tests/cases/compiler/classOptionalFieldReturnTypeInference1.ts] //// |
| 2 | + |
| 3 | +=== classOptionalFieldReturnTypeInference1.ts === |
| 4 | +declare abstract class BasePrompt { |
| 5 | +>BasePrompt : Symbol(BasePrompt, Decl(classOptionalFieldReturnTypeInference1.ts, 0, 0)) |
| 6 | + |
| 7 | + choice<Choice extends string, Result extends any = Choice>( |
| 8 | +>choice : Symbol(BasePrompt.choice, Decl(classOptionalFieldReturnTypeInference1.ts, 0, 35)) |
| 9 | +>Choice : Symbol(Choice, Decl(classOptionalFieldReturnTypeInference1.ts, 1, 9)) |
| 10 | +>Result : Symbol(Result, Decl(classOptionalFieldReturnTypeInference1.ts, 1, 31)) |
| 11 | +>Choice : Symbol(Choice, Decl(classOptionalFieldReturnTypeInference1.ts, 1, 9)) |
| 12 | + |
| 13 | + title: string, |
| 14 | +>title : Symbol(title, Decl(classOptionalFieldReturnTypeInference1.ts, 1, 61)) |
| 15 | + |
| 16 | + choices: readonly Choice[], |
| 17 | +>choices : Symbol(choices, Decl(classOptionalFieldReturnTypeInference1.ts, 2, 18)) |
| 18 | +>Choice : Symbol(Choice, Decl(classOptionalFieldReturnTypeInference1.ts, 1, 9)) |
| 19 | + |
| 20 | + ): Promise<Result>; |
| 21 | +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) |
| 22 | +>Result : Symbol(Result, Decl(classOptionalFieldReturnTypeInference1.ts, 1, 31)) |
| 23 | +} |
| 24 | + |
| 25 | +type MiddlewareNode = { |
| 26 | +>MiddlewareNode : Symbol(MiddlewareNode, Decl(classOptionalFieldReturnTypeInference1.ts, 5, 1)) |
| 27 | + |
| 28 | + name?: string; |
| 29 | +>name : Symbol(name, Decl(classOptionalFieldReturnTypeInference1.ts, 7, 23)) |
| 30 | + |
| 31 | +}; |
| 32 | + |
| 33 | +declare class Codemods { |
| 34 | +>Codemods : Symbol(Codemods, Decl(classOptionalFieldReturnTypeInference1.ts, 9, 2)) |
| 35 | + |
| 36 | + registerMiddleware( |
| 37 | +>registerMiddleware : Symbol(Codemods.registerMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 11, 24)) |
| 38 | + |
| 39 | + stack: "server" | "router" | "named", |
| 40 | +>stack : Symbol(stack, Decl(classOptionalFieldReturnTypeInference1.ts, 12, 21)) |
| 41 | + |
| 42 | + middleware: MiddlewareNode[], |
| 43 | +>middleware : Symbol(middleware, Decl(classOptionalFieldReturnTypeInference1.ts, 13, 41)) |
| 44 | +>MiddlewareNode : Symbol(MiddlewareNode, Decl(classOptionalFieldReturnTypeInference1.ts, 5, 1)) |
| 45 | + |
| 46 | + ): Promise<void>; |
| 47 | +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) |
| 48 | +} |
| 49 | + |
| 50 | +declare class BaseCommand { |
| 51 | +>BaseCommand : Symbol(BaseCommand, Decl(classOptionalFieldReturnTypeInference1.ts, 16, 1)) |
| 52 | + |
| 53 | + prompt: BasePrompt; |
| 54 | +>prompt : Symbol(BaseCommand.prompt, Decl(classOptionalFieldReturnTypeInference1.ts, 18, 27)) |
| 55 | +>BasePrompt : Symbol(BasePrompt, Decl(classOptionalFieldReturnTypeInference1.ts, 0, 0)) |
| 56 | + |
| 57 | + createCodemods(): Promise<Codemods>; |
| 58 | +>createCodemods : Symbol(BaseCommand.createCodemods, Decl(classOptionalFieldReturnTypeInference1.ts, 19, 21)) |
| 59 | +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) |
| 60 | +>Codemods : Symbol(Codemods, Decl(classOptionalFieldReturnTypeInference1.ts, 9, 2)) |
| 61 | +} |
| 62 | + |
| 63 | +export default class MakeMiddleware extends BaseCommand { |
| 64 | +>MakeMiddleware : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 65 | +>BaseCommand : Symbol(BaseCommand, Decl(classOptionalFieldReturnTypeInference1.ts, 16, 1)) |
| 66 | + |
| 67 | + declare name: string; |
| 68 | +>name : Symbol(MakeMiddleware.name, Decl(classOptionalFieldReturnTypeInference1.ts, 23, 57)) |
| 69 | + |
| 70 | + declare stack?: "server" | "named" | "router"; |
| 71 | +>stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 72 | + |
| 73 | + |
| 74 | + async run() { |
| 75 | +>run : Symbol(MakeMiddleware.run, Decl(classOptionalFieldReturnTypeInference1.ts, 26, 48)) |
| 76 | + |
| 77 | + const stackChoices = ["server", "router", "named"]; |
| 78 | +>stackChoices : Symbol(stackChoices, Decl(classOptionalFieldReturnTypeInference1.ts, 30, 9)) |
| 79 | + |
| 80 | + if (!this.stack) { |
| 81 | +>this.stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 82 | +>this : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 83 | +>stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 84 | + |
| 85 | + this.stack = await this.prompt.choice( |
| 86 | +>this.stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 87 | +>this : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 88 | +>stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 89 | +>this.prompt.choice : Symbol(BasePrompt.choice, Decl(classOptionalFieldReturnTypeInference1.ts, 0, 35)) |
| 90 | +>this.prompt : Symbol(BaseCommand.prompt, Decl(classOptionalFieldReturnTypeInference1.ts, 18, 27)) |
| 91 | +>this : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 92 | +>prompt : Symbol(BaseCommand.prompt, Decl(classOptionalFieldReturnTypeInference1.ts, 18, 27)) |
| 93 | +>choice : Symbol(BasePrompt.choice, Decl(classOptionalFieldReturnTypeInference1.ts, 0, 35)) |
| 94 | + |
| 95 | + "Under which stack you want to register the middleware?", |
| 96 | + stackChoices, |
| 97 | +>stackChoices : Symbol(stackChoices, Decl(classOptionalFieldReturnTypeInference1.ts, 30, 9)) |
| 98 | + |
| 99 | + ); |
| 100 | + } |
| 101 | + |
| 102 | + if (!stackChoices.includes(this.stack)) { |
| 103 | +>stackChoices.includes : Symbol(Array.includes, Decl(lib.es2016.array.include.d.ts, --, --)) |
| 104 | +>stackChoices : Symbol(stackChoices, Decl(classOptionalFieldReturnTypeInference1.ts, 30, 9)) |
| 105 | +>includes : Symbol(Array.includes, Decl(lib.es2016.array.include.d.ts, --, --)) |
| 106 | +>this.stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 107 | +>this : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 108 | +>stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 109 | + |
| 110 | + return; |
| 111 | + } |
| 112 | + |
| 113 | + const codemods = await this.createCodemods(); |
| 114 | +>codemods : Symbol(codemods, Decl(classOptionalFieldReturnTypeInference1.ts, 43, 9)) |
| 115 | +>this.createCodemods : Symbol(BaseCommand.createCodemods, Decl(classOptionalFieldReturnTypeInference1.ts, 19, 21)) |
| 116 | +>this : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 117 | +>createCodemods : Symbol(BaseCommand.createCodemods, Decl(classOptionalFieldReturnTypeInference1.ts, 19, 21)) |
| 118 | + |
| 119 | + await codemods.registerMiddleware(this.stack, [ |
| 120 | +>codemods.registerMiddleware : Symbol(Codemods.registerMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 11, 24)) |
| 121 | +>codemods : Symbol(codemods, Decl(classOptionalFieldReturnTypeInference1.ts, 43, 9)) |
| 122 | +>registerMiddleware : Symbol(Codemods.registerMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 11, 24)) |
| 123 | +>this.stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 124 | +>this : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 125 | +>stack : Symbol(MakeMiddleware.stack, Decl(classOptionalFieldReturnTypeInference1.ts, 24, 23)) |
| 126 | + { |
| 127 | + name: this.name, |
| 128 | +>name : Symbol(name, Decl(classOptionalFieldReturnTypeInference1.ts, 46, 7)) |
| 129 | +>this.name : Symbol(MakeMiddleware.name, Decl(classOptionalFieldReturnTypeInference1.ts, 23, 57)) |
| 130 | +>this : Symbol(MakeMiddleware, Decl(classOptionalFieldReturnTypeInference1.ts, 21, 1)) |
| 131 | +>name : Symbol(MakeMiddleware.name, Decl(classOptionalFieldReturnTypeInference1.ts, 23, 57)) |
| 132 | + |
| 133 | + }, |
| 134 | + ]); |
| 135 | + } |
| 136 | +} |
| 137 | + |
| 138 | +declare function dom$<T extends HTMLElement>(description: string): T; |
| 139 | +>dom$ : Symbol(dom$, Decl(classOptionalFieldReturnTypeInference1.ts, 51, 1)) |
| 140 | +>T : Symbol(T, Decl(classOptionalFieldReturnTypeInference1.ts, 53, 22)) |
| 141 | +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) |
| 142 | +>description : Symbol(description, Decl(classOptionalFieldReturnTypeInference1.ts, 53, 45)) |
| 143 | +>T : Symbol(T, Decl(classOptionalFieldReturnTypeInference1.ts, 53, 22)) |
| 144 | + |
| 145 | +export abstract class PeekViewWidget { |
| 146 | +>PeekViewWidget : Symbol(PeekViewWidget, Decl(classOptionalFieldReturnTypeInference1.ts, 53, 69)) |
| 147 | + |
| 148 | + protected _titleElement?: HTMLDivElement; |
| 149 | +>_titleElement : Symbol(PeekViewWidget._titleElement, Decl(classOptionalFieldReturnTypeInference1.ts, 55, 38)) |
| 150 | +>HTMLDivElement : Symbol(HTMLDivElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) |
| 151 | + |
| 152 | + protected _fillHead(container: HTMLElement, noCloseAction?: boolean): void { |
| 153 | +>_fillHead : Symbol(PeekViewWidget._fillHead, Decl(classOptionalFieldReturnTypeInference1.ts, 56, 43)) |
| 154 | +>container : Symbol(container, Decl(classOptionalFieldReturnTypeInference1.ts, 58, 22)) |
| 155 | +>HTMLElement : Symbol(HTMLElement, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) |
| 156 | +>noCloseAction : Symbol(noCloseAction, Decl(classOptionalFieldReturnTypeInference1.ts, 58, 45)) |
| 157 | + |
| 158 | + this._titleElement = dom$(".peekview-title"); |
| 159 | +>this._titleElement : Symbol(PeekViewWidget._titleElement, Decl(classOptionalFieldReturnTypeInference1.ts, 55, 38)) |
| 160 | +>this : Symbol(PeekViewWidget, Decl(classOptionalFieldReturnTypeInference1.ts, 53, 69)) |
| 161 | +>_titleElement : Symbol(PeekViewWidget._titleElement, Decl(classOptionalFieldReturnTypeInference1.ts, 55, 38)) |
| 162 | +>dom$ : Symbol(dom$, Decl(classOptionalFieldReturnTypeInference1.ts, 51, 1)) |
| 163 | + } |
| 164 | +} |
| 165 | + |
0 commit comments