UNPKG

daniel-san

Version:

a node-based budget-projection engine that helps your routines and finances find balance. The program features aggregates, terminal and file-based reporting output, multi-currency conversion capability and multi-frequency accounting triggers, including: o

79 lines (70 loc) 2.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _require = require('../timeZone'), createTimeZone = _require.createTimeZone; var streamForward = function streamForward(momentDate) { return momentDate.add(1, 'day'); }; var streamBackward = function streamBackward(momentDate) { return momentDate.add(-1, 'day'); }; var TimeStream = /*#__PURE__*/ function () { function TimeStream(_ref) { var effectiveDateStartString = _ref.effectiveDateStartString, effectiveDateEndString = _ref.effectiveDateEndString, _ref$timeZone = _ref.timeZone, timeZone = _ref$timeZone === void 0 ? null : _ref$timeZone, _ref$timeZoneType = _ref.timeZoneType, timeZoneType = _ref$timeZoneType === void 0 ? null : _ref$timeZoneType, _ref$timeStartString = _ref.timeStartString, timeStartString = _ref$timeStartString === void 0 ? null : _ref$timeStartString, _ref$timeEndString = _ref.timeEndString, timeEndString = _ref$timeEndString === void 0 ? null : _ref$timeEndString; (0, _classCallCheck2["default"])(this, TimeStream); this.effectiveDateStartString = effectiveDateStartString; this.effectiveDateEndString = effectiveDateEndString; this.effectiveDateStart = createTimeZone({ timeZone: timeZone, timeZoneType: timeZoneType, dateString: effectiveDateStartString, timeString: timeStartString }); this.effectiveDateEnd = createTimeZone({ timeZone: timeZone, timeZoneType: timeZoneType, dateString: effectiveDateEndString, timeString: timeEndString }); this.looperDate = createTimeZone({ timeZone: timeZone, timeZoneType: timeZoneType, dateString: effectiveDateStartString, timeString: timeStartString }); } (0, _createClass2["default"])(TimeStream, [{ key: "stream1DayForward", value: function stream1DayForward() { this.looperDate = streamForward(this.looperDate); var looperIsNotBeyondTheEdge = !this.looperDate.isAfter(this.effectiveDateEnd); return looperIsNotBeyondTheEdge; } }, { key: "stream1DayBackward", value: function stream1DayBackward() { this.looperDate = streamBackward(this.looperDate); var looperIsNotBeyondTheEdge = !this.looperDate.isBefore(this.effectiveDateEnd); return looperIsNotBeyondTheEdge; } }]); return TimeStream; }(); module.exports = { TimeStream: TimeStream, streamForward: streamForward, streamBackward: streamBackward };