@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
TypeScript
/**
* @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