@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
56 lines • 2.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const informacao_variavel_ou_constante_1 = require("../informacao-variavel-ou-constante");
const contemComum = (nome) => {
return {
tipoRetorno: 'lógico',
argumentos: [
new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('chave', 'qualquer', true, [], 'O elemento como chave do dicionário.')
],
implementacao: (interpretador, valor, chave) => Promise.resolve(chave in valor),
assinaturaFormato: `dicionário.${nome}(chave: qualquer)`,
documentacao: `# \`dicionário.${nome}(chave)\`\n\n` +
'Retorna verdadeiro se o elemento passado como parâmetro existe como chave do dicionário. Devolve falso em caso contrário.\n' +
'\n\n ## Exemplo de Código\n' +
'\n\n```delegua\n' +
'var d = {"a": 1, "b": 2, "c": 3}\n' +
`escreva(d.${nome}("a")) // verdadeiro\n` +
`escreva(d.${nome}("f")) // falso\n\`\`\`` +
'\n\n## Formas de uso\n',
exemploCodigo: 'dicionário.contem("minhaChave")'
};
};
exports.default = {
chaves: {
tipoRetorno: 'texto[]',
argumentos: [],
implementacao: (interpretador, valor) => {
return Promise.resolve(Object.keys(valor));
},
assinaturaFormato: 'dicionário.chaves()',
documentacao: '# `dicionário.chaves()`\n\n' +
'Retorna um vetor de texto com todas as chaves de um dicionário.\n' +
'\n\n ## Exemplo de Código\n' +
'\n\n```delegua\n' +
'var d = {"a": 1, "b": 2, "c": 3}\n' +
'escreva(d.chaves()) // ["a", "b", "c"]\n```' +
'\n\n## Formas de uso\n',
exemploCodigo: 'dicionário.chaves()'
},
contem: contemComum('contem'),
contém: contemComum('contém'),
remover: {
tipoRetorno: 'lógico',
argumentos: [new informacao_variavel_ou_constante_1.InformacaoVariavelOuConstante('chave', 'texto')],
implementacao: (interpretador, valor, chave) => Promise.resolve(delete valor[chave]),
assinaturaFormato: `dicionário.remover(chave: qualquer)`,
},
valores: {
tipoRetorno: 'qualquer[]',
argumentos: [],
implementacao: (interpretador, valor) => {
return Promise.resolve(Object.values(valor));
},
},
};
//# sourceMappingURL=primitivas-dicionario.js.map