UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

38 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FuncaoPadrao = void 0; const chamavel_1 = require("./chamavel"); /** * Uma `FuncaoPadrao` normalmente é uma função em JavaScript que representa um * método de uma biblioteca global, mas que pode ser usada para outros casos. */ class FuncaoPadrao extends chamavel_1.Chamavel { constructor(valorAridade, funcao) { super(); this.descartarPrimeiroArgumento = true; this.valorAridade = valorAridade; this.funcao = funcao; } async chamar(visitante, argumentos, simbolo) { if (simbolo) { this.simbolo = simbolo; } return await this.funcao.apply(this, [visitante, ...argumentos]); } /** * Método utilizado por Delégua para inspecionar esta função em depuração. * @returns {string} A representação da função como texto. */ paraTexto() { return `<função-padrão nome=${this.simbolo?.lexema || '(função anônima)'} />`; } /** * Método utilizado pelo VSCode para representar esta função quando impressa. * @returns {string} A representação da classe como texto. */ toString() { return this.paraTexto(); } } exports.FuncaoPadrao = FuncaoPadrao; //# sourceMappingURL=funcao-padrao.js.map