Anonymous View
Skip to content

Commit cbe6ba9

Browse files
committed
fix: fix literal expression type
1 parent af4407e commit cbe6ba9

2 files changed

Lines changed: 13 additions & 7 deletions

File tree

packages/parser/src/astTypes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ export interface NewExpression extends AstNodeBase {
147147
/**
148148
* Literal expression.
149149
*/
150-
export interface Literal extends AstNodeBase {
150+
export interface LiteralExpression extends AstNodeBase {
151151
/**
152152
* Type of the expression.
153153
*/
@@ -429,7 +429,7 @@ export interface TernaryExpression extends AstNodeBase {
429429
*/
430430
export type Expression =
431431
| FunctionCall
432-
| Literal
432+
| LiteralExpression
433433
| IdentifierExpression
434434
| MemberExpression
435435
| AssignmentExpression

packages/parser/src/parseScript.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import type {
88
AstNode,
99
BinaryExpression,
1010
Expression,
11-
Literal,
11+
LiteralExpression,
1212
MemberExpression,
1313
ObjectExpression,
1414
ObjectProperty,
@@ -279,7 +279,9 @@ function parseMemberExpression(expression: babel.MemberExpression): MemberExpres
279279
};
280280
}
281281

282-
function parseObjectExpression(expression: babel.ObjectExpression): ObjectExpression | Literal {
282+
function parseObjectExpression(
283+
expression: babel.ObjectExpression,
284+
): ObjectExpression | LiteralExpression {
283285
const props = expression.properties.map(prop => parseObjectProperty(prop));
284286

285287
const isLiteral = props.every(
@@ -293,9 +295,11 @@ function parseObjectExpression(expression: babel.ObjectExpression): ObjectExpres
293295
const value: Record<string, unknown> = {};
294296
for (const prop of props as ObjectProperty[]) {
295297
if (prop.key.type === 'ident') {
296-
value[prop.key.name] = (prop.value as Literal).value;
298+
value[prop.key.name] = (prop.value as LiteralExpression).value;
297299
} else {
298-
value[(prop.key as Literal).value as string] = (prop.value as Literal).value;
300+
value[(prop.key as LiteralExpression).value as string] = (
301+
prop.value as LiteralExpression
302+
).value;
299303
}
300304
}
301305

@@ -311,7 +315,9 @@ function parseObjectExpression(expression: babel.ObjectExpression): ObjectExpres
311315
};
312316
}
313317

314-
function parseArrayExpression(expression: babel.ArrayExpression): ArrayExpression | Literal {
318+
function parseArrayExpression(
319+
expression: babel.ArrayExpression,
320+
): ArrayExpression | LiteralExpression {
315321
const items = expression.elements.map<Expression | SpreadExpression>(e => {
316322
if (e === null) {
317323
return { type: 'literal', value: null };

0 commit comments

Comments
 (0)