@microsoft.azure/autorest.incubator
Version:
AutoRest incubator project
56 lines • 2.67 kB
TypeScript
import { LocalVariable } from "#csharp/code-dom/variable";
import { TypeDeclaration } from "#csharp/code-dom/type-declaration";
import { OneOrMoreStatements, Statements } from "#csharp/code-dom/statements/statement";
import { Parameter } from "#csharp/code-dom/parameter";
import { Async } from "#csharp/code-dom/access-modifier";
export declare type ExpressionOrLiteral = Expression | string;
export declare function toExpression(expression: ExpressionOrLiteral): Expression;
export declare function valueOf(expression: ExpressionOrLiteral): string;
/** An expression is a combination of operands (variables, literals, method calls) and operators that can be evaluated to a single value */
export interface Expression {
value: string;
toString(): string;
}
/** an expression of a constant string value */
export declare class StringExpression implements Expression {
value: string;
constructor(value: string);
toString(): string;
}
/** an arbitrary user-defined expression */
export declare class LiteralExpression implements Expression {
value: string;
constructor(value: string);
toString(): string;
}
/** a c# 'is' expression */
export declare function Is(expression: ExpressionOrLiteral, isType: TypeDeclaration): Expression;
/** a c# 'is' expression */
export declare class IsExpression implements Expression {
expression: ExpressionOrLiteral;
isType: TypeDeclaration;
constructor(expression: ExpressionOrLiteral, isType: TypeDeclaration);
readonly value: string;
toString(): string;
}
/** a c# 'is' expression that declares a local variable */
export declare function IsDeclaration(expression: ExpressionOrLiteral, isType: TypeDeclaration, name: string): IsExpressionDeclaration;
/** a c# 'is' expression that declares a local variable */
export declare class IsExpressionDeclaration extends LocalVariable implements Expression {
expression: ExpressionOrLiteral;
isType: TypeDeclaration;
constructor(expression: ExpressionOrLiteral, isType: TypeDeclaration, name: string);
readonly check: Expression;
readonly value: string;
toString(): string;
}
export declare function Lambda(parameters: Array<Parameter>, body: OneOrMoreStatements, objectIntializer?: Partial<LambdaExpression>): void;
export declare class LambdaExpression extends Statements implements Expression {
protected parameters: Array<Parameter>;
protected body: OneOrMoreStatements;
async: Async;
constructor(parameters: Array<Parameter>, body: OneOrMoreStatements, objectIntializer?: Partial<LambdaExpression>);
readonly value: string;
toString(): string;
}
//# sourceMappingURL=expression.d.ts.map