From 077206be31b2a8de2d0d6004b20e4d391926c97c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20C=C3=A9sar=20e=20Melo?= Date: Tue, 20 Feb 2024 18:37:36 -0300 Subject: [PATCH] =?UTF-8?q?Corrige=20execu=C3=A7=C3=A3o=20de=20eslint=20e?= =?UTF-8?q?=20atualiza=20depend=C3=AAncias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/node.js.yml | 2 +- package-lock.json | 6 +- src/editor-articulacao.d.ts | 466 ---------------------------------- 3 files changed, 4 insertions(+), 470 deletions(-) delete mode 100644 src/editor-articulacao.d.ts diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 9de3c35..7eebe9e 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -22,7 +22,7 @@ jobs: - name: Instalar dependências run: npm ci - name: eslint - run: npx lint + run: npm run lint - name: Instalar navegadores do Playwright run: npx playwright install --with-deps - name: Executar testes do Playwright diff --git a/package-lock.json b/package-lock.json index 18cace4..33ecde2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2266,9 +2266,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true, "funding": [ { diff --git a/src/editor-articulacao.d.ts b/src/editor-articulacao.d.ts deleted file mode 100644 index 44a09c0..0000000 --- a/src/editor-articulacao.d.ts +++ /dev/null @@ -1,466 +0,0 @@ -import ContextoArticulacao from './ContextoArticulacao'; -import interpretadorArticulacao from './interpretadorArticulacao'; - -/** - * Transforma um elemento do DOM em um editor de articulação com - * barra de ferramentas. - */ -declare class ComponenteEdicao { - /** - * Cria um controlador do Editor de Articulação vinculado a um elemento do DOM. - * - * @param Elemento que receberá o editor de articulação. - * @param opcoes Opções do editor de articulação. - */ - constructor(elemento: HTMLElement, opcoes?: IOpcoesEditorArticulacaoController); -} - -declare class EditorArticulacaoController { - /** - * Cria um controlador do Editor de Articulação vinculado a um elemento do DOM. - * - * @param Elemento que receberá o editor de articulação. - * @param opcoes Opções do editor de articulação. - */ - constructor(elemento: HTMLElement, opcoes?: IOpcoesEditorArticulacaoController); - - /** - * Obtém o XML da articulação no formato LexML. - */ - get lexml(): Element | DocumentFragment; - - /** - * Define o XML da articulação no formato LexML. - */ - set lexml(valor: Element | DocumentFragment); - - /** - * Obtém o XML da articulação no formato LexML, porém em String. - */ - get lexmlString(): string; - - /** - * Define o XML da articulação no formato LexML, porém em String. - */ - set lexmlString(valor: string); - - /** - * Verifica se o editor de articulação sofreu alteração. - */ - get alterado(): boolean; - - /** - * Altera o tipo do dispositivo em que o cursor se encontra, pelo novo tipo fornecido como parâmetro. - * - * @param novoTipo Novo tipo do dispositivo. - */ - alterarTipoDispositivoSelecionado(novoTipo: TipoDispositivo): void; - - get contexto(): ContextoArticulacao; -} - -declare interface IOpcoesEditorArticulacaoController { - /** - * Determina se deve adotar o Shadow DOM, caso suportado pelo navegador. - * (Padrão: false) - */ - shadowDOM?: boolean; - - /** - * Determina se o editor de articulação deve aplicar transformação automática. - * (Padrão: true) - */ - transformacaoAutomatica?: boolean; - - /** - * Determina o escapamento de caracteres de código alto unicode durante - * a exportação para lexmlString. - * (Padrão: false) - */ - escaparXML?: boolean; - - /** - * Determina o sufixo para os rótulos dos dispositivos. - */ - rotulo?: { - /** - * Separador do rótulo do artigo 1º ao 9º - */ - separadorArtigo?: string; - - /** - * Separador do rótulo do artigo 10 em diante - */ - separadorArtigoSemOrdinal?: string; - - /** - * Separador do rótulo do parágrafo 1º ao 9º - */ - separadorParagrafo?: string; - - /** - * Separador do rótulo do parágrafo 10 em diante - */ - separadorParagrafoSemOrdinal?: string; - - /** - * Separador do rótulo parágrafo único - */ - separadorParagrafoUnico?: string; - - /** - * Separador do rótulo de inciso - */ - separadorInciso?: string; - - /** - * Separador do rótulo da alínea - */ - separadorAlinea?: string; - - /** - * Separador do rótulo do item - */ - separadorItem?: string; - }; - - /** - * Determina se deve validar o conteúdo atribuído ao componente. - * (Padrão: true) - */ - validarAoAtribuir?: boolean; - - /** - * Determina as validações que devem ocorrer. - */ - validacao?: { - /** - * Determina se deve validar o uso de caixa alta. - */ - caixaAlta?: boolean; - - /** - * Determina se deve validar o uso de aspas em citações. - */ - citacao?: boolean; - - /** - * Determina se deve validar a presença de múltiplos elementos em uma enumeração. - */ - enumeracaoElementos?: boolean; - - /** - * Determina se deve validar o uso de letra maiúscula no caput do artigo e em parágrafos. - */ - inicialMaiuscula?: boolean; - - /** - * Determina se deve validar as pontuações. - */ - pontuacao?: boolean; - - /** - * Determina se deve validar pontuação de enumeração. - */ - pontuacaoEnumeracao?: boolean; - - /** - * Determina se deve exigir sentença única no dispositivo. - */ - sentencaUnica?: boolean; - } -} - -declare enum TipoDispositivo { - TITULO = 'titulo', - CAPITULO = 'capitulo', - SECAO = 'secao', - SUBSECAO = 'subsecao', - ARTIGO = 'artigo', - PARAGRAFO = 'paragrafo', - INCISO = 'inciso', - ALINEA = 'alinea', - CONTINUACAO = 'continuacao' -} - -declare const interpretadorArticulacao = { - Artigo, - Paragrafo, - Inciso, - Alinea, - Item, - Titulo, - Capitulo, - Secao, - Subsecao, - transformarQuebrasDeLinhaEmP, - interpretar -} - -/** - * Interpreta conteúdo de articulação. - * - * @param texto Texto a ser interpretado - * @param formatoDestino Formato a ser retornado: 'json', 'lexml' (padrão) ou "lexmlString". - * @param formatoOrigem Formatao a ser processado: 'texto' (padrão), 'html'. - */ -function interpretar(texto: string, formatoDestino: TFORMATO_DESTINO = 'lexml', formatoOrigem: TFORMATO_ORIGEM = 'texto'): IResultadoInterpretacao | Element | DocumentFragment | string; - -/** - * Interpreta conteúdo de articulação. - * - * @param texto Texto a ser interpretado - */ -function interpretar(texto: string): Element | DocumentFragment; - -/** - * Interpreta conteúdo de articulação. - * - * @param texto Texto a ser interpretado - * @param formatoDestino Formato a ser retornado: 'json', 'lexml' (padrão) ou "lexmlString". - * @param formatoOrigem Formatao a ser processado: 'texto' (padrão), 'html'. - */ -function interpretar(texto: string, formatoDestino: 'json', formatoOrigem: TFORMATO_ORIGEM = 'texto'): IResultadoInterpretacao; - -/** - * Interpreta conteúdo de articulação. - * - * @param texto Texto a ser interpretado - * @param formatoDestino Formato a ser retornado: 'json', 'lexml' (padrão) ou "lexmlString". - * @param formatoOrigem Formatao a ser processado: 'texto' (padrão), 'html'. - */ -function interpretar(texto: string, formatoDestino: 'lexml', formatoOrigem: TFORMATO_ORIGEM = 'texto'): Element | DocumentFragment; - -/** - * Interpreta conteúdo de articulação. - * - * @param texto Texto a ser interpretado - * @param formatoDestino Formato a ser retornado: 'json', 'lexml' (padrão) ou "lexmlString". - * @param formatoOrigem Formatao a ser processado: 'texto' (padrão), 'html'. - */ -function interpretar(texto: string, formatoDestino: 'lexmlString', formatoOrigem: TFORMATO_ORIGEM = 'texto'): string; - -declare interface IResultadoInterpretacao { - textoAnterior: string; - articulacao: Dispositivo[]; -} - -declare type TFORMATO_DESTINO = 'json' | 'lexml' | 'lexmlString'; - -declare type TFORMATO_ORIGEM = 'texto' | 'html'; - -declare class Dispositivo { - constructor(tipo: string, numero: string, descricao: string, derivacoes: string[]); - - adicionar(dispositivo: Dispositivo); - - /** - * Transforma o conteúdo na descrição em fragmento do DOM. - */ - transformarConteudoEmFragmento(): DocumentFragment; - - /** - * Transforma o dispositivo no formato do editor. - */ - paraEditor(): DocumentFragment; -} - -declare class Artigo extends Dispositivo { - constructor(numero: string, caput: string); - - adicionar(incisoOuParagrafo: Inciso | Paragrafo); -} - -declare class Paragrafo extends Dispositivo { - constructor(numero: string, descricao: string); - - adicionar(inciso: Inciso); -} - -declare class Inciso extends Dispositivo { - constructor(numero: string, descricao: string); - - adicionar(alinea: Alinea); -} - -declare class Alinea extends Dispositivo { - constructor(numero: string, descricao: string); - - adicionar(item: Item); -} - -declare class Item extends Dispositivo { - constructor(numero: string, descricao: string); -} - -declare class Divisao extends Dispositivo { - constructor(tipo: string, numero: string, descricao: string); - - adicionar(item); -} - -declare class Titulo extends Divisao { - constructor(numero: string, descricao: string); -} - -declare class Capitulo extends Divisao { - constructor(numero: string, descricao: string); -} - -declare class Secao extends Divisao { - constructor(numero: string, descricao: string); -} - -declare class Subsecao extends Divisao { - constructor(numero: string, descricao: string); -} - -/** - * Representa o contexto do usuário no editor de articulação. - * Possui dois atributos: cursor, contendo o contexto no cursor, - * e as permissões de alteração de dispositivo na seleção. - */ -declare class ContextoArticulacao { - constructor(elementoArticulacao: HTMLElement, dispositivo: Dispositivo); - - comparar(obj2: ContextoArticulacao): boolean { - for (let i in this.cursor) { - if (this.cursor[i] !== obj2.cursor[i]) { - return true; - } - } - - for (let i in this.permissoes) { - if (this.permissoes[i] !== obj2.permissoes[i]) { - return true; - } - } - - return false; - } - - /** - * Determina se o contexto atual é válido. - * - * @returns {Boolean} Verdadeiro, se o contexto estiver válido. - */ - get valido(): boolean; - - /** - * Verifica quais tipos de dispositivos são permitidos no contexto atual. - */ - readonly permissoes: { - readonly titulo: boolean; - readonly capitulo: boolean; - readonly secao: boolean; - readonly subsecao: boolean; - readonly artigo: boolean; - readonly continuacao: boolean; - readonly inciso: boolean; - readonly paragrafo: boolean; - readonly alinea: boolean; - readonly item: boolean; - } - - /** - * Informações sobre o contexto onde está o cursor. - */ - readonly cursor: { - /** - * Indica se o cursor está em um trecho com itálico. - */ - readonly italico: boolean; - - /** - * Indica se o cursor está em um elemento desconhecido. - */ - readonly desconhecido: boolean; - - /** - * Indica se o cursor está em um título. - */ - readonly titulo: boolean; - - /** - * Indica se o cursor está em um capítulo. - */ - readonly capitulo: boolean; - - /** - * Indica se o cursor está em uma seção. - */ - readonly secao: boolean; - - /** - * Indica se o cursor está em uma subseção. - */ - readonly subsecao: boolean; - - /** - * Indica se o cursor está em um artigo. - */ - readonly artigo: boolean; - - /** - * Indica se o cursor está em uma continuação (outra linha) - * do dispositivo. - */ - readonly continuacao: boolean; - - /** - * Indica se o cursor está em um parágrafo. - */ - readonly paragrafo: boolean; - - /** - * Indica se o cursor está em uma alínea. - */ - readonly inciso: boolean; - - /** - * Indica se o cursor está em uma alínea. - */ - readonly alinea: boolean; - - /** - * Indica se o cursor está em um item. - */ - readonly item: boolean; - - /** - * Indica se o cursor está na raíz do editor. - */ - readonly raiz: boolean; - - /** - * Elemento do DOM do dispositivo atual. - */ - readonly elemento: HTMLElement; - - /** - * Tipo do dispositivo atual. - */ - readonly tipo: TipoDispositivo; - - /** - * Dispositivo atual. - */ - readonly dispositivo: Dispositivo; - - /** - * Instância do dispositivo anterior. - */ - readonly dispositivoAnterior: Dispositivo; - - /** - * Tipo do dispositivo anterior. - */ - readonly tipoAnterior: TipoDispositivo; - } -} - -export = { - ComponenteEdicao, - EditorArticulacaoController, - interpretadorArticulacao -} \ No newline at end of file