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

shamsi-date-converter

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

shamsi-date-converter - npm Package Compare versions

Comparing version 1.0.4 to 1.0.5

14

lib/index.d.ts

@@ -1,9 +0,7 @@

/** 355746=361590-5844 & 361590=(30*33*365)+(30*8) & 5844=(16*365)+(16/4)
355666=355746-79-1 & 355668=355746-79+1 & 1595=605+990 & 605=621-16
990=30*33 & 12053=(365*33)+(32/4) & 36524=(365*100)+(100/4)-(100/100)
1461=(365*4)+(4/4) & 146097=(365*400)+(400/4)-(400/100)+(400/400) */
declare type monthType = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
declare type dayType = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31;
export declare function gregorianToJalali(gy: number, gm: monthType, gd: dayType): [number, number, number];
export declare function jalaliToGregorian(jy: number, jm: monthType, jd: dayType): [number, number, number];
import * as shamsi from 'shamsi';
declare type MonthType = shamsi.MonthType;
declare type DayType = shamsi.DayType;
export declare const jalaliToGregorian: typeof shamsi.jalaliToGregorian;
export declare function gregorianToJalali(yearOrDate: string | Date): [number, number, number];
export declare function gregorianToJalali(yearOrDate: number, month: MonthType, date: DayType): [number, number, number];
export {};
"use strict";
// import * as shamsi from 'shamsi';
Object.defineProperty(exports, "__esModule", { value: true });
exports.jalaliToGregorian = exports.gregorianToJalali = void 0;
function gregorianToJalali(gy, gm, gd) {
var gdm, jy, jm, jd, gy2, days;
gdm = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
gy2 = gm > 2 ? gy + 1 : gy;
days =
355666 +
365 * gy +
~~((gy2 + 3) / 4) -
~~((gy2 + 99) / 100) +
~~((gy2 + 399) / 400) +
gd +
gdm[gm - 1];
jy = -1595 + 33 * ~~(days / 12053);
days %= 12053;
jy += 4 * ~~(days / 1461);
days %= 1461;
if (days > 365) {
jy += ~~((days - 1) / 365);
days = (days - 1) % 365;
exports.gregorianToJalali = exports.jalaliToGregorian = void 0;
var shamsi = require("shamsi");
var gtj = shamsi.gregorianToJalali, jtg = shamsi.jalaliToGregorian;
exports.jalaliToGregorian = jtg;
function gregorianToJalali(yearOrDate, month, day) {
if (typeof yearOrDate !== 'number') {
var date = new Date(yearOrDate);
var y = date.getFullYear();
var m = (date.getMonth() + 1);
var d = date.getDate();
return gtj(y, m, d);
}
if (days < 186) {
jm = 1 + ~~(days / 31);
jd = 1 + (days % 31);
}
else {
jm = 7 + ~~((days - 186) / 30);
jd = 1 + ((days - 186) % 30);
return gtj(yearOrDate, month, day);
}
return [jy, jm, jd];
}
exports.gregorianToJalali = gregorianToJalali;
function jalaliToGregorian(jy, jm, jd) {
var salA, gy, gm, gd, days;
jy += 1595;
days =
-355668 +
365 * jy +
~~(jy / 33) * 8 +
~~(((jy % 33) + 3) / 4) +
jd +
(jm < 7 ? (jm - 1) * 31 : (jm - 7) * 30 + 186);
gy = 400 * ~~(days / 146097);
days %= 146097;
if (days > 36524) {
gy += 100 * ~~(--days / 36524);
days %= 36524;
if (days >= 365) {
days++;
}
}
gy += 4 * ~~(days / 1461);
days %= 1461;
if (days > 365) {
gy += ~~((days - 1) / 365);
days = (days - 1) % 365;
}
gd = days + 1;
salA = [
0,
31,
(gy % 4 === 0 && gy % 100 !== 0) || gy % 400 === 0 ? 29 : 28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31,
];
for (gm = 0; gm < 13 && gd > salA[gm]; gm++) {
gd -= salA[gm];
}
return [gy, gm, gd];
}
exports.jalaliToGregorian = jalaliToGregorian;
{
"name": "shamsi-date-converter",
"version": "1.0.4",
"version": "1.0.5",
"description": "A minimal Jalali to Gregorian and Gregorian to Jalali converter",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

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