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

68 lines 2.43 kB
/** * @import { Site, Word } from "@helios-lang/compiler-utils" * @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI * @typedef {import("../codegen/index.js").Definitions} Definitions * @typedef {import("../typecheck/index.js").DataType} DataType * @typedef {import("../typecheck/index.js").EnumMemberType} EnumMemberType * @typedef {import("../typecheck/common.js").GenericTypeProps} GenericTypeProps * @typedef {import("../typecheck/common.js").Type} Type * @typedef {import("../typecheck/common.js").TypeSchema} TypeSchema */ /** * Enum statement, containing at least one member * @internal */ export class EnumStatement extends Statement { /** * @param {Site} site * @param {Word} name * @param {TypeParameters} parameters * @param {EnumMember[]} members * @param {ImplDefinition} impl */ constructor(site: Site, name: Word, parameters: TypeParameters, members: EnumMember[], impl: ImplDefinition); /** * @private * @readonly * @type {TypeParameters} */ private readonly _parameters; /** * @private * @readonly * @type {EnumMember[]} */ private readonly _members; /** * @private * @readonly * @type {ImplDefinition} */ private readonly _impl; /** * @returns {boolean} */ hasParameters(): boolean; /** * @returns {SourceMappedStringI} */ toIR_is_valid_data(): SourceMappedStringI; /** * @returns {SourceMappedStringI} */ toIR_show(): SourceMappedStringI; } export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI; export type Definitions = import("../codegen/index.js").Definitions; export type DataType = import("../typecheck/index.js").DataType; export type EnumMemberType = import("../typecheck/index.js").EnumMemberType; export type GenericTypeProps = import("../typecheck/common.js").GenericTypeProps; export type Type = import("../typecheck/common.js").Type; export type TypeSchema = import("../typecheck/common.js").TypeSchema; import { Statement } from "./Statement.js"; import type { Site } from "@helios-lang/compiler-utils"; import type { Word } from "@helios-lang/compiler-utils"; import { TypeParameters } from "./TypeParameters.js"; import { EnumMember } from "./EnumMember.js"; import { ImplDefinition } from "./ImplDefinition.js"; //# sourceMappingURL=EnumStatement.d.ts.map