@designliquido/foles 0.9.5 → 0.9.6

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 (123) hide show
  1. package/execucao.js +9 -2
  2. package/execucao.js.map +1 -1
  3. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js +288 -211
  4. package/fontes/avaliador-sintatico/avaliador-sintatico-reverso.js.map +1 -1
  5. package/fontes/avaliador-sintatico/avaliador-sintatico.js +87 -0
  6. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  7. package/fontes/foles.js +5 -4
  8. package/fontes/foles.js.map +1 -1
  9. package/fontes/lexador/palavras-reservadas/css.d.ts +21 -13
  10. package/fontes/lexador/palavras-reservadas/css.js +21 -13
  11. package/fontes/lexador/palavras-reservadas/css.js.map +1 -1
  12. package/fontes/lexador/palavras-reservadas/foles.d.ts +10 -0
  13. package/fontes/lexador/palavras-reservadas/foles.js +10 -0
  14. package/fontes/lexador/palavras-reservadas/foles.js.map +1 -1
  15. package/fontes/modificadores/borda-mascara.js +3 -3
  16. package/fontes/modificadores/caminho-recorte.d.ts +9 -0
  17. package/fontes/modificadores/caminho-recorte.js +39 -0
  18. package/fontes/modificadores/caminho-recorte.js.map +1 -0
  19. package/fontes/modificadores/conteudo.js +2 -2
  20. package/fontes/modificadores/conteudo.js.map +1 -1
  21. package/fontes/modificadores/dicionario/dicionario-modificadores.js +2 -0
  22. package/fontes/modificadores/dicionario/dicionario-modificadores.js.map +1 -1
  23. package/fontes/modificadores/dicionario/dicionario-reverso-modificadores.js +16 -0
  24. package/fontes/modificadores/dicionario/dicionario-reverso-modificadores.js.map +1 -1
  25. package/fontes/modificadores/imagem-fundo.d.ts +2 -1
  26. package/fontes/modificadores/imagem-fundo.js.map +1 -1
  27. package/fontes/modificadores/limite-forma-imagem.js +1 -1
  28. package/fontes/modificadores/sombra-caixa.js.map +1 -1
  29. package/fontes/modificadores/superclasse/modificador.d.ts +2 -1
  30. package/fontes/modificadores/superclasse/modificador.js.map +1 -1
  31. package/fontes/modificadores/superclasse/seletor-modificador.d.ts +2 -1
  32. package/fontes/modificadores/superclasse/seletor-modificador.js.map +1 -1
  33. package/fontes/modificadores/transformar.js +1 -0
  34. package/fontes/modificadores/transformar.js.map +1 -1
  35. package/fontes/modificadores/validacoes/atribuicao-abreviada.d.ts +3 -1
  36. package/fontes/modificadores/validacoes/atribuicao-abreviada.js +18 -6
  37. package/fontes/modificadores/validacoes/atribuicao-abreviada.js.map +1 -1
  38. package/fontes/modificadores/validacoes/comum.d.ts +3 -1
  39. package/fontes/modificadores/validacoes/comum.js +15 -3
  40. package/fontes/modificadores/validacoes/comum.js.map +1 -1
  41. package/fontes/modificadores/validacoes/condicao-extra.d.ts +3 -1
  42. package/fontes/modificadores/validacoes/condicao-extra.js +16 -4
  43. package/fontes/modificadores/validacoes/condicao-extra.js.map +1 -1
  44. package/fontes/modificadores/validacoes/cor.d.ts +2 -1
  45. package/fontes/modificadores/validacoes/cor.js +17 -6
  46. package/fontes/modificadores/validacoes/cor.js.map +1 -1
  47. package/fontes/modificadores/validacoes/fonte.d.ts +3 -1
  48. package/fontes/modificadores/validacoes/fonte.js +15 -3
  49. package/fontes/modificadores/validacoes/fonte.js.map +1 -1
  50. package/fontes/modificadores/validacoes/identificacao-personalizada.d.ts +3 -1
  51. package/fontes/modificadores/validacoes/identificacao-personalizada.js.map +1 -1
  52. package/fontes/modificadores/validacoes/multiplos-qualitativos.d.ts +3 -1
  53. package/fontes/modificadores/validacoes/multiplos-qualitativos.js +27 -16
  54. package/fontes/modificadores/validacoes/multiplos-qualitativos.js.map +1 -1
  55. package/fontes/modificadores/validacoes/numerica.d.ts +3 -1
  56. package/fontes/modificadores/validacoes/numerica.js +21 -9
  57. package/fontes/modificadores/validacoes/numerica.js.map +1 -1
  58. package/fontes/modificadores/validacoes/quantificador.js +3 -3
  59. package/fontes/modificadores/variacao-fonte-alternativa.d.ts +3 -1
  60. package/fontes/modificadores/variacao-fonte-alternativa.js +14 -1
  61. package/fontes/modificadores/variacao-fonte-alternativa.js.map +1 -1
  62. package/fontes/serializadores/serializador.js +39 -22
  63. package/fontes/serializadores/serializador.js.map +1 -1
  64. package/fontes/valores/dicionario-valores.js +18 -0
  65. package/fontes/valores/dicionario-valores.js.map +1 -1
  66. package/fontes/valores/metodos/css/annotation.d.ts +8 -0
  67. package/fontes/valores/metodos/css/annotation.js +25 -0
  68. package/fontes/valores/metodos/css/annotation.js.map +1 -0
  69. package/fontes/valores/metodos/css/character-variant.d.ts +8 -0
  70. package/fontes/valores/metodos/css/character-variant.js +19 -0
  71. package/fontes/valores/metodos/css/character-variant.js.map +1 -0
  72. package/fontes/valores/metodos/css/counter.d.ts +10 -0
  73. package/fontes/valores/metodos/css/counter.js +55 -0
  74. package/fontes/valores/metodos/css/counter.js.map +1 -0
  75. package/fontes/valores/metodos/css/ornaments.d.ts +8 -0
  76. package/fontes/valores/metodos/css/ornaments.js +25 -0
  77. package/fontes/valores/metodos/css/ornaments.js.map +1 -0
  78. package/fontes/valores/metodos/css/rotate3d.d.ts +12 -0
  79. package/fontes/valores/metodos/css/rotate3d.js +26 -0
  80. package/fontes/valores/metodos/css/rotate3d.js.map +1 -0
  81. package/fontes/valores/metodos/css/styleset.d.ts +10 -0
  82. package/fontes/valores/metodos/css/styleset.js +29 -0
  83. package/fontes/valores/metodos/css/styleset.js.map +1 -0
  84. package/fontes/valores/metodos/css/stylistic.d.ts +8 -0
  85. package/fontes/valores/metodos/css/stylistic.js +19 -0
  86. package/fontes/valores/metodos/css/stylistic.js.map +1 -0
  87. package/fontes/valores/metodos/css/swash.d.ts +8 -0
  88. package/fontes/valores/metodos/css/swash.js +19 -0
  89. package/fontes/valores/metodos/css/swash.js.map +1 -0
  90. package/fontes/valores/metodos/foles/anotacao.d.ts +8 -0
  91. package/fontes/valores/metodos/foles/anotacao.js +25 -0
  92. package/fontes/valores/metodos/foles/anotacao.js.map +1 -0
  93. package/fontes/valores/metodos/foles/conjunto-estilos.d.ts +10 -0
  94. package/fontes/valores/metodos/foles/conjunto-estilos.js +29 -0
  95. package/fontes/valores/metodos/foles/conjunto-estilos.js.map +1 -0
  96. package/fontes/valores/metodos/foles/contador.d.ts +10 -0
  97. package/fontes/valores/metodos/foles/contador.js +70 -0
  98. package/fontes/valores/metodos/foles/contador.js.map +1 -0
  99. package/fontes/valores/metodos/foles/espirrar.d.ts +8 -0
  100. package/fontes/valores/metodos/foles/espirrar.js +19 -0
  101. package/fontes/valores/metodos/foles/espirrar.js.map +1 -0
  102. package/fontes/valores/metodos/foles/estilistico.d.ts +8 -0
  103. package/fontes/valores/metodos/foles/estilistico.js +19 -0
  104. package/fontes/valores/metodos/foles/estilistico.js.map +1 -0
  105. package/fontes/valores/metodos/foles/ornamentos.d.ts +8 -0
  106. package/fontes/valores/metodos/foles/ornamentos.js +25 -0
  107. package/fontes/valores/metodos/foles/ornamentos.js.map +1 -0
  108. package/fontes/valores/metodos/foles/rotacionar-3d.d.ts +12 -0
  109. package/fontes/valores/metodos/foles/rotacionar-3d.js +29 -0
  110. package/fontes/valores/metodos/foles/rotacionar-3d.js.map +1 -0
  111. package/fontes/valores/metodos/foles/variar-caractere.d.ts +8 -0
  112. package/fontes/valores/metodos/foles/variar-caractere.js +19 -0
  113. package/fontes/valores/metodos/foles/variar-caractere.js.map +1 -0
  114. package/package.json +1 -1
  115. package/testes/modificadores/atribuicao-abreviada.test.js.map +1 -1
  116. package/testes/modificadores/metodos-reversos.test.js +69 -0
  117. package/testes/modificadores/metodos-reversos.test.js.map +1 -1
  118. package/testes/modificadores/metodos.test.js +545 -0
  119. package/testes/modificadores/metodos.test.js.map +1 -1
  120. package/testes/serializador.test.js +102 -6
  121. package/testes/serializador.test.js.map +1 -1
  122. package/testes/tradutor.test.js +1 -1
  123. package/testes/tradutor.test.js.map +1 -1
