@designliquido/delegua-node 1.17.0 → 1.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -3
- package/bin/delegua-dap +4 -0
- package/bin/delegua-dap.cmd +2 -0
- package/delegua.d.ts +2 -2
- package/delegua.d.ts.map +1 -1
- package/delegua.js +4 -4
- package/delegua.js.map +1 -1
- package/depuracao/dap/adaptador-dap.d.ts +8 -0
- package/depuracao/dap/adaptador-dap.d.ts.map +1 -0
- package/depuracao/dap/adaptador-dap.js +22 -0
- package/depuracao/dap/adaptador-dap.js.map +1 -0
- package/depuracao/dap/index.d.ts +6 -0
- package/depuracao/dap/index.d.ts.map +1 -0
- package/depuracao/dap/index.js +22 -0
- package/depuracao/dap/index.js.map +1 -0
- package/depuracao/dap/ponte-tempo-execucao-depuracao.d.ts +34 -0
- package/depuracao/dap/ponte-tempo-execucao-depuracao.d.ts.map +1 -0
- package/depuracao/dap/ponte-tempo-execucao-depuracao.js +349 -0
- package/depuracao/dap/ponte-tempo-execucao-depuracao.js.map +1 -0
- package/depuracao/dap/sessao-depuracao-dap.d.ts +30 -0
- package/depuracao/dap/sessao-depuracao-dap.d.ts.map +1 -0
- package/depuracao/dap/sessao-depuracao-dap.js +275 -0
- package/depuracao/dap/sessao-depuracao-dap.js.map +1 -0
- package/depuracao/dap/transporte-dap-stdio.d.ts +20 -0
- package/depuracao/dap/transporte-dap-stdio.d.ts.map +1 -0
- package/depuracao/dap/transporte-dap-stdio.js +103 -0
- package/depuracao/dap/transporte-dap-stdio.js.map +1 -0
- package/depuracao/index.d.ts +1 -0
- package/depuracao/index.d.ts.map +1 -1
- package/depuracao/index.js +1 -0
- package/depuracao/index.js.map +1 -1
- package/execucao.js +12 -3
- package/execucao.js.map +1 -1
- package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.d.ts +3 -0
- package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.d.ts.map +1 -1
- package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.js +45 -0
- package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.js.map +1 -1
- package/interfaces/depuracao/configuracao-lancamento-interface.d.ts +5 -0
- package/interfaces/depuracao/configuracao-lancamento-interface.d.ts.map +1 -0
- package/interfaces/depuracao/configuracao-lancamento-interface.js +3 -0
- package/interfaces/depuracao/configuracao-lancamento-interface.js.map +1 -0
- package/interfaces/depuracao/escopo-depuracao-interface.d.ts +6 -0
- package/interfaces/depuracao/escopo-depuracao-interface.d.ts.map +1 -0
- package/interfaces/depuracao/escopo-depuracao-interface.js +3 -0
- package/interfaces/depuracao/escopo-depuracao-interface.js.map +1 -0
- package/interfaces/depuracao/evento-dap-interface.d.ts +7 -0
- package/interfaces/depuracao/evento-dap-interface.d.ts.map +1 -0
- package/interfaces/depuracao/evento-dap-interface.js +3 -0
- package/interfaces/depuracao/evento-dap-interface.js.map +1 -0
- package/interfaces/depuracao/index.d.ts +14 -0
- package/interfaces/depuracao/index.d.ts.map +1 -0
- package/interfaces/depuracao/index.js +30 -0
- package/interfaces/depuracao/index.js.map +1 -0
- package/interfaces/depuracao/mensagem-dap-interface.d.ts +5 -0
- package/interfaces/depuracao/mensagem-dap-interface.d.ts.map +1 -0
- package/interfaces/depuracao/mensagem-dap-interface.js +3 -0
- package/interfaces/depuracao/mensagem-dap-interface.js.map +1 -0
- package/interfaces/depuracao/parada-depuracao-interface.d.ts +6 -0
- package/interfaces/depuracao/parada-depuracao-interface.d.ts.map +1 -0
- package/interfaces/depuracao/parada-depuracao-interface.js +3 -0
- package/interfaces/depuracao/parada-depuracao-interface.js.map +1 -0
- package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.d.ts +20 -0
- package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.d.ts.map +1 -0
- package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.js +3 -0
- package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.js.map +1 -0
- package/interfaces/depuracao/quadro-pilha-depuracao-interface.d.ts +8 -0
- package/interfaces/depuracao/quadro-pilha-depuracao-interface.d.ts.map +1 -0
- package/interfaces/depuracao/quadro-pilha-depuracao-interface.js +3 -0
- package/interfaces/depuracao/quadro-pilha-depuracao-interface.js.map +1 -0
- package/interfaces/depuracao/requisicao-dap-interface.d.ts +7 -0
- package/interfaces/depuracao/requisicao-dap-interface.d.ts.map +1 -0
- package/interfaces/depuracao/requisicao-dap-interface.js +3 -0
- package/interfaces/depuracao/requisicao-dap-interface.js.map +1 -0
- package/interfaces/depuracao/resposta-dap-interface.d.ts +10 -0
- package/interfaces/depuracao/resposta-dap-interface.d.ts.map +1 -0
- package/interfaces/depuracao/resposta-dap-interface.js +3 -0
- package/interfaces/depuracao/resposta-dap-interface.js.map +1 -0
- package/interfaces/depuracao/sessao-depuracao-dap-interface.d.ts +5 -0
- package/interfaces/depuracao/sessao-depuracao-dap-interface.d.ts.map +1 -0
- package/interfaces/depuracao/sessao-depuracao-dap-interface.js +3 -0
- package/interfaces/depuracao/sessao-depuracao-dap-interface.js.map +1 -0
- package/interfaces/depuracao/thread-depuracao-interface.d.ts +5 -0
- package/interfaces/depuracao/thread-depuracao-interface.d.ts.map +1 -0
- package/interfaces/depuracao/thread-depuracao-interface.js +3 -0
- package/interfaces/depuracao/thread-depuracao-interface.js.map +1 -0
- package/interfaces/depuracao/transporte-dap-interface.d.ts +10 -0
- package/interfaces/depuracao/transporte-dap-interface.d.ts.map +1 -0
- package/interfaces/depuracao/transporte-dap-interface.js +3 -0
- package/interfaces/depuracao/transporte-dap-interface.js.map +1 -0
- package/interfaces/depuracao/variavel-depuracao-interface.d.ts +7 -0
- package/interfaces/depuracao/variavel-depuracao-interface.d.ts.map +1 -0
- package/interfaces/depuracao/variavel-depuracao-interface.js +3 -0
- package/interfaces/depuracao/variavel-depuracao-interface.js.map +1 -0
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +82 -3
- package/interpretador/comum.js.map +1 -1
- package/interpretador/dialetos/portugol-studio-comum.d.ts.map +1 -1
- package/interpretador/dialetos/portugol-studio-comum.js +1 -1
- package/interpretador/dialetos/portugol-studio-comum.js.map +1 -1
- package/interpretador/realcador-sintaxe-ajuda.d.ts.map +1 -1
- package/interpretador/realcador-sintaxe-ajuda.js +43 -2
- package/interpretador/realcador-sintaxe-ajuda.js.map +1 -1
- package/maquinas-estados-lair/maquina-estados-ajuda.js +1 -1
- package/maquinas-estados-lair/maquina-estados-ajuda.js.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.d.ts.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.js +10 -2
- package/mecanismo-importacao-bibliotecas/index.js.map +1 -1
- package/nucleo-execucao.d.ts +1 -1
- package/nucleo-execucao.d.ts.map +1 -1
- package/nucleo-execucao.js +27 -2
- package/nucleo-execucao.js.map +1 -1
- package/package.json +24 -18
- package/bin/package.json +0 -53
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessao-depuracao-dap.d.ts","sourceRoot":"","sources":["../../../fontes/depuracao/dap/sessao-depuracao-dap.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,oCAAoC,EACpC,kBAAkB,EAClB,aAAa,EAChB,MAAM,4BAA4B,CAAC;AAEpC,qBAAa,wBAAyB,YAAW,kBAAkB;IAM3D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAN3C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAqB;gBAGvB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,oCAAoC;IAGjF,OAAO,IAAI,IAAI;IAMf,QAAQ,IAAI,IAAI;IAIhB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,mBAAmB;YAeb,mBAAmB;IA6DjC,OAAO,CAAC,gBAAgB;YAYV,YAAY;YAUZ,oBAAoB;YAuBpB,uBAAuB;YAgCvB,aAAa;YAab,gBAAgB;YAsBhB,YAAY;YAeZ,eAAe;YAgBf,cAAc;YAQd,UAAU;YAQV,YAAY;YAQZ,aAAa;YAQb,0BAA0B;YA+B1B,gBAAgB;IAY9B,OAAO,CAAC,yBAAyB;CAIpC"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessaoDepuracaoDapPadrao = void 0;
|
|
4
|
+
class SessaoDepuracaoDapPadrao {
|
|
5
|
+
constructor(transporteDap, runtimeBridgeDepuracao) {
|
|
6
|
+
this.transporteDap = transporteDap;
|
|
7
|
+
this.runtimeBridgeDepuracao = runtimeBridgeDepuracao;
|
|
8
|
+
this.lancamentoConfigurado = false;
|
|
9
|
+
this.sessaoEncerrada = false;
|
|
10
|
+
this.filaRequisicoes = Promise.resolve();
|
|
11
|
+
}
|
|
12
|
+
iniciar() {
|
|
13
|
+
this.transporteDap.on('requisicao', this.aoReceberRequisicao.bind(this));
|
|
14
|
+
this.transporteDap.on('erro', this.aoReceberErro.bind(this));
|
|
15
|
+
this.transporteDap.iniciar();
|
|
16
|
+
}
|
|
17
|
+
encerrar() {
|
|
18
|
+
this.transporteDap.encerrar();
|
|
19
|
+
}
|
|
20
|
+
aoReceberErro(erro) {
|
|
21
|
+
process.stderr.write(`[DAP] ${erro.message}\n`);
|
|
22
|
+
}
|
|
23
|
+
aoReceberRequisicao(requisicao) {
|
|
24
|
+
this.filaRequisicoes = this.filaRequisicoes
|
|
25
|
+
.then(async () => {
|
|
26
|
+
await this.processarRequisicao(requisicao);
|
|
27
|
+
})
|
|
28
|
+
.catch((erro) => {
|
|
29
|
+
var _a;
|
|
30
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : erro));
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async processarRequisicao(requisicao) {
|
|
34
|
+
if (this.sessaoEncerrada && requisicao.command !== 'disconnect') {
|
|
35
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, 'Sessao DAP encerrada.');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
switch (requisicao.command) {
|
|
39
|
+
case 'initialize':
|
|
40
|
+
this.tratarInitialize(requisicao);
|
|
41
|
+
return;
|
|
42
|
+
case 'launch':
|
|
43
|
+
await this.tratarLaunch(requisicao);
|
|
44
|
+
return;
|
|
45
|
+
case 'setBreakpoints':
|
|
46
|
+
await this.tratarSetBreakpoints(requisicao);
|
|
47
|
+
return;
|
|
48
|
+
case 'configurationDone':
|
|
49
|
+
await this.tratarConfigurationDone(requisicao);
|
|
50
|
+
return;
|
|
51
|
+
case 'threads':
|
|
52
|
+
await this.tratarThreads(requisicao);
|
|
53
|
+
return;
|
|
54
|
+
case 'stackTrace':
|
|
55
|
+
await this.tratarStackTrace(requisicao);
|
|
56
|
+
return;
|
|
57
|
+
case 'scopes':
|
|
58
|
+
await this.tratarScopes(requisicao);
|
|
59
|
+
return;
|
|
60
|
+
case 'variables':
|
|
61
|
+
await this.tratarVariables(requisicao);
|
|
62
|
+
return;
|
|
63
|
+
case 'continue':
|
|
64
|
+
await this.tratarContinue(requisicao);
|
|
65
|
+
return;
|
|
66
|
+
case 'next':
|
|
67
|
+
await this.tratarNext(requisicao);
|
|
68
|
+
return;
|
|
69
|
+
case 'stepIn':
|
|
70
|
+
await this.tratarStepIn(requisicao);
|
|
71
|
+
return;
|
|
72
|
+
case 'stepOut':
|
|
73
|
+
await this.tratarStepOut(requisicao);
|
|
74
|
+
return;
|
|
75
|
+
case 'disconnect':
|
|
76
|
+
await this.tratarDisconnect(requisicao);
|
|
77
|
+
return;
|
|
78
|
+
default:
|
|
79
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, `Comando DAP nao suportado no MVP: ${requisicao.command}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
tratarInitialize(requisicao) {
|
|
83
|
+
this.transporteDap.enviarResposta(requisicao, true, {
|
|
84
|
+
supportsConfigurationDoneRequest: true,
|
|
85
|
+
supportTerminateDebuggee: true,
|
|
86
|
+
supportsTerminateRequest: false,
|
|
87
|
+
supportsSetVariable: false,
|
|
88
|
+
supportsStepBack: false,
|
|
89
|
+
});
|
|
90
|
+
this.transporteDap.enviarEvento('initialized');
|
|
91
|
+
}
|
|
92
|
+
async tratarLaunch(requisicao) {
|
|
93
|
+
var _a;
|
|
94
|
+
try {
|
|
95
|
+
await this.runtimeBridgeDepuracao.prepararLancamento(requisicao.arguments);
|
|
96
|
+
this.lancamentoConfigurado = true;
|
|
97
|
+
this.transporteDap.enviarResposta(requisicao, true, {});
|
|
98
|
+
}
|
|
99
|
+
catch (erro) {
|
|
100
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : erro));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async tratarSetBreakpoints(requisicao) {
|
|
104
|
+
var _a, _b, _c, _d, _e, _f;
|
|
105
|
+
try {
|
|
106
|
+
const caminhoArquivo = String((_c = (_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.path) !== null && _c !== void 0 ? _c : '');
|
|
107
|
+
const pontosParadaBrutos = ((_e = (_d = requisicao.arguments) === null || _d === void 0 ? void 0 : _d.breakpoints) !== null && _e !== void 0 ? _e : [])
|
|
108
|
+
.map((pontoParada) => Number(pontoParada === null || pontoParada === void 0 ? void 0 : pontoParada.line))
|
|
109
|
+
.filter((linha) => Number.isInteger(linha));
|
|
110
|
+
const linhasVerificadas = await this.runtimeBridgeDepuracao.definirPontosParada(caminhoArquivo, pontosParadaBrutos);
|
|
111
|
+
const breakpoints = pontosParadaBrutos.map((linha) => ({
|
|
112
|
+
verified: linhasVerificadas.includes(linha),
|
|
113
|
+
line: linha,
|
|
114
|
+
}));
|
|
115
|
+
this.transporteDap.enviarResposta(requisicao, true, { breakpoints });
|
|
116
|
+
}
|
|
117
|
+
catch (erro) {
|
|
118
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_f = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _f !== void 0 ? _f : erro));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async tratarConfigurationDone(requisicao) {
|
|
122
|
+
var _a;
|
|
123
|
+
if (!this.lancamentoConfigurado) {
|
|
124
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, 'launch deve ser executado antes de configurationDone.');
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
this.transporteDap.enviarResposta(requisicao, true, {});
|
|
128
|
+
try {
|
|
129
|
+
const parada = await this.runtimeBridgeDepuracao.executarAtePrimeiroPontoParada();
|
|
130
|
+
if (parada) {
|
|
131
|
+
this.transporteDap.enviarEvento('stopped', {
|
|
132
|
+
reason: 'breakpoint',
|
|
133
|
+
threadId: 1,
|
|
134
|
+
allThreadsStopped: true,
|
|
135
|
+
hitBreakpointIds: [1],
|
|
136
|
+
description: `${parada.caminhoArquivo}:${parada.linha}`,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch (erro) {
|
|
141
|
+
this.transporteDap.enviarEvento('output', {
|
|
142
|
+
category: 'stderr',
|
|
143
|
+
output: `[DAP] ${String((_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : erro)}\n`,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
async tratarThreads(requisicao) {
|
|
148
|
+
var _a;
|
|
149
|
+
try {
|
|
150
|
+
const threadsRuntime = await this.runtimeBridgeDepuracao.obterThreads();
|
|
151
|
+
const threads = threadsRuntime.map((thread) => ({
|
|
152
|
+
id: thread.id,
|
|
153
|
+
name: thread.nome,
|
|
154
|
+
}));
|
|
155
|
+
this.transporteDap.enviarResposta(requisicao, true, { threads });
|
|
156
|
+
}
|
|
157
|
+
catch (erro) {
|
|
158
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : erro));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
async tratarStackTrace(requisicao) {
|
|
162
|
+
var _a, _b, _c;
|
|
163
|
+
try {
|
|
164
|
+
const threadId = Number((_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.threadId) !== null && _b !== void 0 ? _b : 1);
|
|
165
|
+
const stackFrames = await this.runtimeBridgeDepuracao.obterPilhaExecucao(threadId);
|
|
166
|
+
this.transporteDap.enviarResposta(requisicao, true, {
|
|
167
|
+
stackFrames: stackFrames.map((quadro) => ({
|
|
168
|
+
id: quadro.id,
|
|
169
|
+
name: quadro.nome,
|
|
170
|
+
line: quadro.linha,
|
|
171
|
+
column: quadro.coluna,
|
|
172
|
+
source: {
|
|
173
|
+
name: quadro.caminhoArquivo.split(/[/\\]/).pop(),
|
|
174
|
+
path: quadro.caminhoArquivo,
|
|
175
|
+
},
|
|
176
|
+
})),
|
|
177
|
+
totalFrames: stackFrames.length,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
catch (erro) {
|
|
181
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_c = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _c !== void 0 ? _c : erro));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
async tratarScopes(requisicao) {
|
|
185
|
+
var _a, _b, _c;
|
|
186
|
+
try {
|
|
187
|
+
const frameId = Number((_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.frameId) !== null && _b !== void 0 ? _b : 0);
|
|
188
|
+
const escopos = await this.runtimeBridgeDepuracao.obterEscopos(frameId);
|
|
189
|
+
const scopes = escopos.map((escopo) => ({
|
|
190
|
+
name: escopo.nome,
|
|
191
|
+
variablesReference: escopo.variablesReference,
|
|
192
|
+
expensive: escopo.expensive,
|
|
193
|
+
}));
|
|
194
|
+
this.transporteDap.enviarResposta(requisicao, true, { scopes });
|
|
195
|
+
}
|
|
196
|
+
catch (erro) {
|
|
197
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_c = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _c !== void 0 ? _c : erro));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
async tratarVariables(requisicao) {
|
|
201
|
+
var _a, _b, _c;
|
|
202
|
+
try {
|
|
203
|
+
const variablesReference = Number((_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.variablesReference) !== null && _b !== void 0 ? _b : 0);
|
|
204
|
+
const variaveis = await this.runtimeBridgeDepuracao.obterVariaveis(variablesReference);
|
|
205
|
+
const variables = variaveis.map((variavel) => ({
|
|
206
|
+
name: variavel.nome,
|
|
207
|
+
value: variavel.valor,
|
|
208
|
+
type: variavel.tipo,
|
|
209
|
+
variablesReference: variavel.variablesReference,
|
|
210
|
+
}));
|
|
211
|
+
this.transporteDap.enviarResposta(requisicao, true, { variables });
|
|
212
|
+
}
|
|
213
|
+
catch (erro) {
|
|
214
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_c = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _c !== void 0 ? _c : erro));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
async tratarContinue(requisicao) {
|
|
218
|
+
await this.tratarComandoFluxoExecucao(requisicao, () => { var _a, _b; return this.runtimeBridgeDepuracao.continuar(Number((_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.threadId) !== null && _b !== void 0 ? _b : 1)); }, 'breakpoint');
|
|
219
|
+
}
|
|
220
|
+
async tratarNext(requisicao) {
|
|
221
|
+
await this.tratarComandoFluxoExecucao(requisicao, () => { var _a, _b; return this.runtimeBridgeDepuracao.proximo(Number((_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.threadId) !== null && _b !== void 0 ? _b : 1)); }, 'step');
|
|
222
|
+
}
|
|
223
|
+
async tratarStepIn(requisicao) {
|
|
224
|
+
await this.tratarComandoFluxoExecucao(requisicao, () => { var _a, _b; return this.runtimeBridgeDepuracao.adentrarEscopo(Number((_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.threadId) !== null && _b !== void 0 ? _b : 1)); }, 'step');
|
|
225
|
+
}
|
|
226
|
+
async tratarStepOut(requisicao) {
|
|
227
|
+
await this.tratarComandoFluxoExecucao(requisicao, () => { var _a, _b; return this.runtimeBridgeDepuracao.sairEscopo(Number((_b = (_a = requisicao.arguments) === null || _a === void 0 ? void 0 : _a.threadId) !== null && _b !== void 0 ? _b : 1)); }, 'step');
|
|
228
|
+
}
|
|
229
|
+
async tratarComandoFluxoExecucao(requisicao, executador, motivoPadrao) {
|
|
230
|
+
var _a, _b;
|
|
231
|
+
let parada = null;
|
|
232
|
+
try {
|
|
233
|
+
parada = await executador();
|
|
234
|
+
}
|
|
235
|
+
catch (erro) {
|
|
236
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : erro));
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
this.transporteDap.enviarResposta(requisicao, true, { allThreadsContinued: true });
|
|
240
|
+
this.transporteDap.enviarEvento('continued', {
|
|
241
|
+
threadId: 1,
|
|
242
|
+
allThreadsContinued: true,
|
|
243
|
+
});
|
|
244
|
+
if (parada) {
|
|
245
|
+
this.transporteDap.enviarEvento('stopped', {
|
|
246
|
+
reason: (_b = parada.motivo) !== null && _b !== void 0 ? _b : motivoPadrao,
|
|
247
|
+
threadId: 1,
|
|
248
|
+
allThreadsStopped: true,
|
|
249
|
+
description: `${parada.caminhoArquivo}:${parada.linha}`,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
this.emitirEventosEncerramento(0);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
async tratarDisconnect(requisicao) {
|
|
257
|
+
var _a;
|
|
258
|
+
try {
|
|
259
|
+
await this.runtimeBridgeDepuracao.encerrarSessao();
|
|
260
|
+
this.sessaoEncerrada = true;
|
|
261
|
+
this.transporteDap.enviarResposta(requisicao, true, {});
|
|
262
|
+
this.emitirEventosEncerramento(0);
|
|
263
|
+
this.encerrar();
|
|
264
|
+
}
|
|
265
|
+
catch (erro) {
|
|
266
|
+
this.transporteDap.enviarResposta(requisicao, false, undefined, String((_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : erro));
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
emitirEventosEncerramento(codigoSaida) {
|
|
270
|
+
this.transporteDap.enviarEvento('terminated', {});
|
|
271
|
+
this.transporteDap.enviarEvento('exited', { exitCode: codigoSaida });
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
exports.SessaoDepuracaoDapPadrao = SessaoDepuracaoDapPadrao;
|
|
275
|
+
//# sourceMappingURL=sessao-depuracao-dap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessao-depuracao-dap.js","sourceRoot":"","sources":["../../../fontes/depuracao/dap/sessao-depuracao-dap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { RequisicaoDap, TransporteDap } from '../../interfaces/depuracao';
|
|
3
|
+
export declare class TransporteDapStdio extends EventEmitter implements TransporteDap {
|
|
4
|
+
private readonly entrada;
|
|
5
|
+
private readonly saida;
|
|
6
|
+
private bufferEntrada;
|
|
7
|
+
private contadorSequenciaSaida;
|
|
8
|
+
private iniciado;
|
|
9
|
+
private listenerDados;
|
|
10
|
+
constructor(entrada?: NodeJS.ReadableStream, saida?: NodeJS.WritableStream);
|
|
11
|
+
iniciar(): void;
|
|
12
|
+
encerrar(): void;
|
|
13
|
+
enviarEvento(nomeEvento: string, corpo?: Record<string, unknown>): void;
|
|
14
|
+
enviarResposta(requisicao: RequisicaoDap, sucesso: boolean, corpo?: Record<string, unknown>, mensagemErro?: string): void;
|
|
15
|
+
private obterProximaSequenciaSaida;
|
|
16
|
+
private aoReceberDados;
|
|
17
|
+
private processarMensagensCompletas;
|
|
18
|
+
private enviarMensagem;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=transporte-dap-stdio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transporte-dap-stdio.d.ts","sourceRoot":"","sources":["../../../fontes/depuracao/dap/transporte-dap-stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE1E,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,aAAa;IACzE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAE9C,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAmD;gBAGpE,OAAO,GAAE,MAAM,CAAC,cAA8B,EAC9C,KAAK,GAAE,MAAM,CAAC,cAA+B;IAOjD,OAAO,IAAI,IAAI;IAUf,QAAQ,IAAI,IAAI;IAShB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASvE,cAAc,CACV,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,CAAC,EAAE,MAAM,GACtB,IAAI;IAYP,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,2BAA2B;IA0CnC,OAAO,CAAC,cAAc;CAKzB"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransporteDapStdio = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
class TransporteDapStdio extends events_1.EventEmitter {
|
|
6
|
+
constructor(entrada = process.stdin, saida = process.stdout) {
|
|
7
|
+
super();
|
|
8
|
+
this.bufferEntrada = Buffer.alloc(0);
|
|
9
|
+
this.contadorSequenciaSaida = 1;
|
|
10
|
+
this.iniciado = false;
|
|
11
|
+
this.listenerDados = null;
|
|
12
|
+
this.entrada = entrada;
|
|
13
|
+
this.saida = saida;
|
|
14
|
+
}
|
|
15
|
+
iniciar() {
|
|
16
|
+
if (this.iniciado) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this.iniciado = true;
|
|
20
|
+
this.listenerDados = this.aoReceberDados.bind(this);
|
|
21
|
+
this.entrada.on('data', this.listenerDados);
|
|
22
|
+
}
|
|
23
|
+
encerrar() {
|
|
24
|
+
if (this.listenerDados) {
|
|
25
|
+
this.entrada.removeListener('data', this.listenerDados);
|
|
26
|
+
this.listenerDados = null;
|
|
27
|
+
}
|
|
28
|
+
this.removeAllListeners();
|
|
29
|
+
this.iniciado = false;
|
|
30
|
+
}
|
|
31
|
+
enviarEvento(nomeEvento, corpo) {
|
|
32
|
+
this.enviarMensagem({
|
|
33
|
+
seq: this.obterProximaSequenciaSaida(),
|
|
34
|
+
type: 'event',
|
|
35
|
+
event: nomeEvento,
|
|
36
|
+
body: corpo,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
enviarResposta(requisicao, sucesso, corpo, mensagemErro) {
|
|
40
|
+
this.enviarMensagem({
|
|
41
|
+
seq: this.obterProximaSequenciaSaida(),
|
|
42
|
+
type: 'response',
|
|
43
|
+
request_seq: requisicao.seq,
|
|
44
|
+
success: sucesso,
|
|
45
|
+
command: requisicao.command,
|
|
46
|
+
body: corpo,
|
|
47
|
+
message: mensagemErro,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
obterProximaSequenciaSaida() {
|
|
51
|
+
return this.contadorSequenciaSaida++;
|
|
52
|
+
}
|
|
53
|
+
aoReceberDados(dados) {
|
|
54
|
+
const dadosBuffer = Buffer.isBuffer(dados)
|
|
55
|
+
? dados
|
|
56
|
+
: Buffer.from(dados, 'utf8');
|
|
57
|
+
this.bufferEntrada = Buffer.concat([this.bufferEntrada, dadosBuffer]);
|
|
58
|
+
this.processarMensagensCompletas();
|
|
59
|
+
}
|
|
60
|
+
processarMensagensCompletas() {
|
|
61
|
+
while (true) {
|
|
62
|
+
const indiceSeparadorCabecalho = this.bufferEntrada.indexOf('\r\n\r\n');
|
|
63
|
+
if (indiceSeparadorCabecalho === -1) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const cabecalhoBruto = this.bufferEntrada
|
|
67
|
+
.subarray(0, indiceSeparadorCabecalho)
|
|
68
|
+
.toString('ascii');
|
|
69
|
+
const correspondenciaContentLength = /Content-Length:\s*(\d+)/i.exec(cabecalhoBruto);
|
|
70
|
+
if (!correspondenciaContentLength) {
|
|
71
|
+
this.emit('erro', new Error('Cabecalho DAP invalido: Content-Length ausente.'));
|
|
72
|
+
this.bufferEntrada = this.bufferEntrada.subarray(indiceSeparadorCabecalho + 4);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const tamanhoCorpo = Number(correspondenciaContentLength[1]);
|
|
76
|
+
const indiceInicioCorpo = indiceSeparadorCabecalho + 4;
|
|
77
|
+
const tamanhoMensagem = indiceInicioCorpo + tamanhoCorpo;
|
|
78
|
+
if (this.bufferEntrada.length < tamanhoMensagem) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const corpoBruto = this.bufferEntrada
|
|
82
|
+
.subarray(indiceInicioCorpo, tamanhoMensagem)
|
|
83
|
+
.toString('utf8');
|
|
84
|
+
this.bufferEntrada = this.bufferEntrada.subarray(tamanhoMensagem);
|
|
85
|
+
try {
|
|
86
|
+
const mensagem = JSON.parse(corpoBruto);
|
|
87
|
+
if (mensagem.type === 'request' && typeof mensagem.command === 'string') {
|
|
88
|
+
this.emit('requisicao', mensagem);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (_a) {
|
|
92
|
+
this.emit('erro', new Error('Corpo de mensagem DAP invalido.'));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
enviarMensagem(mensagem) {
|
|
97
|
+
const mensagemSerializada = JSON.stringify(mensagem);
|
|
98
|
+
const tamanhoMensagem = Buffer.byteLength(mensagemSerializada, 'utf8');
|
|
99
|
+
this.saida.write(`Content-Length: ${tamanhoMensagem}\r\n\r\n${mensagemSerializada}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.TransporteDapStdio = TransporteDapStdio;
|
|
103
|
+
//# sourceMappingURL=transporte-dap-stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transporte-dap-stdio.js","sourceRoot":"","sources":["../../../fontes/depuracao/dap/transporte-dap-stdio.ts"],"names":[],"mappings":"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"}
|
package/depuracao/index.d.ts
CHANGED
package/depuracao/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/depuracao/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/depuracao/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,OAAO,CAAC"}
|
package/depuracao/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./servidor-depuracao"), exports);
|
|
18
|
+
__exportStar(require("./dap"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/depuracao/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/depuracao/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/depuracao/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,wCAAsB"}
|
package/execucao.js
CHANGED
|
@@ -9,6 +9,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
const commander_1 = require("commander");
|
|
11
11
|
const delegua_1 = require("./delegua");
|
|
12
|
+
const depuracao_1 = require("./depuracao");
|
|
12
13
|
const principal = async () => {
|
|
13
14
|
var _a, e_1, _b, _c;
|
|
14
15
|
const analisadorArgumentos = new commander_1.Command();
|
|
@@ -20,6 +21,8 @@ const principal = async () => {
|
|
|
20
21
|
.option('-c, --codigo <código>', 'Código a ser avaliado.', '')
|
|
21
22
|
.option('-d, --dialeto <dialeto>', 'Dialeto a ser usado. Padrão: delegua.', 'delegua')
|
|
22
23
|
.option('-D, --depurador', 'Habilita o depurador, permitindo depuração em um ambiente como o VSCode. Sempre desabilitada em modo LAIR.', false)
|
|
24
|
+
.option('--depurador-padrao', 'Habilita o depurador padrão por socket.', false)
|
|
25
|
+
.option('--dap', 'Inicia o processo como adaptador DAP por stdio.', false)
|
|
23
26
|
.option('-p, --performance', 'Visualizar indicadores de performance. Desabilitado por padrão.', false)
|
|
24
27
|
.option('-s, --saida', 'Gera arquivo de saida ao traduzir arquivo.', false)
|
|
25
28
|
.option('-t, --traduzir <linguagem-para-linguagem>', 'Traduz o código do arquivo passado como parâmetro de arquivo. Valores válidos: delegua-para-arm, delegua-para-assemblyscript, delegua-para-as, delegua-para-elixir, delegua-para-js, delegua-para-javascript, delegua-para-py, delegua-para-python, delegua-para-ruby, delegua-para-x64, js-para-delegua, javascript-para-delegua, alg-para-delegua, visualg-para-delegua. Exemplo: `delegua-para-js`.')
|
|
@@ -32,13 +35,19 @@ const principal = async () => {
|
|
|
32
35
|
});
|
|
33
36
|
analisadorArgumentos.parse();
|
|
34
37
|
const opcoes = analisadorArgumentos.opts();
|
|
38
|
+
if (opcoes.dap) {
|
|
39
|
+
const adaptadorDap = new depuracao_1.AdaptadorDapDelegua();
|
|
40
|
+
adaptadorDap.iniciar();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
35
43
|
const delegua = new delegua_1.Delegua();
|
|
44
|
+
const usarDepuradorPadrao = opcoes.depuradorPadrao || opcoes.depurador;
|
|
36
45
|
if (opcoes.versao) {
|
|
37
46
|
console.log(delegua.versao());
|
|
38
47
|
return;
|
|
39
48
|
}
|
|
40
49
|
if (opcoes.codigo) {
|
|
41
|
-
return await delegua.executarCodigoComoArgumento(opcoes.codigo || codigoOuNomeArquivo, opcoes.dialeto);
|
|
50
|
+
return await delegua.executarCodigoComoArgumento(opcoes.codigo || codigoOuNomeArquivo, opcoes.dialeto, opcoes.performance, usarDepuradorPadrao);
|
|
42
51
|
}
|
|
43
52
|
else if (codigoOuNomeArquivo) {
|
|
44
53
|
if (opcoes.traduzir) {
|
|
@@ -62,9 +71,9 @@ const principal = async () => {
|
|
|
62
71
|
}
|
|
63
72
|
finally { if (e_1) throw e_1.error; }
|
|
64
73
|
}
|
|
65
|
-
return await delegua.executarCodigoComoArgumento(codigo, opcoes.dialeto);
|
|
74
|
+
return await delegua.executarCodigoComoArgumento(codigo, opcoes.dialeto, opcoes.performance, usarDepuradorPadrao);
|
|
66
75
|
}
|
|
67
|
-
await delegua.executarCodigoPorArquivo(codigoOuNomeArquivo, opcoes.dialeto);
|
|
76
|
+
await delegua.executarCodigoPorArquivo(codigoOuNomeArquivo, opcoes.dialeto, opcoes.performance, usarDepuradorPadrao);
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
else {
|
package/execucao.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execucao.js","sourceRoot":"","sources":["../fontes/execucao.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yCAAoC;AAEpC,uCAAoC;
|
|
1
|
+
{"version":3,"file":"execucao.js","sourceRoot":"","sources":["../fontes/execucao.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yCAAoC;AAEpC,uCAAoC;AACpC,2CAAkD;AAElD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;;IACzB,MAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,oBAAoB,CAAC;IACrB,IAAI,mBAAmB,GAAuB,SAAS,CAAC;IAExD,oBAAoB;SACf,UAAU,CAAC,aAAa,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CACH,mBAAmB,EACnB,qPAAqP,EACrP,EAAE,CACL;SACA,MAAM,CACH,uBAAuB,EACvB,wBAAwB,EACxB,EAAE,CACL;SACA,MAAM,CACH,yBAAyB,EACzB,uCAAuC,EACvC,SAAS,CACZ;SACA,MAAM,CACH,iBAAiB,EACjB,4GAA4G,EAC5G,KAAK,CACR;SACA,MAAM,CACH,oBAAoB,EACpB,yCAAyC,EACzC,KAAK,CACR;SACA,MAAM,CACH,OAAO,EACP,iDAAiD,EACjD,KAAK,CACR;SACA,MAAM,CACH,mBAAmB,EACnB,iEAAiE,EACjE,KAAK,CACR;SACA,MAAM,CACH,aAAa,EACb,4CAA4C,EAC5C,KAAK,CACR;SACA,MAAM,CACH,2CAA2C,EAC3C,wYAAwY,CAC3Y;SACA,MAAM,CACH,cAAc,EACd,6CAA6C,EAC7C,KAAK,CACR;SACA,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACnB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,mBAAmB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,IAAI,+BAAmB,EAAE,CAAC;QAC/C,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;IAC9B,MAAM,mBAAmB,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,CAAC;IACvE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9B,OAAO;IACX,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,MAAM,OAAO,CAAC,2BAA2B,CAC5C,MAAM,CAAC,MAAM,IAAI,mBAAmB,EACpC,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,EAClB,mBAAmB,CACtB,CAAC;IACN,CAAC;SAAM,IAAI,mBAAmB,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnG,CAAC;aAAM,CAAC;YACJ,IAAI,mBAAmB,KAAK,GAAG,EAAE,CAAC;gBAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;;oBAChB,KAA0B,eAAA,KAAA,cAAA,OAAO,CAAC,KAAK,CAAA,IAAA,sDAAE,CAAC;wBAAhB,cAAa;wBAAb,WAAa;wBAA5B,MAAM,KAAK,KAAA,CAAA;wBAClB,MAAM,IAAI,KAAK,CAAC;oBACpB,CAAC;;;;;;;;;gBACD,OAAO,MAAM,OAAO,CAAC,2BAA2B,CAC5C,MAAM,EACN,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,EAClB,mBAAmB,CACtB,CAAC;YACN,CAAC;YAED,MAAM,OAAO,CAAC,wBAAwB,CAClC,mBAAmB,EACnB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,EAClB,mBAAmB,CACtB,CAAC;QACN,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IACrD,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,EAAE,CAAC"}
|
|
@@ -33,8 +33,11 @@ export declare class InfraestruturaInvocacaoElectron implements InfraestruturaGr
|
|
|
33
33
|
criarCaixaTexto(pai: ComponenteInterfaceGraficaInterface, textoInicial: string): ComponenteInterfaceGraficaInterface;
|
|
34
34
|
criarCaixaVertical(pai: ComponenteInterfaceGraficaInterface): ComponenteInterfaceGraficaInterface;
|
|
35
35
|
criarCaixaHorizontal(pai: ComponenteInterfaceGraficaInterface): ComponenteInterfaceGraficaInterface;
|
|
36
|
+
criarCaixaLivre(pai: ComponenteInterfaceGraficaInterface): ComponenteInterfaceGraficaInterface;
|
|
36
37
|
definirTexto(componente: ComponenteInterfaceGraficaInterface, texto: string): void;
|
|
37
38
|
obterTexto(componente: ComponenteInterfaceGraficaInterface): string;
|
|
39
|
+
definirPosicao(componente: ComponenteInterfaceGraficaInterface, x: number, y: number): void;
|
|
40
|
+
definirTamanho(componente: ComponenteInterfaceGraficaInterface, largura: number, altura: number): void;
|
|
38
41
|
conectarEvento(componente: ComponenteInterfaceGraficaInterface, evento: string, callback: (...argumentos: any[]) => Promise<void>): void;
|
|
39
42
|
iniciarLaco(): Promise<void>;
|
|
40
43
|
encerrar(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infraestrutura-invocacao-electron.d.ts","sourceRoot":"","sources":["../../../fontes/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"infraestrutura-invocacao-electron.d.ts","sourceRoot":"","sources":["../../../fontes/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AA8R/H;;;;;;;;;;;;GAYG;AACH,qBAAa,+BAAgC,YAAW,8BAA8B;IAClF,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;gBAE9B,cAAc,EAAE,MAAM;IAwDlC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,kBAAkB;IAqB1B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mCAAmC;IAMjG,UAAU,CAAC,GAAG,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,GAAG,mCAAmC;IAMzG,WAAW,CAAC,GAAG,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,GAAG,mCAAmC;IAOzG,eAAe,CACX,GAAG,EAAE,mCAAmC,EACxC,YAAY,EAAE,MAAM,GACrB,mCAAmC;IAOtC,kBAAkB,CAAC,GAAG,EAAE,mCAAmC,GAAG,mCAAmC;IAMjG,oBAAoB,CAAC,GAAG,EAAE,mCAAmC,GAAG,mCAAmC;IAMnG,eAAe,CAAC,GAAG,EAAE,mCAAmC,GAAG,mCAAmC;IAU9F,YAAY,CAAC,UAAU,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlF,UAAU,CAAC,UAAU,EAAE,mCAAmC,GAAG,MAAM;IAInE,cAAc,CAAC,UAAU,EAAE,mCAAmC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3F,cAAc,CAAC,UAAU,EAAE,mCAAmC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQtG,cAAc,CACV,UAAU,EAAE,mCAAmC,EAC/C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,IAAI;IAWD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlC,QAAQ,IAAI,IAAI;CAOnB;AA4BD;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CA0BjD"}
|
|
@@ -192,6 +192,12 @@ const RENDERER_HTML = `<!DOCTYPE html>
|
|
|
192
192
|
}
|
|
193
193
|
.delegua-caixa-vertical { display: flex; flex-direction: column; gap: 8px; }
|
|
194
194
|
.delegua-caixa-horizontal { display: flex; flex-direction: row; gap: 8px; align-items: center; }
|
|
195
|
+
.delegua-caixa-livre {
|
|
196
|
+
position: relative;
|
|
197
|
+
width: 100%;
|
|
198
|
+
min-height: 100%;
|
|
199
|
+
flex: 1 1 auto;
|
|
200
|
+
}
|
|
195
201
|
.delegua-botao {
|
|
196
202
|
padding: 6px 16px; font-size: 13px; cursor: pointer;
|
|
197
203
|
border: 1px solid #999; border-radius: 3px; background: #e8e8e8;
|
|
@@ -265,6 +271,13 @@ const RENDERER_HTML = `<!DOCTYPE html>
|
|
|
265
271
|
elementos[msg.id] = div;
|
|
266
272
|
break;
|
|
267
273
|
}
|
|
274
|
+
case 'criar-caixa-livre': {
|
|
275
|
+
const div = document.createElement('div');
|
|
276
|
+
div.className = 'delegua-caixa-livre';
|
|
277
|
+
elementos[msg.paiId].appendChild(div);
|
|
278
|
+
elementos[msg.id] = div;
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
268
281
|
case 'definir-texto': {
|
|
269
282
|
const el = elementos[msg.id];
|
|
270
283
|
if (el) {
|
|
@@ -273,6 +286,27 @@ const RENDERER_HTML = `<!DOCTYPE html>
|
|
|
273
286
|
}
|
|
274
287
|
break;
|
|
275
288
|
}
|
|
289
|
+
case 'definir-geometria': {
|
|
290
|
+
const el = elementos[msg.id];
|
|
291
|
+
if (el) {
|
|
292
|
+
if (msg.x !== undefined || msg.y !== undefined) {
|
|
293
|
+
el.style.position = 'absolute';
|
|
294
|
+
}
|
|
295
|
+
if (msg.x !== undefined) {
|
|
296
|
+
el.style.left = msg.x + 'px';
|
|
297
|
+
}
|
|
298
|
+
if (msg.y !== undefined) {
|
|
299
|
+
el.style.top = msg.y + 'px';
|
|
300
|
+
}
|
|
301
|
+
if (msg.largura !== undefined) {
|
|
302
|
+
el.style.width = msg.largura + 'px';
|
|
303
|
+
}
|
|
304
|
+
if (msg.altura !== undefined) {
|
|
305
|
+
el.style.height = msg.altura + 'px';
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
276
310
|
case 'encerrar': {
|
|
277
311
|
document.getElementById('delegua-raiz').innerHTML = '';
|
|
278
312
|
window.close();
|
|
@@ -426,6 +460,11 @@ class InfraestruturaInvocacaoElectron {
|
|
|
426
460
|
this._enviar({ tipo: 'criar-caixa-horizontal', id: idComponente, paiId: pai.idComponente });
|
|
427
461
|
return { idComponente };
|
|
428
462
|
}
|
|
463
|
+
criarCaixaLivre(pai) {
|
|
464
|
+
const idComponente = this.proximoId();
|
|
465
|
+
this._enviar({ tipo: 'criar-caixa-livre', id: idComponente, paiId: pai.idComponente });
|
|
466
|
+
return { idComponente };
|
|
467
|
+
}
|
|
429
468
|
// ─────────────────────────────────────────────────────────────────────────
|
|
430
469
|
// Leitura e escrita de propriedades
|
|
431
470
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -437,6 +476,12 @@ class InfraestruturaInvocacaoElectron {
|
|
|
437
476
|
var _a;
|
|
438
477
|
return (_a = this.textosComponentes.get(componente.idComponente)) !== null && _a !== void 0 ? _a : '';
|
|
439
478
|
}
|
|
479
|
+
definirPosicao(componente, x, y) {
|
|
480
|
+
this._enviar({ tipo: 'definir-geometria', id: componente.idComponente, x, y });
|
|
481
|
+
}
|
|
482
|
+
definirTamanho(componente, largura, altura) {
|
|
483
|
+
this._enviar({ tipo: 'definir-geometria', id: componente.idComponente, largura, altura });
|
|
484
|
+
}
|
|
440
485
|
// ─────────────────────────────────────────────────────────────────────────
|
|
441
486
|
// Eventos
|
|
442
487
|
// ─────────────────────────────────────────────────────────────────────────
|