@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
56 lines • 1.69 kB
TypeScript
/**
* @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI
* @typedef {import("./Definitions.js").Definitions} Definitions
*/
/**
*
* @param {string} s
* @param {(m: string) => void} callback
*/
export function matchBuiltins(s: string, callback: (m: string) => void): void;
/**
* Wrapper for a builtin function (written in IR)
* @internal
*/
export class RawFunc {
/**
* Construct a RawFunc, and immediately scan the definition for dependencies
* @param {string} name
* @param {string | ((ttp: string[], ftp: string[]) => string)} definition
*/
constructor(name: string, definition: string | ((ttp: string[], ftp: string[]) => string));
/**
* @private
* @readonly
* @type {string}
*/
private readonly _name;
/**
* @private
* @readonly
* @type {((ttp: string[], ftp: string[]) => string)}
*/
private readonly _definition;
/**
* @type {string}
*/
get name(): string;
/**
* @param {string[]} ttp
* @param {string[]} ftp
* @returns {SourceMappedStringI}
*/
toIR(ttp?: string[], ftp?: string[]): SourceMappedStringI;
/**
* Loads dependecies (if not already loaded), then load 'this'
* @param {Map<string, RawFunc>} db
* @param {Definitions} dst
* @param {string[]} ttp
* @param {string[]} ftp
* @returns {void}
*/
load(db: Map<string, RawFunc>, dst: Definitions, ttp?: string[], ftp?: string[]): void;
}
export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI;
export type Definitions = import("./Definitions.js").Definitions;
//# sourceMappingURL=RawFunc.d.ts.map