package/execucao.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const commander_1 = require("commander");
3
4
  const exportador_1 = require("./fontes/exportador");
4
5
  const foles_1 = require("./fontes/foles");
5
- const commander_1 = require("commander");
6
6
  const principal = () => {
7
7
  const analisadorArgumentos = new commander_1.Command();
8
8
  let nomeArquivo;
@@ -10,8 +10,9 @@ const principal = () => {
10
10
  .helpOption('-?, --ajuda', 'Exibe a ajuda para o comando.')
11
11
  .argument('[arquivos...]', 'Nomes dos arquivos (opcional)')
12
12
  .option('-a, --aninhamento', 'Gera CSS com aninhamento. Não recomendado usar se o CSS executar em navegadores antigos.', false)
13
- .option('-m, --mapas', 'Gera CSS com mapas de fontes.', true)
14
13
  .option('-c, --console', 'Escreve a saída da tradução em console.', null)
14
+ .option('-m, --mapas', 'Gera CSS com mapas de fontes.', true)
15
+ .option('-v, --versao', 'Imprime o número da versão atual de FolEs', false)
15
16
  .action((arquivos) => {
16
17
  if (arquivos.length > 0) {
17
18
  nomeArquivo = arquivos[0];
@@ -19,6 +20,12 @@ const principal = () => {
19
20
  });
20
21
  analisadorArgumentos.parse();
21
22
  const opcoes = analisadorArgumentos.opts();
23
+ if (opcoes.versao) {
24
+ const informacoesPacote = require('./package.json');
25
+ const versao = informacoesPacote.version;
26
+ console.log(versao);
27
+ return;
28
+ }
22
29
  if (!nomeArquivo) {
23
30
  console.error('Favor informar nome do arquivo a ser traduzido.');
24
31
  process.exit(70);
package/execucao.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;AAAA,oDAAiD;AACjD,0CAAuC;AACvC,yCAAoC;AAEpC,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,aAAa,EACb,+BAA+B,EAC/B,IAAI,CACP;SACA,MAAM,CACH,eAAe,EACf,yCAAyC,EACzC,IAAI,CACP;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,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;QAClF,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAED,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AAEpC,oDAAiD;AACjD,0CAAuC;AAEvC,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;QAClF,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAED,SAAS,EAAE,CAAC"}
@@ -119,6 +119,11 @@ class AvaliadorSintaticoReverso {
119
119
  // TODO: Implementar lógica para resolver método
120
120
  resolverMetodo(lexema) {
121
121
  switch (lexema) {
122
+ case "annotation":
123
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'annotation'.");
124
+ const valorAnotacao = this.avancarEDevolverAnterior();
125
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumento do método annotation.");
126
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorAnotacao]);
122
127
  case "blur":
123
128
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'blur'.");
124
129
  const valorBorrar = this.avancarEDevolverAnterior();
@@ -164,6 +169,30 @@ class AvaliadorSintaticoReverso {
164
169
  valorCalc2,
165
170
  quantificadorCalc2,
166
171
  ]);
172
+ case "character-variant":
173
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'character-variant'.");
174
+ const valorVariarCaractere = this.avancarEDevolverAnterior();
175
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumento do método character-variant.");
176
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorVariarCaractere]);
177
+ case "clamp":
178
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'clamp'.");
179
+ const valorMin = this.avancarEDevolverAnterior();
180
+ const quantificadorMin = this.avancarEDevolverAnterior();
181
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'clamp'.");
182
+ const valorMed = this.avancarEDevolverAnterior();
183
+ const quantificadorMed = this.avancarEDevolverAnterior();
184
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método 'clamp'.");
185
+ const valorMax = this.avancarEDevolverAnterior();
186
+ const quantificadorMax = this.avancarEDevolverAnterior();
187
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método clamp.");
188
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
189
+ valorMin,
190
+ quantificadorMin,
191
+ valorMed,
192
+ quantificadorMed,
193
+ valorMax,
194
+ quantificadorMax,
195
+ ]);
167
196
  case "contrast":
168
197
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'contrast'.");
169
198
  const valorContraste = this.avancarEDevolverAnterior();
@@ -179,6 +208,19 @@ class AvaliadorSintaticoReverso {
179
208
  valorContraste,
180
209
  quantificadorContraste,
181
210
  ]);
