tree d9b4b85a5b301223da9fba622e3e95c23ed07446
parent 25609b32d188cc307f6bbb13c02ebf953b812daf
author Janice Collins <jcollins@google.com> 1497538010 -0700
committer Janice Collins <jcollins@google.com> 1497538016 -0700

Initialize dart-lang/tuple with the tuple package at v1.0.1.

---
Update README.google.

Merge tag 'v1.0.1' of ../tuple-orig

Merge pull request #2 from nex3/strong

Fix all strong-mode warnings and errors
Fix all strong-mode warnings and errors.

Setup Travis CI.

Update CHANGELOG.md and bump the version to 1.0.0.

Remove _hash function and use hash functions provided by quiver_hashcode.

Merge pull request #1 from srawlins/complete-changelog

Complete changelog
Complete changelog

Bump the version to 0.4.0.

Add CHANGELOG.md.

Add fromList factory constructor.

Add me to AUTHROS.

Add Tuple6 and Tuple7 classes.

Bump the version to 0.3.0.

Add toList() to tuple classes.

Add .pub and doc to .gitignore.

Add API documentation to tuple classes.

Bump the version to 0.2.0.

Redesign the tuple API.

* Rename PersistentTuple to Tuple and remove mutable tuple classes.
* Rename iN to itemN.
* Rename setIN to withItemN.

Bump the version to 0.1.2.

* Add me as an author.
* Change homepage to https://github.com/kseo/tuple.

Add test cases for tuple.

Fix a bug in == operator of PersistentTuple classes.

Check if o is of PersistentTuple type, not Tuple.

0.1.1

Merge pull request #3 from kseo/mapkey

Override operator == and hashCode.
Merge pull request #2 from kseo/addoverride

Add @override annotation to toString().
Merge pull request #1 from kseo/gitignore

Add .packages file to .gitignore.
Add @override annotation to toString().

Add .packages file to .gitignore.

As of 1.12, the .packages file exists after running pub get. Don’t check it
into source control.

Override operator == and hashCode.

This makes it possible to use tuples as keys in maps.

Initial commit

BUG=
R=devoncarew@google.com, whesse@google.com

Review-Url: https://codereview.chromium.org/2939773003 .
