UNPKG

@designliquido/delegua

Version:

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

41 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MetodoPrimitiva = void 0; const chamavel_1 = require("./chamavel"); /** * Classe de método de primitiva. * Exemplos: * * - `v.inclui(1)` (`v` é um vetor) * - `t.minusculo()` (`t` é um texto) * * A aridade é sempre a quantidade de argumentos do método menos um porque o * primeiro parâmetro é sempre a referência para a primitiva. */ class MetodoPrimitiva extends chamavel_1.Chamavel { constructor(primitiva, metodo) { super(); this.primitiva = primitiva; this.metodo = metodo; this.valorAridade = metodo.length - 1; } async chamar(interpretador, argumentos = []) { return await this.metodo(interpretador, this.primitiva, ...argumentos); } /** * Método utilizado por Delégua para inspecionar este método em depuração. * @returns {string} A representação do método como texto. */ paraTexto() { return `<método nome=${this.metodo} primitiva=${this.primitiva}>`; } /** * Método utilizado pelo VSCode para representar este método quando impressa. * @returns {string} A representação do método como texto. */ toString() { return this.paraTexto(); } } exports.MetodoPrimitiva = MetodoPrimitiva; //# sourceMappingURL=metodo-primitiva.js.map