211
+ case "counter":
212
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'counter'.");
213
+ const nomeCounter = this.avancarEDevolverAnterior();
214
+ let estiloCounter = null;
215
+ if (this.simbolos[this.atual].tipo === "VIRGULA") {
216
+ this.consumir(css_1.default.VIRGULA, "Esperada vírgula após primeiro parâmetro do método 'counter'.");
217
+ estiloCounter = this.avancarEDevolverAnterior();
218
+ }
219
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'counter'.");
220
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
221
+ nomeCounter,
222
+ estiloCounter,
223
+ ]);
182
224
  case "cubic-bezier":
183
225
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'cubic-bezier'.");
184
226
  const parametro1 = this.avancarEDevolverAnterior();
@@ -195,6 +237,39 @@ class AvaliadorSintaticoReverso {
195
237
  parametro3,
196
238
  parametro4,
197
239
  ]);
240
+ case "drop-shadow":
241
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'drop-shadow'.");
242
+ let corSombra = null;
243
+ if (this.simbolos[this.atual].tipo === "QUALITATIVO") {
244
+ corSombra = this.avancarEDevolverAnterior();
245
+ }
246
+ const valorSombra1 = this.avancarEDevolverAnterior();
247
+ const quantificadorSombra1 = this.avancarEDevolverAnterior();
248
+ const valorSombra2 = this.avancarEDevolverAnterior();
249
+ const quantificadorSombra2 = this.avancarEDevolverAnterior();
250
+ let valorSombra3;
251
+ let quantificadorSombra3;
252
+ if (this.simbolos[this.atual].tipo === "NUMERO") {
253
+ valorSombra3 = this.avancarEDevolverAnterior();
254
+ quantificadorSombra3 = this.avancarEDevolverAnterior();
255
+ }
256
+ else {
257
+ valorSombra3 = null;
258
+ quantificadorSombra3 = null;
259
+ }
260
+ if (this.simbolos[this.atual].tipo === "QUALITATIVO") {
261
+ corSombra = this.avancarEDevolverAnterior();
262
+ }
263
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'drop-shadow'.");
264
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
265
+ valorSombra1,
266
+ quantificadorSombra1,
267
+ valorSombra2,
268
+ quantificadorSombra2,
269
+ valorSombra3,
270
+ quantificadorSombra3,
271
+ corSombra,
272
+ ]);
198
273
  case "fit-content":
