@designliquido/foles 0.4.1 → 0.5.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.
Files changed (117) hide show
  1. package/execucao.js +3 -2
  2. package/execucao.js.map +1 -1
  3. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.d.ts +8 -2
  4. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js +47 -12
  5. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js.map +1 -1
  6. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +7 -3
  7. package/fontes/avaliador-sintatico/avaliador-sintatico.js +41 -25
  8. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  9. package/fontes/declaracoes/declaracao.d.ts +2 -1
  10. package/fontes/declaracoes/declaracao.js +2 -1
  11. package/fontes/declaracoes/declaracao.js.map +1 -1
  12. package/fontes/foles.d.ts +5 -5
  13. package/fontes/foles.js +7 -7
  14. package/fontes/foles.js.map +1 -1
  15. package/fontes/lexador/lexador-reverso.js +4 -0
  16. package/fontes/lexador/lexador-reverso.js.map +1 -1
  17. package/fontes/lexador/lexador.js +1 -6
  18. package/fontes/lexador/lexador.js.map +1 -1
  19. package/fontes/lexador/palavras-reservadas/css.d.ts +3 -1
  20. package/fontes/lexador/palavras-reservadas/css.js +3 -1
  21. package/fontes/lexador/palavras-reservadas/css.js.map +1 -1
  22. package/fontes/modificadores/largura-borda-direita.js +1 -1
  23. package/fontes/modificadores/largura-borda-direita.js.map +1 -1
  24. package/fontes/modificadores/superclasse/seletor-reverso-modificador.d.ts +3 -1
  25. package/fontes/modificadores/superclasse/seletor-reverso-modificador.js +1 -1
  26. package/fontes/modificadores/superclasse/seletor-reverso-modificador.js.map +1 -1
  27. package/fontes/modificadores/validacoes/cor.js +2 -2
  28. package/fontes/modificadores/validacoes/cor.js.map +1 -1
  29. package/fontes/seletores/seletor-classe.js +1 -2
  30. package/fontes/seletores/seletor-classe.js.map +1 -1
  31. package/fontes/seletores/seletor-espaco-reservado.d.ts +0 -1
  32. package/fontes/seletores/seletor-espaco-reservado.js +1 -2
  33. package/fontes/seletores/seletor-espaco-reservado.js.map +1 -1
  34. package/fontes/seletores/seletor-estrutura.js +5 -1
  35. package/fontes/seletores/seletor-estrutura.js.map +1 -1
  36. package/fontes/seletores/seletor.d.ts +3 -1
  37. package/fontes/seletores/seletor.js +2 -1
  38. package/fontes/seletores/seletor.js.map +1 -1
  39. package/fontes/serializadores/index.d.ts +2 -0
  40. package/fontes/{tradutor → serializadores}/index.js +2 -2
  41. package/fontes/serializadores/index.js.map +1 -0
  42. package/fontes/serializadores/serializador-reverso.d.ts +12 -0
  43. package/fontes/serializadores/serializador-reverso.js +61 -0
  44. package/fontes/serializadores/serializador-reverso.js.map +1 -0
  45. package/fontes/serializadores/serializador.d.ts +19 -0
  46. package/fontes/serializadores/serializador.js +98 -0
  47. package/fontes/serializadores/serializador.js.map +1 -0
  48. package/fontes/tipos-de-simbolos/foles.d.ts +0 -1
  49. package/fontes/tipos-de-simbolos/foles.js +0 -1
  50. package/fontes/tipos-de-simbolos/foles.js.map +1 -1
  51. package/fontes/tradutores/estruturas-html.js.map +1 -0
  52. package/fontes/tradutores/estruturas-lmht.js.map +1 -0
  53. package/fontes/tradutores/tradutor-reverso.d.ts +4 -0
  54. package/fontes/tradutores/tradutor-reverso.js +12 -0
  55. package/fontes/tradutores/tradutor-reverso.js.map +1 -0
  56. package/fontes/tradutores/tradutor.d.ts +10 -0
  57. package/fontes/tradutores/tradutor.js +68 -0
  58. package/fontes/tradutores/tradutor.js.map +1 -0
  59. package/fontes/valores/dicionario-valores.js +2 -2
  60. package/fontes/valores/dicionario-valores.js.map +1 -1
  61. package/fontes/valores/metodos/{hex.d.ts → hexadecimal-cor.d.ts} +1 -1
  62. package/fontes/valores/metodos/{hex.js → hexadecimal-cor.js} +4 -4
  63. package/fontes/valores/metodos/hexadecimal-cor.js.map +1 -0
  64. package/index.d.ts +1 -1
  65. package/index.js +1 -1
  66. package/index.js.map +1 -1
  67. package/package.json +1 -1
  68. package/testes/avaliador-sintatico.test.js +3 -3
  69. package/testes/avaliador-sintatico.test.js.map +1 -1
  70. package/testes/foles.test.js +5 -5
  71. package/testes/foles.test.js.map +1 -1
  72. package/testes/modificadores/atribuicao-abreviada.test.js +2 -2
  73. package/testes/modificadores/atribuicao-abreviada.test.js.map +1 -1
  74. package/testes/modificadores/cores.test.js +9 -9
  75. package/testes/modificadores/cores.test.js.map +1 -1
  76. package/testes/modificadores/estilo.test.js +4 -4
  77. package/testes/modificadores/estilo.test.js.map +1 -1
  78. package/testes/modificadores/metodos.test.js +8 -8
  79. package/testes/modificadores/metodos.test.js.map +1 -1
  80. package/testes/modificadores/palavras-reservadas.test.js +4 -4
  81. package/testes/modificadores/palavras-reservadas.test.js.map +1 -1
  82. package/testes/modificadores/posicao.test.js +4 -4
  83. package/testes/modificadores/posicao.test.js.map +1 -1
  84. package/testes/modificadores/status.test.js +6 -6
  85. package/testes/modificadores/status.test.js.map +1 -1
  86. package/testes/modificadores/url.test.js +4 -4
  87. package/testes/modificadores/url.test.js.map +1 -1
  88. package/testes/modificadores/valor-global.test.js +5 -5
  89. package/testes/modificadores/valor-global.test.js.map +1 -1
  90. package/testes/modificadores/valor-numerico.test.js +2 -2
  91. package/testes/modificadores/valor-numerico.test.js.map +1 -1
  92. package/testes/modificadores/valor-quantificador.test.js +9 -9
  93. package/testes/modificadores/valor-quantificador.test.js.map +1 -1
  94. package/testes/{tradutor-reverso.test.js → serializador-reverso.test.js} +6 -6
  95. package/testes/serializador-reverso.test.js.map +1 -0
  96. package/testes/serializador.test.d.ts +1 -0
  97. package/testes/serializador.test.js +96 -0
  98. package/testes/serializador.test.js.map +1 -0
  99. package/testes/tradutor.test.js +8 -74
  100. package/testes/tradutor.test.js.map +1 -1
  101. package/fontes/tradutor/estruturas-html.js.map +0 -1
  102. package/fontes/tradutor/estruturas-lmht.js.map +0 -1
  103. package/fontes/tradutor/index.d.ts +0 -2
  104. package/fontes/tradutor/index.js.map +0 -1
  105. package/fontes/tradutor/tradutor-reverso.d.ts +0 -6
  106. package/fontes/tradutor/tradutor-reverso.js +0 -25
  107. package/fontes/tradutor/tradutor-reverso.js.map +0 -1
  108. package/fontes/tradutor/tradutor.d.ts +0 -6
  109. package/fontes/tradutor/tradutor.js +0 -66
  110. package/fontes/tradutor/tradutor.js.map +0 -1
  111. package/fontes/valores/metodos/hex.js.map +0 -1
  112. package/testes/tradutor-reverso.test.js.map +0 -1
  113. /package/fontes/{tradutor → tradutores}/estruturas-html.d.ts +0 -0
  114. /package/fontes/{tradutor → tradutores}/estruturas-html.js +0 -0
  115. /package/fontes/{tradutor → tradutores}/estruturas-lmht.d.ts +0 -0
  116. /package/fontes/{tradutor → tradutores}/estruturas-lmht.js +0 -0
  117. /package/testes/{tradutor-reverso.test.d.ts → serializador-reverso.test.d.ts} +0 -0
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SeletorReversoModificador = void 0;
4
4
  const dicionario_reverso_modificadores_1 = require("../dicionario/dicionario-reverso-modificadores");
