Skip to content

Commit 8cbc46d

Browse files
committed
misc: remove dependency on pkg:tuple (and transitively quiver_hashcode)
1 parent 28e2551 commit 8cbc46d

File tree

8 files changed

+92
-20
lines changed

8 files changed

+92
-20
lines changed

lib/dartdoc.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ import 'package:dartdoc/src/html/html_generator.dart';
2222
import 'package:dartdoc/src/logging.dart';
2323
import 'package:dartdoc/src/model.dart';
2424
import 'package:dartdoc/src/package_meta.dart';
25+
import 'package:dartdoc/src/tuple.dart';
2526
import 'package:dartdoc/src/utils.dart';
2627
import 'package:dartdoc/src/warnings.dart';
2728
import 'package:html/dom.dart' show Element, Document;
2829
import 'package:html/parser.dart' show parse;
2930
import 'package:path/path.dart' as pathLib;
30-
import 'package:tuple/tuple.dart';
3131

3232
export 'package:dartdoc/src/dartdoc_options.dart';
3333
export 'package:dartdoc/src/element_type.dart';

lib/src/line_number_cache.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ library dartdoc.cache;
77
import 'dart:collection';
88
import 'dart:io';
99

10-
import 'package:tuple/tuple.dart';
10+
import 'package:dartdoc/src/tuple.dart';
1111

1212
String _getNewlineChar(String contents) {
1313
if (contents.contains("\r\n")) {

lib/src/markdown_processor.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ import 'package:analyzer/dart/element/element.dart';
1313
import 'package:dartdoc/src/element_type.dart';
1414
import 'package:dartdoc/src/model.dart';
1515
import 'package:dartdoc/src/model_utils.dart';
16+
import 'package:dartdoc/src/tuple.dart';
1617
import 'package:dartdoc/src/warnings.dart';
1718
import 'package:html/parser.dart' show parse;
1819
import 'package:markdown/markdown.dart' as md;
19-
import 'package:tuple/tuple.dart';
2020

2121
const validHtmlTags = const [
2222
"a",

lib/src/model.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ import 'package:dartdoc/src/markdown_processor.dart' show Documentation;
4545
import 'package:dartdoc/src/model_utils.dart';
4646
import 'package:dartdoc/src/package_meta.dart' show PackageMeta, FileContents;
4747
import 'package:dartdoc/src/special_elements.dart';
48+
import 'package:dartdoc/src/tuple.dart';
4849
import 'package:dartdoc/src/utils.dart';
4950
import 'package:dartdoc/src/warnings.dart';
5051
import 'package:front_end/src/byte_store/byte_store.dart';
5152
import 'package:front_end/src/base/performance_logger.dart';
5253
import 'package:path/path.dart' as pathLib;
5354
import 'package:pub_semver/pub_semver.dart';
54-
import 'package:tuple/tuple.dart';
5555
import 'package:package_config/discovery.dart' as package_config;
5656

5757
int byName(Nameable a, Nameable b) =>

lib/src/tuple.dart

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
// Copied from source at github.com/kseo/tuple/blob/470ed3aeb/lib/src/tuple.dart
2+
3+
// Original copyright:
4+
// Copyright (c) 2014, the tuple project authors. Please see the AUTHORS
5+
// file for details. All rights reserved. Use of this source code is governed
6+
// by a BSD-style license that can be found in the LICENSE file.
7+
8+
import 'package:quiver/core.dart';
9+
10+
/// Represents a 2-tuple, or pair.
11+
class Tuple2<T1, T2> {
12+
/// Returns the first item of the tuple
13+
final T1 item1;
14+
15+
/// Returns the second item of the tuple
16+
final T2 item2;
17+
18+
/// Creates a new tuple value with the specified items.
19+
const Tuple2(this.item1, this.item2);
20+
21+
@override
22+
String toString() => '[$item1, $item2]';
23+
24+
@override
25+
bool operator ==(o) => o is Tuple2 && o.item1 == item1 && o.item2 == item2;
26+
27+
@override
28+
int get hashCode => hash2(item1.hashCode, item2.hashCode);
29+
}
30+
31+
/// Represents a 3-tuple, or triple.
32+
class Tuple3<T1, T2, T3> {
33+
/// Returns the first item of the tuple
34+
final T1 item1;
35+
36+
/// Returns the second item of the tuple
37+
final T2 item2;
38+
39+
/// Returns the third item of the tuple
40+
final T3 item3;
41+
42+
/// Creates a new tuple value with the specified items.
43+
const Tuple3(this.item1, this.item2, this.item3);
44+
45+
@override
46+
String toString() => '[$item1, $item2, $item3]';
47+
48+
@override
49+
bool operator ==(o) =>
50+
o is Tuple3 && o.item1 == item1 && o.item2 == item2 && o.item3 == item3;
51+
52+
@override
53+
int get hashCode => hash3(item1.hashCode, item2.hashCode, item3.hashCode);
54+
}
55+
56+
/// Represents a 4-tuple, or quadruple.
57+
class Tuple4<T1, T2, T3, T4> {
58+
/// Returns the first item of the tuple
59+
final T1 item1;
60+
61+
/// Returns the second item of the tuple
62+
final T2 item2;
63+
64+
/// Returns the third item of the tuple
65+
final T3 item3;
66+
67+
/// Returns the fourth item of the tuple
68+
final T4 item4;
69+
70+
/// Creates a new tuple value with the specified items.
71+
const Tuple4(this.item1, this.item2, this.item3, this.item4);
72+
73+
@override
74+
String toString() => '[$item1, $item2, $item3, $item4]';
75+
76+
@override
77+
bool operator ==(o) =>
78+
o is Tuple4 &&
79+
o.item1 == item1 &&
80+
o.item2 == item2 &&
81+
o.item3 == item3 &&
82+
o.item4 == item4;
83+
84+
@override
85+
int get hashCode =>
86+
hash4(item1.hashCode, item2.hashCode, item3.hashCode, item4.hashCode);
87+
}

lib/src/warnings.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import 'package:analyzer/dart/element/element.dart';
66
import 'package:dartdoc/src/logging.dart';
77
import 'package:dartdoc/src/model.dart';
8-
import 'package:tuple/tuple.dart';
8+
import 'package:dartdoc/src/tuple.dart';
99

1010
class PackageWarningHelpText {
1111
final String warningName;

pubspec.lock

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -358,13 +358,6 @@ packages:
358358
url: "https://pub.dartlang.org"
359359
source: hosted
360360
version: "2.0.0+1"
361-
quiver_hashcode:
362-
dependency: transitive
363-
description:
364-
name: quiver_hashcode
365-
url: "https://pub.dartlang.org"
366-
source: hosted
367-
version: "1.0.0"
368361
resource:
369362
dependency: "direct main"
370363
description:
@@ -463,13 +456,6 @@ packages:
463456
url: "https://pub.dartlang.org"
464457
source: hosted
465458
version: "1.3.0"
466-
tuple:
467-
dependency: "direct main"
468-
description:
469-
name: tuple
470-
url: "https://pub.dartlang.org"
471-
source: hosted
472-
version: "1.0.1"
473459
typed_data:
474460
dependency: transitive
475461
description:

pubspec.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ dependencies:
2525
quiver: ^2.0.0
2626
resource: ^2.1.2
2727
stack_trace: ^1.4.2
28-
tuple: ^1.0.1
2928
yaml: ^2.1.0
3029

3130
dev_dependencies:

0 commit comments

Comments
 (0)