199
274
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'fit-content'.");
200
275
  const valorFit = this.avancarEDevolverAnterior();
@@ -219,44 +294,62 @@ class AvaliadorSintaticoReverso {
219
294
  valorEscala,
220
295
  quantificadorEscala,
221
296
  ]);
222
- case "scale":
223
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scale'.");
224
- const valorScale1 = this.avancarEDevolverAnterior();
225
- let valorScale2;
226
- if (this.simbolos[this.atual].tipo === "VIRGULA") {
227
- this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método scale.");
228
- valorScale2 = this.avancarEDevolverAnterior();
297
+ case "hsl":
298
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'hsl'.");
299
+ const HdeHSL = this.avancarEDevolverAnterior();
300
+ const SdeHSL = this.avancarEDevolverAnterior();
301
+ this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de saturação (S) no método 'hsl'.");
302
+ const LdeHSL = this.avancarEDevolverAnterior();
303
+ this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de luminosidade (L) no método 'hsl'.");
304
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'hsl'.");
305
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
306
+ HdeHSL,
307
+ SdeHSL,
308
+ LdeHSL,
309
+ ]);
310
+ case "hsla":
311
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'hsla'.");
312
+ const HdeHSLA = this.avancarEDevolverAnterior();
313
+ const SdeHSLA = this.avancarEDevolverAnterior();
314
+ this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de saturação (S) no método 'hsla'.");
315
+ const LdeHSLA = this.avancarEDevolverAnterior();
316
+ this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de luminosidade (L) no método 'hsla'.");
317
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumentos de método 'hsla'.");
318
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
319
+ HdeHSLA,
320
+ SdeHSLA,
321
+ LdeHSLA,
322
+ ]);
323
+ case "hue-rotate":
324
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'hue-rotate'.");
325
+ const valorRotacao = this.avancarEDevolverAnterior();
326
+ let quantificadorRotacao;
327
+ if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
328
+ quantificadorRotacao = this.avancarEDevolverAnterior();
229
329
  }
