New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-opcua-date-time

Package Overview
Dependencies
Maintainers
1
Versions
131
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-opcua-date-time - npm Package Compare versions

Comparing version 0.2.3 to 0.3.0

8

package.json
{
"name": "node-opcua-date-time",
"main": "./src/date_time.js",
"version": "0.2.3",
"version": "0.3.0",
"description": "pure nodejs OPCUA SDK - module -date-time",

@@ -10,3 +10,3 @@ "scripts": {

"dependencies": {
"node-opcua-assert": "^0.2.0",
"node-opcua-assert": "^0.3.0",
"underscore": "^1.8.3"

@@ -16,4 +16,4 @@ },

"bignumber.js": "^6.0.0",
"node-opcua-benchmarker": "^0.2.0",
"node-opcua-binary-stream": "^0.2.3",
"node-opcua-benchmarker": "^0.3.0",
"node-opcua-binary-stream": "^0.3.0",
"should": "13.2.1"

@@ -20,0 +20,0 @@ },

"use strict";
var assert = require("node-opcua-assert");
var _ = require("underscore");
const assert = require("node-opcua-assert").assert;
const _ = require("underscore");
var offset_factor_1601 = (function () {
const offset_factor_1601 = (function () {
var utc1600 = new Date(Date.UTC(1601, 0, 1, 0, 0, 0));
var t1600 = utc1600.getTime();
const utc1600 = new Date(Date.UTC(1601, 0, 1, 0, 0, 0));
const t1600 = utc1600.getTime();
var utc1600_plus_one_day = new Date(Date.UTC(1601, 0, 2, 0, 0, 0));
var t1600_1d = utc1600_plus_one_day.getTime();
const utc1600_plus_one_day = new Date(Date.UTC(1601, 0, 2, 0, 0, 0));
const t1600_1d = utc1600_plus_one_day.getTime();
var factor = (24 * 60 * 60 * 1000) * 10000 / (t1600_1d - t1600);
const factor = (24 * 60 * 60 * 1000) * 10000 / (t1600_1d - t1600);
var utc1970 = new Date(Date.UTC(1970, 0, 1, 0, 0, 0));
var t1970 = utc1970.getTime();
const utc1970 = new Date(Date.UTC(1970, 0, 1, 0, 0, 0));
const t1970 = utc1970.getTime();
var offsetToGregorianCalendarZero = -t1600 + t1970;
const offsetToGregorianCalendarZero = -t1600 + t1970;

@@ -28,12 +28,12 @@ assert(factor === 10000);

var offset = offset_factor_1601[0];
var factor = offset_factor_1601[1];
const offset = offset_factor_1601[0];
const factor = offset_factor_1601[1];
var F = 0x100000000;
var A = factor / F;
var B = offset * A;
var oh = Math.floor(offset / F);
var ol = offset % F;
var fl = factor % F;
var F_div_factor = (F / factor);
const F = 0x100000000;
const A = factor / F;
const B = offset * A;
const oh = Math.floor(offset / F);
const ol = offset % F;
const fl = factor % F;
const F_div_factor = (F / factor);

@@ -88,3 +88,3 @@ // Extracted from OpcUA Spec v1.02 : part 6:

//
var t = date.getTime(); // number of milliseconds since since 1 January 1970 00:00:00 UTC.
const t = date.getTime(); // number of milliseconds since since 1 January 1970 00:00:00 UTC.

@@ -112,6 +112,6 @@ //Note:

var value_h = Math.floor(t * A + B);
var value_l = ((t % F + ol) * fl) % F;
const value_h = Math.floor(t * A + B);
let value_l = ((t % F + ol) * fl) % F;
value_l = (value_l + F) % F;
var high_low = [value_h, value_l];
const high_low = [value_h, value_l];
date.high_low = high_low;

@@ -133,4 +133,4 @@ return high_low;

// o = oh * F + ol
var value1 = (Math.floor(high / factor) - oh) * F + Math.floor((high % factor) * F_div_factor + low / factor) - ol;
var date = new Date(value1);
const value1 = (Math.floor(high / factor) - oh) * F + Math.floor((high % factor) * F_div_factor + low / factor) - ol;
const date = new Date(value1);

@@ -151,7 +151,7 @@ // enrich the date

var last_now_date = null;
var last_picoseconds = 0;
let last_now_date = null;
let last_picoseconds = 0;
function getCurrentClock() {
var now = new Date();
const now = new Date();
if (last_now_date && now.getTime() === last_now_date.getTime()) {

@@ -158,0 +158,0 @@ last_picoseconds += 1;

"use strict";
var assert = require("node-opcua-assert");
var _ =require("underscore");
const assert = require("node-opcua-assert").assert;
const _ =require("underscore");
var date_time = require("./date_time");
var bn_dateToHundredNanoSecondFrom1601 = date_time.bn_dateToHundredNanoSecondFrom1601;
var bn_hundredNanoSecondFrom1601ToDate = date_time.bn_hundredNanoSecondFrom1601ToDate;
const date_time = require("./date_time");
const bn_dateToHundredNanoSecondFrom1601 = date_time.bn_dateToHundredNanoSecondFrom1601;
const bn_hundredNanoSecondFrom1601ToDate = date_time.bn_hundredNanoSecondFrom1601ToDate;

@@ -31,3 +31,3 @@

exports.randomDateTime = function () {
var r = getRandomInt;
const r = getRandomInt;
return new Date(

@@ -50,5 +50,5 @@ 1900 + r(0, 200), r(0, 11), r(0, 28),

assert(date instanceof Date);
var hl = bn_dateToHundredNanoSecondFrom1601(date);
var hi = hl[0];
var lo = hl[1];
let hl = bn_dateToHundredNanoSecondFrom1601(date);
let hi = hl[0];
let lo = hl[1];

@@ -60,3 +60,3 @@ // make sure that date are not lower than expected limit

if (hi <0 || lo<0 || hi > MAXUINT32 || lo > MAXUINT32 ) {
var hl = bn_dateToHundredNanoSecondFrom1601(date);
hl = bn_dateToHundredNanoSecondFrom1601(date);
throw new Error("INVALID " + hi + " "+lo + " "+date.toUTCString());

@@ -70,4 +70,4 @@ }

exports.decodeDateTime = function (stream) {
var lo = stream.readUInt32();
var hi = stream.readUInt32();
const lo = stream.readUInt32();
const hi = stream.readUInt32();
return bn_hundredNanoSecondFrom1601ToDate(hi, lo);

@@ -74,0 +74,0 @@ };

"use strict";
var should = require("should");
const should = require("should");
var _ = require("underscore");
var BinaryStream = require("node-opcua-binary-stream").BinaryStream;
const _ = require("underscore");
const BinaryStream = require("node-opcua-binary-stream").BinaryStream;
var date_time = require("..");
var ec = require("../src/encode_decode");
const date_time = require("..");
const ec = require("../src/encode_decode");
var offset_factor_1601 = date_time.offset_factor_1601;
var offset = offset_factor_1601[0];
var factor = offset_factor_1601[1];
const offset_factor_1601 = date_time.offset_factor_1601;
const offset = offset_factor_1601[0];
const factor = offset_factor_1601[1];

@@ -23,7 +23,7 @@ function isValidUInt32(value) {

// deprecated (inaccurate)
var assert = require("node-opcua-assert");
const assert = require("node-opcua-assert").assert;
function deprecated_dateToHundredNanoSecondFrom1601(date) {
assert(date instanceof Date);
var t = date.getTime(); // number of milliseconds since 1/1/70
const t = date.getTime(); // number of milliseconds since 1/1/70
assert(new Date(t).getTime() === t);

@@ -45,5 +45,5 @@

var date = new Date(2014, 0, 1);
var nano = deprecated_dateToHundredNanoSecondFrom1601(date);
var date2 = deprecated_hundredNanoSecondFrom1601ToDate(nano);
const date = new Date(2014, 0, 1);
const nano = deprecated_dateToHundredNanoSecondFrom1601(date);
const date2 = deprecated_hundredNanoSecondFrom1601ToDate(nano);
date2.toString().should.equal(date.toString());

@@ -54,4 +54,4 @@

var date = new Date(Date.UTC(1601, 0, 1, 0, 0));
var nano = deprecated_dateToHundredNanoSecondFrom1601(date);
const date = new Date(Date.UTC(1601, 0, 1, 0, 0));
const nano = deprecated_dateToHundredNanoSecondFrom1601(date);
nano.should.equal(0);

@@ -62,6 +62,6 @@ });

var date = new Date(Date.UTC(1601, 0, 2, 0, 0));
var nano = deprecated_dateToHundredNanoSecondFrom1601(date);
const date = new Date(Date.UTC(1601, 0, 2, 0, 0));
const nano = deprecated_dateToHundredNanoSecondFrom1601(date);
nano.should.equal(24 * 60 * 60 * 1000 * 10000);
var date2 = deprecated_hundredNanoSecondFrom1601ToDate(nano);
const date2 = deprecated_hundredNanoSecondFrom1601ToDate(nano);
date2.toString().should.equal(date.toString());

@@ -72,5 +72,5 @@ });

var date = new Date(1789, 6, 14, 19, 47);
var nano = deprecated_dateToHundredNanoSecondFrom1601(date);
var date2 = deprecated_hundredNanoSecondFrom1601ToDate(nano);
const date = new Date(1789, 6, 14, 19, 47);
const nano = deprecated_dateToHundredNanoSecondFrom1601(date);
const date2 = deprecated_hundredNanoSecondFrom1601ToDate(nano);

@@ -90,4 +90,4 @@ date2.toString().should.equal(date.toString());

var january = 1;
var first_of_jan_1970_UTC = new Date(Date.UTC(1970, january - 1, 1, 0, 0, 0));
const january = 1;
const first_of_jan_1970_UTC = new Date(Date.UTC(1970, january - 1, 1, 0, 0, 0));

@@ -104,5 +104,5 @@ //xx console.log("\n UTC Time ",first_of_jan_1970_UTC.toUTCString());

it("bn_dateToHundredNanoSecondFrom1601 should return n=(number of nanosecond in a single day) for January, 2nd 1601 00:00:00 UTC", function () {
var date = new Date(Date.UTC(1601, 0, 2, 0, 0, 0));
var nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
var value = 24 * 60 * 60 * 1000 * 10000; // number of nanosecond in a single day
const date = new Date(Date.UTC(1601, 0, 2, 0, 0, 0));
const nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
const value = 24 * 60 * 60 * 1000 * 10000; // number of nanosecond in a single day
nano[0].should.equal(Math.floor(value / 0x100000000));

@@ -114,3 +114,3 @@ nano[1].should.equal(value % 0x100000000);

var buf = new Buffer(8);
const buf = new Buffer(8);
buf.writeUInt32LE(0xd353c292, 0);

@@ -124,4 +124,4 @@ buf.writeUInt32LE(0x01cef70c, 4);

var stream = new BinaryStream(buf);
var date = ec.decodeDateTime(stream);
const stream = new BinaryStream(buf);
const date = ec.decodeDateTime(stream);
//xx console.log("DDD = ",date.toUTCString(), " ms=", date.getMilliseconds());

@@ -133,13 +133,13 @@ date.toISOString().should.eql("2013-12-12T07:36:09.747Z");

var date1 = new Date(Date.UTC(2013, 11, 12, 7, 36, 6));
const date1 = new Date(Date.UTC(2013, 11, 12, 7, 36, 6));
date1.toISOString().should.eql("2013-12-12T07:36:06.000Z");
var t1 = date1.getTime();
var q1 = date_time.bn_dateToHundredNanoSecondFrom1601(date1);
const t1 = date1.getTime();
const q1 = date_time.bn_dateToHundredNanoSecondFrom1601(date1);
// construct the same date with 713 millisecond more ...
var date2 = new Date(Date.UTC(2013, 11, 12, 7, 36, 6));
const date2 = new Date(Date.UTC(2013, 11, 12, 7, 36, 6));
date2.setMilliseconds(713);
date2.toISOString().should.eql("2013-12-12T07:36:06.713Z");
var t2 = date2.getTime();
var q2 = date_time.bn_dateToHundredNanoSecondFrom1601(date2);
const t2 = date2.getTime();
const q2 = date_time.bn_dateToHundredNanoSecondFrom1601(date2);

@@ -156,11 +156,11 @@ (t2 - t1).should.eql(713, " there must be a difference of 713 milliseconds");

var BigNumber = require("bignumber.js");
const BigNumber = require("bignumber.js");
function bn_dateToHundredNanoSecondFrom1601_big_number(date) {
assert(date instanceof Date);
var t = date.getTime(); // number of milliseconds since 1/1/70
const t = date.getTime(); // number of milliseconds since 1/1/70
var bn_value = new BigNumber(t).plus(offset).times(factor);
var high = bn_value.div(0x100000000);
var low = bn_value.mod(0x100000000);
const bn_value = new BigNumber(t).plus(offset).times(factor);
const high = bn_value.div(0x100000000);
const low = bn_value.mod(0x100000000);
return [parseInt(high.toString(), 10), parseInt(low.toString(), 10)];

@@ -170,5 +170,5 @@ }

function bn_hundredNanoSecondFrom1601ToDate_big_number(high, low) {
var offset = offset_factor_1601[0];
var factor = offset_factor_1601[1];
var value = new BigNumber(high).times(0x100000000).plus(low).div(factor).minus(offset);
const offset = offset_factor_1601[0];
const factor = offset_factor_1601[1];
let value = new BigNumber(high).times(0x100000000).plus(low).div(factor).minus(offset);
value = parseInt(value, 10);

@@ -179,3 +179,3 @@ return new Date(value);

var Benchmarker = require("node-opcua-benchmarker").Benchmarker;
const Benchmarker = require("node-opcua-benchmarker").Benchmarker;

@@ -186,5 +186,5 @@ describe("Benchmarking Date conversion routines", function () {

var date = new Date(2014, 0, 1);
var nano1 = bn_dateToHundredNanoSecondFrom1601_big_number(date);
var nano2 = date_time.bn_dateToHundredNanoSecondFrom1601(date);
const date = new Date(2014, 0, 1);
const nano1 = bn_dateToHundredNanoSecondFrom1601_big_number(date);
const nano2 = date_time.bn_dateToHundredNanoSecondFrom1601(date);
nano1.should.eql(nano2);

@@ -195,8 +195,8 @@ });

var bench = new Benchmarker();
const bench = new Benchmarker();
bench.add('bn_dateToHundredNanoSecondFrom1601_safe', function () {
var date = new Date(2014, 0, 1);
var nano = bn_dateToHundredNanoSecondFrom1601_big_number(date);
const date = new Date(2014, 0, 1);
const nano = bn_dateToHundredNanoSecondFrom1601_big_number(date);

@@ -206,4 +206,4 @@ })

var date = new Date(2014, 0, 1);
var nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
const date = new Date(2014, 0, 1);
const nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);

@@ -227,6 +227,6 @@ })

var date = new Date(2014, 0, 1);
var nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
const date = new Date(2014, 0, 1);
const nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
var bench = new Benchmarker();
const bench = new Benchmarker();
bench.add('bn_hundredNanoSecondFrom1601ToDate_safe', function () {

@@ -255,3 +255,3 @@ bn_hundredNanoSecondFrom1601ToDate_big_number(nano[0], nano[1]);

var dates_to_check = [
const dates_to_check = [
new Date(1, 1, 1601),

@@ -264,12 +264,12 @@ new Date(14, 7, 1789),

];
var i;
let i;
for (i = 0; i < 100; i++) {
dates_to_check.push(ec.randomDateTime());
}
var date, check_date, check_date_bn;
var bs = new BinaryStream();
let date, check_date, check_date_bn;
const bs = new BinaryStream();
for (i = 0; i < dates_to_check.length; i++) {
date = dates_to_check[i];
var hl = date_time.bn_dateToHundredNanoSecondFrom1601(date);
var hl_bn = bn_dateToHundredNanoSecondFrom1601_big_number(date);
const hl = date_time.bn_dateToHundredNanoSecondFrom1601(date);
const hl_bn = bn_dateToHundredNanoSecondFrom1601_big_number(date);

@@ -289,4 +289,4 @@ check_date = date_time.bn_hundredNanoSecondFrom1601ToDate(hl[0], hl[1]);

it("bn_dateToHundredNanoSecondFrom1601 should return 0 for January, 1st 1601 00:00:00 UTC", function () {
var date = new Date(Date.UTC(1601, 0, 1, 0, 0, 0));
var nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
const date = new Date(Date.UTC(1601, 0, 1, 0, 0, 0));
const nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
nano[0].should.equal(0);

@@ -298,5 +298,5 @@ nano[1].should.equal(0);

var date = new Date(Date.UTC(1970, 0, 1, 0, 0, 0));
var nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
var verif = bn_dateToHundredNanoSecondFrom1601_big_number(date);
const date = new Date(Date.UTC(1970, 0, 1, 0, 0, 0));
const nano = date_time.bn_dateToHundredNanoSecondFrom1601(date);
const verif = bn_dateToHundredNanoSecondFrom1601_big_number(date);
//xx console.log(date.toUTCString(), "0x0"+nano[0].toString(16),"0x"+nano[1].toString(16),nano,verif[0].toString(16),verif[1].toString(16));

@@ -336,9 +336,9 @@ nano[0].should.equal(0x019DB1DE); // hi

var date1 = new Date(Date.UTC(2010, 2, 25));
var date2 = new Date(Date.UTC(2011, 2, 25));
const date1 = new Date(Date.UTC(2010, 2, 25));
const date2 = new Date(Date.UTC(2011, 2, 25));
// number of millisecond , not adjusted
var nms = 1000 * 60 * 60 * 24 * 365;
const nms = 1000 * 60 * 60 * 24 * 365;
var diff1 = date2.getTime() - date1.getTime();
const diff1 = date2.getTime() - date1.getTime();

@@ -348,5 +348,5 @@ // according to http://en.wikipedia.org/wiki/Leap_second

// causing this year to be (1000*60*60*24*365 + 1000) milliseconds long
var date3 = new Date(Date.UTC(2012, 2, 25));
var date4 = new Date(Date.UTC(2013, 2, 25));
var diff2 = date4.getTime() - date3.getTime();
const date3 = new Date(Date.UTC(2012, 2, 25));
const date4 = new Date(Date.UTC(2013, 2, 25));
const diff2 = date4.getTime() - date3.getTime();
(diff2 - nms).should.eql(0, "I though Javascript used a simplified version of UTC time , that ignore leap seconds");

@@ -357,13 +357,13 @@

var n_leap = 366 * 24 * 60 * 60;
var n_no_leap = 365 * 24 * 60 * 60;
const n_leap = 366 * 24 * 60 * 60;
const n_no_leap = 365 * 24 * 60 * 60;
function inner_test(year) {
var date1 = new Date(Date.UTC(year, 1, 25)); // year February 25th
var date2 = new Date(Date.UTC(year + 1, 1, 25)); // year February 25th
const date1 = new Date(Date.UTC(year, 1, 25)); // year February 25th
const date2 = new Date(Date.UTC(year + 1, 1, 25)); // year February 25th
var n = ((year % 4 ) === 0) ? n_leap : n_no_leap;
const n = ((year % 4 ) === 0) ? n_leap : n_no_leap;
var d = (date2.getTime() - date1.getTime()) / 1000;
const d = (date2.getTime() - date1.getTime()) / 1000;
(d - n).should.eql(0);

@@ -373,3 +373,3 @@ // console.log("year = ", year, date1.toUTCString(), " => ",d,n,d -n);

for (var y = 1970; y < 2020; y++) {
for (let y = 1970; y < 2020; y++) {
inner_test(y);

@@ -376,0 +376,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc