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

89 lines 1.99 kB
/** * @import { Site, Token, Word } from "@helios-lang/compiler-utils" * @typedef {import("../typecheck/index.js").EvalEntity} EvalEntity */ /** * @typedef {{ * site: Site * name: string * valueExpr: Expr * value: EvalEntity * isNamed(): boolean * isLiteral(): boolean * toString(): string * eval(scope: Scope): EvalEntity * }} CallArgExprI */ /** * @implements {CallArgExprI} */ export class CallArgExpr implements CallArgExprI { /** * @param {Site} site * @param {Word | undefined} name * @param {Expr} valueExpr */ constructor(site: Site, name: Word | undefined, valueExpr: Expr); /** * @readonly * @type {Site} */ readonly site: Site; /** * @private * @readonly * @type {Word | undefined} */ private readonly _name; /** * @private * @readonly * @type {Expr} */ private readonly _valueExpr; /** * @type {string} */ get name(): string; /** * @type {Expr} */ get valueExpr(): Expr; /** * @type {EvalEntity} */ get value(): import("../typecheck/common.js").EvalEntity; /** * @returns {boolean} */ isNamed(): boolean; /** * @returns {boolean} */ isLiteral(): boolean; /** * @returns {string} */ toString(): string; /** * @param {Scope} scope * @returns {EvalEntity} */ eval(scope: Scope): EvalEntity; } export type EvalEntity = import("../typecheck/index.js").EvalEntity; export type CallArgExprI = { site: Site; name: string; valueExpr: Expr; value: EvalEntity; isNamed(): boolean; isLiteral(): boolean; toString(): string; eval(scope: Scope): EvalEntity; }; import type { Site } from "@helios-lang/compiler-utils"; import { Expr } from "./Expr.js"; import { Scope } from "../scopes/Scope.js"; import type { Word } from "@helios-lang/compiler-utils"; //# sourceMappingURL=CallArgExpr.d.ts.map