ResizeObserver
lib.dom.ts
não inclui declarações da API ResizeObserver.
ResizeObserver é algo que está recebendo suporte em 2018 e não encontrei nenhuma menção sobre ResizeObserver aqui.
Minha sugestão atende a estas diretrizes:
Acho que é intencional que as definições de tipo padrão não venham com APIs experimentais, especialmente se o suporte do navegador quase não existe.
Geramos a lib em https://github.com/Microsoft/TSJS-lib-generator a partir dos arquivos IDL da web padronizados agora. Este arquivo contém a lista de IDLs a partir dos quais geramos a lib. Assim que o recurso chegar, por exemplo, o IDL das interfaces de dom comum do whatwg, vamos sincronizar e tê-lo. Vai demorar algum tempo (e provavelmente um suporte de navegador muito melhor) até que isso aconteça. Eu recomendo apenas adicionar as declarações extras localmente ao seu projeto enquanto isso, pois não acho que tomaríamos um PR para uma substituição para algo que ainda é experimental.
@weswigham bom saber! Obrigado.
Eu recomendo apenas adicionar as declarações extras localmente ao seu projeto enquanto isso
Qual é o lugar correto para colocar essas declarações da perspectiva do Typecript? Levando em consideração o código de resize-observer-polyfill
Qualquer arquivo em seu projeto servirá. Muitas pessoas recomendariam um globals.d.ts
separado ou algo semelhante para coisas como esta.
@weswigham Isso aparentemente deveria ser revisitado hoje em dia?
Todos os principais navegadores o suportam com o modelo perene em mente: Firefox (68-69), Safari (Tech Preview para disponibilidade no próximo Safari para lançamento junto com MacOS Catalina, sem dúvida), Chrome, Edge com Chromium e assim por diante.
Também há dados do CaniUse atualizados sobre o assunto agora, IIRC: https://caniuse.com/#search = ResizeObserver
Este problema foi marcado como 'Pergunta' e não teve nenhuma atividade recente. Ele foi fechado automaticamente para fins de manutenção. Se você ainda está esperando uma resposta, as perguntas geralmente são mais adequadas para o stackoverflow .
Isso deve reabrir; Sou de opinião que o motivo pelo qual está fechado é questionável.
A premissa de não adicionar interface para ResizeObserver
API é obsoleta e precisa de uma atualização.
/ cc @weswigham
@weswigham Alguma atualização sobre isso?
Ainda marcado como experimental no mdn , então não. Quando a especificação é movida para fora do estado de rascunho e aceita, seu IDL associado deve ser puxado pelo TS e incluído automaticamente, mas isso ainda não aconteceu.
@weswigham MDN não lista mais esta API como experimental. Atualmente obtendo "Não é possível encontrar o nome 'ResizeObserver'" ao tentar usar a API com TypeScript 3.7.2
Este problema deve ser reaberto, pois não é mais experimental e todos os principais navegadores o suportam.
De acordo com o MDN, ele ainda é apenas parte do Rascunho do Editor e nem todos os principais navegadores o suportam.
Imagino que o que está atrasando as coisas é o Safari, que não suportará até
2020 estando em seu roteiro para 2020; Suporte de borda para isso é garantido
~ 15 de janeiro, quando o Edge Chromium será lançado para o público com
suporte para ResizeObserver.
Na quarta-feira, 13 de novembro de 2019 à 1h Martin Johns [email protected]
escrevi:
De acordo com o MDN, ainda é apenas parte do Rascunho do Editor, e não todos
os principais navegadores o suportam.-
Você está recebendo isso porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/microsoft/TypeScript/issues/28502?email_source=notifications&email_token=AAJKUOAOKN35DZEYT26M6VLQTO6ZVA5CNFSM4GDOB24KYY3PNVWWK3TUL52LHS4DFVREXG46-6166ZVA5CNFSM4GDOB24KYY3PNVWWK3TUL52LHS4DFVREXGH456BDZ63WORC5DNVREXTZ63VME3DZ63-ZM3DZ63-ZVMeq .
ou cancelar
https://github.com/notifications/unsubscribe-auth/AAJKUODKUSZ7BORN3AUGNKLQTO6ZVANCNFSM4GDOB24A
.>
Kevin Lozandier
[email protected] [email protected]
Alguma atualização aqui?
esse é um dos problemas mais bizarros que encontrei. Eu ouvi muito sobre essa API no ano passado para que ela não seja familiarizada com a escrita
Quase 80% https://caniuse.com/#search = ResizeObserver
É hora de adicioná-lo, ele foi enviado ao Safari no mês passado. Isso significa que literalmente todos os navegadores o suportam.
Acima
@weswigham , crie o problema https://github.com/microsoft/TSJS-lib-generator/issues/908
Embora as tipificações ainda não tenham sido mescladas com o texto digitado, você pode usar um pacote de npm com as tipificações ResizeObserver: https://www.npmjs.com/package/@types/resize -observer-browser
Para adicionar à resposta de @denexapp :
1) instale https://www.npmjs.com/package/@types/resize-observer-browser
2) /// <reference types="resize-observer-browser" />
no topo do arquivo onde você precisa usá-lo.
Comentários muito úteis
É hora de adicioná-lo, ele foi enviado ao Safari no mês passado. Isso significa que literalmente todos os navegadores o suportam.