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

80 lines 2.61 kB
/** * @import { Site } from "@helios-lang/compiler-utils" * @typedef {import("./common.js").InferenceMap} InferenceMap * @typedef {import("./common.js").DataType} DataType * @typedef {import("./common.js").Func} Func * @typedef {import("./common.js").EvalEntity} EvalEntity * @typedef {import("./common.js").Parametric} Parametric * @typedef {import("./common.js").Type} Type * @typedef {import("./common.js").Typed} Typed * @typedef {import("./common.js").TypeClass} TypeClass */ /** * Data instances can be parametrics instances * @implements {Parametric} */ export class ParametricData extends Common implements Parametric { /** * @param {Parameter[]} params * @param {Type} dataType */ constructor(params: Parameter[], dataType: Type); /** * @private * @readonly * @type {Parameter[]} */ private readonly _params; /** * @private * @readonly * @type {Type} */ private readonly _dataType; get params(): Parameter[]; get dataType(): import("./common.js").Type; /** * null TypeClasses aren't included * @type {TypeClass[]} */ get typeClasses(): import("./common.js").TypeClass[]; /** * @param {Type[]} types * @param {Site} site * @returns {EvalEntity} */ apply(types: Type[], site?: Site): EvalEntity; /** * @type {Parametric} */ get asParametric(): import("./common.js").Parametric; /** * Must infer before calling * @param {Site} site * @param {Typed[]} args * @param {{[name: string]: Typed}} namedArgs * @param {Type[]} paramTypes - so that paramTypes can be accessed by caller * @returns {Func} */ inferCall(site: Site, args: Typed[], namedArgs?: { [name: string]: Typed; }, paramTypes?: Type[]): Func; /** * @param {Site} site * @param {InferenceMap} map * @returns {Parametric} */ infer(site: Site, map: InferenceMap): Parametric; } export type InferenceMap = import("./common.js").InferenceMap; export type DataType = import("./common.js").DataType; export type Func = import("./common.js").Func; export type EvalEntity = import("./common.js").EvalEntity; export type Parametric = import("./common.js").Parametric; export type Type = import("./common.js").Type; export type Typed = import("./common.js").Typed; export type TypeClass = import("./common.js").TypeClass; import { Common } from "./common.js"; import { Parameter } from "./Parameter.js"; import type { Site } from "@helios-lang/compiler-utils"; //# sourceMappingURL=ParametricData.d.ts.map