230
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scale.");
231
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScale1, valorScale2], true);
232
- case "scale3d":
233
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scale3d'.");
234
- const valorScale3d1 = this.avancarEDevolverAnterior();
235
- this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método scale3d.");
236
- const valorScale3d2 = this.avancarEDevolverAnterior();
237
- this.consumir(css_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método scale3d.");
238
- const valorScale3d3 = this.avancarEDevolverAnterior();
239
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scale3d.");
330
+ else {
331
+ quantificadorRotacao = null;
332
+ }
333
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'hue-rotate'.");
240
334
  return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
241
- valorScale3d1,
242
- valorScale3d2,
243
- valorScale3d3,
335
+ valorRotacao,
336
+ quantificadorRotacao,
337
+ ]);
338
+ case "invert":
339
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'invert'.");
340
+ const valorInverter = this.avancarEDevolverAnterior();
341
+ let quantificadorInverter;
342
+ if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
343
+ quantificadorInverter = this.avancarEDevolverAnterior();
344
+ }
345
+ else {
346
+ quantificadorInverter = null;
347
+ }
348
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'invert'.");
349
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
350
+ valorInverter,
351
+ quantificadorInverter,
244
352
  ]);
245
- case "scaleZ":
246
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scaleZ'.");
247
- const valorScaleZ = this.avancarEDevolverAnterior();
248
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scaleZ.");
249
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScaleZ]);
250
- case "scaleX":
251
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scaleX'.");
252
- const valorScaleX = this.avancarEDevolverAnterior();
253
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scaleX.");
254
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScaleX]);
255
- case "scaleY":
256
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scaleY'.");
257
- const valorScaleY = this.avancarEDevolverAnterior();
258
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scaleY.");
259
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScaleY]);
260
353
  case "linear-gradient":
261
354
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'linear-gradient'.");
262
355
  const valorAngulo = this.avancarEDevolverAnterior();
@@ -313,124 +406,6 @@ class AvaliadorSintaticoReverso {
313
406
  cor1,
314
407
  cor2,
315
408
  ]);
