New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@designliquido/delegua

Package Overview
Dependencies
Maintainers
3
Versions
271
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@designliquido/delegua - npm Package Compare versions

Comparing version 0.31.0 to 0.31.1

fontes/bibliotecas/primitivas-dicionario.d.ts

2

bin/package.json
{
"name": "@designliquido/delegua",
"version": "0.30.8",
"version": "0.31.0",
"description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -941,2 +941,3 @@ "use strict";

const tipoPropriedade = this.avancarEDevolverAnterior();
this.verificarSeSimboloAtualEIgualA(delegua_1.default.PONTO_E_VIRGULA);
propriedades.push(new declaracoes_1.PropriedadeClasse(nomePropriedade, tipoPropriedade.lexema, this.pilhaDecoradores));

@@ -943,0 +944,0 @@ this.pilhaDecoradores = [];

@@ -1,2 +0,2 @@

import { Atribuir, ExpressaoRegular, FimPara, Literal, Super, TipoDe } from '../construtos';
import { AcessoMetodoOuPropriedade, Atribuir, ExpressaoRegular, FimPara, Literal, Super, TipoDe } from '../construtos';
import { Aleatorio, Bloco, Classe, Const, Continua, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao, Importar, Leia, Para, ParaCada, Retorna, Se, Sustar, Tente, Var } from '../declaracoes';

@@ -30,3 +30,3 @@ import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../quebras';

visitarExpressaoAcessoElementoMatriz(expressao: any): any;
visitarExpressaoAcessoMetodo(expressao: any): any;
visitarExpressaoAcessoMetodo(expressao: AcessoMetodoOuPropriedade): any;
visitarExpressaoAgrupamento(expressao: any): Promise<any>;

@@ -33,0 +33,0 @@ visitarExpressaoAtribuicaoPorIndice(expressao: any): Promise<any>;

@@ -7,3 +7,3 @@ import { EspacoVariaveis } from '../espaco-variaveis';

import { DeleguaFuncao, DeleguaModulo } from '../estruturas';
import { AcessoIndiceVariavel, Agrupamento, Atribuir, Construto, ExpressaoRegular, FimPara, FormatacaoEscrita, Literal, Logico, QualTipo, Super, TipoDe, Unario, Variavel, Vetor } from '../construtos';
import { AcessoIndiceVariavel, AcessoMetodoOuPropriedade, Agrupamento, Atribuir, Construto, ExpressaoRegular, FimPara, FormatacaoEscrita, Literal, Logico, QualTipo, Super, TipoDe, Unario, Variavel, Vetor } from '../construtos';
import { ErroInterpretador } from '../interfaces/erros/erro-interpretador';

@@ -185,6 +185,6 @@ import { RetornoInterpretador } from '../interfaces/retornos/retorno-interpretador';

* Executa um acesso a método, normalmente de um objeto de classe.
* @param expressao A expressão de acesso.
* @param {AcessoMetodoOuPropriedade} expressao A expressão de acesso.
* @returns O resultado da execução.
*/
visitarExpressaoAcessoMetodo(expressao: any): Promise<any>;
visitarExpressaoAcessoMetodo(expressao: AcessoMetodoOuPropriedade): Promise<any>;
visitarExpressaoIsto(expressao: any): any;

@@ -191,0 +191,0 @@ visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>;

@@ -19,2 +19,3 @@ "use strict";

const metodo_primitiva_1 = require("../estruturas/metodo-primitiva");
const primitivas_dicionario_1 = __importDefault(require("../bibliotecas/primitivas-dicionario"));
const primitivas_numero_1 = __importDefault(require("../bibliotecas/primitivas-numero"));

@@ -281,3 +282,4 @@ const primitivas_texto_1 = __importDefault(require("../bibliotecas/primitivas-texto"));

resultado = valorConteudo;
if ([delegua_2.default.NUMERO, primitivos_1.default.NUMERO].includes(tipoConteudo) && declaracao.casasDecimais > 0) {
if ([delegua_2.default.NUMERO, primitivos_1.default.NUMERO].includes(tipoConteudo) &&
declaracao.casasDecimais > 0) {
resultado = valorConteudo.toLocaleString('pt', { maximumFractionDigits: declaracao.casasDecimais });

@@ -306,3 +308,7 @@ }

verificarOperandosNumeros(operador, direita, esquerda) {
const tipoDireita = direita.tipo ? direita.tipo : typeof direita === primitivos_1.default.NUMERO ? delegua_2.default.NUMERO : String(NaN);
const tipoDireita = direita.tipo
? direita.tipo
: typeof direita === primitivos_1.default.NUMERO
? delegua_2.default.NUMERO
: String(NaN);
const tipoEsquerda = esquerda.tipo

@@ -313,3 +319,3 @@ ? esquerda.tipo

: String(NaN);
const tiposNumericos = [delegua_2.default.INTEIRO, delegua_2.default.NUMERO];
const tiposNumericos = [delegua_2.default.INTEIRO, delegua_2.default.NUMERO, delegua_2.default.NÚMERO];
if (tiposNumericos.includes(tipoDireita) && tiposNumericos.includes(tipoEsquerda))

@@ -334,5 +340,3 @@ return;

}
else {
return String(valorEsquerdo) > String(valorDireito);
}
return String(valorEsquerdo) > String(valorDireito);
case delegua_1.default.MAIOR_IGUAL:

@@ -345,5 +349,3 @@ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);

}
else {
return String(valorEsquerdo) < String(valorDireito);
}
return String(valorEsquerdo) < String(valorDireito);
case delegua_1.default.MENOR_IGUAL:

