@designliquido/delegua-node 1.14.1 → 1.15.0
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/bibliotecas/dialetos/portugol-studio/arquivos.d.ts +14 -0
- package/bibliotecas/dialetos/portugol-studio/arquivos.d.ts.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/arquivos.js +169 -0
- package/bibliotecas/dialetos/portugol-studio/arquivos.js.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/internet.d.ts +6 -0
- package/bibliotecas/dialetos/portugol-studio/internet.d.ts.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/internet.js +91 -0
- package/bibliotecas/dialetos/portugol-studio/internet.js.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/util.d.ts +9 -0
- package/bibliotecas/dialetos/portugol-studio/util.d.ts.map +1 -0
- package/bibliotecas/dialetos/portugol-studio/util.js +78 -0
- package/bibliotecas/dialetos/portugol-studio/util.js.map +1 -0
- package/bibliotecas/teclado.d.ts +139 -0
- package/bibliotecas/teclado.d.ts.map +1 -0
- package/bibliotecas/teclado.js +213 -0
- package/bibliotecas/teclado.js.map +1 -0
- package/bin/package.json +10 -8
- package/interpretador/dialetos/index.d.ts +5 -0
- package/interpretador/dialetos/index.d.ts.map +1 -0
- package/interpretador/dialetos/index.js +21 -0
- package/interpretador/dialetos/index.js.map +1 -0
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.d.ts.map +1 -1
- package/interpretador/dialetos/interpretador-pitugues-com-depuracao-importacao.js.map +1 -1
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.d.ts +14 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.d.ts.map +1 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.js +53 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-depuracao-importacao.js.map +1 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.d.ts +14 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.d.ts.map +1 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.js +53 -0
- package/interpretador/dialetos/interpretador-portugol-studio-com-importacao.js.map +1 -0
- package/interpretador/dialetos/portugol-studio-comum.d.ts +6 -0
- package/interpretador/dialetos/portugol-studio-comum.d.ts.map +1 -0
- package/interpretador/dialetos/portugol-studio-comum.js +109 -0
- package/interpretador/dialetos/portugol-studio-comum.js.map +1 -0
- package/nucleo-execucao.d.ts.map +1 -1
- package/nucleo-execucao.js +11 -11
- package/nucleo-execucao.js.map +1 -1
- package/package.json +10 -8
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { InterpretadorInterface } from '@designliquido/delegua/interfaces';
|
|
2
|
+
export declare function abrir_arquivo(interpretador: InterpretadorInterface, caminhoArquivo: any, modoAcesso: any): Promise<number>;
|
|
3
|
+
export declare function fechar_arquivo(interpretador: InterpretadorInterface, endereco: any): Promise<void>;
|
|
4
|
+
export declare function fim_arquivo(interpretador: InterpretadorInterface, endereco: any): any;
|
|
5
|
+
export declare function ler_linha(interpretador: InterpretadorInterface, endereco: any): Promise<any>;
|
|
6
|
+
export declare function escrever_linha(interpretador: InterpretadorInterface, linha: any, endereco: any): Promise<void>;
|
|
7
|
+
export declare function substituir_texto(interpretador: InterpretadorInterface, endereco: any, textoPesquisa: any, textoSubstituto: any, onlyFirst: any): Promise<void>;
|
|
8
|
+
export declare function arquivo_existe(interpretador: InterpretadorInterface, caminhoArquivo: any): Promise<boolean>;
|
|
9
|
+
export declare function apagar_arquivo(interpretador: InterpretadorInterface, caminhoArquivo: any): Promise<void>;
|
|
10
|
+
export declare function criar_pasta(interpretador: InterpretadorInterface, caminho: any): Promise<void>;
|
|
11
|
+
export declare function listar_pastas(interpretador: InterpretadorInterface, caminhoPai: any, vetorPastas: any): Promise<void>;
|
|
12
|
+
export declare function listar_arquivos(interpretador: InterpretadorInterface, caminhoPai: any, vetorArquivos: any): Promise<void>;
|
|
13
|
+
export declare function listar_arquivos_por_tipo(interpretador: InterpretadorInterface, caminhoPai: any, vetorArquivos: any, vetorTipos: any): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=arquivos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arquivos.d.ts","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/arquivos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAe3E,wBAAsB,aAAa,CAAC,aAAa,EAAE,sBAAsB,EAAE,cAAc,KAAA,EAAE,UAAU,KAAA,mBA8BpG;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,KAAA,iBAQnF;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,KAAA,OAG1E;AAED,wBAAsB,SAAS,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,KAAA,gBAO9E;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,KAAK,KAAA,EAAE,QAAQ,KAAA,iBAM1F;AAED,wBAAsB,gBAAgB,CAClC,aAAa,EAAE,sBAAsB,EACrC,QAAQ,KAAA,EACR,aAAa,KAAA,EACb,eAAe,KAAA,EACf,SAAS,KAAA,iBAQZ;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,cAAc,KAAA,oBAMzF;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,cAAc,KAAA,iBAGzF;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,sBAAsB,EAAE,OAAO,KAAA,iBAG/E;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,sBAAsB,EAAE,UAAU,KAAA,EAAE,WAAW,KAAA,iBAkBjG;AAED,wBAAsB,eAAe,CAAC,aAAa,EAAE,sBAAsB,EAAE,UAAU,KAAA,EAAE,aAAa,KAAA,iBAkBrG;AAED,wBAAsB,wBAAwB,CAC1C,aAAa,EAAE,sBAAsB,EACrC,UAAU,KAAA,EACV,aAAa,KAAA,EACb,UAAU,KAAA,iBAqBb"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.abrir_arquivo = abrir_arquivo;
|
|
7
|
+
exports.fechar_arquivo = fechar_arquivo;
|
|
8
|
+
exports.fim_arquivo = fim_arquivo;
|
|
9
|
+
exports.ler_linha = ler_linha;
|
|
10
|
+
exports.escrever_linha = escrever_linha;
|
|
11
|
+
exports.substituir_texto = substituir_texto;
|
|
12
|
+
exports.arquivo_existe = arquivo_existe;
|
|
13
|
+
exports.apagar_arquivo = apagar_arquivo;
|
|
14
|
+
exports.criar_pasta = criar_pasta;
|
|
15
|
+
exports.listar_pastas = listar_pastas;
|
|
16
|
+
exports.listar_arquivos = listar_arquivos;
|
|
17
|
+
exports.listar_arquivos_por_tipo = listar_arquivos_por_tipo;
|
|
18
|
+
const fs_1 = __importDefault(require("fs"));
|
|
19
|
+
const path_1 = __importDefault(require("path"));
|
|
20
|
+
const NUMERO_MAXIMO_ARQUIVOS = 10;
|
|
21
|
+
const ModoAcesso = {
|
|
22
|
+
LEITURA: 0,
|
|
23
|
+
ESCRITA: 1,
|
|
24
|
+
ACRESCENTAR: 2,
|
|
25
|
+
};
|
|
26
|
+
const arquivos = new Array(NUMERO_MAXIMO_ARQUIVOS).fill(null);
|
|
27
|
+
async function abrir_arquivo(interpretador, caminhoArquivo, modoAcesso) {
|
|
28
|
+
if (modoAcesso < 0 || modoAcesso > 2) {
|
|
29
|
+
throw new Error(`Modo de acesso inválido: ${modoAcesso}`);
|
|
30
|
+
}
|
|
31
|
+
if (!arquivoAberto(caminhoArquivo)) {
|
|
32
|
+
const indice = obterProximoIndiceLivre();
|
|
33
|
+
arquivos[indice] = {
|
|
34
|
+
caminho: caminhoArquivo,
|
|
35
|
+
modoAcesso,
|
|
36
|
+
stream: modoAcesso === ModoAcesso.LEITURA
|
|
37
|
+
? fs_1.default.createReadStream(caminhoArquivo, 'utf-8')
|
|
38
|
+
: fs_1.default.createWriteStream(caminhoArquivo, {
|
|
39
|
+
flags: modoAcesso === ModoAcesso.ACRESCENTAR ? 'a' : 'w',
|
|
40
|
+
encoding: 'utf-8',
|
|
41
|
+
}),
|
|
42
|
+
leitor: modoAcesso === ModoAcesso.LEITURA ? fs_1.default.promises.readFile(caminhoArquivo, 'utf-8') : null,
|
|
43
|
+
escritor: modoAcesso !== ModoAcesso.LEITURA
|
|
44
|
+
? fs_1.default.promises.writeFile(caminhoArquivo, '', {
|
|
45
|
+
flag: modoAcesso === ModoAcesso.ACRESCENTAR ? 'a' : 'w',
|
|
46
|
+
})
|
|
47
|
+
: null,
|
|
48
|
+
fim: false,
|
|
49
|
+
};
|
|
50
|
+
return indice;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw new Error(`O arquivo '${caminhoArquivo}' já está aberto`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async function fechar_arquivo(interpretador, endereco) {
|
|
57
|
+
const arquivo = obterArquivo(endereco);
|
|
58
|
+
if (arquivo) {
|
|
59
|
+
arquivo.stream.close();
|
|
60
|
+
arquivos[endereco] = null;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
throw new Error(`O endereço de memória especificado não aponta para um arquivo`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function fim_arquivo(interpretador, endereco) {
|
|
67
|
+
const arquivo = obterArquivo(endereco);
|
|
68
|
+
return arquivo.fim;
|
|
69
|
+
}
|
|
70
|
+
async function ler_linha(interpretador, endereco) {
|
|
71
|
+
const arquivo = obterArquivo(endereco);
|
|
72
|
+
if (arquivo.modoAcesso !== ModoAcesso.LEITURA) {
|
|
73
|
+
throw new Error(`O arquivo '${arquivo.caminho}' está aberto em modo de escrita`);
|
|
74
|
+
}
|
|
75
|
+
const data = await arquivo.leitor;
|
|
76
|
+
return data.split('\n')[0];
|
|
77
|
+
}
|
|
78
|
+
async function escrever_linha(interpretador, linha, endereco) {
|
|
79
|
+
const arquivo = obterArquivo(endereco);
|
|
80
|
+
if (arquivo.modoAcesso === ModoAcesso.LEITURA) {
|
|
81
|
+
throw new Error(`O arquivo '${arquivo.caminho}' está aberto em modo de leitura`);
|
|
82
|
+
}
|
|
83
|
+
await fs_1.default.promises.appendFile(arquivo.caminho, linha + '\n', 'utf-8');
|
|
84
|
+
}
|
|
85
|
+
async function substituir_texto(interpretador, endereco, textoPesquisa, textoSubstituto, onlyFirst) {
|
|
86
|
+
const filePath = path_1.default.resolve(endereco);
|
|
87
|
+
const data = await fs_1.default.promises.readFile(filePath, 'utf-8');
|
|
88
|
+
const newText = onlyFirst
|
|
89
|
+
? data.replace(textoPesquisa, textoSubstituto)
|
|
90
|
+
: data.replace(new RegExp(textoPesquisa, 'g'), textoSubstituto);
|
|
91
|
+
await fs_1.default.promises.writeFile(filePath, newText, 'utf-8');
|
|
92
|
+
}
|
|
93
|
+
async function arquivo_existe(interpretador, caminhoArquivo) {
|
|
94
|
+
const filePath = path_1.default.resolve(caminhoArquivo);
|
|
95
|
+
return fs_1.default.promises
|
|
96
|
+
.access(filePath, fs_1.default.constants.F_OK)
|
|
97
|
+
.then(() => true)
|
|
98
|
+
.catch(() => false);
|
|
99
|
+
}
|
|
100
|
+
async function apagar_arquivo(interpretador, caminhoArquivo) {
|
|
101
|
+
const filePath = path_1.default.resolve(caminhoArquivo);
|
|
102
|
+
await fs_1.default.promises.unlink(filePath);
|
|
103
|
+
}
|
|
104
|
+
async function criar_pasta(interpretador, caminho) {
|
|
105
|
+
const dirPath = path_1.default.resolve(caminho);
|
|
106
|
+
await fs_1.default.promises.mkdir(dirPath, { recursive: true });
|
|
107
|
+
}
|
|
108
|
+
async function listar_pastas(interpretador, caminhoPai, vetorPastas) {
|
|
109
|
+
const dirPath = path_1.default.resolve(caminhoPai);
|
|
110
|
+
const items = await fs_1.default.promises.readdir(dirPath, { withFileTypes: true });
|
|
111
|
+
const pastas = items.filter((item) => item.isDirectory()).map((item) => item.name);
|
|
112
|
+
if (pastas.length > vetorPastas.length) {
|
|
113
|
+
throw new Error(`Não foi possível listar as pastas pois o vetor passado é muito pequeno. O diretório escolhido possui ${pastas.length} pastas, mas o vetor passado comporta apenas ${vetorPastas.length} elementos.`);
|
|
114
|
+
}
|
|
115
|
+
pastas.forEach((pasta, i) => {
|
|
116
|
+
vetorPastas[i] = pasta;
|
|
117
|
+
});
|
|
118
|
+
for (let i = pastas.length; i < vetorPastas.length; i++) {
|
|
119
|
+
vetorPastas[i] = '';
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
async function listar_arquivos(interpretador, caminhoPai, vetorArquivos) {
|
|
123
|
+
const dirPath = path_1.default.resolve(caminhoPai);
|
|
124
|
+
const items = await fs_1.default.promises.readdir(dirPath, { withFileTypes: true });
|
|
125
|
+
const arquivos = items.filter((item) => item.isFile()).map((item) => item.name);
|
|
126
|
+
if (arquivos.length > vetorArquivos.length) {
|
|
127
|
+
throw new Error(`Não foi possível listar os arquivos pois o vetor passado é muito pequeno. O diretório escolhido possui ${arquivos.length} arquivos, mas o vetor passado comporta apenas ${vetorArquivos.length} elementos.`);
|
|
128
|
+
}
|
|
129
|
+
arquivos.forEach((arquivo, i) => {
|
|
130
|
+
vetorArquivos[i] = arquivo;
|
|
131
|
+
});
|
|
132
|
+
for (let i = arquivos.length; i < vetorArquivos.length; i++) {
|
|
133
|
+
vetorArquivos[i] = '';
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async function listar_arquivos_por_tipo(interpretador, caminhoPai, vetorArquivos, vetorTipos) {
|
|
137
|
+
const dirPath = path_1.default.resolve(caminhoPai);
|
|
138
|
+
const items = await fs_1.default.promises.readdir(dirPath, { withFileTypes: true });
|
|
139
|
+
const arquivos = items
|
|
140
|
+
.filter((item) => item.isFile() && vetorTipos.some((tipo) => item.name.endsWith(tipo)))
|
|
141
|
+
.map((item) => item.name);
|
|
142
|
+
if (arquivos.length > vetorArquivos.length) {
|
|
143
|
+
throw new Error(`Não foi possível listar os arquivos pois o vetor passado é muito pequeno. O diretório escolhido possui ${arquivos.length} arquivos, mas o vetor passado comporta apenas ${vetorArquivos.length} elementos.`);
|
|
144
|
+
}
|
|
145
|
+
arquivos.forEach((arquivo, i) => {
|
|
146
|
+
vetorArquivos[i] = arquivo;
|
|
147
|
+
});
|
|
148
|
+
for (let i = arquivos.length; i < vetorArquivos.length; i++) {
|
|
149
|
+
vetorArquivos[i] = '';
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function obterProximoIndiceLivre() {
|
|
153
|
+
const indice = arquivos.findIndex((arquivo) => arquivo === null);
|
|
154
|
+
if (indice === -1) {
|
|
155
|
+
throw new Error('O número máximo de arquivos que podem ser abertos ao mesmo tempo foi atingido');
|
|
156
|
+
}
|
|
157
|
+
return indice;
|
|
158
|
+
}
|
|
159
|
+
function obterArquivo(endereco) {
|
|
160
|
+
const arquivo = arquivos[endereco];
|
|
161
|
+
if (!arquivo) {
|
|
162
|
+
throw new Error('O endereço de memória especificado não aponta para um arquivo');
|
|
163
|
+
}
|
|
164
|
+
return arquivo;
|
|
165
|
+
}
|
|
166
|
+
function arquivoAberto(caminho) {
|
|
167
|
+
return arquivos.some((arquivo) => arquivo && arquivo.caminho === caminho);
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=arquivos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arquivos.js","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/arquivos.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InterpretadorInterface } from '@designliquido/delegua/interfaces';
|
|
2
|
+
export declare function definir_tempo_limite(interpretador: InterpretadorInterface, time: number): Promise<void>;
|
|
3
|
+
export declare function obter_texto(interpretador: InterpretadorInterface, caminho: string): Promise<string>;
|
|
4
|
+
export declare function baixar_imagem(interpretador: InterpretadorInterface, endereco: string, caminho: string): Promise<string>;
|
|
5
|
+
export declare function endereco_disponivel(interpretador: InterpretadorInterface, endereco: string): Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=internet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internet.d.ts","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/internet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,wBAAsB,oBAAoB,CAAC,aAAa,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7G;AAaD,wBAAsB,WAAW,CAAC,aAAa,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAazG;AAED,wBAAsB,aAAa,CAC/B,aAAa,EAAE,sBAAsB,EACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAanH"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.definir_tempo_limite = definir_tempo_limite;
|
|
7
|
+
exports.obter_texto = obter_texto;
|
|
8
|
+
exports.baixar_imagem = baixar_imagem;
|
|
9
|
+
exports.endereco_disponivel = endereco_disponivel;
|
|
10
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const path_1 = require("path");
|
|
13
|
+
let timeout = 2000;
|
|
14
|
+
async function definir_tempo_limite(interpretador, time) {
|
|
15
|
+
timeout = time;
|
|
16
|
+
}
|
|
17
|
+
async function fetch_com_timeout(url, options = {}) {
|
|
18
|
+
const controller = new AbortController();
|
|
19
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
20
|
+
const { signal } = controller;
|
|
21
|
+
try {
|
|
22
|
+
return await (0, node_fetch_1.default)(url, Object.assign(Object.assign({}, options), { signal }));
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
clearTimeout(timeoutId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function obter_texto(interpretador, caminho) {
|
|
29
|
+
try {
|
|
30
|
+
const response = await fetch_com_timeout(caminho, { method: 'GET' });
|
|
31
|
+
const conteudo = await response.text();
|
|
32
|
+
if (!conteudo) {
|
|
33
|
+
throw new Error(`O caminho ${caminho} não tem nenhum conteúdo`);
|
|
34
|
+
}
|
|
35
|
+
return conteudo;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
throw new Error(`Não foi possível obter o conteúdo de ${caminho}: ${error.message}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function baixar_imagem(interpretador, endereco, caminho) {
|
|
42
|
+
let tipoDaImagem;
|
|
43
|
+
let headerDaRequisicao;
|
|
44
|
+
let imagemObtida;
|
|
45
|
+
let arquivo;
|
|
46
|
+
try {
|
|
47
|
+
tipoDaImagem = 'png';
|
|
48
|
+
const responseHead = await fetch_com_timeout(endereco, { method: 'HEAD' });
|
|
49
|
+
headerDaRequisicao = responseHead.headers.get('content-type') || '';
|
|
50
|
+
if (headerDaRequisicao.includes('image/png')) {
|
|
51
|
+
tipoDaImagem = 'png';
|
|
52
|
+
}
|
|
53
|
+
else if (headerDaRequisicao.includes('image/jpeg') || headerDaRequisicao.includes('image/jpg')) {
|
|
54
|
+
tipoDaImagem = 'jpg';
|
|
55
|
+
}
|
|
56
|
+
const responseImage = await fetch_com_timeout(endereco, { method: 'GET' });
|
|
57
|
+
const arrayBuffer = await responseImage.arrayBuffer();
|
|
58
|
+
imagemObtida = Buffer.from(arrayBuffer);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
throw new Error(`Não foi possível obter o conteúdo de ${endereco}`);
|
|
62
|
+
}
|
|
63
|
+
arquivo = (0, path_1.resolve)(caminho + `.${tipoDaImagem}`);
|
|
64
|
+
try {
|
|
65
|
+
await new Promise((resolve, reject) => {
|
|
66
|
+
const stream = (0, fs_1.createWriteStream)(arquivo);
|
|
67
|
+
stream.on('finish', resolve);
|
|
68
|
+
stream.on('error', reject);
|
|
69
|
+
stream.write(imagemObtida);
|
|
70
|
+
stream.end();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
throw new Error(`Não foi possível salvar a imagem em ${arquivo}\nGaranta que o caminho é válido e todas as pastas existem`);
|
|
75
|
+
}
|
|
76
|
+
return tipoDaImagem;
|
|
77
|
+
}
|
|
78
|
+
async function endereco_disponivel(interpretador, endereco) {
|
|
79
|
+
try {
|
|
80
|
+
const response = await fetch_com_timeout(endereco, { method: 'HEAD' });
|
|
81
|
+
const status = response.status;
|
|
82
|
+
if (status === 404 || status === 0) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=internet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internet.js","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/internet.ts"],"names":[],"mappings":";;;;;AAQA,oDAEC;AAaD,kCAaC;AAED,sCA2CC;AAED,kDAaC;AAhGD,4DAA0D;AAC1D,2BAAuC;AACvC,+BAA+B;AAI/B,IAAI,OAAO,GAAW,IAAI,CAAC;AAEpB,KAAK,UAAU,oBAAoB,CAAC,aAAqC,EAAE,IAAY;IAC1F,OAAO,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,UAAuB,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,IAAI,CAAC;QACD,OAAO,MAAM,IAAA,oBAAK,EAAC,GAAG,kCAAO,OAAO,KAAE,MAAM,IAAG,CAAC;IACpD,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,aAAqC,EAAE,OAAe;IACpF,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,0BAA0B,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,aAAa,CAC/B,aAAqC,EACrC,QAAgB,EAChB,OAAe;IAEf,IAAI,YAAoB,CAAC;IACzB,IAAI,kBAA0B,CAAC;IAC/B,IAAI,YAAoB,CAAC;IACzB,IAAI,OAAe,CAAC;IAEpB,IAAI,CAAC;QACD,YAAY,GAAG,KAAK,CAAC;QACrB,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,YAAY,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/F,YAAY,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACtD,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,GAAG,IAAA,cAAO,EAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAqB,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,uCAAuC,OAAO,4DAA4D,CAC7G,CAAC;IACN,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,aAAqC,EAAE,QAAgB;IAC7F,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InterpretadorInterface } from '@designliquido/delegua/interfaces';
|
|
2
|
+
export declare function obter_diretorio_usuario(): Promise<string>;
|
|
3
|
+
export declare function numero_elementos(interpretador: InterpretadorInterface, vetor: any[]): Promise<number>;
|
|
4
|
+
export declare function numero_linhas(interpretador: InterpretadorInterface, matriz: any[][]): Promise<number>;
|
|
5
|
+
export declare function numero_colunas(interpretador: InterpretadorInterface, matriz: any[][]): Promise<number>;
|
|
6
|
+
export declare function sorteia(interpretador: InterpretadorInterface, minimo: number, maximo: number): Promise<number>;
|
|
7
|
+
export declare function aguarde(interpretador: InterpretadorInterface, intervalo: number): Promise<void>;
|
|
8
|
+
export declare function tempo_decorrido(): Promise<number>;
|
|
9
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAK3E,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAM/D;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3G;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3G;AAED,wBAAsB,cAAc,CAAC,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5G;AAED,wBAAsB,OAAO,CAAC,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpH;AAED,wBAAsB,OAAO,CAAC,aAAa,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErG;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAGvD"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.obter_diretorio_usuario = obter_diretorio_usuario;
|
|
37
|
+
exports.numero_elementos = numero_elementos;
|
|
38
|
+
exports.numero_linhas = numero_linhas;
|
|
39
|
+
exports.numero_colunas = numero_colunas;
|
|
40
|
+
exports.sorteia = sorteia;
|
|
41
|
+
exports.aguarde = aguarde;
|
|
42
|
+
exports.tempo_decorrido = tempo_decorrido;
|
|
43
|
+
const os = __importStar(require("os"));
|
|
44
|
+
const horaInicial = Date.now();
|
|
45
|
+
async function obter_diretorio_usuario() {
|
|
46
|
+
try {
|
|
47
|
+
return os.homedir();
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw new Error('Não foi possível obter o diretório do usuário');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function numero_elementos(interpretador, vetor) {
|
|
54
|
+
return vetor.length;
|
|
55
|
+
}
|
|
56
|
+
async function numero_linhas(interpretador, matriz) {
|
|
57
|
+
return matriz.length;
|
|
58
|
+
}
|
|
59
|
+
async function numero_colunas(interpretador, matriz) {
|
|
60
|
+
return matriz[0].length;
|
|
61
|
+
}
|
|
62
|
+
async function sorteia(interpretador, minimo, maximo) {
|
|
63
|
+
if (minimo > maximo) {
|
|
64
|
+
throw new Error(`O valor mínimo (${minimo}) é maior do que o valor máximo (${maximo})`);
|
|
65
|
+
}
|
|
66
|
+
if (minimo === maximo) {
|
|
67
|
+
throw new Error(`Os valores mínimo e máximo são iguais: ${minimo}`);
|
|
68
|
+
}
|
|
69
|
+
return Math.floor(Math.random() * (maximo + 1 - minimo)) + minimo;
|
|
70
|
+
}
|
|
71
|
+
async function aguarde(interpretador, intervalo) {
|
|
72
|
+
await new Promise((resolve) => setTimeout(resolve, intervalo));
|
|
73
|
+
}
|
|
74
|
+
async function tempo_decorrido() {
|
|
75
|
+
const tempoAtual = Date.now();
|
|
76
|
+
return Math.floor(tempoAtual - horaInicial);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../fontes/bibliotecas/dialetos/portugol-studio/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,0DAMC;AAED,4CAEC;AAED,sCAEC;AAED,wCAEC;AAED,0BAUC;AAED,0BAEC;AAED,0CAGC;AA3CD,uCAAyB;AAEzB,MAAM,WAAW,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;AAEhC,KAAK,UAAU,uBAAuB;IACzC,IAAI,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,aAAqC,EAAE,KAAY;IACtF,OAAO,KAAK,CAAC,MAAM,CAAC;AACxB,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,aAAqC,EAAE,MAAe;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,aAAqC,EAAE,MAAe;IACvF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5B,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,aAAqC,EAAE,MAAc,EAAE,MAAc;IAC/F,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,oCAAoC,MAAM,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AACtE,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,aAAqC,EAAE,SAAiB;IAClF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC;AAEM,KAAK,UAAU,eAAe;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
export declare class Teclado {
|
|
2
|
+
TECLA_ENTER: number;
|
|
3
|
+
TECLA_BACKSPACE: number;
|
|
4
|
+
TECLA_TAB: number;
|
|
5
|
+
TECLA_CANCELAR: number;
|
|
6
|
+
TECLA_LIMPAR: number;
|
|
7
|
+
TECLA_SHIFT: number;
|
|
8
|
+
TECLA_CONTROL: number;
|
|
9
|
+
TECLA_ALT: number;
|
|
10
|
+
TECLA_PAUSE: number;
|
|
11
|
+
TECLA_CAPS_LOCK: number;
|
|
12
|
+
TECLA_ESC: number;
|
|
13
|
+
TECLA_ESPACO: number;
|
|
14
|
+
TECLA_PAGE_UP: number;
|
|
15
|
+
TECLA_PAGE_DOWN: number;
|
|
16
|
+
TECLA_END: number;
|
|
17
|
+
TECLA_HOME: number;
|
|
18
|
+
TECLA_VIRGULA: number;
|
|
19
|
+
TECLA_MENOS: number;
|
|
20
|
+
TECLA_PONTO_FINAL: number;
|
|
21
|
+
TECLA_BARRA: number;
|
|
22
|
+
TECLA_0: number;
|
|
23
|
+
TECLA_1: number;
|
|
24
|
+
TECLA_2: number;
|
|
25
|
+
TECLA_3: number;
|
|
26
|
+
TECLA_4: number;
|
|
27
|
+
TECLA_5: number;
|
|
28
|
+
TECLA_6: number;
|
|
29
|
+
TECLA_7: number;
|
|
30
|
+
TECLA_8: number;
|
|
31
|
+
TECLA_9: number;
|
|
32
|
+
TECLA_PONTO_VIRGULA: number;
|
|
33
|
+
TECLA_IGUAL: number;
|
|
34
|
+
TECLA_A: number;
|
|
35
|
+
TECLA_B: number;
|
|
36
|
+
TECLA_C: number;
|
|
37
|
+
TECLA_D: number;
|
|
38
|
+
TECLA_E: number;
|
|
39
|
+
TECLA_F: number;
|
|
40
|
+
TECLA_G: number;
|
|
41
|
+
TECLA_H: number;
|
|
42
|
+
TECLA_I: number;
|
|
43
|
+
TECLA_J: number;
|
|
44
|
+
TECLA_K: number;
|
|
45
|
+
TECLA_L: number;
|
|
46
|
+
TECLA_M: number;
|
|
47
|
+
TECLA_N: number;
|
|
48
|
+
TECLA_O: number;
|
|
49
|
+
TECLA_P: number;
|
|
50
|
+
TECLA_Q: number;
|
|
51
|
+
TECLA_R: number;
|
|
52
|
+
TECLA_S: number;
|
|
53
|
+
TECLA_T: number;
|
|
54
|
+
TECLA_U: number;
|
|
55
|
+
TECLA_V: number;
|
|
56
|
+
TECLA_W: number;
|
|
57
|
+
TECLA_X: number;
|
|
58
|
+
TECLA_Y: number;
|
|
59
|
+
TECLA_Z: number;
|
|
60
|
+
TECLA_ABRE_COLCHETES: number;
|
|
61
|
+
TECLA_BARRA_INVERTIDA: number;
|
|
62
|
+
TECLA_FECHA_COLCHETES: number;
|
|
63
|
+
TECLA_0_NUM: number;
|
|
64
|
+
TECLA_1_NUM: number;
|
|
65
|
+
TECLA_2_NUM: number;
|
|
66
|
+
TECLA_3_NUM: number;
|
|
67
|
+
TECLA_4_NUM: number;
|
|
68
|
+
TECLA_5_NUM: number;
|
|
69
|
+
TECLA_6_NUM: number;
|
|
70
|
+
TECLA_7_NUM: number;
|
|
71
|
+
TECLA_8_NUM: number;
|
|
72
|
+
TECLA_9_NUM: number;
|
|
73
|
+
TECLA_MULTIPLICACAO: number;
|
|
74
|
+
TECLA_ADICAO: number;
|
|
75
|
+
TECLA_NUM_SEPARADOR_DECIMAL: number;
|
|
76
|
+
TECLA_SUBTRACAO: number;
|
|
77
|
+
TECLA_DECIMAL: number;
|
|
78
|
+
TECLA_DIVISAO: number;
|
|
79
|
+
TECLA_DELETAR: number;
|
|
80
|
+
TECLA_NUM_LOCK: number;
|
|
81
|
+
TECLA_SCROLL_LOCK: number;
|
|
82
|
+
TECLA_F1: number;
|
|
83
|
+
TECLA_F2: number;
|
|
84
|
+
TECLA_F3: number;
|
|
85
|
+
TECLA_F4: number;
|
|
86
|
+
TECLA_F5: number;
|
|
87
|
+
TECLA_F6: number;
|
|
88
|
+
TECLA_F7: number;
|
|
89
|
+
TECLA_F8: number;
|
|
90
|
+
TECLA_F9: number;
|
|
91
|
+
TECLA_F10: number;
|
|
92
|
+
TECLA_F11: number;
|
|
93
|
+
TECLA_F12: number;
|
|
94
|
+
TECLA_F13: number;
|
|
95
|
+
TECLA_F14: number;
|
|
96
|
+
TECLA_F15: number;
|
|
97
|
+
TECLA_F16: number;
|
|
98
|
+
TECLA_F17: number;
|
|
99
|
+
TECLA_F18: number;
|
|
100
|
+
TECLA_F19: number;
|
|
101
|
+
TECLA_F20: number;
|
|
102
|
+
TECLA_F21: number;
|
|
103
|
+
TECLA_F22: number;
|
|
104
|
+
TECLA_F23: number;
|
|
105
|
+
TECLA_F24: number;
|
|
106
|
+
TECLA_PRINTSCREEN: number;
|
|
107
|
+
TECLA_INSERT: number;
|
|
108
|
+
TECLA_AJUDA: number;
|
|
109
|
+
TECLA_META: number;
|
|
110
|
+
TECLA_BACK_QUOTE: number;
|
|
111
|
+
TECLA_QUOTE: number;
|
|
112
|
+
TECLA_DOUBLE_QUOTE: number;
|
|
113
|
+
TECLA_AMPERSAND: number;
|
|
114
|
+
TECLA_ASTERISK: number;
|
|
115
|
+
TECLA_LESS: number;
|
|
116
|
+
TECLA_GREATER: number;
|
|
117
|
+
TECLA_AT: number;
|
|
118
|
+
TECLA_COLON: number;
|
|
119
|
+
TECLA_CIRCUMFLEX: number;
|
|
120
|
+
TECLA_DOLLAR: number;
|
|
121
|
+
TECLA_EXCLAMATION: number;
|
|
122
|
+
TECLA_OPEN_PARENTHESIS: number;
|
|
123
|
+
TECLA_PLUS: number;
|
|
124
|
+
TECLA_CLOSE_PARENTHESIS: number;
|
|
125
|
+
TECLA_UNDERSCORE: number;
|
|
126
|
+
TECLA_WINDOWS: number;
|
|
127
|
+
TECLA_MENU_CONTEXTO: number;
|
|
128
|
+
private buffer;
|
|
129
|
+
private ultimaTecla;
|
|
130
|
+
private resolvidoresEsperando;
|
|
131
|
+
private mapeamentoSequencias;
|
|
132
|
+
private lidarComDados;
|
|
133
|
+
constructor();
|
|
134
|
+
private registrarPressionamento;
|
|
135
|
+
tecla_pressionada(tecla: number): boolean;
|
|
136
|
+
ler_tecla(): Promise<number>;
|
|
137
|
+
finalizar(): void;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=teclado.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teclado.d.ts","sourceRoot":"","sources":["../../fontes/bibliotecas/teclado.ts"],"names":[],"mappings":"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"}
|