forked from dsherret/ts-morph
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathElementAccessExpression.ts
22 lines (20 loc) · 1018 Bytes
/
ElementAccessExpression.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import * as errors from "../../../errors";
import { ts } from "../../../typescript";
import { Expression } from "./Expression";
import { LeftHandSideExpressionedNode } from "./expressioned";
import { MemberExpression } from "./MemberExpression";
export const ElementAccessExpressionBase = LeftHandSideExpressionedNode(MemberExpression);
export class ElementAccessExpression<T extends ts.ElementAccessExpression = ts.ElementAccessExpression> extends ElementAccessExpressionBase<T> {
/**
* Gets this element access expression's argument expression or undefined if none exists.
*/
getArgumentExpression(): Expression | undefined {
return this._getNodeFromCompilerNodeIfExists(this.compilerNode.argumentExpression);
}
/**
* Gets this element access expression's argument expression or throws if none exists.
*/
getArgumentExpressionOrThrow() {
return errors.throwIfNullOrUndefined(this.getArgumentExpression(), "Expected to find an argument expression.");
}
}