Tem uma função aqui:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
E TS diz que há um erro, não tenho certeza se é verdade.
E no caso de não ser um erro, mas ts conta isso como erro - existe alguma maneira de @suppress isso?
Obrigado.
Versão do TypeScript: 2.3.2 / mas o mesmo no playground: https://www.typescriptlang.org/play/index.html
Código
function uuidv4()
{
return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
)
}
Comportamento esperado:
Sem erro?
Comportamento real:
Operator '+' cannot be applied to types 'number[]' and '-1000'.
Este não é um fórum de suporte.
As perguntas devem ser feitas em StackOverflow ou em Gitter.im .
Mas ... o TypeScript está protegendo você de coerção implícita, então você precisa converter o literal de array :
function uuidv4()
{
- return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
+ return ([1e7] as any + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
)
}
Comentários muito úteis
Este não é um fórum de suporte.
As perguntas devem ser feitas em StackOverflow ou em Gitter.im .
Mas ... o TypeScript está protegendo você de coerção implícita, então você precisa converter o literal de array :