316
- case "hsl":
317
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'hsl'.");
318
- const HdeHSL = this.avancarEDevolverAnterior();
319
- const SdeHSL = this.avancarEDevolverAnterior();
320
- this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de saturação (S) no método 'hsl'.");
321
- const LdeHSL = this.avancarEDevolverAnterior();
322
- this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de luminosidade (L) no método 'hsl'.");
323
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'hsl'.");
324
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
325
- HdeHSL,
326
- SdeHSL,
327
- LdeHSL,
328
- ]);
329
- case "hsla":
330
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'hsla'.");
331
- const HdeHSLA = this.avancarEDevolverAnterior();
332
- const SdeHSLA = this.avancarEDevolverAnterior();
333
- this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de saturação (S) no método 'hsla'.");
334
- const LdeHSLA = this.avancarEDevolverAnterior();
335
- this.consumir(css_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de luminosidade (L) no método 'hsla'.");
336
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumentos de método 'hsla'.");
337
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
338
- HdeHSLA,
339
- SdeHSLA,
340
- LdeHSLA,
341
- ]);
342
- case "skew":
343
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'skew'.");
344
- const valorInclinar1 = this.avancarEDevolverAnterior();
345
- let quantificadorInclinar1;
346
- if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
347
- quantificadorInclinar1 = this.avancarEDevolverAnterior();
348
- }
349
- else {
350
- quantificadorInclinar1 = null;
351
- }
352
- let valorInclinar2;
353
- let quantificadorInclinar2;
354
- if (this.simbolos[this.atual].tipo === "VIRGULA") {
355
- this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'skew'.");
356
- valorInclinar2 = this.avancarEDevolverAnterior();
357
- quantificadorInclinar2 = this.avancarEDevolverAnterior();
358
- }
359
- else {
360
- valorInclinar2 = null;
361
- quantificadorInclinar2 = null;
362
- }
363
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'skew'.");
364
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
365
- valorInclinar1,
366
- quantificadorInclinar1,
367
- valorInclinar2,
368
- quantificadorInclinar2,
369
- ]);
370
- case "skewX":
371
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'skewX'.");
372
- const valorInclinarX = this.avancarEDevolverAnterior();
373
- let quantificadorInclinarX;
374
- if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
375
- quantificadorInclinarX = this.avancarEDevolverAnterior();
376
- }
377
- else {
378
- quantificadorInclinarX = null;
379
- }
380
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'skewX'.");
381
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
382
- valorInclinarX,
383
- quantificadorInclinarX,
384
- ]);
385
- case "skewY":
386
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'skewY'.");
387
- const valorInclinarY = this.avancarEDevolverAnterior();
388
- let quantificadorInclinarY;
389
- if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
390
- quantificadorInclinarY = this.avancarEDevolverAnterior();
391
- }
392
- else {
393
- quantificadorInclinarY = null;
394
- }
395
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'skewY'.");
396
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
397
- valorInclinarY,
398
- quantificadorInclinarY,
399
- ]);
400
- case "invert":
401
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'invert'.");
402
- const valorInverter = this.avancarEDevolverAnterior();
403
- let quantificadorInverter;
404
- if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
405
- quantificadorInverter = this.avancarEDevolverAnterior();
406
- }
407
- else {
408
- quantificadorInverter = null;
409
- }
410
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'invert'.");
411
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
412
- valorInverter,
413
- quantificadorInverter,
414
- ]);
415
- case "clamp":
416
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'clamp'.");
417
- const valorMin = this.avancarEDevolverAnterior();
418
- const quantificadorMin = this.avancarEDevolverAnterior();
419
- this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'clamp'.");
420
- const valorMed = this.avancarEDevolverAnterior();
421
- const quantificadorMed = this.avancarEDevolverAnterior();
422
- this.consumir(css_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método 'clamp'.");
423
- const valorMax = this.avancarEDevolverAnterior();
424
- const quantificadorMax = this.avancarEDevolverAnterior();
425
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método clamp.");
426
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
427
- valorMin,
428
- quantificadorMin,
429
- valorMed,
430
- quantificadorMed,
431
- valorMax,
432
- quantificadorMax,
433
- ]);
434
409
  case "linear":
435
410
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'linear'.");
436
411
  const valor1 = this.avancarEDevolverAnterior();
@@ -484,16 +459,11 @@ class AvaliadorSintaticoReverso {
484
459
  }
485
460
  this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'opacity'.");
486
461
  return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorOpaco, quantificadorOpaco], true);
487
- case "steps":
488
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'steps'.");
489
- const valorNumerico = this.avancarEDevolverAnterior();
490
- this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método steps.");
491
- const termoSalto = this.avancarEDevolverAnterior();
492
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método steps.");
493
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
494
- valorNumerico,
495
- termoSalto,
496
- ]);
462
+ case "ornaments":
463
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'ornaments'.");
464
+ const valorOrnaments = this.avancarEDevolverAnterior();
465
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumento do método ornaments.");
466
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorOrnaments]);
497
467
  case "perspective":
498
468
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'perspective'.");
499
469
  const valorPerspectivar = this.avancarEDevolverAnterior();
@@ -506,39 +476,6 @@ class AvaliadorSintaticoReverso {
506
476
  }
507
477
  this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'perspective'.");
508
478
  return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorPerspectivar, quantificadorPerspectivar], true);
509
- case "drop-shadow":
510
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'drop-shadow'.");
511
- let corSombra = null;
512
- if (this.simbolos[this.atual].tipo === "QUALITATIVO") {
513
- corSombra = this.avancarEDevolverAnterior();
514
- }
515
- const valorSombra1 = this.avancarEDevolverAnterior();
516
- const quantificadorSombra1 = this.avancarEDevolverAnterior();
517
- const valorSombra2 = this.avancarEDevolverAnterior();
518
- const quantificadorSombra2 = this.avancarEDevolverAnterior();
519
- let valorSombra3;
520
- let quantificadorSombra3;
521
- if (this.simbolos[this.atual].tipo === "NUMERO") {
522
- valorSombra3 = this.avancarEDevolverAnterior();
523
- quantificadorSombra3 = this.avancarEDevolverAnterior();
524
- }
525
- else {
526
- valorSombra3 = null;
527
- quantificadorSombra3 = null;
528
- }
529
- if (this.simbolos[this.atual].tipo === "QUALITATIVO") {
530
- corSombra = this.avancarEDevolverAnterior();
531
- }
532
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'drop-shadow'.");
533
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
534
- valorSombra1,
535
- quantificadorSombra1,
536
- valorSombra2,
537
- quantificadorSombra2,
538
- valorSombra3,
539
- quantificadorSombra3,
540
- corSombra,
541
- ]);
542
479
  case "ray":
