@fullcalendar/rrule
Advanced tools
Comparing version 6.1.0 to 6.1.1
/*! | ||
FullCalendar RRule Plugin v6.1.0 | ||
FullCalendar RRule Plugin v6.1.1 | ||
Docs & License: https://fullcalendar.io/docs/rrule-plugin | ||
(c) 2022 Adam Shaw | ||
(c) 2023 Adam Shaw | ||
*/ | ||
@@ -6,0 +6,0 @@ FullCalendar.RRule = (function (exports, core, rrule, internal) { |
/*! | ||
FullCalendar RRule Plugin v6.1.0 | ||
FullCalendar RRule Plugin v6.1.1 | ||
Docs & License: https://fullcalendar.io/docs/rrule-plugin | ||
(c) 2022 Adam Shaw | ||
(c) 2023 Adam Shaw | ||
*/ | ||
FullCalendar.RRule=function(e,r,t,i){"use strict";const n={parse(e,r){if(null!=e.rrule){let n=function(e,r){let n,u=!1,a=!1;if("string"==typeof e.rrule){let r=function(e){let r=t.rrulestr(e,{forceset:!0}),n=function(e){let r=!1,t=!1;function n(e,n,l){let u=i.parseMarker(l);r=r||!u.isTimeUnspecified,t=t||null!==u.timeZoneOffset}return e.replace(/\b(DTSTART:)([^\n]*)/,n),e.replace(/\b(EXDATE:)([^\n]*)/,n),e.replace(/\b(UNTIL=)([^;\n]*)/,n),{isTimeSpecified:r,isTimeZoneSpecified:t}}(e);return Object.assign({rruleSet:r},n)}(e.rrule);n=r.rruleSet,u=r.isTimeSpecified,a=r.isTimeZoneSpecified}if("object"==typeof e.rrule&&e.rrule){let i=l(e.rrule,r);n=new t.RRuleSet,n.rrule(i.rrule),u=i.isTimeSpecified,a=i.isTimeZoneSpecified}let s=[].concat(e.exdate||[]),f=[].concat(e.exrule||[]);for(let e of s){let r=i.parseMarker(e);u=u||!r.isTimeUnspecified,a=a||null!==r.timeZoneOffset,n.exdate(new Date(r.marker.valueOf()-60*(r.timeZoneOffset||0)*1e3))}for(let e of f){let t=l(e,r);u=u||t.isTimeSpecified,a=a||t.isTimeZoneSpecified,n.exrule(t.rrule)}return{rruleSet:n,isTimeSpecified:u,isTimeZoneSpecified:a}}(e,r);if(n)return{typeData:{rruleSet:n.rruleSet,isTimeZoneSpecified:n.isTimeZoneSpecified},allDayGuess:!n.isTimeSpecified,duration:e.duration}}return null},expand(e,r,t){let i;return i=e.isTimeZoneSpecified?e.rruleSet.between(t.toDate(r.start),t.toDate(r.end),!0).map(e=>t.createMarker(e)):e.rruleSet.between(r.start,r.end,!0),i}};function l(e,r){let n=!1,l=!1;function s(e){if("string"==typeof e){let r=i.parseMarker(e);return r?(n=n||!r.isTimeUnspecified,l=l||null!==r.timeZoneOffset,new Date(r.marker.valueOf()-60*(r.timeZoneOffset||0)*1e3)):null}return e}let f=Object.assign(Object.assign({},e),{dtstart:s(e.dtstart),until:s(e.until),freq:a(e.freq),wkst:null==e.wkst?(r.weekDow-1+7)%7:a(e.wkst),byweekday:u(e.byweekday)});return{rrule:new t.RRule(f),isTimeSpecified:n,isTimeZoneSpecified:l}}function u(e){return Array.isArray(e)?e.map(a):a(e)}function a(e){return"string"==typeof e?t.RRule[e.toUpperCase()]:e}const s={rrule:i.identity,exrule:i.identity,exdate:i.identity,duration:i.createDuration};var f=r.createPlugin({name:"@fullcalendar/rrule",recurringTypes:[n],eventRefiners:s});return r.globalPlugins.push(f),e.default=f,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,rrule,FullCalendar.Internal); |
36
index.js
@@ -1,9 +0,5 @@ | ||
'use strict'; | ||
import { createPlugin } from '@fullcalendar/core'; | ||
import { RRuleSet, RRule, rrulestr } from 'rrule'; | ||
import { parseMarker, identity, createDuration } from '@fullcalendar/core/internal'; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
var core = require('@fullcalendar/core'); | ||
var rrule = require('rrule'); | ||
var internal = require('@fullcalendar/core/internal'); | ||
const recurringType = { | ||
@@ -50,3 +46,3 @@ parse(eventProps, dateEnv) { | ||
let res = parseRRuleObject(eventProps.rrule, dateEnv); | ||
rruleSet = new rrule.RRuleSet(); | ||
rruleSet = new RRuleSet(); | ||
rruleSet.rrule(res.rrule); | ||
@@ -60,3 +56,3 @@ isTimeSpecified = res.isTimeSpecified; | ||
for (let exdateInput of exdateInputs) { | ||
let res = internal.parseMarker(exdateInput); | ||
let res = parseMarker(exdateInput); | ||
isTimeSpecified = isTimeSpecified || !res.isTimeUnspecified; | ||
@@ -80,3 +76,3 @@ isTimeZoneSpecified = isTimeZoneSpecified || res.timeZoneOffset !== null; | ||
if (typeof dateInput === 'string') { | ||
let markerData = internal.parseMarker(dateInput); | ||
let markerData = parseMarker(dateInput); | ||
if (markerData) { | ||
@@ -94,6 +90,6 @@ isTimeSpecified = isTimeSpecified || !markerData.isTimeUnspecified; | ||
: convertConstant(rruleInput.wkst), byweekday: convertConstants(rruleInput.byweekday) }); | ||
return { rrule: new rrule.RRule(rruleOptions), isTimeSpecified, isTimeZoneSpecified }; | ||
return { rrule: new RRule(rruleOptions), isTimeSpecified, isTimeZoneSpecified }; | ||
} | ||
function parseRRuleString(str) { | ||
let rruleSet = rrule.rrulestr(str, { forceset: true }); | ||
let rruleSet = rrulestr(str, { forceset: true }); | ||
let analysis = analyzeRRuleString(str); | ||
@@ -106,3 +102,3 @@ return Object.assign({ rruleSet }, analysis); | ||
function processMatch(whole, introPart, datePart) { | ||
let result = internal.parseMarker(datePart); | ||
let result = parseMarker(datePart); | ||
isTimeSpecified = isTimeSpecified || !result.isTimeUnspecified; | ||
@@ -124,3 +120,3 @@ isTimeZoneSpecified = isTimeZoneSpecified || result.timeZoneOffset !== null; | ||
if (typeof input === 'string') { | ||
return rrule.RRule[input.toUpperCase()]; | ||
return RRule[input.toUpperCase()]; | ||
} | ||
@@ -131,9 +127,9 @@ return input; | ||
const RRULE_EVENT_REFINERS = { | ||
rrule: internal.identity, | ||
exrule: internal.identity, | ||
exdate: internal.identity, | ||
duration: internal.createDuration, | ||
rrule: identity, | ||
exrule: identity, | ||
exdate: identity, | ||
duration: createDuration, | ||
}; | ||
var index = core.createPlugin({ | ||
var index = createPlugin({ | ||
name: '@fullcalendar/rrule', | ||
@@ -144,2 +140,2 @@ recurringTypes: [recurringType], | ||
exports["default"] = index; | ||
export { index as default }; |
{ | ||
"name": "@fullcalendar/rrule", | ||
"version": "6.1.0", | ||
"version": "6.1.1", | ||
"title": "FullCalendar RRule Plugin", | ||
@@ -15,3 +15,3 @@ "description": "Recurring events with RRule", | ||
"peerDependencies": { | ||
"@fullcalendar/core": "~6.1.0", | ||
"@fullcalendar/core": "~6.1.1", | ||
"rrule": "^2.6.0" | ||
@@ -32,6 +32,6 @@ }, | ||
}, | ||
"copyright": "2022 Adam Shaw", | ||
"copyright": "2023 Adam Shaw", | ||
"types": "./index.d.ts", | ||
"main": "./index.js", | ||
"module": "./index.esm.js", | ||
"main": "./index.cjs", | ||
"module": "./index.js", | ||
"unpkg": "./index.global.min.js", | ||
@@ -41,6 +41,7 @@ "jsdelivr": "./index.global.min.js", | ||
"./package.json": "./package.json", | ||
"./index.cjs": "./index.cjs", | ||
".": { | ||
"types": "./index.d.ts", | ||
"require": "./index.js", | ||
"import": "./index.esm.js" | ||
"require": "./index.cjs", | ||
"import": "./index.js" | ||
} | ||
@@ -47,0 +48,0 @@ }, |
24874