Skip to content

Commit dda5084

Browse files
committed
chore: add Readonly<T> type helper
1 parent 7c7f000 commit dda5084

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

src/ast.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,13 @@ export abstract class Node {
177177
return new NamedTypeNode(Node.createSimpleTypeName("", range), null, false, range);
178178
}
179179

180+
static createReadonlyType(
181+
innerType: TypeNode,
182+
range: Range
183+
): NamedTypeNode {
184+
return new NamedTypeNode(Node.createSimpleTypeName("Readonly", range), [ innerType ], false, range);
185+
}
186+
180187
static createTypeParameter(
181188
name: IdentifierExpression,
182189
extendsType: NamedTypeNode | null,

src/parser.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -519,12 +519,7 @@ export class Parser extends DiagnosticEmitter {
519519
if (token == Token.Readonly) {
520520
let innerType = this.parseType(tn, acceptParenthesized, suppressErrors);
521521
if (!innerType) return null;
522-
type = Node.createNamedType(
523-
Node.createSimpleTypeName("Readonly", tn.range(startPos, tn.pos)),
524-
[ innerType ],
525-
false,
526-
tn.range(startPos, tn.pos)
527-
);
522+
type = Node.createReadonlyType(innerType, tn.range(startPos, tn.pos));
528523

529524
// '(' ...
530525
} else if (token == Token.OpenParen) {

0 commit comments

Comments
 (0)