Подтвердить что ты не робот

Класс TypeScript GUID?

Кто-нибудь знает хорошую, надежную реализацию С#, такую как GUID (UUID) в TypeScript?

Мог бы сделать это сам, но решил, что сэкономлю свое время, если кто-то еще сделает это раньше.

4b9b3361

Ответ 1

В моих утилитах TypeScript есть реализация, основанная на генераторах GUID JavaScript.

Вот код:

class Guid {
  static newGuid() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
      var r = Math.random() * 16 | 0,
        v = c == 'x' ? r : (r & 0x3 | 0x8);
      return v.toString(16);
    });
  }
}

// Example of a bunch of GUIDs
for (var i = 0; i < 100; i++) {
  var id = Guid.newGuid();
  console.log(id);
}

Ответ 2

Я нашел это https://typescriptbcl.codeplex.com/SourceControl/latest

здесь версия Guid, которую они имеют в случае, если ссылка не работает позже.

module System {
    export class Guid {
        constructor (public guid: string) {
            this._guid = guid;
        }

        private _guid: string;

        public ToString(): string {
            return this.guid;
        }

        // Static member
        static MakeNew(): Guid {
            var result: string;
            var i: string;
            var j: number;

            result = "";
            for (j = 0; j < 32; j++) {
                if (j == 8 || j == 12 || j == 16 || j == 20)
                    result = result + '-';
                i = Math.floor(Math.random() * 16).toString(16).toUpperCase();
                result = result + i;
            }
            return new Guid(result);
        }
    }
}