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