Skip to content

Commit

Permalink
remove the dep on package:uuid (#2415)
Browse files Browse the repository at this point in the history
  • Loading branch information
devoncarew authored Apr 22, 2024
1 parent 78555cd commit d4f9f67
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 5 deletions.
8 changes: 4 additions & 4 deletions frontend_server_common/lib/src/frontend_server_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import 'package:dwds/expression_compiler.dart';
import 'package:logging/logging.dart';
import 'package:package_config/package_config.dart';
import 'package:test_common/test_sdk_layout.dart';
import 'package:uuid/uuid.dart';

import 'utilities.dart';
import 'uuid.dart';

Logger _logger = Logger('FrontendServerClient');
Logger _serverLogger = Logger('FrontendServer');
Expand Down Expand Up @@ -320,7 +320,7 @@ class ResidentCompiler {
}
var server = _server!;

var inputKey = const Uuid().v4();
var inputKey = generateV4UUID();
server.stdin.writeln('recompile $mainUri$inputKey');
_logger.info('<- recompile $mainUri$inputKey');
for (var fileUri in request.invalidatedFiles) {
Expand Down Expand Up @@ -463,7 +463,7 @@ class ResidentCompiler {
}
var server = _server!;

var inputKey = const Uuid().v4();
var inputKey = generateV4UUID();
server.stdin.writeln('compile-expression $inputKey');
server.stdin.writeln(request.expression);
request.definitions.forEach(server.stdin.writeln);
Expand Down Expand Up @@ -508,7 +508,7 @@ class ResidentCompiler {
}
var server = _server!;

var inputKey = const Uuid().v4();
var inputKey = generateV4UUID();
server.stdin.writeln('compile-expression-to-js $inputKey');
server.stdin.writeln(request.libraryUri);
server.stdin.writeln(request.line);
Expand Down
32 changes: 32 additions & 0 deletions frontend_server_common/lib/src/uuid.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'dart:math' show Random;

/// A UUID generator.
///
/// The generated values are 128 bit numbers encoded in a specific string
/// format.
///
/// Generate a version 4 (random) uuid. This is a uuid scheme that only uses
/// random numbers as the source of the generated uuid.
String generateV4UUID() {
final special = 8 + _random.nextInt(4);

return '${_bitsDigits(16, 4)}${_bitsDigits(16, 4)}-'
'${_bitsDigits(16, 4)}-'
'4${_bitsDigits(12, 3)}-'
'${_printDigits(special, 1)}${_bitsDigits(12, 3)}-'
'${_bitsDigits(16, 4)}${_bitsDigits(16, 4)}${_bitsDigits(16, 4)}';
}

final Random _random = Random();

String _bitsDigits(int bitCount, int digitCount) =>
_printDigits(_generateBits(bitCount), digitCount);

int _generateBits(int bitCount) => _random.nextInt(1 << bitCount);

String _printDigits(int value, int count) =>
value.toRadixString(16).padLeft(count, '0');
1 change: 0 additions & 1 deletion frontend_server_common/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,3 @@ dependencies:
pub_semver: ^2.1.1
test_common:
path: ../test_common
uuid: ^3.0.7

0 comments on commit d4f9f67

Please sign in to comment.