Something went wrong. Try again.
fork of hey-api/openapi-ts because I need some additional things
Something went wrong. Try again.
1.1 kB · 41 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142import type { AnalysisContext } from '@hey-api/codegen-core';
import { py } from '../../ts-python';import type { MaybePyDsl } from '../base';import { PyDsl } from '../base';import { LayoutMixin } from '../mixins/layout';
const Mixed = LayoutMixin(PyDsl<py.TupleExpression>);
export class TuplePyDsl extends Mixed { readonly '~dsl' = 'TuplePyDsl';
protected _elements: Array<MaybePyDsl<py.Expression>> = [];
constructor(...elements: Array<MaybePyDsl<py.Expression>>) { super(); this._elements = elements; }
override analyze(ctx: AnalysisContext): void { super.analyze(ctx); for (const el of this._elements) { ctx.analyze(el); } }
element(expr: MaybePyDsl<py.Expression>): this { this._elements.push(expr); return this; }
elements(...exprs: ReadonlyArray<MaybePyDsl<py.Expression>>): this { this._elements.push(...exprs); return this; }
override toAst(): py.TupleExpression { const astElements = this._elements.map((el) => this.$node(el) as py.Expression); return py.factory.createTupleExpression(astElements); }}