Files
vscode-ia/.github/instructions/rhino-es5.instructions.md
2026-05-14 09:54:24 -03:00

1.6 KiB
Executable File

description, name, applyTo
description name applyTo
Use quando editar JavaScript Rhino no DavinTI/Vitruvio (.js) e scripts nos formularios/processos .xml Vitruvio: compatibilidade ES5, padroes de db/query, interop Java, concatenacao SQL/HTML e alteracoes seguras para producao. Rhino ES5 Vitruvio **/*.js, **/*.xml

Rhino ES5 (Vitruvio)

  • O runtime e Rhino ES5. Use sempre var.
  • Nao use let, const, template strings, arrow functions, optional chaining ou outros recursos modernos de JS.
  • Em comparacoes com objetos Java (interop), prefira == e !=.
  • Monte SQL/HTML com concatenacao incremental:
    • var sql = ""; sql += " SELECT ...";
  • Prefira APIs/libs padrao da plataforma:
    • libService.loadScript('db'|'javadateutils'|'util'|...)
    • new db("CONEXAO"), db.queryRow(sql, params), db.query(sql, params).each(function (row) { ... }), db.transaction(function () { ... }), db.executeProcedure(nome, parametros), db.update(sql, params)
    • engine.getField('campo').setValue, engine.getLabel('id').setValue, engine.getWidget('id'), engine.setGlobalVariable('nome', funcao);
    • execution.getVariable/ setVariable, taskService, vFormService, sendMessageToVitruvio({ ... })
  • db.query retorna null quando nao ha linhas; se o objeto existir, ja ha ao menos um registro e deve ser percorrido com lista.each(...) (nao usar size).
  • Organize helpers internos (formatação de data, filtros, builders de HTML) antes das funcoes expostas (this.metodo = function () { ... }).
  • Mantenha nomenclatura e convencoes existentes em portugues.
  • Priorize alteracoes minimas e compativeis com producao, evitando refactors amplos.