moment-jalaali
Advanced tools
Comparing version 0.9.6 to 0.10.0
@@ -77,2 +77,3 @@ | ||
, jalaaliToDateObject: jalaaliToDateObject | ||
, jalaaliWeek: jalaaliWeek | ||
} | ||
@@ -139,8 +140,8 @@ | ||
*/ | ||
function jalCalLeap(jy) { | ||
var bl = breaks.length | ||
function jalCalLeap(jy) { | ||
var bl = breaks.length | ||
, jp = breaks[0] | ||
, jm | ||
, jump | ||
, leap | ||
, leap | ||
, n | ||
@@ -151,3 +152,3 @@ , i | ||
throw new Error('Invalid Jalaali year ' + jy) | ||
for (i = 1; i < bl; i += 1) { | ||
@@ -157,7 +158,7 @@ jm = breaks[i] | ||
if (jy < jm) | ||
break | ||
break | ||
jp = jm | ||
} | ||
n = jy - jp | ||
if (jump - n < 6) | ||
@@ -168,4 +169,4 @@ n = n - jump + div(jump + 4, 33) * 33 | ||
leap = 4 | ||
} | ||
} | ||
return leap | ||
@@ -189,3 +190,3 @@ } | ||
*/ | ||
function jalCal(jy, withoutLeap) { | ||
function jalCal(jy, withoutLeap) { | ||
var bl = breaks.length | ||
@@ -239,3 +240,3 @@ , gy = jy + 621 | ||
leap = 4 | ||
} | ||
} | ||
@@ -358,12 +359,19 @@ return { leap: leap | ||
/* | ||
Utility helper functions. | ||
*/ | ||
/** | ||
* Return Saturday and Friday day of current week(week start in Saturday) | ||
* @param {number} jy jalaali year | ||
* @param {number} jm jalaali month | ||
* @param {number} jd jalaali day | ||
* @returns Saturday and Friday of current week | ||
*/ | ||
function jalaaliWeek(jy, jm, jd) { | ||
var dayOfWeek = jalaaliToDateObject(jy, jm, jd).getDay(); | ||
function div(a, b) { | ||
return ~~(a / b) | ||
} | ||
var startDayDifference = dayOfWeek == 6 ? 0 : -(dayOfWeek+1); | ||
var endDayDifference = 6+startDayDifference; | ||
function mod(a, b) { | ||
return a - ~~(a / b) * b | ||
return { | ||
saturday: d2j(j2d(jy, jm, jd+startDayDifference)), | ||
friday: d2j(j2d(jy, jm, jd+endDayDifference)) | ||
} | ||
} | ||
@@ -376,13 +384,42 @@ | ||
* @param {number} jd jalaali day | ||
* @param {number} [h] hours | ||
* @param {number} [m] minutes | ||
* @param {number} [s] seconds | ||
* @param {number} [ms] milliseconds | ||
* @returns Date object of the jalaali calendar dates | ||
*/ | ||
function jalaaliToDateObject(jy, jm, jd) { | ||
function jalaaliToDateObject( | ||
jy, | ||
jm, | ||
jd, | ||
h, | ||
m, | ||
s, | ||
ms | ||
) { | ||
var gregorianCalenderDate = toGregorian(jy, jm, jd); | ||
return new Date( | ||
gregorianCalenderDate.gy, | ||
gregorianCalenderDate.gm - 1, | ||
gregorianCalenderDate.gd | ||
gregorianCalenderDate.gy, | ||
gregorianCalenderDate.gm - 1, | ||
gregorianCalenderDate.gd, | ||
h || 0, | ||
m || 0, | ||
s || 0, | ||
ms || 0 | ||
); | ||
}}) | ||
} | ||
/* | ||
Utility helper functions. | ||
*/ | ||
function div(a, b) { | ||
return ~~(a / b) | ||
} | ||
function mod(a, b) { | ||
return a - ~~(a / b) * b | ||
} | ||
}) | ||
require.register("moment-jalaali", function (exports, module) { | ||
@@ -1268,2 +1305,183 @@ | ||
jMoment.loadPersian_dari = function (args) { | ||
var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false | ||
var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'persian-dari' | ||
moment.locale('fa-af') | ||
moment.updateLocale('fa-af' | ||
, { months: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, monthsShort: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, weekdays: | ||
{ | ||
'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysShort: | ||
{ | ||
'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysMin: | ||
{ | ||
'persian': 'ی_د_س_چ_پ_آ_ش'.split('_'), | ||
'persian-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') | ||
}[dialect] | ||
, longDateFormat: | ||
{ LT: 'HH:mm' | ||
, L: 'jYYYY/jMM/jDD' | ||
, LL: 'jD jMMMM jYYYY' | ||
, LLL: 'jD jMMMM jYYYY LT' | ||
, LLLL: 'dddd، jD jMMMM jYYYY LT' | ||
} | ||
, calendar: | ||
{ sameDay: '[امروز ساعت] LT' | ||
, nextDay: '[فردا ساعت] LT' | ||
, nextWeek: 'dddd [ساعت] LT' | ||
, lastDay: '[دیروز ساعت] LT' | ||
, lastWeek: 'dddd [ی پیش ساعت] LT' | ||
, sameElse: 'L' | ||
} | ||
, relativeTime: | ||
{ future: 'در %s' | ||
, past: '%s پیش' | ||
, s: 'چند ثانیه' | ||
, m: '1 دقیقه' | ||
, mm: '%d دقیقه' | ||
, h: '1 ساعت' | ||
, hh: '%d ساعت' | ||
, d: '1 روز' | ||
, dd: '%d روز' | ||
, M: '1 ماه' | ||
, MM: '%d ماه' | ||
, y: '1 سال' | ||
, yy: '%d سال' | ||
} | ||
, preparse: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/[۰-۹]/g, function (match) { | ||
return numberMap[match] | ||
}).replace(/،/g, ',') | ||
} | ||
return string | ||
} | ||
, postformat: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/\d/g, function (match) { | ||
return symbolMap[match] | ||
}).replace(/,/g, '،') | ||
} | ||
return string | ||
} | ||
, ordinal: '%dم' | ||
, week: | ||
{ dow: 6 // Saturday is the first day of the week. | ||
, doy: 12 // The week that contains Jan 1st is the first week of the year. | ||
} | ||
, meridiem: function (hour) { | ||
return hour < 12 ? 'ق.ظ' : 'ب.ظ' | ||
} | ||
, jMonths: | ||
{ | ||
'persian-dari': ('حمل_ثور_جوزا_سرطان_اسد_سنبله_میزان_عقرب_قوس_جدی_دلو_حوت').split('_'), | ||
'persian-modern-dari': ('حمل_ثور_جوزا_سرطان_اسد_سنبله_میزان_عقرب_قوس_جدی_دلو_حوت').split('_') | ||
}[dialect] | ||
, jMonthsShort: | ||
{ | ||
'persian-dari': 'حمل_ثور_جوزا_سرط_اسد_سنب_میز_عقر_قوس_جدی_دلو_حوت'.split('_'), | ||
'persian-modern-dari': 'حمل_ثور_جوزا_سرط_اسد_سنب_میز_عقر_قوس_جدی_دلو_حوت'.split('_') | ||
}[dialect] | ||
} | ||
) | ||
} | ||
jMoment.loadPashto = function (args) { | ||
var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false | ||
var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'pashto' | ||
moment.locale('ps-af') | ||
moment.updateLocale('ps-af' | ||
, { months: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, monthsShort: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, weekdays: | ||
{ | ||
'pashto': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'pashto-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysShort: | ||
{ | ||
'pashto': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'pashto-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysMin: | ||
{ | ||
'pashto': 'ی_د_س_چ_پ_آ_ش'.split('_'), | ||
'pashto-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') | ||
}[dialect] | ||
, longDateFormat: | ||
{ LT: 'HH:mm' | ||
, L: 'jYYYY/jMM/jDD' | ||
, LL: 'jD jMMMM jYYYY' | ||
, LLL: 'jD jMMMM jYYYY LT' | ||
, LLLL: 'dddd، jD jMMMM jYYYY LT' | ||
} | ||
, calendar: | ||
{ sameDay: '[امروز ساعت] LT' | ||
, nextDay: '[فردا ساعت] LT' | ||
, nextWeek: 'dddd [ساعت] LT' | ||
, lastDay: '[دیروز ساعت] LT' | ||
, lastWeek: 'dddd [ی پیش ساعت] LT' | ||
, sameElse: 'L' | ||
} | ||
, relativeTime: | ||
{ future: 'در %s' | ||
, past: '%s پیش' | ||
, s: 'چند ثانیه' | ||
, m: '1 دقیقه' | ||
, mm: '%d دقیقه' | ||
, h: '1 ساعت' | ||
, hh: '%d ساعت' | ||
, d: '1 روز' | ||
, dd: '%d روز' | ||
, M: '1 ماه' | ||
, MM: '%d ماه' | ||
, y: '1 سال' | ||
, yy: '%d سال' | ||
} | ||
, preparse: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/[۰-۹]/g, function (match) { | ||
return numberMap[match] | ||
}).replace(/،/g, ',') | ||
} | ||
return string | ||
} | ||
, postformat: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/\d/g, function (match) { | ||
return symbolMap[match] | ||
}).replace(/,/g, '،') | ||
} | ||
return string | ||
} | ||
, ordinal: '%dم' | ||
, week: | ||
{ dow: 6 // Saturday is the first day of the week. | ||
, doy: 12 // The week that contains Jan 1st is the first week of the year. | ||
} | ||
, meridiem: function (hour) { | ||
return hour < 12 ? 'ق.ظ' : 'ب.ظ' | ||
} | ||
, jMonths: | ||
{ | ||
'pashto': ('وری_غویی_غبرګولی_چنګاښ_زمری_وږی_تله_لړم_لیندی_مرغومی_سلواغه_کب').split('_'), | ||
'pashto-modern': ('وری_غویی_غبرګولی_چنګاښ_زمری_وږی_تله_لړم_لیندی_مرغومی_سلواغه_کب').split('_') | ||
}[dialect] | ||
, jMonthsShort: | ||
{ | ||
'pashto': 'وری_غوی_غبر_چنګ_زمر_وږی_لړم_لین_مرغ_سلو_کب'.split('_'), | ||
'pashto-modern': 'وری_غوی_غبر_چنګ_زمر_وږی_لړم_لین_مرغ_سلو_کب'.split('_') | ||
}[dialect] | ||
} | ||
) | ||
} | ||
jMoment.jConvert = { toJalaali: toJalaali | ||
@@ -1270,0 +1488,0 @@ , toGregorian: toGregorian |
181
index.js
@@ -880,2 +880,183 @@ | ||
jMoment.loadPersian_dari = function (args) { | ||
var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false | ||
var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'persian-dari' | ||
moment.locale('fa-af') | ||
moment.updateLocale('fa-af' | ||
, { months: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, monthsShort: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, weekdays: | ||
{ | ||
'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysShort: | ||
{ | ||
'persian': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'persian-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysMin: | ||
{ | ||
'persian': 'ی_د_س_چ_پ_آ_ش'.split('_'), | ||
'persian-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') | ||
}[dialect] | ||
, longDateFormat: | ||
{ LT: 'HH:mm' | ||
, L: 'jYYYY/jMM/jDD' | ||
, LL: 'jD jMMMM jYYYY' | ||
, LLL: 'jD jMMMM jYYYY LT' | ||
, LLLL: 'dddd، jD jMMMM jYYYY LT' | ||
} | ||
, calendar: | ||
{ sameDay: '[امروز ساعت] LT' | ||
, nextDay: '[فردا ساعت] LT' | ||
, nextWeek: 'dddd [ساعت] LT' | ||
, lastDay: '[دیروز ساعت] LT' | ||
, lastWeek: 'dddd [ی پیش ساعت] LT' | ||
, sameElse: 'L' | ||
} | ||
, relativeTime: | ||
{ future: 'در %s' | ||
, past: '%s پیش' | ||
, s: 'چند ثانیه' | ||
, m: '1 دقیقه' | ||
, mm: '%d دقیقه' | ||
, h: '1 ساعت' | ||
, hh: '%d ساعت' | ||
, d: '1 روز' | ||
, dd: '%d روز' | ||
, M: '1 ماه' | ||
, MM: '%d ماه' | ||
, y: '1 سال' | ||
, yy: '%d سال' | ||
} | ||
, preparse: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/[۰-۹]/g, function (match) { | ||
return numberMap[match] | ||
}).replace(/،/g, ',') | ||
} | ||
return string | ||
} | ||
, postformat: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/\d/g, function (match) { | ||
return symbolMap[match] | ||
}).replace(/,/g, '،') | ||
} | ||
return string | ||
} | ||
, ordinal: '%dم' | ||
, week: | ||
{ dow: 6 // Saturday is the first day of the week. | ||
, doy: 12 // The week that contains Jan 1st is the first week of the year. | ||
} | ||
, meridiem: function (hour) { | ||
return hour < 12 ? 'ق.ظ' : 'ب.ظ' | ||
} | ||
, jMonths: | ||
{ | ||
'persian-dari': ('حمل_ثور_جوزا_سرطان_اسد_سنبله_میزان_عقرب_قوس_جدی_دلو_حوت').split('_'), | ||
'persian-modern-dari': ('حمل_ثور_جوزا_سرطان_اسد_سنبله_میزان_عقرب_قوس_جدی_دلو_حوت').split('_') | ||
}[dialect] | ||
, jMonthsShort: | ||
{ | ||
'persian-dari': 'حمل_ثور_جوزا_سرط_اسد_سنب_میز_عقر_قوس_جدی_دلو_حوت'.split('_'), | ||
'persian-modern-dari': 'حمل_ثور_جوزا_سرط_اسد_سنب_میز_عقر_قوس_جدی_دلو_حوت'.split('_') | ||
}[dialect] | ||
} | ||
) | ||
} | ||
jMoment.loadPashto = function (args) { | ||
var usePersianDigits = args !== undefined && args.hasOwnProperty('usePersianDigits') ? args.usePersianDigits : false | ||
var dialect = args !== undefined && args.hasOwnProperty('dialect') ? args.dialect : 'pashto' | ||
moment.locale('ps-af') | ||
moment.updateLocale('ps-af' | ||
, { months: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, monthsShort: ('جنوری_فبروری_مارچ_اپریل_می_جون_جولای_آگست_سپتمبر_اکتوبر_نومبر_دیسمبر').split('_') | ||
, weekdays: | ||
{ | ||
'pashto': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'pashto-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysShort: | ||
{ | ||
'pashto': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_آدینه_شنبه').split('_'), | ||
'pashto-modern': ('یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه').split('_') | ||
}[dialect] | ||
, weekdaysMin: | ||
{ | ||
'pashto': 'ی_د_س_چ_پ_آ_ش'.split('_'), | ||
'pashto-modern': 'ی_د_س_چ_پ_ج_ش'.split('_') | ||
}[dialect] | ||
, longDateFormat: | ||
{ LT: 'HH:mm' | ||
, L: 'jYYYY/jMM/jDD' | ||
, LL: 'jD jMMMM jYYYY' | ||
, LLL: 'jD jMMMM jYYYY LT' | ||
, LLLL: 'dddd، jD jMMMM jYYYY LT' | ||
} | ||
, calendar: | ||
{ sameDay: '[امروز ساعت] LT' | ||
, nextDay: '[فردا ساعت] LT' | ||
, nextWeek: 'dddd [ساعت] LT' | ||
, lastDay: '[دیروز ساعت] LT' | ||
, lastWeek: 'dddd [ی پیش ساعت] LT' | ||
, sameElse: 'L' | ||
} | ||
, relativeTime: | ||
{ future: 'در %s' | ||
, past: '%s پیش' | ||
, s: 'چند ثانیه' | ||
, m: '1 دقیقه' | ||
, mm: '%d دقیقه' | ||
, h: '1 ساعت' | ||
, hh: '%d ساعت' | ||
, d: '1 روز' | ||
, dd: '%d روز' | ||
, M: '1 ماه' | ||
, MM: '%d ماه' | ||
, y: '1 سال' | ||
, yy: '%d سال' | ||
} | ||
, preparse: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/[۰-۹]/g, function (match) { | ||
return numberMap[match] | ||
}).replace(/،/g, ',') | ||
} | ||
return string | ||
} | ||
, postformat: function (string) { | ||
if (usePersianDigits) { | ||
return string.replace(/\d/g, function (match) { | ||
return symbolMap[match] | ||
}).replace(/,/g, '،') | ||
} | ||
return string | ||
} | ||
, ordinal: '%dم' | ||
, week: | ||
{ dow: 6 // Saturday is the first day of the week. | ||
, doy: 12 // The week that contains Jan 1st is the first week of the year. | ||
} | ||
, meridiem: function (hour) { | ||
return hour < 12 ? 'ق.ظ' : 'ب.ظ' | ||
} | ||
, jMonths: | ||
{ | ||
'pashto': ('وری_غویی_غبرګولی_چنګاښ_زمری_وږی_تله_لړم_لیندی_مرغومی_سلواغه_کب').split('_'), | ||
'pashto-modern': ('وری_غویی_غبرګولی_چنګاښ_زمری_وږی_تله_لړم_لیندی_مرغومی_سلواغه_کب').split('_') | ||
}[dialect] | ||
, jMonthsShort: | ||
{ | ||
'pashto': 'وری_غوی_غبر_چنګ_زمر_وږی_لړم_لین_مرغ_سلو_کب'.split('_'), | ||
'pashto-modern': 'وری_غوی_غبر_چنګ_زمر_وږی_لړم_لین_مرغ_سلو_کب'.split('_') | ||
}[dialect] | ||
} | ||
) | ||
} | ||
jMoment.jConvert = { toJalaali: toJalaali | ||
@@ -882,0 +1063,0 @@ , toGregorian: toGregorian |
{ | ||
"name": "moment-jalaali", | ||
"version": "0.9.6", | ||
"version": "0.10.0", | ||
"description": "Jalaali (Jalali, Persian, Khorshidi, Shamsi) calendar system plugin for moment.js.", | ||
@@ -5,0 +5,0 @@ "author": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
124978
3399