Ich verwende die folgende Typoskript-Methode, um UUID
s zu generieren. Der Code selbst ist im Grunde die Typoskript-Version dieser stackoverflow answer. Alternative zu bitweisen Operatoren bei der UUID-Erstellung
generateUUID(): string {
let date = new Date().getTime();
if (window.performance && typeof window.performance.now === 'function') {
date += performance.now();
}
let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
let r = (date + Math.random() * 16) % 16 | 0;
date = Math.floor(date/16);
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
return uuid;
};
Unser Entwicklungsteam nutzt TSLint
den Code sauber zu halten, und wir haben eine Regel, die bitwise operators
zu verwenden verbietet. Ich habe keine Ahnung, wie ich diesen Code umschreiben kann, ohne den kryptographischen Aspekt des UUID-Generators zu beeinträchtigen. Wie kann dieses Stück Code neu geschrieben werden oder macht das überhaupt keinen Sinn?
Warum in aller Welt haben Sie eine Regel, die bitweise Operatoren verbietet? Das ist komisch. – Pointy
Ich denke, es ist auch komisch, aber das war nicht meine Entscheidung. –
Die TSLint-Regel ist der Fehler. Nicht den Code – slebetman