@@ -358,8 +360,8 @@ this.verificarOperandosNumeros(expressao.operador, esquerda, direita);

case delegua_1.default.MAIS_IGUAL:
if ([delegua_2.default.NUMERO, delegua_2.default.INTEIRO].includes(tipoEsquerdo) && [delegua_2.default.NUMERO, delegua_2.default.INTEIRO].includes(tipoDireito)) {
const tiposNumericos = [delegua_2.default.INTEIRO, delegua_2.default.NUMERO, delegua_2.default.NÚMERO];
if (tiposNumericos.includes(tipoEsquerdo) &&
tiposNumericos.includes(tipoDireito)) {
return Number(valorEsquerdo) + Number(valorDireito);
}
else {
return this.paraTexto(valorEsquerdo) + this.paraTexto(valorDireito);
}
return this.paraTexto(valorEsquerdo) + this.paraTexto(valorDireito);
case delegua_1.default.DIVISAO:

@@ -1033,4 +1035,3 @@ case delegua_1.default.DIVISAO_IGUAL:

this.expandirPropriedadesDeObjetosEmEspacoVariaveis;
deleguaClasse.dialetoRequerDeclaracaoPropriedades =
this.requerDeclaracaoPropriedades;
deleguaClasse.dialetoRequerDeclaracaoPropriedades = this.requerDeclaracaoPropriedades;
// TODO: Recolocar isso se for necessário.

@@ -1045,3 +1046,3 @@ /* if (superClasse !== null) {

* Executa um acesso a método, normalmente de um objeto de classe.
* @param expressao A expressão de acesso.
* @param {AcessoMetodoOuPropriedade} expressao A expressão de acesso.
* @returns O resultado da execução.

@@ -1055,17 +1056,23 @@ */

}
// TODO: Possivelmente depreciar esta forma.
// Não parece funcionar em momento algum.
// Objeto simples do JavaScript, ou dicionário de Delégua.
if (objeto.constructor === Object) {
const metodoDePrimitivaDicionario = primitivas_dicionario_1.default[expressao.simbolo.lexema];
if (metodoDePrimitivaDicionario) {
return new metodo_primitiva_1.MetodoPrimitiva(objeto, metodoDePrimitivaDicionario);
}
return objeto[expressao.simbolo.lexema] || null;
}
// Função tradicional do JavaScript.
// Normalmente executa quando uma biblioteca é importada.
// Casos em que o objeto possui algum outro tipo que não o de objeto simples.
// Normalmente executam quando uma biblioteca é importada, e estamos tentando
// obter alguma propriedade ou método desse objeto.
// Caso 1: Função tradicional do JavaScript.
if (typeof objeto[expressao.simbolo.lexema] === primitivos_1.default.FUNCAO) {
return objeto[expressao.simbolo.lexema];
}
// Objeto tradicional do JavaScript.
// Normalmente executa quando uma biblioteca é importada.
// Caso 2: Objeto tradicional do JavaScript.
if (typeof objeto[expressao.simbolo.lexema] === primitivos_1.default.OBJETO) {
return objeto[expressao.simbolo.lexema];
}
// A partir daqui, presume-se que o objeto é uma das estruturas
// de Delégua.
if (objeto instanceof estruturas_1.DeleguaModulo) {

@@ -1078,5 +1085,9 @@ return objeto.componentes[expressao.simbolo.lexema] || null;

}
// Como internamente um dicionário de Delégua é simplesmente um objeto de
// JavaScript, as primitivas de dicionário, especificamente, são tratadas
// mais acima.
switch (tipoObjeto) {
case delegua_2.default.INTEIRO:
case delegua_2.default.NUMERO:
case delegua_2.default.NÚMERO:
const metodoDePrimitivaNumero = primitivas_numero_1.default[expressao.simbolo.lexema];

@@ -1093,3 +1104,3 @@ if (metodoDePrimitivaNumero) {

break;
case 'vetor':
case delegua_2.default.VETOR:
const metodoDePrimitivaVetor = primitivas_vetor_1.default[expressao.simbolo.lexema];

@@ -1101,3 +1112,3 @@ if (metodoDePrimitivaVetor) {

}
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.nome, `Método para objeto ou primitiva não encontrado: ${expressao.simbolo.lexema}.`, expressao.linha));
return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simbolo, `Método para objeto ou primitiva não encontrado: ${expressao.simbolo.lexema}.`, expressao.linha));
}

@@ -1104,0 +1115,0 @@ visitarExpressaoIsto(expressao) {

declare const _default: {
DICIONARIO: string;
DICIONÁRIO: string;
INTEIRO: string;
LOGICO: string;
LÓGICO: string;
NUMERO: string;
NÚMERO: string;
NULO: string;
OBJETO: string;
TEXTO: string;
VETOR: string;
};
export default _default;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {
DICIONARIO: 'dicionario',
DICIONÁRIO: 'dicionário',
INTEIRO: 'inteiro',
LOGICO: 'lógico',
NUMERO: 'número',
LOGICO: 'logico',
LÓGICO: 'lógico',
NUMERO: 'numero',
NÚMERO: 'número',
NULO: 'nulo',
OBJETO: 'objeto',
TEXTO: 'texto',
VETOR: 'vetor'
};
//# sourceMappingURL=delegua.js.map
{
"name": "@designliquido/delegua",
"version": "0.31.0",
"version": "0.31.1",
"description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos",

@@ -5,0 +5,0 @@ "main": "index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc