(node *ast.MappedTypeNode)
| 2135 | } |
| 2136 | |
| 2137 | func (p *Printer) emitMappedType(node *ast.MappedTypeNode) { |
| 2138 | state := p.enterNode(node.AsNode()) |
| 2139 | singleLine := p.shouldEmitOnSingleLine(node.AsNode()) |
| 2140 | p.writePunctuation("{") |
| 2141 | if singleLine { |
| 2142 | p.writeSpace() |
| 2143 | } else { |
| 2144 | p.writeLine() |
| 2145 | p.increaseIndent() |
| 2146 | } |
| 2147 | if node.ReadonlyToken != nil { |
| 2148 | p.emitTokenNode(node.ReadonlyToken) |
| 2149 | if node.ReadonlyToken.Kind != ast.KindReadonlyKeyword { |
| 2150 | p.writeKeyword("readonly") |
| 2151 | } |
| 2152 | p.writeSpace() |
| 2153 | } |
| 2154 | p.writePunctuation("[") |
| 2155 | p.emitMappedTypeParameter(node.TypeParameter.AsTypeParameterDeclaration()) |
| 2156 | if node.NameType != nil { |
| 2157 | p.writeSpace() |
| 2158 | p.writeKeyword("as") |
| 2159 | p.writeSpace() |
| 2160 | p.emitTypeNodeOutsideExtends(node.NameType) |
| 2161 | } |
| 2162 | p.writePunctuation("]") |
| 2163 | if node.QuestionToken != nil { |
| 2164 | p.emitPunctuationNode(node.QuestionToken) |
| 2165 | if node.QuestionToken.Kind != ast.KindQuestionToken { |
| 2166 | p.writePunctuation("?") |
| 2167 | } |
| 2168 | } |
| 2169 | p.writePunctuation(":") |
| 2170 | p.writeSpace() |
| 2171 | p.emitTypeNodeOutsideExtends(node.Type) |
| 2172 | p.writeTrailingSemicolon() |
| 2173 | if node.Members != nil { |
| 2174 | if len(node.Members.Nodes) > 0 { |
| 2175 | if singleLine { |
| 2176 | p.writeSpace() |
| 2177 | } else { |
| 2178 | p.writeLine() |
| 2179 | } |
| 2180 | p.emitList((*Printer).emitTypeElement, node.AsNode(), node.Members, LFPreserveLines) |
| 2181 | } |
| 2182 | } |
| 2183 | if singleLine { |
| 2184 | p.writeSpace() |
| 2185 | } else { |
| 2186 | p.writeLine() |
| 2187 | p.decreaseIndent() |
| 2188 | } |
| 2189 | p.writePunctuation("}") |
| 2190 | p.exitNode(node.AsNode(), state) |
| 2191 | } |
| 2192 | |
| 2193 | func (p *Printer) emitLiteralType(node *ast.LiteralTypeNode) { |
| 2194 | state := p.enterNode(node.AsNode()) |
no test coverage detected