Sha256: 38ef54285cd2ffe36d8e6af9652437d8943f9278c5f5689437796020aaee9b1f

Contents?: true

Size: 1.27 KB

Versions: 26

Compression:

Stored size: 1.27 KB

Contents

const RealDate = Date;
let now = null;
class MockDate extends RealDate {
  constructor(y, m, d, h, M, s, ms) {
    super();
    let date;
    switch (arguments.length) {
      case 0:
        if (now !== null) {
          date = new RealDate(now.valueOf());
        } else {
          date = new RealDate();
        }
        break;
      case 1:
        date = new RealDate(y);
        break;
      default:
        d = typeof d === "undefined" ? 1 : d;
        h = h || 0;
        M = M || 0;
        s = s || 0;
        ms = ms || 0;
        date = new RealDate(y, m, d, h, M, s, ms);
        break;
    }
    Object.setPrototypeOf(date, MockDate.prototype);
    return date;
  }
}
MockDate.UTC = RealDate.UTC;
MockDate.now = function() {
  return new MockDate().valueOf();
};
MockDate.parse = function(dateString) {
  return RealDate.parse(dateString);
};
MockDate.toString = function() {
  return RealDate.toString();
};
function mockDate(date) {
  const dateObj = new RealDate(date.valueOf());
  if (Number.isNaN(dateObj.getTime())) {
    throw new TypeError(`mockdate: The time set is an invalid date: ${date}`);
  }
  globalThis.Date = MockDate;
  now = dateObj.valueOf();
}
function resetDate() {
  globalThis.Date = RealDate;
}

export { RealDate as R, mockDate as m, resetDate as r };

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.22 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.21 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.20 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.19 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.18 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.17 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.16 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.15 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.14 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.13 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.12 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.11 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.10 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.9 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.8 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js
clapton-0.0.7 lib/clapton/javascripts/node_modules/vitest/dist/chunks/date.W2xKR2qe.js