now.ts 724 B

1234567891011121314151617181920212223242526
  1. /**
  2. * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
  3. *
  4. * @author David Sehnal <david.sehnal@gmail.com>
  5. */
  6. declare var process: any;
  7. declare var window: any;
  8. const now: () => number = (function () {
  9. if (typeof window !== 'undefined' && window.performance) {
  10. const perf = window.performance;
  11. return () => perf.now();
  12. } else if (typeof process !== 'undefined' && process.hrtime !== 'undefined') {
  13. return () => {
  14. const t = process.hrtime();
  15. return t[0] * 1000 + t[1] / 1000000;
  16. };
  17. } else if (Date.now) {
  18. return () => Date.now();
  19. } else {
  20. return () => +new Date();
  21. }
  22. }());
  23. export { now }