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

98 lines 2.94 kB
/** * @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI * @typedef {import("./Definitions.js").Definitions} Definitions */ /** * @typedef {{ * optimize: boolean * isTestnet: boolean * makeParamsSubstitutable?: boolean * aliasNamespace?: string * }} ToIRContextProps */ export class ToIRContext { /** * @param {ToIRContextProps} props * @param {string} indent * @param {Map<string, RawFunc>} db */ constructor(props: ToIRContextProps, indent?: string, db?: Map<string, RawFunc>); /** * @readonly * @type {ToIRContextProps} */ readonly props: ToIRContextProps; /** * @readonly * @type {string} */ readonly indent: string; /** * @type {Map<string, RawFunc>} */ _db: Map<string, RawFunc>; /** * @type {string | undefined} */ get aliasNamespace(): string | undefined; /** * @type {Map<string, RawFunc>} */ get db(): Map<string, RawFunc>; /** * TODO: rename to isMainnet() * @type {boolean} */ get isTestnet(): boolean; /** * @type {boolean} */ get optimize(): boolean; /** * @type {boolean} */ get paramsSubsitutable(): boolean; /** * @returns {ToIRContext} */ tab(): ToIRContext; /** * Load all raw generics so all possible implementations can be generated correctly during type parameter injection phase * @returns {Map<string, ((ttp: string[], ftp: string[]) => SourceMappedStringI)>} */ fetchRawGenerics(): Map<string, ((ttp: string[], ftp: string[]) => SourceMappedStringI)>; /** * Doesn't add templates * @param {SourceMappedStringI} ir * @param {Definitions | undefined} userDefs - some userDefs might have the __helios prefix * @returns {Definitions} */ fetchRawFunctions(ir: SourceMappedStringI, userDefs?: Definitions | undefined): Definitions; /** * Appends parent debugging information which should be passed into IR via site.alias * @param {string} alias * @returns {ToIRContext} */ appendAliasNamespace(alias: string): ToIRContext; /** * Adds parent debugging information which should be passed into IR via site.alias * @param {string} alias * @returns {ToIRContext} */ withAliasNamespace(alias: string): ToIRContext; /** * @param {SourceMappedStringI} ir * @returns {SourceMappedStringI} */ wrapWithRawFunctions(ir: SourceMappedStringI): SourceMappedStringI; } export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI; export type Definitions = import("./Definitions.js").Definitions; export type ToIRContextProps = { optimize: boolean; isTestnet: boolean; makeParamsSubstitutable?: boolean; aliasNamespace?: string; }; import { RawFunc } from "./RawFunc.js"; //# sourceMappingURL=ToIRContext.d.ts.map