5
5
  class SeletorReversoModificador {
6
- constructor(nomeCss, valor, quantificador) {
6
+ constructor(nomeCss, valor, quantificador, pragmas) {
7
7
  if (dicionario_reverso_modificadores_1.DicionarioReversoModificadores[nomeCss] === undefined ||
8
8
  dicionario_reverso_modificadores_1.DicionarioReversoModificadores[nomeCss] === null) {
9
9
  throw new Error(`O seletor \'${nomeCss}\' não foi encontrado.`);
@@ -1 +1 @@
1
- {"version":3,"file":"seletor-reverso-modificador.js","sourceRoot":"","sources":["../../../../fontes/modificadores/superclasse/seletor-reverso-modificador.ts"],"names":[],"mappings":";;;AAAA,qGAAgG;AAEhG,MAAa,yBAAyB;IAClC,YAAY,OAAe,EAAE,KAAa,EAAE,aAAqB;QAC7D,IACI,iEAA8B,CAAC,OAAO,CAAC,KAAK,SAAS;YACrD,iEAA8B,CAAC,OAAO,CAAC,KAAK,IAAI,EAClD;YACE,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,wBAAwB,CAAC,CAAC;SACnE;QACD,OAAO,IAAI,iEAA8B,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7E,CAAC;CACJ;AAVD,8DAUC"}
1
+ {"version":3,"file":"seletor-reverso-modificador.js","sourceRoot":"","sources":["../../../../fontes/modificadores/superclasse/seletor-reverso-modificador.ts"],"names":[],"mappings":";;;AACA,qGAAgG;AAGhG,MAAa,yBAAyB;IAClC,YAAY,OAAe,EAAE,KAAsB,EAAE,aAAqB,EAAE,OAA4B;QACpG,IACI,iEAA8B,CAAC,OAAO,CAAC,KAAK,SAAS;YACrD,iEAA8B,CAAC,OAAO,CAAC,KAAK,IAAI,EAClD;YACE,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,wBAAwB,CAAC,CAAC;SACnE;QACD,OAAO,IAAI,iEAA8B,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7E,CAAC;CACJ;AAVD,8DAUC"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validarValorCor = void 0;
4
- const hex_1 = require("../../valores/metodos/hex");
4
+ const hexadecimal_cor_1 = require("../../valores/metodos/hexadecimal-cor");
5
5
  const metodo_1 = require("../../valores/metodos/metodo");
6
6
  const cores_1 = require("../atributos/cores");
7
7
  const globais_1 = require("../atributos/globais");
8
8
  function validarValorCor(nomePropriedade, valor, valoresAceitos, valoresExtra) {
9
9
  if (valor instanceof metodo_1.Metodo) {
10
- if (valor instanceof hex_1.Hex) {
10
+ if (valor instanceof hexadecimal_cor_1.HexadecimalCor) {
11
11
  if (valor['codigo'].length !== 3 && valor['codigo'].length !== 6) {
12
12
  throw new Error(`Propriedade '${nomePropriedade}' com hexadecimal inválido: '${valor['codigo']}'. Hexadecimais
13
13
  devem ter 3 ou 6 caracteres após a cerquilha, sendo cada caracter de 0 até 9 ou de A até F.`);
@@ -1 +1 @@
1
- {"version":3,"file":"cor.js","sourceRoot":"","sources":["../../../../fontes/modificadores/validacoes/cor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cor.js","sourceRoot":"","sources":["../../../../fontes/modificadores/validacoes/cor.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,8 @@ exports.SeletorClasse = void 0;
4
4
  const seletor_1 = require("./seletor");
5
5
  class SeletorClasse extends seletor_1.Seletor {
6
6
  constructor(nomeClasse, pseudoclasse, pragmas) {
7
- super(pseudoclasse);
7
+ super(pseudoclasse, pragmas);
8
8
  this.nomeClasse = nomeClasse;
9
- this.pragmas = pragmas;
10
9
  }
11
10
  paraTexto() {
12
11
  let resultado = `.${this.nomeClasse}`;
@@ -1 +1 @@
1
- {"version":3,"file":"seletor-classe.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor-classe.ts"],"names":[],"mappings":";;;AAEA,uCAAoC;AAEpC,MAAa,aAAc,SAAQ,iBAAO;IAItC,YAAY,UAAkB,EAAE,YAA2B,EAAE,OAAwB;QACjF,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,SAAS;QACL,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/D,SAAS,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;SACxD;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAlBD,sCAkBC"}
1
+ {"version":3,"file":"seletor-classe.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor-classe.ts"],"names":[],"mappings":";;;AAEA,uCAAoC;AAEpC,MAAa,aAAc,SAAQ,iBAAO;IAItC,YAAY,UAAkB,EAAE,YAA2B,EAAE,OAAwB;QACjF,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,SAAS;QACL,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/D,SAAS,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;SACxD;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAjBD,sCAiBC"}
@@ -5,7 +5,6 @@ import { Seletor } from "./seletor";
5
5
  */
6
6
  export declare class SeletorEspacoReservado extends Seletor {
7
7
  nome: string;
8
- pragmas?: PragmasSeletor;
9
8
  constructor(nome: string, pragmas?: PragmasSeletor);
10
9
  paraTexto(): string;
11
10
  }
@@ -7,9 +7,8 @@ const seletor_1 = require("./seletor");
7
7
  */
8
8
  class SeletorEspacoReservado extends seletor_1.Seletor {
9
9
  constructor(nome, pragmas) {
10
- super(undefined);
10
+ super(undefined, pragmas);
11
11
  this.nome = nome;
12
- this.pragmas = pragmas;
13
12
  }
14
13
  paraTexto() {
15
14
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"seletor-espaco-reservado.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor-espaco-reservado.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC;;GAEG;AACH,MAAa,sBAAuB,SAAQ,iBAAO;IAI/C,YAAY,IAAY,EAAE,OAAwB;QAC9C,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAbD,wDAaC"}
1
+ {"version":3,"file":"seletor-espaco-reservado.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor-espaco-reservado.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC;;GAEG;AACH,MAAa,sBAAuB,SAAQ,iBAAO;IAG/C,YAAY,IAAY,EAAE,OAAwB;QAC9C,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAXD,wDAWC"}
@@ -4,7 +4,11 @@ exports.SeletorEstrutura = void 0;
4
4
  const seletor_1 = require("./seletor");
5
5
  class SeletorEstrutura extends seletor_1.Seletor {
6
6
  constructor(estrutura, pseudoclasse) {
7
- super(pseudoclasse);
7
+ super(pseudoclasse, {
8
+ linha: estrutura.pragmas.linha,
9
+ colunaInicial: estrutura.pragmas.colunaInicial,
10
+ colunaFinal: estrutura.pragmas.colunaFinal
11
+ });
8
12
  this.estrutura = estrutura;
9
13
  }
10
14
  paraTexto() {
@@ -1 +1 @@
1
- {"version":3,"file":"seletor-estrutura.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor-estrutura.ts"],"names":[],"mappings":";;;AAEA,uCAAoC;AAEpC,MAAa,gBAAiB,SAAQ,iBAAO;IAGzC,YAAY,SAAoB,EAAE,YAA2B;QACzD,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,SAAS;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAEhD,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5E,oFAAoF;QACpF,sFAAsF;QACtF,IAAI,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/D,SAAS,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;SACxD;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAxBD,4CAwBC"}
1
+ {"version":3,"file":"seletor-estrutura.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor-estrutura.ts"],"names":[],"mappings":";;;AAGA,uCAAoC;AAEpC,MAAa,gBAAiB,SAAQ,iBAAO;IAGzC,YAAY,SAAoB,EAAE,YAA2B;QACzD,KAAK,CAAC,YAAY,EAAE;YAChB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK;YAC9B,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,aAAa;YAC9C,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW;SAC7C,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,SAAS;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAEhD,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE5E,oFAAoF;QACpF,sFAAsF;QACtF,IAAI,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/D,SAAS,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;SACxD;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA5BD,4CA4BC"}
@@ -1,6 +1,8 @@
1
1
  import { Pseudoclasse } from "../pseudoclasses/pseudoclasse";
2
+ import { PragmasSeletor } from "./pragmas-seletor";
2
3
  export declare abstract class Seletor {
3
4
  pseudoclasse?: Pseudoclasse;
4
- constructor(pseudoclasse?: Pseudoclasse);
5
+ pragmas?: PragmasSeletor;
6
+ constructor(pseudoclasse?: Pseudoclasse, pragmas?: PragmasSeletor);
5
7
  abstract paraTexto(): any;
6
8
  }
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Seletor = void 0;
4
4
  class Seletor {
5
- constructor(pseudoclasse) {
5
+ constructor(pseudoclasse, pragmas) {
6
6
  this.pseudoclasse = pseudoclasse;
7
+ this.pragmas = pragmas;
7
8
  }
8
9
  }
9
10
  exports.Seletor = Seletor;
@@ -1 +1 @@
1
- {"version":3,"file":"seletor.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor.ts"],"names":[],"mappings":";;;AAEA,MAAsB,OAAO;IAGzB,YAAY,YAA2B;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CAGJ;AARD,0BAQC"}
1
+ {"version":3,"file":"seletor.js","sourceRoot":"","sources":["../../../fontes/seletores/seletor.ts"],"names":[],"mappings":";;;AAGA,MAAsB,OAAO;IAIzB,YAAY,YAA2B,EAAE,OAAwB;QAC7D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CAGJ;AAVD,0BAUC"}
@@ -0,0 +1,2 @@
1
+ export * from './serializador';
2
+ export * from './serializador-reverso';
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./tradutor"), exports);
18
- __exportStar(require("./tradutor-reverso"), exports);
17
+ __exportStar(require("./serializador"), exports);
18
+ __exportStar(require("./serializador-reverso"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/serializadores/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,yDAAuC"}
@@ -0,0 +1,12 @@
1
+ import { Declaracao } from "../declaracoes";
2
+ import { Modificador } from "../modificadores";
3
+ /**
4
+ * O serializador reverso traduz de CSS para FolEs. Pode traduzir tanto FolEs
5
+ * aninhado quanto desaninhado.
6
+ */
7
+ export declare class SerializadorReverso {
8
+ serializarComAninhamentos: boolean;
9
+ constructor(serializarComAninhamentos?: boolean);
10
+ serializarModificador(modificador: Modificador, indentacao?: number): string;
11
+ serializar(declaracoes: Declaracao[], indentacao?: number, seletorAnterior?: string): string;
12
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SerializadorReverso = void 0;
4
+ const metodo_1 = require("../valores/metodos/metodo");
5
+ /**
6
+ * O serializador reverso traduz de CSS para FolEs. Pode traduzir tanto FolEs
7
+ * aninhado quanto desaninhado.
8
+ */
9
+ class SerializadorReverso {
10
+ constructor(serializarComAninhamentos = true) {
11
+ this.serializarComAninhamentos = serializarComAninhamentos;
12
+ }
13
+ serializarModificador(modificador, indentacao = 0) {
14
+ let quantificador = "";
15
+ if (modificador.hasOwnProperty("quantificador")) {
16
+ quantificador = modificador.quantificador;
17
+ }
18
+ let valor = "";
19
+ if (modificador.valor instanceof metodo_1.Metodo) {
20
+ valor = modificador.valor.paraTexto();
21
+ }
22
+ else {
23
+ valor = modificador.valor;
24
+ }
25
+ return " ".repeat(indentacao) +
26
+ `${Array.isArray(modificador.nomeFoles) ? modificador.nomeFoles[0] : modificador.nomeFoles}: ${valor}${quantificador};\n`;
27
+ }
28
+ serializar(declaracoes, indentacao = 0, seletorAnterior = undefined) {
29
+ let resultado = "";
30
+ let textoSeletorAnterior = "";
31
+ if (seletorAnterior !== undefined) {
32
+ textoSeletorAnterior = seletorAnterior;
33
+ }
34
+ for (const declaracao of declaracoes) {
35
+ const prefixos = [];
36
+ for (const seletor of declaracao.seletores) {
37
+ const prefixo = (textoSeletorAnterior + " " + seletor.constructor.name.toLowerCase()).trimStart();
38
+ prefixos.push(prefixo);
39
+ resultado += " ".repeat(indentacao) + prefixo + ', ';
40
+ }
41
+ resultado = resultado.slice(0, -2);
42
+ resultado += ' {\n';
43
+ for (const modificador of declaracao.modificadores) {
44
+ resultado += this.serializarModificador(modificador, indentacao + 2);
45
+ }
46
+ if (this.serializarComAninhamentos) {
47
+ resultado += this.serializar(declaracao.declaracoesAninhadas, indentacao + 2);
48
+ resultado += `${" ".repeat(indentacao)}}\n\n`;
49
+ }
50
+ else {
51
+ resultado += `${" ".repeat(indentacao)}}\n\n`;
52
+ for (const prefixo of prefixos) {
53
+ resultado += this.serializar(declaracao.declaracoesAninhadas, indentacao, prefixo);
54
+ }
55
+ }
56
+ }
57
+ return resultado;
58
+ }
59
+ }
60
+ exports.SerializadorReverso = SerializadorReverso;
61
+ //# sourceMappingURL=serializador-reverso.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializador-reverso.js","sourceRoot":"","sources":["../../../fontes/serializadores/serializador-reverso.ts"],"names":[],"mappings":";;;AAEA,sDAAmD;AAEnD;;;GAGG;AACH,MAAa,mBAAmB;IAG5B,YAAY,4BAAqC,IAAI;QACjD,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;IAC/D,CAAC;IAED,qBAAqB,CAAC,WAAwB,EAAE,aAAqB,CAAC;QAClE,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;YAC7C,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;SAC7C;QAED,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,YAAY,eAAM,EAAE;YACrC,KAAK,GAAY,WAAW,CAAC,KAAM,CAAC,SAAS,EAAE,CAAC;SACnD;aAAM;YACH,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;SAC7B;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;YACzB,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,KAAK,KAAK,GAAG,aAAa,KAAK,CAAC;IAClI,CAAC;IAED,UAAU,CAAC,WAAyB,EAAE,aAAqB,CAAC,EAAE,kBAA0B,SAAS;QAC7F,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,oBAAoB,GAAG,eAAe,CAAC;SAC1C;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE;gBACxC,MAAM,OAAO,GAAG,CAAC,oBAAoB,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;gBAClG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;aACxD;YAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,SAAS,IAAI,MAAM,CAAC;YAEpB,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,aAAa,EAAE;gBAChD,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;aACxE;YAED,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBAChC,SAAS,IAAI,IAAI,CAAC,UAAU,CACxB,UAAU,CAAC,oBAAoB,EAC/B,UAAU,GAAG,CAAC,CACjB,CAAC;gBAEF,SAAS,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;aACjD;iBAAM;gBACH,SAAS,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;oBAC5B,SAAS,IAAI,IAAI,CAAC,UAAU,CACxB,UAAU,CAAC,oBAAoB,EAC/B,UAAU,EACV,OAAO,CACV,CAAC;iBACL;aACJ;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AArED,kDAqEC"}
@@ -0,0 +1,19 @@
1
+ import { Declaracao } from "../declaracoes";
2
+ /**
3
+ * A classe que efetivamente traduz FolEs para CSS.
4
+ *
5
+ * Normalmente o CSS traduzido é desaninhado por uma questão de compatibilidade
6
+ * entre navegadores. Até então, CSS aninhado é uma funcionalidade nova, e
7
+ * apenas navegadores mais recentes a implementam.
8
+ */
9
+ export declare class Serializador {
10
+ serializarComAninhamentos: boolean;
11
+ constructor(serializarComAninhamentos?: boolean);
12
+ private serializarModificador;
13
+ /**
14
+ * O processo de tradução. É recursivo.
15
+ * @param declaracoes As declaracoes.
16
+ * @returns Uma string com o resultado da tradução.
17
+ */
18
+ serializar(declaracoes: Declaracao[], indentacao?: number, seletorAnterior?: string): string;
19
+ }
@@ -0,0 +1,98 @@
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.Serializador = void 0;
7
+ const gerais_1 = require("../modificadores/atributos/gerais");
8
+ const seletores_1 = require("../seletores");
9
+ const seletor_espaco_reservado_1 = require("../seletores/seletor-espaco-reservado");
10
+ const metodo_1 = require("../valores/metodos/metodo");
11
+ const estruturas_html_1 = __importDefault(require("../tradutores/estruturas-html"));
12
+ /**
13
+ * A classe que efetivamente traduz FolEs para CSS.
14
+ *
15
+ * Normalmente o CSS traduzido é desaninhado por uma questão de compatibilidade
16
+ * entre navegadores. Até então, CSS aninhado é uma funcionalidade nova, e
17
+ * apenas navegadores mais recentes a implementam.
18
+ */
19
+ class Serializador {
20
+ constructor(serializarComAninhamentos = false) {
21
+ this.serializarComAninhamentos = serializarComAninhamentos;
22
+ }
23
+ serializarModificador(modificador, indentacao = 0) {
24
+ // Caso 1: Número-Quantificador ou somente Número.
25
+ if (Number(modificador.valor)) {
26
+ return `${" ".repeat(indentacao)}${modificador.propriedadeCss}: ${modificador.valor}${modificador.quantificador || ""};\n`;
27
+ }
28
+ // Caso 2: Tradução do valor contida no objeto 'valoresAceitos'.
29
+ if (modificador["valoresAceitos"] !== undefined &&
30
+ modificador["valoresAceitos"].hasOwnProperty(modificador.valor)) {
31
+ const objetoValores = modificador["valoresAceitos"];
32
+ const valorTraduzido = objetoValores[modificador.valor];
33
+ return `${" ".repeat(indentacao)}${modificador.propriedadeCss}: ${valorTraduzido};\n`;
34
+ }
35
+ // Caso 3: Valor é RGB, RGBA, HSL, HSLA ou HEX, ou seja, um método.
36
+ if (modificador.valor instanceof metodo_1.Metodo) {
37
+ return `${" ".repeat(indentacao)}${modificador.propriedadeCss}: ${modificador.valor.paraTexto() || ""};\n`;
38
+ }
39
+ // Caso 4: É um valor genérico, cuja tradução está na lista 'valoresGerais'.
40
+ const valorTraduzido = gerais_1.valoresGerais[modificador.valor];
41
+ return `${" ".repeat(indentacao)}${modificador.propriedadeCss}: ${valorTraduzido};\n`;
42
+ }
43
+ /**
44
+ * O processo de tradução. É recursivo.
45
+ * @param declaracoes As declaracoes.
46
+ * @returns Uma string com o resultado da tradução.
47
+ */
48
+ serializar(declaracoes, indentacao = 0, seletorAnterior = undefined) {
49
+ let resultado = "";
50
+ let textoSeletorAnterior = "";
51
+ if (seletorAnterior !== undefined) {
52
+ textoSeletorAnterior = seletorAnterior;
53
+ }
54
+ for (const declaracao of declaracoes) {
55
+ const prefixos = [];
56
+ let deveImprimir = true;
57
+ for (const seletor of declaracao.seletores) {
58
+ // Espaços reservados não são escritos diretamente no CSS.
59
+ if (seletor instanceof seletor_espaco_reservado_1.SeletorEspacoReservado) {
60
+ deveImprimir = false;
61
+ continue;
62
+ }
63
+ let prefixo;
64
+ if (seletor instanceof seletores_1.SeletorEstrutura) {
65
+ const seletorLmht = seletor.paraTexto();
66
+ const traducaoSeletor = estruturas_html_1.default[seletorLmht];
67
+ prefixo = (textoSeletorAnterior + " " + traducaoSeletor).trimStart();
68
+ }
69
+ else {
70
+ prefixo = (textoSeletorAnterior + " " + seletor.paraTexto()).trimStart();
71
+ }
72
+ prefixos.push(prefixo);
73
+ resultado += " ".repeat(indentacao) + prefixo + ", ";
74
+ }
75
+ if (!deveImprimir) {
76
+ continue;
77
+ }
78
+ resultado = resultado.slice(0, -2);
79
+ resultado += " {\n";
80
+ for (const modificador of declaracao.modificadores) {
81
+ resultado += this.serializarModificador(modificador, indentacao + 2);
82
+ }
83
+ if (this.serializarComAninhamentos) {
84
+ resultado += this.serializar(declaracao.declaracoesAninhadas, indentacao + 2);
85
+ resultado += `${" ".repeat(indentacao)}}\n\n`;
86
+ }
87
+ else {
88
+ resultado += `${" ".repeat(indentacao)}}\n\n`;
89
+ for (const prefixo of prefixos) {
90
+ resultado += this.serializar(declaracao.declaracoesAninhadas, indentacao, prefixo);
91
+ }
92
+ }
93
+ }
94
+ return resultado;
95
+ }
96
+ }
97
+ exports.Serializador = Serializador;
98
+ //# sourceMappingURL=serializador.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializador.js","sourceRoot":"","sources":["../../../fontes/serializadores/serializador.ts"],"names":[],"mappings":";;;;;;AAEA,8DAAkE;AAClE,4CAAgD;AAChD,oFAA+E;AAC/E,sDAAmD;AAEnD,oFAA2D;AAE3D;;;;;;GAMG;AACH,MAAa,YAAY;IAGrB,YAAY,4BAAqC,KAAK;QAClD,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;IAC/D,CAAC;IAEO,qBAAqB,CACzB,WAAwB,EACxB,aAAqB,CAAC;QAEtB,kDAAkD;QAClD,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,cAAc,KACzD,WAAW,CAAC,KAChB,GAAG,WAAW,CAAC,aAAa,IAAI,EAAE,KAAK,CAAC;SAC3C;QAED,gEAAgE;QAChE,IACI,WAAW,CAAC,gBAAgB,CAAC,KAAK,SAAS;YAC3C,WAAW,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,EACjE;YACE,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAC5B,WAAW,CAAC,cAChB,KAAK,cAAc,KAAK,CAAC;SAC5B;QAED,mEAAmE;QACnE,IAAI,WAAW,CAAC,KAAK,YAAY,eAAM,EAAE;YACrC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,cAAc,KACzD,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EACrC,KAAK,CAAC;SACT;QAED,4EAA4E;QAC5E,MAAM,cAAc,GAAG,sBAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAC5B,WAAW,CAAC,cAChB,KAAK,cAAc,KAAK,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,WAAyB,EAAE,aAAqB,CAAC,EAAE,kBAA0B,SAAS;QAC7F,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,oBAAoB,GAAG,eAAe,CAAC;SAC1C;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAI,YAAY,GAAG,IAAI,CAAC;YAExB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE;gBACxC,0DAA0D;gBAC1D,IAAI,OAAO,YAAY,iDAAsB,EAAE;oBAC3C,YAAY,GAAG,KAAK,CAAC;oBACrB,SAAS;iBACZ;gBAED,IAAI,OAAe,CAAC;gBACpB,IAAI,OAAO,YAAY,4BAAgB,EAAE;oBACrC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;oBACxC,MAAM,eAAe,GAAG,yBAAc,CAAC,WAAW,CAAC,CAAC;oBACpD,OAAO,GAAG,CAAC,oBAAoB,GAAG,GAAG,GAAG,eAAe,CAAC,CAAC,SAAS,EAAE,CAAC;iBACxE;qBAAM;oBACH,OAAO,GAAG,CAAC,oBAAoB,GAAG,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;iBAC5E;gBAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;aACxD;YAED,IAAI,CAAC,YAAY,EAAE;gBACf,SAAS;aACZ;YAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,SAAS,IAAI,MAAM,CAAC;YAEpB,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,aAAa,EAAE;gBAChD,SAAS,IAAI,IAAI,CAAC,qBAAqB,CACnC,WAAW,EACX,UAAU,GAAG,CAAC,CACjB,CAAC;aACL;YAED,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBAChC,SAAS,IAAI,IAAI,CAAC,UAAU,CACxB,UAAU,CAAC,oBAAoB,EAC/B,UAAU,GAAG,CAAC,CACjB,CAAC;gBACF,SAAS,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;aACjD;iBAAM;gBACH,SAAS,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;oBAC5B,SAAS,IAAI,IAAI,CAAC,UAAU,CACxB,UAAU,CAAC,oBAAoB,EAC/B,UAAU,EACV,OAAO,CACV,CAAC;iBACL;aACJ;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAnHD,oCAmHC"}
@@ -15,7 +15,6 @@ declare const _default: {
15
15
  MAIOR: string;
16
16
  METODO: string;
17
17
  NUMERO: string;
18
- NOME_DE_CLASSE: string;
19
18
  PARENTESE_ESQUERDO: string;
20
19
  PARENTESE_DIREITO: string;
21
20
  PERCENTUAL: string;
@@ -17,7 +17,6 @@ exports.default = {
17
17
  MAIOR: "MAIOR",
18
18
  METODO: "METODO",
19
19
  NUMERO: "NUMERO",
20
- NOME_DE_CLASSE: "NOME_DE_CLASSE",
21
20
  PARENTESE_ESQUERDO: "PARENTESE_ESQUERDO",
22
21
  PARENTESE_DIREITO: "PARENTESE_DIREITO",
23
22
  PERCENTUAL: "PERCENTUAL",
@@ -1 +1 @@
1
- {"version":3,"file":"foles.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/foles.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,gBAAgB;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAC,eAAe;IAC7B,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;CACrB,CAAA"}
1
+ {"version":3,"file":"foles.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/foles.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAC,eAAe;IAC7B,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;CACrB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estruturas-html.js","sourceRoot":"","sources":["../../../fontes/tradutores/estruturas-html.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estruturas-lmht.js","sourceRoot":"","sources":["../../../fontes/tradutores/estruturas-lmht.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACxC,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,GAAG,EAAE,CAAC,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC;IAC9D,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1B,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IACpC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,cAAc,CAAC;IACzB,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IACjC,SAAS,EAAE,CAAC,UAAU,CAAC;IACvB,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC7B,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;IACnC,MAAM,EAAE,CAAC,gBAAgB,CAAC;IAC1B,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;IAC/B,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,UAAU,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;IAC7C,UAAU,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;IAC5C,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IACtC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,YAAY,CAAC;IACpB,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC3B,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,IAAI,EAAE,CAAC,kBAAkB,CAAC;IAC1B,IAAI,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAC9C,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IAChC,IAAI,EAAE,CAAC,gBAAgB,CAAC;IACxB,UAAU,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACtD,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IACjC,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5B,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC;IACpC,KAAK,EAAE,CAAC,cAAc,CAAC;IACvB,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,IAAI,EAAE,CAAC,cAAc,CAAC;IACtB,KAAK,EAAE,CAAC,uBAAuB,CAAC;IAChC,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,GAAG,EAAE,CAAC,SAAS,CAAC;IAChB,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAChC,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,CAAC,aAAa,CAAC;IACtB,GAAG,EAAE,CAAC,YAAY,CAAC;IACnB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IACjC,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,OAAO,EAAE,CAAC,eAAe,CAAC;IAC1B,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;CAClC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Declaracao } from "../declaracoes";
2
+ export declare class TradutorReverso {
3
+ traduzir(declaracoes: Declaracao[]): Declaracao[];
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradutorReverso = void 0;
4
+ class TradutorReverso {
5
+ traduzir(declaracoes) {
6
+ for (const declaracao of declaracoes) {
7
+ }
8
+ return [];
9
+ }
10
+ }
11
+ exports.TradutorReverso = TradutorReverso;
12
+ //# sourceMappingURL=tradutor-reverso.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradutor-reverso.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor-reverso.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IACxB,QAAQ,CAAC,WAAyB;QAC9B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;SAErC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AARD,0CAQC"}
@@ -0,0 +1,10 @@
1
+ import { Declaracao } from "../declaracoes";
2
+ export declare class Tradutor {
3
+ linha: number;
4
+ atual: number;
5
+ constructor();
6
+ private calcularPragmasSeletor;
7
+ private calcularPragmasModificador;
8
+ private traduzirSeletorEstrutura;
9
+ traduzir(declaracoes: Declaracao[]): Declaracao[];
10
+ }
@@ -0,0 +1,68 @@
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.Tradutor = void 0;
7
+ const declaracoes_1 = require("../declaracoes");
8
+ const seletor_estruturas_html_1 = require("../estruturas/seletor-estruturas-html");
9
+ const superclasse_1 = require("../modificadores/superclasse");
10
+ const seletores_1 = require("../seletores");
11
+ const metodo_1 = require("../valores/metodos/metodo");
12
+ const estruturas_html_1 = __importDefault(require("./estruturas-html"));
13
+ class Tradutor {
14
+ constructor() {
15
+ this.linha = 1;
16
+ this.atual = 1;
17
+ }
18
+ calcularPragmasSeletor(traducaoSeletor) {
19
+ const novosPragmasSeletor = {
20
+ linha: this.linha,
21
+ colunaInicial: this.atual,
22
+ colunaFinal: this.atual
23
+ };
24
+ this.atual += traducaoSeletor.length;
25
+ novosPragmasSeletor.colunaFinal = this.atual;
26
+ return novosPragmasSeletor;
27
+ }
28
+ calcularPragmasModificador(modificador) {
29
+ const novosPragmasModificador = {
30
+ linha: this.linha,
31
+ colunaInicial: this.atual,
32
+ colunaFinal: this.atual
33
+ };
34
+ this.atual += modificador.propriedadeCss.length;
35
+ novosPragmasModificador.colunaFinal = this.atual;
36
+ return novosPragmasModificador;
37
+ }
38
+ traduzirSeletorEstrutura(seletor) {
39
+ const seletorLmht = seletor.paraTexto();
40
+ const traducaoSeletor = estruturas_html_1.default[seletorLmht];
41
+ const novosPragmasSeletor = this.calcularPragmasSeletor(traducaoSeletor);
42
+ return new seletor_estruturas_html_1.SeletorEstruturasHtml(traducaoSeletor, novosPragmasSeletor);
43
+ }
44
+ traduzir(declaracoes) {
45
+ this.linha = 1;
46
+ this.atual = 1;
47
+ const declaracoesTraduzidas = [];
48
+ for (const declaracao of declaracoes) {
49
+ const seletoresTraduzidos = [];
50
+ const modificadoresTraduzidos = [];
51
+ for (const seletor of declaracao.seletores) {
52
+ this.linha = seletor.pragmas.linha;
53
+ if (seletor instanceof seletores_1.SeletorEstrutura) {
54
+ seletoresTraduzidos.push(this.traduzirSeletorEstrutura(seletor));
55
+ continue;
56
+ }
57
+ }
58
+ for (const modificador of declaracao.modificadores) {
59
+ this.linha = modificador.pragmas.linha;
60
+ modificadoresTraduzidos.push(new superclasse_1.SeletorModificador(Array.isArray(modificador.nomeFoles) ? modificador.nomeFoles[0] : modificador.nomeFoles, modificador.valor instanceof metodo_1.Metodo ? modificador.valor.paraTexto() : modificador.valor, modificador.quantificador, this.calcularPragmasModificador(modificador)));
61
+ }
62
+ declaracoesTraduzidas.push(new declaracoes_1.Declaracao(seletoresTraduzidos, modificadoresTraduzidos, []));
63
+ }
64
+ return declaracoesTraduzidas;
65
+ }
66
+ }
67
+ exports.Tradutor = Tradutor;
68
+ //# sourceMappingURL=tradutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradutor.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DicionarioValores = void 0;
4
4
  const curva_cubica_1 = require("./metodos/curva-cubica");
5
5
  const encaixar_conteudo_1 = require("./metodos/encaixar-conteudo");
6
- const hex_1 = require("./metodos/hex");
6
+ const hexadecimal_cor_1 = require("./metodos/hexadecimal-cor");
7
7
  const hsl_1 = require("./metodos/hsl");
8
8
  const hsla_1 = require("./metodos/hsla");
9
9
  const limitar_1 = require("./metodos/limitar");
@@ -20,7 +20,7 @@ exports.DicionarioValores = {
20
20
  "encaixar-conteúdo": encaixar_conteudo_1.EncaixarConteudo,
21
21
  "hsl": hsl_1.Hsl,
22
22
  "hsla": hsla_1.Hsla,
23
- "hex": hex_1.Hex,
23
+ "hex": hexadecimal_cor_1.HexadecimalCor,
24
24
  "limitar": limitar_1.Limitar,
25
25
  "linear": linear_1.Linear,
26
26
  "minmax": minmax_1.MinMax,
@@ -1 +1 @@
1
- {"version":3,"file":"dicionario-valores.js","sourceRoot":"","sources":["../../../fontes/valores/dicionario-valores.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,mEAA+D;AAC/D,uCAAoC;AACpC,uCAAoC;AACpC,yCAAsC;AACtC,+CAA4C;AAC5C,6CAA0C;AAC1C,6CAA0C;AAC1C,uCAAoC;AACpC,yCAAsC;AACtC,6CAA0C;AAC1C,uCAAoC;AAEvB,QAAA,iBAAiB,GAAiC;IAC3D,cAAc,EAAE,0BAAW;IAC3B,cAAc,EAAE,0BAAW;IAC3B,mBAAmB,EAAE,oCAAgB;IACrC,mBAAmB,EAAE,oCAAgB;IACrC,KAAK,EAAE,SAAG;IACV,MAAM,EAAE,WAAI;IACZ,KAAK,EAAE,SAAG;IACV,SAAS,EAAE,iBAAO;IAClB,QAAQ,EAAE,eAAM;IAChB,QAAQ,EAAE,eAAM;IAChB,QAAQ,EAAE,eAAM;IAChB,KAAK,EAAE,SAAG;IACV,MAAM,EAAE,WAAI;IACZ,KAAK,EAAE,SAAG;CACb,CAAA"}
1
+ {"version":3,"file":"dicionario-valores.js","sourceRoot":"","sources":["../../../fontes/valores/dicionario-valores.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AACrD,mEAA+D;AAC/D,+DAA2D;AAC3D,uCAAoC;AACpC,yCAAsC;AACtC,+CAA4C;AAC5C,6CAA0C;AAC1C,6CAA0C;AAC1C,uCAAoC;AACpC,yCAAsC;AACtC,6CAA0C;AAC1C,uCAAoC;AAEvB,QAAA,iBAAiB,GAAiC;IAC3D,cAAc,EAAE,0BAAW;IAC3B,cAAc,EAAE,0BAAW;IAC3B,mBAAmB,EAAE,oCAAgB;IACrC,mBAAmB,EAAE,oCAAgB;IACrC,KAAK,EAAE,SAAG;IACV,MAAM,EAAE,WAAI;IACZ,KAAK,EAAE,gCAAc;IACrB,SAAS,EAAE,iBAAO;IAClB,QAAQ,EAAE,eAAM;IAChB,QAAQ,EAAE,eAAM;IAChB,QAAQ,EAAE,eAAM;IAChB,KAAK,EAAE,SAAG;IACV,MAAM,EAAE,WAAI;IACZ,KAAK,EAAE,SAAG;CACb,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Metodo } from "./metodo";
2
- export declare class Hex extends Metodo {
2
+ export declare class HexadecimalCor extends Metodo {
3
3
  codigo: string;
4
4
  constructor(codigo: string);
5
5
  paraTexto(): string;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Hex = void 0;
3
+ exports.HexadecimalCor = void 0;
4
4
  const metodo_1 = require("./metodo");
5
- class Hex extends metodo_1.Metodo {
5
+ class HexadecimalCor extends metodo_1.Metodo {
6
6
  constructor(codigo) {
7
7
  super();
8
8
  this.codigo = codigo;
@@ -11,5 +11,5 @@ class Hex extends metodo_1.Metodo {
11
11
  return `#${this.codigo}`;
12
12
  }
13
13
  }
14
- exports.Hex = Hex;
15
- //# sourceMappingURL=hex.js.map
14
+ exports.HexadecimalCor = HexadecimalCor;
15
+ //# sourceMappingURL=hexadecimal-cor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexadecimal-cor.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/hexadecimal-cor.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAElC,MAAa,cAAe,SAAQ,eAAM;IAGtC,YAAY,MAAc;QACtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;CACJ;AAXD,wCAWC"}
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './fontes/foles';
2
2
  export * from './fontes/lexador';
3
3
  export * from './fontes/avaliador-sintatico';
4
- export * from './fontes/tradutor';
4
+ export * from './fontes/serializadores';
package/index.js CHANGED
@@ -17,5 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./fontes/foles"), exports);
18
18
  __exportStar(require("./fontes/lexador"), exports);
19
19
  __exportStar(require("./fontes/avaliador-sintatico"), exports);
20
- __exportStar(require("./fontes/tradutor"), exports);
20
+ __exportStar(require("./fontes/serializadores"), exports);
21
21
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,+DAA6C;AAC7C,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,mDAAiC;AACjC,+DAA6C;AAC7C,0DAAwC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/foles",
3
- "version": "0.4.1",
3
+ "version": "0.5.1",
4
4
  "description": "Linguagem de folhas de estilo para documentos em geral em português",
5
5
  "main": "index.js",
6
6
  "scripts": {