Index: charted/lib/core/time_interval.dart |
diff --git a/charted/lib/core/time_interval.dart b/charted/lib/core/time_interval.dart |
deleted file mode 100644 |
index 63853129d91121aa89b90d9074d720ac05e644c4..0000000000000000000000000000000000000000 |
--- a/charted/lib/core/time_interval.dart |
+++ /dev/null |
@@ -1,136 +0,0 @@ |
-// |
-// Copyright 2014 Google Inc. All rights reserved. |
-// |
-// Use of this source code is governed by a BSD-style |
-// license that can be found in the LICENSE file or at |
-// https://developers.google.com/open-source/licenses/bsd |
-// |
- |
-library charted.core.time_intervals; |
- |
-typedef DateTime TimeFloorFunction(DateTime val); |
-typedef DateTime TimeStepFunction(DateTime val, int offset); |
-typedef int TimeToNumberFunction(DateTime val); |
- |
-class TimeInterval { |
- TimeFloorFunction _floor; |
- TimeStepFunction _step; |
- TimeToNumberFunction _number; |
- |
- TimeInterval(this._floor, this._step, this._number); |
- |
- DateTime floor(dynamic date) { |
- assert(date is int || date is DateTime); |
- if (date is int) { |
- date = new DateTime.fromMillisecondsSinceEpoch(date) ; |
- } |
- return _floor(date); |
- } |
- |
- DateTime round(dynamic date) { |
- DateTime d0 = floor(date), |
- d1 = offset(d0, 1); |
- int ms = date is int ? date : date.millisecondsSinceEpoch; |
- return (ms - d0.millisecondsSinceEpoch < d1.millisecondsSinceEpoch - ms) |
- ? d0 |
- : d1; |
- } |
- |
- DateTime ceil(dynamic date) => offset(floor(date), 1); |
- |
- DateTime offset(DateTime date, int k) => _step(date, k); |
- |
- Iterable<DateTime> range(dynamic t0, dynamic t1, int dt) { |
- assert(t0 is int || t0 is DateTime); |
- assert(t1 is int || t1 is DateTime); |
- |
- List<DateTime> values = []; |
- if (t1 is int) { |
- t1 = new DateTime.fromMillisecondsSinceEpoch(t1); |
- } |
- |
- DateTime time = ceil(t0); |
- if (dt > 1) { |
- while (time.isBefore(t1)) { |
- if ((_number(time) % dt) == 0) { |
- values.add( |
- new DateTime.fromMillisecondsSinceEpoch( |
- time.millisecondsSinceEpoch)); |
- } |
- time = _step(time, 1); |
- } |
- } |
- else { |
- while (time.isBefore(t1)) { |
- values.add( |
- new DateTime.fromMillisecondsSinceEpoch( |
- time.millisecondsSinceEpoch)); |
- time = _step(time, 1); |
- } |
- } |
- return values; |
- } |
- |
- static TimeInterval second = new TimeInterval( |
- (DateTime date) => |
- new DateTime.fromMillisecondsSinceEpoch( |
- (date.millisecondsSinceEpoch ~/ 1000) * 1000), |
- (DateTime date, int offset) => |
- date = new DateTime.fromMillisecondsSinceEpoch( |
- date.millisecondsSinceEpoch + offset * 1000), |
- (DateTime date) => date.second); |
- |
- static TimeInterval minute = new TimeInterval( |
- (DateTime date) => |
- new DateTime.fromMillisecondsSinceEpoch( |
- (date.millisecondsSinceEpoch ~/ 60000) * 60000), |
- (DateTime date, int offset) => |
- date = new DateTime.fromMillisecondsSinceEpoch( |
- date.millisecondsSinceEpoch + offset * 60000), |
- (DateTime date) => date.minute); |
- |
- static TimeInterval hour = new TimeInterval( |
- (DateTime date) => |
- new DateTime.fromMillisecondsSinceEpoch( |
- (date.millisecondsSinceEpoch ~/ 3600000) * 3600000), |
- (DateTime date, int offset) => |
- date = new DateTime.fromMillisecondsSinceEpoch( |
- date.millisecondsSinceEpoch + offset * 3600000), |
- (DateTime date) => date.hour); |
- |
- static TimeInterval day = new TimeInterval( |
- (DateTime date) => |
- new DateTime(date.year, date.month, date.day), |
- (DateTime date, int offset) => |
- new DateTime(date.year, date.month, date.day + offset, |
- date.hour, date.minute, date.second, date.millisecond), |
- (DateTime date) => date.day - 1); |
- |
- static TimeInterval week = new TimeInterval( |
- (DateTime date) => |
- new DateTime(date.year, date.month, date.day - (date.weekday % 7)), |
- (DateTime date, int offset) => |
- new DateTime(date.year, date.month, date.day + offset * 7, |
- date.hour, date.minute, date.second, date.millisecond ), |
- (DateTime date) { |
- var day = year.floor(date).day; |
- return (dayOfYear(date) + day % 7) ~/ 7; |
- }); |
- |
- static TimeInterval month = new TimeInterval( |
- (DateTime date) => new DateTime(date.year, date.month, 1), |
- (DateTime date, num offset) => |
- new DateTime(date.year, date.month + offset, date.day, |
- date.hour, date.minute, date.second, date.millisecond), |
- (DateTime date) => date.month - 1); |
- |
- static TimeInterval year = new TimeInterval( |
- (DateTime date) => new DateTime(date.year), |
- (DateTime date, num offset) => |
- new DateTime(date.year + offset, date.month, date.day, |
- date.hour, date.minute, date.second, date.millisecond), |
- (DateTime date) => date.year); |
- |
- static int dayOfYear(DateTime date) => |
- date.difference(year.floor(date)).inDays; |
-} |