543
480
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'ray'.");
544
481
  let posicaoRaio;
@@ -590,6 +527,30 @@ class AvaliadorSintaticoReverso {
590
527
  }
591
528
  this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'rotate'.");
592
529
  return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorRotacionar, quantificadorRotacionar], true);
530
+ case "rotate3d":
531
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotate3d'.");
532
+ const valor1Rotacionar3d = this.avancarEDevolverAnterior();
533
+ this.consumir(css_1.default.VIRGULA, "Esperada vírgula após primeiro parâmetro do método 'rotate3d'.");
534
+ const valor2Rotacionar3d = this.avancarEDevolverAnterior();
535
+ this.consumir(css_1.default.VIRGULA, "Esperada vírgula após segundo parâmetro do método 'rotate3d'.");
536
+ const valor3Rotacionar3d = this.avancarEDevolverAnterior();
537
+ this.consumir(css_1.default.VIRGULA, "Esperada vírgula após terceiro parâmetro do método 'rotate3d'.");
538
+ const valor4Rotacionar3d = this.avancarEDevolverAnterior();
539
+ let quantificadorRotacionar3d;
540
+ if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
541
+ quantificadorRotacionar3d = this.avancarEDevolverAnterior();
542
+ }
543
+ else {
544
+ quantificadorRotacionar3d = null;
545
+ }
546
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'rotate3d'.");
547
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
548
+ valor1Rotacionar3d,
549
+ valor2Rotacionar3d,
550
+ valor3Rotacionar3d,
551
+ valor4Rotacionar3d,
552
+ quantificadorRotacionar3d,
553
+ ]);
593
554
  case "rotateZ":
594
555
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotateZ'.");
595
556
  const valorRotacionarZ = this.avancarEDevolverAnterior();
@@ -620,21 +581,6 @@ class AvaliadorSintaticoReverso {
620
581
  valorRotacionarX,
621
582
  quantificadorRotacionarX,
622
583
  ]);
623
- case "hue-rotate":
624
- this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'hue-rotate'.");
625
- const valorRotacao = this.avancarEDevolverAnterior();
626
- let quantificadorRotacao;
627
- if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
628
- quantificadorRotacao = this.avancarEDevolverAnterior();
629
- }
630
- else {
631
- quantificadorRotacao = null;
632
- }
633
- this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'hue-rotate'.");
634
- return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
635
- valorRotacao,
636
- quantificadorRotacao,
637
- ]);
638
584
  case "rotateY":
639
585
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotateY'.");
640
586
  const valorRotacionarY = this.avancarEDevolverAnterior();
@@ -665,6 +611,44 @@ class AvaliadorSintaticoReverso {
665
611
  valorSaturar,
666
612
  quantificadorSaturar,
667
613
  ]);
614
+ case "scale":
615
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scale'.");
616
+ const valorScale1 = this.avancarEDevolverAnterior();
617
+ let valorScale2;
618
+ if (this.simbolos[this.atual].tipo === "VIRGULA") {
619
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método scale.");
620
+ valorScale2 = this.avancarEDevolverAnterior();
621
+ }
622
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scale.");
623
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScale1, valorScale2], true);
624
+ case "scale3d":
625
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scale3d'.");
626
+ const valorScale3d1 = this.avancarEDevolverAnterior();
627
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método scale3d.");
628
+ const valorScale3d2 = this.avancarEDevolverAnterior();
629
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método scale3d.");
630
+ const valorScale3d3 = this.avancarEDevolverAnterior();
631
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scale3d.");
632
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
633
+ valorScale3d1,
634
+ valorScale3d2,
635
+ valorScale3d3,
636
+ ]);
637
+ case "scaleZ":
638
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scaleZ'.");
639
+ const valorScaleZ = this.avancarEDevolverAnterior();
640
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scaleZ.");
641
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScaleZ]);
642
+ case "scaleX":
643
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scaleX'.");
644
+ const valorScaleX = this.avancarEDevolverAnterior();
645
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scaleX.");
646
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScaleX]);
647
+ case "scaleY":
648
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'scaleY'.");
649
+ const valorScaleY = this.avancarEDevolverAnterior();
650
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método scaleY.");
651
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorScaleY]);
668
652
  case "sepia":
