| 1 | | 1 | extension type Timestamp._(int _microseconds) { |
| 2 | | 4 | factory Timestamp.now() => Timestamp._(DateTime.now().microsecondsSinceEpoch); |
| 3 | | | |
| 4 | | 2 | static Timestamp? from(dynamic value) => (value is num) |
| 5 | | 2 | ? Timestamp._(value.toInt()) |
| 6 | | 1 | : ((value is DateTime) |
| 7 | | 2 | ? Timestamp._(value.microsecondsSinceEpoch) |
| 8 | | | : null); |
| 9 | | | |
| 10 | | 2 | int operator -(Timestamp other) => _microseconds - other._microseconds; |
| 11 | | | |
| 12 | | 0 | Duration elapsedSince(Timestamp other) => |
| 13 | | 0 | Duration(microseconds: this - other); |
| 14 | | | |
| 15 | | 2 | DateTime toDateTime() => DateTime.fromMicrosecondsSinceEpoch(_microseconds); |
| 16 | | | } |