Comparing version
@@ -0,1 +1,5 @@ | ||
## 3.0.3 | ||
- Switched TypeScript build from CommonJS to UMD. | ||
## 3.0.0 | ||
@@ -5,2 +9,2 @@ | ||
Support for `timezoneOffset` parameter was removed. It was a foot gun and caused many issues because it was only half-implemented. Implementing full timezone support is outside the scope of this library. | ||
- Support for `timezoneOffset` parameter was removed. It was a foot gun and caused many issues because it was only half-implemented. Implementing full timezone support is outside the scope of this library. |
{ | ||
"name": "mockdate", | ||
"version": "1.0.1", | ||
"version": "3.0.2", | ||
"keywords": [ | ||
@@ -11,4 +11,6 @@ "date", | ||
"license": "MIT", | ||
"main": "src/mockdate.js", | ||
"scripts": ["src/mockdate.js"] | ||
"main": "lib/mockdate.js", | ||
"scripts": [ | ||
"lib/mockdate.js" | ||
] | ||
} |
@@ -1,2 +0,1 @@ | ||
"use strict"; | ||
var __extends = (this && this.__extends) || (function () { | ||
@@ -15,68 +14,79 @@ var extendStatics = function (d, b) { | ||
})(); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.reset = exports.set = void 0; | ||
var RealDate = Date; | ||
var now = null; | ||
var MockDate = /** @class */ (function (_super) { | ||
__extends(MockDate, _super); | ||
function MockDate(y, m, d, h, M, s, ms) { | ||
var _this = _super.call(this) || this; | ||
var 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; | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.reset = exports.set = void 0; | ||
var RealDate = Date; | ||
var now = null; | ||
var MockDate = /** @class */ (function (_super) { | ||
__extends(Date, _super); | ||
function Date(y, m, d, h, M, s, ms) { | ||
var _this = _super.call(this) || this; | ||
var 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; | ||
} | ||
return date; | ||
} | ||
return date; | ||
return Date; | ||
}(RealDate)); | ||
MockDate.prototype = RealDate.prototype; | ||
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 set(date) { | ||
var dateObj = new Date(date.valueOf()); | ||
if (isNaN(dateObj.getTime())) { | ||
throw new TypeError('mockdate: The time set is an invalid date: ' + date); | ||
} | ||
// @ts-ignore | ||
Date = MockDate; | ||
if (date.valueOf) { | ||
date = date.valueOf(); | ||
} | ||
now = dateObj.valueOf(); | ||
} | ||
return MockDate; | ||
}(Date)); | ||
MockDate.prototype = RealDate.prototype; | ||
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 set(date) { | ||
var dateObj = new Date(date.valueOf()); | ||
if (isNaN(dateObj.getTime())) { | ||
throw new TypeError('mockdate: The time set is an invalid date: ' + date); | ||
exports.set = set; | ||
function reset() { | ||
Date = RealDate; | ||
} | ||
// @ts-ignore | ||
Date = MockDate; | ||
if (date.valueOf) { | ||
date = date.valueOf(); | ||
} | ||
now = dateObj.valueOf(); | ||
} | ||
exports.set = set; | ||
function reset() { | ||
Date = RealDate; | ||
} | ||
exports.reset = reset; | ||
exports.default = { | ||
set: set, | ||
reset: reset, | ||
}; | ||
exports.reset = reset; | ||
exports.default = { | ||
set: set, | ||
reset: reset, | ||
}; | ||
}); | ||
//# sourceMappingURL=mockdate.js.map |
{ | ||
"name": "mockdate", | ||
"version": "3.0.2", | ||
"version": "3.0.3", | ||
"description": "A JavaScript mock Date object that can be used to change when \"now\" is.", | ||
@@ -35,4 +35,4 @@ "main": "lib/mockdate.js", | ||
"spm": { | ||
"main": "src/mockdate.js" | ||
"main": "lib/mockdate.js" | ||
} | ||
} |
@@ -9,3 +9,3 @@ MockDate | ||
## Installation ## | ||
`npm install mockdate` | ||
`npm install mockdate --save-dev` | ||
@@ -12,0 +12,0 @@ ## Environment Support ## |
const RealDate = Date; | ||
let now: null | number = null; | ||
class MockDate extends Date { | ||
const MockDate = class Date extends RealDate { | ||
constructor(); | ||
@@ -6,0 +6,0 @@ constructor(value: number | string); |
const should = require('should'); | ||
const MockDate = require('..'); | ||
const MockDate = require('../lib/mockdate'); | ||
describe('MockDate', function() { | ||
const mockDate = '1/1/2000'; | ||
const currentYear = new Date().getFullYear(); | ||
const nativeToString = Date.toString(); | ||
var mockDate = '1/1/2000'; | ||
var currentYear = new Date().getFullYear(); | ||
var nativeToString = Date.toString(); | ||
var mockDateRealOffset = new Date(mockDate).getTimezoneOffset(); | ||
var currentDateRealOffset = new Date().getTimezoneOffset(); | ||
beforeEach(function () { | ||
@@ -20,2 +17,6 @@ MockDate.set(new Date(mockDate)); | ||
it('should check date constructor name', function() { | ||
should.equal(Date.name, 'Date'); | ||
}); | ||
it('should throw for bad date', function() { | ||
@@ -22,0 +23,0 @@ should.throws(function () { |
{ | ||
"compilerOptions": { | ||
"target": "ES5", | ||
"module": "commonjs", | ||
"module": "UMD", | ||
"declaration": true, | ||
@@ -12,2 +12,2 @@ "noImplicitAny": true, | ||
"exclude": ["node_modules", "test"] | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
14094
5.25%254
5.83%