Socket
Socket
Sign inDemoInstall

bikram-sambat

Package Overview
Dependencies
1
Maintainers
9
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.5.1 to 1.6.0

16

package.json
{
"name": "bikram-sambat",
"version": "1.5.1",
"version": "1.6.0",
"description": "JS utilities for converting between the Nepali Bikram Sambat (Vikram Samvat) and Gregorian (standard European) calendars.",

@@ -12,3 +12,3 @@ "main": "src/index.js",

"type": "git",
"url": "git+ssh://git@github.com/alxndrsn/bikram-sambat.js.git"
"url": "git+ssh://git@github.com/medic/bikram-sambat.git"
},

@@ -26,9 +26,9 @@ "keywords": [

"bugs": {
"url": "https://github.com/alxndrsn/bikram-sambat.js/issues"
"url": "https://github.com/medic/bikram-sambat/issues"
},
"homepage": "https://github.com/alxndrsn/bikram-sambat.js#readme",
"homepage": "https://github.com/medic/bikram-sambat#readme",
"devDependencies": {
"chai": "^3.5.0",
"grunt": "^1.0.1",
"jshint": "^2.9.5",
"chai": "^4.2.0",
"grunt": "^1.0.3",
"jshint": "^2.9.7",
"lodash": "^4.17.11",

@@ -38,4 +38,4 @@ "mocha": "^5.2.0"

"dependencies": {
"eurodigit": "^3.1.1"
"eurodigit": "^3.1.3"
}
}
var toDevanagari = require('eurodigit/src/to_non_euro').devanagari;
var MS_PER_DAY = 86400000;
var MONTH_NAMES = ['बैशाख', 'जेठ', 'असार', 'साउन', 'भदौ', 'असोज', 'कार्तिक', 'मंसिर', 'पौष', 'माघ', 'फाल्गुन', 'चैत'];
// We have defined our own Epoch for Bikram Sambat: 1-1-2007 BS / 13-4-1950 AD
var BS_EPOCH_TS = -622359900000; // = Date.parse('1950-4-13')
var BS_YEAR_ZERO = 2007;
// ------ TO UPDATE THESE HARDCODED VALUES USE /scripts/encode-days-in-month.js
// We have defined our own Epoch for Bikram Sambat: 1970-1-1 BS or 1913-4-13 AD
var BS_EPOCH_TS = -1789990200000; // = Date.parse('1913-4-13')
var BS_YEAR_ZERO = 1970;
var ENCODED_MONTH_LENGTHS = [
5315258,5314490,9459438,8673005,5315258,5315066,9459438,8673005,5315258,5314298,9459438,5327594,5315258,5314298,9459438,5327594,5315258,5314286,9459438,5315306,5315258,5314286,8673006,5315306,5315258,5265134,8673006,5315258,5315258,9459438,8673005,5315258,5314298,9459438,8673005,5315258,5314298,9459438,8473322,5315258,5314298,9459438,5327594,5315258,5314298,9459438,5327594,5315258,5314286,8673006,5315306,5315258,5265134,8673006,5315306,5315258,9459438,8673005,5315258,5314490,9459438,8673005,5315258,5314298,9459438,8473325,5315258,5314298,9459438,5327594,5315258,5314298,9459438,5327594,5315258,5314286,9459438,5315306,5315258,5265134,8673006,5315306,5315258,5265134,8673006,5315258,5314490,9459438,8673005,5315258,5314298,9459438,8669933,5315258,5314298,9459438,8473322,5315258,5314298,9459438,5327594,5315258,5314286,9459438,5315306,5315258,5265134,8673006,5315306,5315258,5265134,5527290,5527277,5527226,5527226,5528046,5527277,5528250,5528057,5527277,5527277
];
// TODO this would be stored more efficiently converted to a string using
// TODO ENCODED_MONTH_LENGTHS would be stored more efficiently converted to a string using
// String.fromCharCode.apply(String, ENCODED_MONTH_LENGTHS), and extracted using
// ENC_MTH.charCodeAt(...). However, JS seems to do something weird with the
// top bits.
var ENCODED_MONTH_LENGTHS = [
8673005,5315258,5314298,9459438,8673005,5315258,5314298,9459438,8473322,5315258,5314298,9459438,5327594,5315258,5314298,9459438,5327594,5315258,5314286,8673006,5315306,5315258,5265134,8673006,5315306,5315258,9459438,8673005,5315258,5314490,9459438,8673005,5315258,5314298,9459438,8473325,5315258,5314298,9459438,5327594,5315258,5314298,9459438,5327594,5315258,5314286,9459438,5315306,5315258,5265134,8673006,5315306,5315258,5265134,8673006,5315258,5314490,9459438,8673005,5315258,5314298,9459438,8669933,5315258,5314298,9459438,8473322,5315258,5314298,9459438,5327594,5315258,5314286,9459438,5315306,5315258,5265134,8673006,5315306,5315258,5265134,5527290,5527277,5527226,5527226,5528046,5527277,5528250,5528057,5527277,5527277
],
MONTH_NAMES = ['बैशाख', 'जेठ', 'असार', 'साउन', 'भदौ', 'असोज', 'कार्तिक', 'मंसिर', 'पौष', 'माघ', 'फाल्गुन', 'चैत'];
/**
* Magic numbers:
* 2000 <- the first year (BS) encoded in ENCODED_MONTH_LENGTHS
* BS_YEAR_ZERO <- the first year (BS) encoded in ENCODED_MONTH_LENGTHS
* month #5 <- this is the only month which has a day variation of more than 1

@@ -26,3 +26,3 @@ * & 3 <- this is a 2 bit mask, i.e. 0...011

if(month < 1 || month > 12) throw new Error('Invalid month value ' + month);
var delta = ENCODED_MONTH_LENGTHS[year - 2000];
var delta = ENCODED_MONTH_LENGTHS[year - BS_YEAR_ZERO];
if(typeof delta === 'undefined') throw new Error('No data for year: ' + year + ' BS');

@@ -72,8 +72,12 @@ return 29 + ((delta >>>

var timestamp = BS_EPOCH_TS;
var timestamp = BS_EPOCH_TS + (MS_PER_DAY * day);
month--;
while(year >= BS_YEAR_ZERO) {
do while(day--) timestamp += MS_PER_DAY;
while(--month && (day = daysInMonth(year, month)));
day = daysInMonth(--year, month = 12);
while (year >= BS_YEAR_ZERO) {
while (month > 0) {
timestamp += (MS_PER_DAY * daysInMonth(year, month));
month--;
}
month = 12;
year--;
}

@@ -80,0 +84,0 @@

@@ -77,3 +77,3 @@ var _ = require('lodash'),

assert.throw(() =>
bs.toGreg(2006, 1, 1));
bs.toGreg(1969, 1, 1));

@@ -80,0 +80,0 @@ });

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc