@designliquido/foles 0.1.0 → 0.1.2

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.
@@ -11,8 +11,9 @@ export declare class AvaliadorSintatico {
11
11
  avancarEDevolverAnterior(): Simbolo;
12
12
  verificarTipoSimboloAtual(tipo: string): boolean;
13
13
  consumir(tipo: string, mensagemDeErro: string): Simbolo;
14
- declaracaoPorSeletor(): Declaracao;
14
+ declaracaoPorSeletor(lexema: string): Declaracao;
15
15
  declaracaoPorEstrutura(): Declaracao;
16
+ declaracaoDeclaracao(placeholder?: string): Declaracao;
16
17
  declaracao(): any;
17
18
  analisar(simbolos: Simbolo[]): Declaracao[];
18
19
  }
@@ -35,12 +35,16 @@ class AvaliadorSintatico {
35
35
  return this.avancarEDevolverAnterior();
36
36
  throw this.erro(this.simbolos[this.atual], mensagemDeErro);
37
37
  }
38
- declaracaoPorSeletor() {
39
- // TODO @Vitor: Pensar lógica para seletor de classes.
40
- return null;
38
+ declaracaoPorSeletor(lexema) {
39
+ return this.declaracaoDeclaracao(lexema);
41
40
  }
42
41
  declaracaoPorEstrutura() {
43
- const simboloSeletor = this.avancarEDevolverAnterior();
42
+ return this.declaracaoDeclaracao();
43
+ }
44
+ declaracaoDeclaracao(placeholder = null) {
45
+ let simboloSeletor = this.avancarEDevolverAnterior();
46
+ if (placeholder)
47
+ simboloSeletor = this.avancarEDevolverAnterior();
44
48
  this.consumir(foles_1.default.CHAVE_ESQUERDA, "Esperado '{' após declaração de seletor.");
45
49
  const modificadores = [];
46
50
  while (!this.verificarTipoSimboloAtual(foles_1.default.CHAVE_DIREITA)) {
@@ -53,7 +57,7 @@ class AvaliadorSintatico {
53
57
  modificadores.push(classeModificadora);
54
58
  }
55
59
  this.avancarEDevolverAnterior(); // chave direita
56
- return new declaracoes_1.Declaracao(simboloSeletor.lexema, modificadores);
60
+ return new declaracoes_1.Declaracao(simboloSeletor.lexema, modificadores, placeholder);
57
61
  }
58
62
  declaracao() {
59
63
  if (this.estaNoFinal())
@@ -64,8 +68,12 @@ class AvaliadorSintatico {
64
68
  switch (simboloAtual.tipo) {
65
69
  case foles_1.default.ESTRUTURA:
66
70
  return this.declaracaoPorEstrutura();
67
- case foles_1.default.IDENTIFICADOR:
68
- return this.declaracaoPorSeletor();
71
+ case foles_1.default.PERCENTUAL:
72
+ return this.declaracaoPorSeletor(simboloAtual.lexema);
73
+ case foles_1.default.NOME_DE_CLASSE:
74
+ return this.declaracaoPorSeletor(simboloAtual.lexema);
75
+ case foles_1.default.ID_DO_ELEMENTO:
76
+ return this.declaracaoPorSeletor(simboloAtual.lexema);
69
77
  }
70
78
  }
71
79
  analisar(simbolos) {
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import { Modificador } from "../modificadores";
2
2
  export declare class Declaracao {
3
3
  seletor: string;
4
4
  modificadores: Modificador[];
5
- constructor(seletor: string, modificadores: Modificador[]);
5
+ placeholder?: string;
6
+ constructor(seletor: string, modificadores: Modificador[], placeholder?: string);
6
7
  }
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Declaracao = void 0;
4
4
  class Declaracao {
5
- constructor(seletor, modificadores) {
5
+ constructor(seletor, modificadores, placeholder = null) {
6
6
  this.seletor = seletor;
7
7
  this.modificadores = modificadores;
8
+ this.placeholder = placeholder;
8
9
  }
9
10
  }
10
11
  exports.Declaracao = Declaracao;
@@ -1 +1 @@
1
- {"version":3,"file":"declaracao.js","sourceRoot":"","sources":["../../../fontes/declaracoes/declaracao.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAInB,YAAY,OAAe,EAAE,aAA4B;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AARD,gCAQC"}
1
+ {"version":3,"file":"declaracao.js","sourceRoot":"","sources":["../../../fontes/declaracoes/declaracao.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAKnB,YAAY,OAAe,EAAE,aAA4B,EAAE,cAAsB,IAAI;QACjF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ;AAVD,gCAUC"}
package/fontes/foles.d.ts CHANGED
@@ -2,7 +2,8 @@ import { AvaliadorSintatico } from "./avaliador-sintatico";
2
2
  import { AvaliadorSintaticoReverso } from './avaliador-sintatico/avaliador-sintatico-reverso';
3
3
  import { Lexador } from "./lexador";
4
4
  import { LexadorReverso } from './lexador/lexador-reverso';
5
- import { Tradutor, TradutorReverso } from "./tradutor";
5
+ import { Tradutor } from "./tradutor";
6
+ import { TradutorReverso } from './tradutor/tradutor-reverso';
6
7
  export declare class FolEs {
7
8
  lexador: Lexador;
8
9
  lexadorReverso: LexadorReverso;
package/fontes/foles.js CHANGED
@@ -30,6 +30,7 @@ const avaliador_sintatico_reverso_1 = require("./avaliador-sintatico/avaliador-s
30
30
  const lexador_1 = require("./lexador");
31
31
  const lexador_reverso_1 = require("./lexador/lexador-reverso");
32
32
  const tradutor_1 = require("./tradutor");
33
+ const tradutor_reverso_1 = require("./tradutor/tradutor-reverso");
33
34
  class FolEs {
34
35
  constructor() {
35
36
  this.lexador = new lexador_1.Lexador();
@@ -37,7 +38,7 @@ class FolEs {
37
38
  this.avaliadorSintatico = new avaliador_sintatico_1.AvaliadorSintatico();
38
39
  this.avaliadorSintaticoReverso = new avaliador_sintatico_reverso_1.AvaliadorSintaticoReverso();
39
40
  this.tradutor = new tradutor_1.Tradutor();
40
- this.tradutorReverso = new tradutor_1.TradutorReverso();
41
+ this.tradutorReverso = new tradutor_reverso_1.TradutorReverso();
41
42
  }
42
43
  converterParaCss(nomeArquivo) {
43
44
  const dadosDoArquivo = arquivos.readFileSync(nomeArquivo);
@@ -45,7 +46,9 @@ class FolEs {
45
46
  .toString()
46
47
  .split('\n');
47
48
  const resultadoLexador = this.lexador.mapear(conteudoDoArquivo);
49
+ // console.log(resultadoLexador);
48
50
  const resultadoAvaliadorSintatico = this.avaliadorSintatico.analisar(resultadoLexador.simbolos);
51
+ // console.log(resultadoAvaliadorSintatico);
49
52
  const traducao = this.tradutor.traduzir(resultadoAvaliadorSintatico);
50
53
  console.log(traducao);
51
54
  }
@@ -61,4 +64,6 @@ class FolEs {
61
64
  }
62
65
  }
63
66
  exports.FolEs = FolEs;
67
+ // const teste = new FolEs();
68
+ // teste.converterParaCss('../exemplos/exemplo.foles');
64
69
  //# sourceMappingURL=foles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"foles.js","sourceRoot":"","sources":["../../fontes/foles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAE/B,+DAA2D;AAC3D,mGAA8F;AAC9F,uCAAoC;AACpC,+DAA2D;AAC3D,yCAAuD;AAEvD,MAAa,KAAK;IAQd;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,yBAAyB,GAAG,IAAI,uDAAyB,EAAE,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,0BAAe,EAAE,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAChC,MAAM,cAAc,GAAW,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAa,cAAc;aAC7C,QAAQ,EAAE;aACV,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,kBAAkB,CAAC,WAAmB;QAClC,MAAM,cAAc,GAAW,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAa,cAAc;aAC7C,QAAQ,EAAE;aACV,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9E,MAAM,kCAAkC,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACrH,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAC1F,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AAxCD,sBAwCC"}
1
+ {"version":3,"file":"foles.js","sourceRoot":"","sources":["../../fontes/foles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAE/B,+DAA2D;AAC3D,mGAA8F;AAC9F,uCAAoC;AACpC,+DAA2D;AAC3D,yCAAsC;AACtC,kEAA8D;AAE9D,MAAa,KAAK;IAQd;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,yBAAyB,GAAG,IAAI,uDAAyB,EAAE,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,EAAE,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAChC,MAAM,cAAc,GAAW,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAa,cAAc;aAC7C,QAAQ,EAAE;aACV,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChE,iCAAiC;QACjC,MAAM,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChG,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED,kBAAkB,CAAC,WAAmB;QAClC,MAAM,cAAc,GAAW,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAa,cAAc;aAC7C,QAAQ,EAAE;aACV,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjB,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9E,MAAM,kCAAkC,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACrH,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAC1F,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AA1CD,sBA0CC;AAED,6BAA6B;AAC7B,uDAAuD"}
@@ -22,7 +22,7 @@ export declare class Lexador {
22
22
  eDigito(caractere: string): boolean;
23
23
  eAlfabetoOuDigito(caractere: any): boolean;
24
24
  avancar(): void;
25
- adicionarSimbolo(tipo: any, literal?: any): void;
25
+ adicionarSimbolo(tipo: any, literal?: any, lexema?: string): void;
26
26
  analisarNumero(): void;
27
27
  identificarPalavraChave(): void;
28
28
  analisarToken(): void;
@@ -88,9 +88,9 @@ class Lexador {
88
88
  this.atual = 0;
89
89
  }
90
90
  }
91
- adicionarSimbolo(tipo, literal = null) {
91
+ adicionarSimbolo(tipo, literal = null, lexema = null) {
92
92
  const texto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
93
- this.simbolos.push(new simbolo_1.Simbolo(tipo, texto, literal, this.linha + 1));
93
+ this.simbolos.push(new simbolo_1.Simbolo(tipo, texto || lexema, literal, this.linha + 1));
94
94
  }
95
95
  analisarNumero() {
96
96
  while (this.eDigito(this.simboloAtual())) {
@@ -135,12 +135,24 @@ class Lexador {
135
135
  this.avancar();
136
136
  break;
137
137
  case '%':
138
- // TODO @Vitor: Se % está no começo de uma linha (ou seja, é o primeiro
139
- // caractere de uma linha sem contar espaços, é um placeholder selector.
140
- // Caso contrário, é um quantificador.
141
- // Verificar se é melhor apenas devolver o símbolo percentual aqui e
142
- // tratar a situação no avaliador sintático, ou se mais lógica é necessária aqui.
143
- this.adicionarSimbolo(foles_2.default.PERCENTUAL);
138
+ if (this.atual === 0) {
139
+ this.adicionarSimbolo(foles_2.default.PERCENTUAL, null, '%');
140
+ }
141
+ else {
142
+ this.adicionarSimbolo(foles_2.default.QUANTIFICADOR, null, '%');
143
+ }
144
+ this.avancar();
145
+ break;
146
+ case '.':
147
+ if (this.atual === 0) {
148
+ this.adicionarSimbolo(foles_2.default.NOME_DE_CLASSE, null, '.');
149
+ }
150
+ this.avancar();
151
+ break;
152
+ case '#':
153
+ if (this.atual === 0) {
154
+ this.adicionarSimbolo(foles_2.default.ID_DO_ELEMENTO, null, '#');
155
+ }
144
156
  this.avancar();
145
157
  break;
146
158
  case ' ':
@@ -1 +1 @@
1
- {"version":3,"file":"lexador.js","sourceRoot":"","sources":["../../../fontes/lexador/lexador.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexador.js","sourceRoot":"","sources":["../../../fontes/lexador/lexador.ts"],"names":[],"mappings":"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"}
@@ -136,6 +136,6 @@ exports.default = {
136
136
  "vw": foles_1.default.QUANTIFICADOR,
137
137
  "vh": foles_1.default.QUANTIFICADOR,
138
138
  "vmin": foles_1.default.QUANTIFICADOR,
139
- "vmax": foles_1.default.QUANTIFICADOR
139
+ "vmax": foles_1.default.QUANTIFICADOR,
140
140
  };
141
141
  //# sourceMappingURL=foles.js.map
@@ -9,8 +9,10 @@ declare const _default: {
9
9
  DOIS_PONTOS: string;
10
10
  ESTRUTURA: string;
11
11
  IDENTIFICADOR: string;
12
+ ID_DO_ELEMENTO: string;
12
13
  MAIOR: string;
13
14
  NUMERO: string;
15
+ NOME_DE_CLASSE: string;
14
16
  PERCENTUAL: string;
15
17
  PONTO: string;
16
18
  PONTO_E_VIRGULA: string;
@@ -11,8 +11,10 @@ exports.default = {
11
11
  DOIS_PONTOS: "DOIS_PONTOS",
12
12
  ESTRUTURA: "ESTRUTURA",
13
13
  IDENTIFICADOR: "IDENTIFICADOR",
14
+ ID_DO_ELEMENTO: "ID_DO_ELEMENTO",
14
15
  MAIOR: "MAIOR",
15
16
  NUMERO: "NUMERO",
17
+ NOME_DE_CLASSE: "NOME_DE_CLASSE",
16
18
  PERCENTUAL: "PERCENTUAL",
17
19
  PONTO: "PONTO",
18
20
  PONTO_E_VIRGULA: "PONTO_E_VIRGULA",
@@ -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,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,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE,KAAK;CACb,CAAA"}
1
+ {"version":3,"file":"foles.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/foles.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,QAAQ,EAAE,UAAU;IACpB,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,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE,KAAK;CACb,CAAA"}
@@ -1,2 +1,6 @@
1
- export * from './tradutor';
2
- export * from './tradutor-reverso';
1
+ import { Declaracao } from "../declaracoes";
2
+ import { Modificador } from "../modificadores";
3
+ export declare class Tradutor {
4
+ traduzirModificador(modificador: Modificador): string;
5
+ traduzir(declaracoes: Declaracao[]): string;
6
+ }
@@ -1,19 +1,36 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
5
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./tradutor"), exports);
18
- __exportStar(require("./tradutor-reverso"), exports);
6
+ exports.Tradutor = void 0;
7
+ const estruturas_html_1 = __importDefault(require("./estruturas-html"));
8
+ class Tradutor {
9
+ traduzirModificador(modificador) {
10
+ return `\t${modificador.propriedadeCss}: ${modificador.valor}${modificador.quantificador};\n`;
11
+ }
12
+ traduzir(declaracoes) {
13
+ let resultado = "";
14
+ for (const declaracao of declaracoes) {
15
+ if (declaracao.placeholder) {
16
+ const encontrarHtml = Object.keys(estruturas_html_1.default).filter((estrutura) => declaracao.seletor === estrutura);
17
+ if (encontrarHtml.length !== 0) {
18
+ resultado += `${declaracao.placeholder}${estruturas_html_1.default[declaracao.seletor]} {\n`;
19
+ }
20
+ else {
21
+ resultado += `${declaracao.placeholder}${declaracao.seletor} {\n`;
22
+ }
23
+ }
24
+ else {
25
+ resultado += `${estruturas_html_1.default[declaracao.seletor]} {\n`;
26
+ }
27
+ for (const modificador of declaracao.modificadores) {
28
+ resultado += this.traduzirModificador(modificador);
29
+ }
30
+ resultado += `}\n`;
31
+ }
32
+ return resultado;
33
+ }
34
+ }
35
+ exports.Tradutor = Tradutor;
19
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;AAEA,wEAA+C;AAE/C,MAAa,QAAQ;IACjB,mBAAmB,CAAC,WAAwB;QACxC,OAAO,KAAK,WAAW,CAAC,cAAc,KAAK,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,aAAa,KAAK,CAAC;IAClG,CAAC;IAED,QAAQ,CAAC,WAAyB;QAC9B,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAI,UAAU,CAAC,WAAW,EAAE;gBACxB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAc,CAAC,CAAC,MAAM,CACpD,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,CAClD,CAAC;gBAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5B,SAAS,IAAI,GAAG,UAAU,CAAC,WAAW,GAAG,yBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAA;iBACpF;qBAAM;oBACH,SAAS,IAAI,GAAG,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,OAAO,MAAM,CAAA;iBACpE;aAEJ;iBAAM;gBACH,SAAS,IAAI,GAAG,yBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAA;aAC3D;YAED,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,aAAa,EAAE;gBAChD,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;aACtD;YACD,SAAS,IAAI,KAAK,CAAA;SACrB;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhCD,4BAgCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/foles",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Linguagem de folhas de estilo para documentos em geral em português",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -21,6 +21,12 @@
21
21
  "foles": "./bin/foles"
22
22
  },
23
23
  "author": "Leonel Sanches da Silva",
24
+ "contributors": [
25
+ {
26
+ "name": "Vitor dos Santos Brandão da Silva",
27
+ "url": "https://www.linkedin.com/in/vitorbrandao-silva/"
28
+ }
29
+ ],
24
30
  "license": "MIT",
25
31
  "bugs": {
26
32
  "url": "https://github.com/DesignLiquido/FolEs/issues"