@designliquido/foles 0.13.0 → 0.14.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/execucao.js +3 -2
- package/execucao.js.map +1 -1
- package/exportador/index.d.ts +3 -2
- package/exportador/index.js +37 -14
- package/exportador/index.js.map +1 -1
- package/foles.js +9 -3
- package/foles.js.map +1 -1
- package/gerador-mapa/index.d.ts +4 -1
- package/gerador-mapa/index.js +6 -3
- package/gerador-mapa/index.js.map +1 -1
- package/package.json +2 -2
- package/resolvedores/resolvedor.js +9 -7
- package/resolvedores/resolvedor.js.map +1 -1
package/execucao.js
CHANGED
|
@@ -12,6 +12,7 @@ const principal = () => {
|
|
|
12
12
|
.option('-a, --aninhamento', 'Gera CSS com aninhamento. Não recomendado usar se o CSS executar em navegadores antigos.', false)
|
|
13
13
|
.option('-c, --console', 'Escreve a saída da tradução em console.', null)
|
|
14
14
|
.option('-m, --mapas', 'Gera CSS com mapas de fontes.', true)
|
|
15
|
+
.option('-i, --em-linha', 'Gera mapas de fontes em linha (base64) ao invés de arquivo separado.', false)
|
|
15
16
|
.option('-v, --versao', 'Imprime o número da versão atual de FolEs', false)
|
|
16
17
|
.action((arquivos) => {
|
|
17
18
|
if (arquivos.length > 0) {
|
|
@@ -50,10 +51,10 @@ const principal = () => {
|
|
|
50
51
|
const resultadoMapas = foles.converterParaCssComMapas(nomeArquivo);
|
|
51
52
|
const exportador = new exportador_1.Exportador();
|
|
52
53
|
if (nomeArquivo.endsWith('foles')) {
|
|
53
|
-
exportador.exportar('css', nomeArquivo, resultadoMapas[0], resultadoMapas[1]);
|
|
54
|
+
exportador.exportar('css', nomeArquivo, resultadoMapas[0], resultadoMapas[1], opcoes.emLinha);
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
56
|
-
exportador.exportar('foles', nomeArquivo, resultadoMapas[0], resultadoMapas[1]);
|
|
57
|
+
exportador.exportar('foles', nomeArquivo, resultadoMapas[0], resultadoMapas[1], opcoes.emLinha);
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
};
|
package/execucao.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execucao.js","sourceRoot":"","sources":["../fontes/execucao.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AAEpC,6CAA0C;AAC1C,mCAAgC;AAEhC,MAAM,SAAS,GAAG,GAAG,EAAE;IACnB,MAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,IAAI,WAAmB,CAAC;IAExB,oBAAoB;SACf,UAAU,CAAC,aAAa,EAAE,+BAA+B,CAAC;SAC1D,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CACH,mBAAmB,EACnB,0FAA0F,EAC1F,KAAK,CACR;SACA,MAAM,CACH,eAAe,EACf,yCAAyC,EACzC,IAAI,CACP;SACA,MAAM,CACH,aAAa,EACb,+BAA+B,EAC/B,IAAI,CACP;SACA,MAAM,CACH,cAAc,EACd,2CAA2C,EAC3C,KAAK,CACR;SACA,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC,CAAC,CAAC;IAEP,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;IACX,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,iBAAyB,CAAC;IAE9B,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO;IACX,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,cAAc,GAAG,KAAK,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;QACpC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"execucao.js","sourceRoot":"","sources":["../fontes/execucao.ts"],"names":[],"mappings":"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"}
|
package/exportador/index.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ export declare class Exportador {
|
|
|
8
8
|
* @param formato O formato do arquivo traduzido.
|
|
9
9
|
* @param arquivoOrigem O nome do arquivo de origem.
|
|
10
10
|
* @param conteudo O conteúdo da tradução.
|
|
11
|
-
* @param mapa Um mapa de fontes, se disponível.
|
|
11
|
+
* @param mapa Um mapa de fontes, se disponível (como string JSON).
|
|
12
|
+
* @param inline Se verdadeiro, incorpora o mapa como base64 inline; caso contrário, cria arquivo separado.
|
|
12
13
|
*/
|
|
13
|
-
exportar(formato: string, arquivoOrigem: string, conteudo: string, mapa?: string): void;
|
|
14
|
+
exportar(formato: string, arquivoOrigem: string, conteudo: string, mapa?: string, inline?: boolean): void;
|
|
14
15
|
}
|
package/exportador/index.js
CHANGED
|
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Exportador = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const base64_1 = require("../utilidades/base64");
|
|
8
10
|
/**
|
|
9
11
|
* Classe que exporta traduções em diferentes formatos de arquivos. Como possui dependência
|
|
10
12
|
* direta com Node.js, deve ser transferida futuramente para um projeto próprio.
|
|
@@ -15,26 +17,47 @@ class Exportador {
|
|
|
15
17
|
* @param formato O formato do arquivo traduzido.
|
|
16
18
|
* @param arquivoOrigem O nome do arquivo de origem.
|
|
17
19
|
* @param conteudo O conteúdo da tradução.
|
|
18
|
-
* @param mapa Um mapa de fontes, se disponível.
|
|
20
|
+
* @param mapa Um mapa de fontes, se disponível (como string JSON).
|
|
21
|
+
* @param inline Se verdadeiro, incorpora o mapa como base64 inline; caso contrário, cria arquivo separado.
|
|
19
22
|
*/
|
|
20
|
-
exportar(formato, arquivoOrigem, conteudo, mapa) {
|
|
23
|
+
exportar(formato, arquivoOrigem, conteudo, mapa, inline = false) {
|
|
24
|
+
let nomeArquivoSaida;
|
|
25
|
+
let nomeArquivoMapa;
|
|
21
26
|
let conteudoCompleto = conteudo;
|
|
22
|
-
if (mapa) {
|
|
23
|
-
conteudoCompleto += `\n/*# sourceMappingURL=data:application/json;base64,`;
|
|
24
|
-
conteudoCompleto += `${mapa} */\n`;
|
|
25
|
-
}
|
|
26
27
|
switch (formato) {
|
|
27
28
|
case "css":
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
nomeArquivoSaida = arquivoOrigem.replace(/\.foles$/, ".css");
|
|
30
|
+
if (mapa) {
|
|
31
|
+
if (inline) {
|
|
32
|
+
// Modo inline: incorpora o mapa como base64
|
|
33
|
+
const mapaBase64 = new base64_1.Base64().encode(mapa);
|
|
34
|
+
conteudoCompleto += `\n/*# sourceMappingURL=data:application/json;base64,${mapaBase64} */\n`;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// Modo separado: cria arquivo .map
|
|
38
|
+
nomeArquivoMapa = nomeArquivoSaida + ".map";
|
|
39
|
+
fs_1.default.writeFileSync(nomeArquivoMapa, mapa);
|
|
40
|
+
conteudoCompleto += `\n/*# sourceMappingURL=${path_1.default.basename(nomeArquivoMapa)} */\n`;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
fs_1.default.writeFileSync(nomeArquivoSaida, conteudoCompleto);
|
|
32
44
|
break;
|
|
33
45
|
case "foles":
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
46
|
+
nomeArquivoSaida = arquivoOrigem.replace(/\.css$/, ".foles");
|
|
47
|
+
if (mapa) {
|
|
48
|
+
if (inline) {
|
|
49
|
+
// Modo inline: incorpora o mapa como base64
|
|
50
|
+
const mapaBase64 = new base64_1.Base64().encode(mapa);
|
|
51
|
+
conteudoCompleto += `\n/*# sourceMappingURL=data:application/json;base64,${mapaBase64} */\n`;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Modo separado: cria arquivo .map
|
|
55
|
+
nomeArquivoMapa = nomeArquivoSaida + ".map";
|
|
56
|
+
fs_1.default.writeFileSync(nomeArquivoMapa, mapa);
|
|
57
|
+
conteudoCompleto += `\n/*# sourceMappingURL=${path_1.default.basename(nomeArquivoMapa)} */\n`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
fs_1.default.writeFileSync(nomeArquivoSaida, conteudoCompleto);
|
|
38
61
|
break;
|
|
39
62
|
default:
|
|
40
63
|
throw new Error("Formato de arquivo não reconhecido.");
|
package/exportador/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/exportador/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/exportador/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAiC;AACjC,gDAA2B;AAC3B,iDAA8C;AAE9C;;;GAGG;AACH,MAAa,UAAU;IACnB;;;;;;;OAOG;IACH,QAAQ,CACJ,OAAe,EACf,aAAqB,EACrB,QAAgB,EAChB,IAAa,EACb,SAAkB,KAAK;QAEvB,IAAI,gBAAwB,CAAC;QAC7B,IAAI,eAAuB,CAAC;QAC5B,IAAI,gBAAgB,GAAG,QAAQ,CAAC;QAEhC,QAAQ,OAAO,EAAE,CAAC;YACd,KAAK,KAAK;gBACN,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAE7D,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,MAAM,EAAE,CAAC;wBACT,4CAA4C;wBAC5C,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC7C,gBAAgB,IAAI,uDAAuD,UAAU,OAAO,CAAC;oBACjG,CAAC;yBAAM,CAAC;wBACJ,mCAAmC;wBACnC,eAAe,GAAG,gBAAgB,GAAG,MAAM,CAAC;wBAC5C,YAAe,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;wBACrD,gBAAgB,IAAI,0BAA0B,cAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;oBAC3F,CAAC;gBACL,CAAC;gBAED,YAAe,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAClE,MAAM;YACV,KAAK,OAAO;gBACR,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE7D,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,MAAM,EAAE,CAAC;wBACT,4CAA4C;wBAC5C,MAAM,UAAU,GAAG,IAAI,eAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC7C,gBAAgB,IAAI,uDAAuD,UAAU,OAAO,CAAC;oBACjG,CAAC;yBAAM,CAAC;wBACJ,mCAAmC;wBACnC,eAAe,GAAG,gBAAgB,GAAG,MAAM,CAAC;wBAC5C,YAAe,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;wBACrD,gBAAgB,IAAI,0BAA0B,cAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;oBAC3F,CAAC;gBACL,CAAC;gBAED,YAAe,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBAClE,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CACJ;AA7DD,gCA6DC"}
|
package/foles.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.FolEs = void 0;
|
|
4
7
|
const avaliador_sintatico_1 = require("./avaliador-sintatico");
|
|
@@ -10,8 +13,8 @@ const resolvedor_reverso_1 = require("./resolvedores/resolvedor-reverso");
|
|
|
10
13
|
const importador_1 = require("./importador");
|
|
11
14
|
const tradutor_1 = require("./tradutores/tradutor");
|
|
12
15
|
const tradutor_reverso_1 = require("./tradutores/tradutor-reverso");
|
|
13
|
-
const base64_1 = require("./utilidades/base64");
|
|
14
16
|
const gerador_mapa_1 = require("./gerador-mapa");
|
|
17
|
+
const path_1 = __importDefault(require("path"));
|
|
15
18
|
/**
|
|
16
19
|
* O núcleo da linguagem FolEs.
|
|
17
20
|
*/
|
|
@@ -56,8 +59,11 @@ class FolEs {
|
|
|
56
59
|
const resultadoAvaliadorSintatico = this.avaliadorSintatico.analisar(resultadoLexador[1].simbolos);
|
|
57
60
|
const traducao = this.resolvedor.resolver(resultadoAvaliadorSintatico);
|
|
58
61
|
const resultadoTraducao = this.tradutor.traduzir(resultadoAvaliadorSintatico);
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
// Extrair apenas o nome do arquivo (sem caminho) usando path.basename para compatibilidade cross-platform
|
|
63
|
+
const nomeArquivoBase = path_1.default.basename(nomeArquivo);
|
|
64
|
+
const nomeArquivoDestino = nomeArquivoBase.replace(/\.foles$/, '.css');
|
|
65
|
+
const mapa = this.geradorMapaCss.gerarMapaFontes(resultadoTraducao, resultadoLexador[0].join("\n"), nomeArquivoBase, nomeArquivoDestino);
|
|
66
|
+
return [traducao, JSON.stringify(mapa)];
|
|
61
67
|
}
|
|
62
68
|
converterParaFolEs(nomeArquivo) {
|
|
63
69
|
const resultadoLexador = this.importadorReverso.importar(nomeArquivo);
|
package/foles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foles.js","sourceRoot":"","sources":["../fontes/foles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"foles.js","sourceRoot":"","sources":["../fontes/foles.ts"],"names":[],"mappings":"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"}
|
package/gerador-mapa/index.d.ts
CHANGED
|
@@ -12,7 +12,10 @@ export declare class GeradorMapaCss {
|
|
|
12
12
|
* - Quarto número: coluna no código original.
|
|
13
13
|
*
|
|
14
14
|
* @param declaracoes As declarações já traduzidas.
|
|
15
|
+
* @param conteudoArquivoOriginal O conteúdo do arquivo original.
|
|
16
|
+
* @param nomeArquivoOriginal O nome do arquivo original (opcional, padrão "teste.foles").
|
|
17
|
+
* @param nomeArquivoDestino O nome do arquivo de destino (opcional, padrão "teste.css").
|
|
15
18
|
* @returns {MapaOrigensInterface} O mapa de origens pronto.
|
|
16
19
|
*/
|
|
17
|
-
gerarMapaFontes(declaracoes: BlocoDeclaracao[], conteudoArquivoOriginal: string): MapaOrigensInterface;
|
|
20
|
+
gerarMapaFontes(declaracoes: BlocoDeclaracao[], conteudoArquivoOriginal: string, nomeArquivoOriginal?: string, nomeArquivoDestino?: string): MapaOrigensInterface;
|
|
18
21
|
}
|
package/gerador-mapa/index.js
CHANGED
|
@@ -47,14 +47,17 @@ class GeradorMapaCss {
|
|
|
47
47
|
* - Quarto número: coluna no código original.
|
|
48
48
|
*
|
|
49
49
|
* @param declaracoes As declarações já traduzidas.
|
|
50
|
+
* @param conteudoArquivoOriginal O conteúdo do arquivo original.
|
|
51
|
+
* @param nomeArquivoOriginal O nome do arquivo original (opcional, padrão "teste.foles").
|
|
52
|
+
* @param nomeArquivoDestino O nome do arquivo de destino (opcional, padrão "teste.css").
|
|
50
53
|
* @returns {MapaOrigensInterface} O mapa de origens pronto.
|
|
51
54
|
*/
|
|
52
|
-
gerarMapaFontes(declaracoes, conteudoArquivoOriginal) {
|
|
55
|
+
gerarMapaFontes(declaracoes, conteudoArquivoOriginal, nomeArquivoOriginal = "teste.foles", nomeArquivoDestino = "teste.css") {
|
|
53
56
|
const retorno = {
|
|
54
57
|
version: 3,
|
|
55
|
-
file:
|
|
58
|
+
file: nomeArquivoDestino,
|
|
56
59
|
sourceRoot: "",
|
|
57
|
-
sources: [
|
|
60
|
+
sources: [nomeArquivoOriginal],
|
|
58
61
|
sourcesContent: [conteudoArquivoOriginal],
|
|
59
62
|
mappings: "",
|
|
60
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/gerador-mapa/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAI3B,MAAa,cAAc;IACvB,gBAAe,CAAC;IAChB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/gerador-mapa/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAI3B,MAAa,cAAc;IACvB,gBAAe,CAAC;IAChB;;;;;;;;;;;;;;OAcG;IACH,eAAe,CACX,WAA8B,EAC9B,uBAA+B,EAC/B,sBAA8B,aAAa,EAC3C,qBAA6B,WAAW;QAExC,MAAM,OAAO,GAAyB;YAClC,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,CAAC,mBAAmB,CAAC;YAC9B,cAAc,EAAE,CAAC,uBAAuB,CAAC;YACzC,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;gBACrC,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;gBAE3C,OAAO,CAAC,QAAQ;oBACZ,GAAG,CAAC,MAAM,CAAC;wBACP,UAAU,CAAC,aAAa,GAAG,CAAC;wBAC5B,CAAC;wBACD,CAAC;wBACD,YAAY,CAAC,aAAa,GAAG,CAAC;qBACjC,CAAC,GAAG,GAAG,CAAC;gBAEb,qBAAqB;gBACrB,OAAO,CAAC,QAAQ;oBACZ,GAAG,CAAC,MAAM,CAAC;wBACP,UAAU,CAAC,WAAW;wBACtB,CAAC;wBACD,CAAC;wBACD,YAAY,CAAC,WAAW;qBAC3B,CAAC,GAAG,GAAG,CAAC;YACjB,CAAC;YAED,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAEvD,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBACjD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC;gBACzC,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC;gBAE/C,8BAA8B;gBAC9B,OAAO,CAAC,QAAQ;oBACZ,GAAG,CAAC,MAAM,CAAC;wBACP,UAAU,CAAC,aAAa,GAAG,CAAC;wBAC5B,CAAC;wBACD,CAAC;wBACD,YAAY,CAAC,aAAa;4BACtB,CAAC;4BACD,CAAC,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC;qBACrC,CAAC,GAAG,GAAG,CAAC;gBAEb,OAAO,CAAC,QAAQ;oBACZ,GAAG,CAAC,MAAM,CAAC;wBACP,UAAU,CAAC,WAAW,GAAG,CAAC;wBAC1B,CAAC;wBACD,CAAC;wBACD,YAAY,CAAC,WAAW,GAAG,CAAC;qBAC/B,CAAC,GAAG,GAAG,CAAC;gBAEb,yBAAyB;gBACzB,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAEnD,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACtC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;oBACzC,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC;gBAC5C,CAAC;gBAED,mBAAmB;gBACnB,OAAO,CAAC,QAAQ;oBACZ,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,GAAG,CAAC;YACjE,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAjGD,wCAiGC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/foles",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"description": "Linguagem de folhas de estilo para documentos em geral em português",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
}
|
|
30
30
|
],
|
|
31
31
|
"engines": {
|
|
32
|
-
"node": "^
|
|
32
|
+
"node": "^22 || ^24 || ^25"
|
|
33
33
|
},
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"bugs": {
|
|
@@ -9,6 +9,8 @@ const seletores_1 = require("../seletores");
|
|
|
9
9
|
const seletor_espaco_reservado_1 = require("../seletores/seletor-espaco-reservado");
|
|
10
10
|
const metodo_1 = require("../valores/metodos/foles/metodo");
|
|
11
11
|
const estruturas_html_1 = __importDefault(require("../tradutores/estruturas-html"));
|
|
12
|
+
const valores_1 = require("../valores");
|
|
13
|
+
const referencia_variavel_1 = require("../valores/referencia-variavel");
|
|
12
14
|
/**
|
|
13
15
|
* A classe que efetivamente traduz FolEs para CSS.
|
|
14
16
|
*
|
|
@@ -22,8 +24,8 @@ class Resolvedor {
|
|
|
22
24
|
this.variaveis = {};
|
|
23
25
|
}
|
|
24
26
|
resolverValor(valor, valoresAceitos) {
|
|
25
|
-
switch (valor.constructor
|
|
26
|
-
case
|
|
27
|
+
switch (valor.constructor) {
|
|
28
|
+
case referencia_variavel_1.ReferenciaVariavel:
|
|
27
29
|
const valorReferenciaVariavel = valor;
|
|
28
30
|
const valoresVariavelCorrespondente = this.variaveis[valorReferenciaVariavel.nomeVariavel];
|
|
29
31
|
if (valoresVariavelCorrespondente === undefined) {
|
|
@@ -39,9 +41,9 @@ class Resolvedor {
|
|
|
39
41
|
}
|
|
40
42
|
valoresVariavelResolvidos = valoresVariavelResolvidos.slice(0, -1);
|
|
41
43
|
return valoresVariavelResolvidos;
|
|
42
|
-
case
|
|
44
|
+
case valores_1.ValorAbreviacao:
|
|
43
45
|
return "/";
|
|
44
|
-
case
|
|
46
|
+
case valores_1.ValorNumerico:
|
|
45
47
|
const valorNumerico = valor;
|
|
46
48
|
let literalNumerico = String(valorNumerico.literalNumerico);
|
|
47
49
|
if ((valorNumerico.quantificador) &&
|
|
@@ -49,7 +51,7 @@ class Resolvedor {
|
|
|
49
51
|
literalNumerico = literalNumerico.replace(/^0\./, '.');
|
|
50
52
|
}
|
|
51
53
|
return `${literalNumerico}${valorNumerico.quantificador || ''}`;
|
|
52
|
-
case
|
|
54
|
+
case valores_1.ValorQualitativo:
|
|
53
55
|
const valorQualitativo = valor;
|
|
54
56
|
let traducaoQualitativo = gerais_1.valoresGerais[valorQualitativo.qualitativo];
|
|
55
57
|
if (!traducaoQualitativo)
|
|
@@ -57,10 +59,10 @@ class Resolvedor {
|
|
|
57
59
|
if (!traducaoQualitativo)
|
|
58
60
|
traducaoQualitativo = valorQualitativo.qualitativo;
|
|
59
61
|
return `${traducaoQualitativo}`;
|
|
60
|
-
case
|
|
62
|
+
case valores_1.ValorTexto:
|
|
61
63
|
const valorTexto = valor;
|
|
62
64
|
return valorTexto.literalTexto;
|
|
63
|
-
case
|
|
65
|
+
case valores_1.ValorVirgula:
|
|
64
66
|
return ",";
|
|
65
67
|
default:
|
|
66
68
|
// Valor é RGB, RGBA, HSL, HSLA ou HEX, ou seja, um método.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvedor.js","sourceRoot":"","sources":["../../fontes/resolvedores/resolvedor.ts"],"names":[],"mappings":";;;;;;AAEA,8DAAkE;AAClE,4CAAgD;AAChD,oFAA+E;AAC/E,4DAAyD;AACzD,oFAA2D;
|
|
1
|
+
{"version":3,"file":"resolvedor.js","sourceRoot":"","sources":["../../fontes/resolvedores/resolvedor.ts"],"names":[],"mappings":"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"}
|