UNPKG

@helios-lang/compiler

Version:

Helios is a Domain Specific Language that compiles to Plutus-Core (i.e. Cardano on-chain validator scripts). Helios is a non-Haskell alternative to Plutus. With this library you can compile Helios scripts and build Cardano transactions, all you need to bu

52 lines 1.47 kB
/** * @typedef {import("@helios-lang/compiler-utils").Site} Site */ /** * Parent class of EnumSwitchExpr and DataSwitchExpr */ export class SwitchExpr extends Expr { /** * @param {Site} site * @param {Site} dotSite * @param {Expr} controlExpr - input value of the switch * @param {SwitchCase[]} cases * @param {SwitchDefault | undefined} defaultCase */ constructor(site: Site, dotSite: Site, controlExpr: Expr, cases: SwitchCase[], defaultCase?: SwitchDefault | undefined); /** * @type {Site} */ dotSite: Site; /** * @private * @readonly * @type {Expr} */ private readonly _controlExpr; /** * @private * @readonly * @type {SwitchCase[]} */ private readonly _cases; /** * @private * @type {SwitchDefault | undefined} */ private _defaultCase; get controlExpr(): Expr; get cases(): SwitchCase[]; /** * @type {SwitchDefault | undefined} */ get defaultCase(): SwitchDefault | undefined; /** * If there isn't enough coverage then we can simply set the default case to void, so the other branches can be error, print or assert */ setDefaultCaseToVoid(): void; } export type Site = import("@helios-lang/compiler-utils").Site; import { Expr } from "./Expr.js"; import { SwitchCase } from "./SwitchCase.js"; import { SwitchDefault } from "./SwitchDefault.js"; //# sourceMappingURL=SwitchExpr.d.ts.map