669
653
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'sepia'.");
670
654
  const valorSepia = this.avancarEDevolverAnterior();
@@ -680,6 +664,99 @@ class AvaliadorSintaticoReverso {
680
664
  valorSepia,
681
665
  quantificadorSepia,
682
666
  ]);
667
+ case "skew":
668
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'skew'.");
669
+ const valorInclinar1 = this.avancarEDevolverAnterior();
670
+ let quantificadorInclinar1;
671
+ if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
672
+ quantificadorInclinar1 = this.avancarEDevolverAnterior();
673
+ }
674
+ else {
675
+ quantificadorInclinar1 = null;
676
+ }
677
+ let valorInclinar2;
678
+ let quantificadorInclinar2;
679
+ if (this.simbolos[this.atual].tipo === "VIRGULA") {
680
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'skew'.");
681
+ valorInclinar2 = this.avancarEDevolverAnterior();
682
+ quantificadorInclinar2 = this.avancarEDevolverAnterior();
683
+ }
684
+ else {
685
+ valorInclinar2 = null;
686
+ quantificadorInclinar2 = null;
687
+ }
688
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'skew'.");
689
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
690
+ valorInclinar1,
691
+ quantificadorInclinar1,
692
+ valorInclinar2,
693
+ quantificadorInclinar2,
694
+ ]);
695
+ case "skewX":
696
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'skewX'.");
697
+ const valorInclinarX = this.avancarEDevolverAnterior();
698
+ let quantificadorInclinarX;
699
+ if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
700
+ quantificadorInclinarX = this.avancarEDevolverAnterior();
701
+ }
702
+ else {
703
+ quantificadorInclinarX = null;
704
+ }
705
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'skewX'.");
706
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
707
+ valorInclinarX,
708
+ quantificadorInclinarX,
709
+ ]);
710
+ case "skewY":
711
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'skewY'.");
712
+ const valorInclinarY = this.avancarEDevolverAnterior();
713
+ let quantificadorInclinarY;
714
+ if (this.simbolos[this.atual].tipo === "QUANTIFICADOR") {
715
+ quantificadorInclinarY = this.avancarEDevolverAnterior();
716
+ }
717
+ else {
718
+ quantificadorInclinarY = null;
719
+ }
720
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'skewY'.");
721
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
722
+ valorInclinarY,
723
+ quantificadorInclinarY,
724
+ ]);
725
+ case "steps":
726
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'steps'.");
727
+ const valorNumerico = this.avancarEDevolverAnterior();
728
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método steps.");
729
+ const termoSalto = this.avancarEDevolverAnterior();
730
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método steps.");
731
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [
732
+ valorNumerico,
733
+ termoSalto,
734
+ ]);
735
+ case "styleset":
736
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'styleset'.");
737
+ const valor1ConjuntoEstilos = this.avancarEDevolverAnterior();
738
+ let valor2ConjuntoEstilos;
739
+ if (this.simbolos[this.atual].tipo === "VIRGULA") {
740
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método styleset.");
741
+ valor2ConjuntoEstilos = this.avancarEDevolverAnterior();
742
+ }
743
+ let valor3ConjuntoEstilos;
744
+ if (this.simbolos[this.atual].tipo === "VIRGULA") {
745
+ this.consumir(css_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método styleset.");
746
+ valor3ConjuntoEstilos = this.avancarEDevolverAnterior();
747
+ }
748
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumento do método styleset.");
749
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valor1ConjuntoEstilos, valor2ConjuntoEstilos, valor3ConjuntoEstilos]);
750
+ case "stylistic":
751
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'stylistic'.");
752
+ const valorEstilistico = this.avancarEDevolverAnterior();
753
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumento do método stylistic.");
754
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorEstilistico]);
755
+ case "swash":
756
+ this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'swash'.");
757
+ const valorEspirrar = this.avancarEDevolverAnterior();
758
+ this.consumir(css_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumento do método swash.");
759
+ return new seletor_valor_reverso_1.SeletorValorReverso(lexema, [valorEspirrar]);
683
760
  case "translate":
684
761
  this.consumir(css_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translate'.");
685
762
  const valorTranslacao1 = this.avancarEDevolverAnterior();