-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow event repetition to be specified using rrule string #190
Conversation
…ative to the regular object parameter
Nice, this looks great! @sebbo2002 what do you think of the change? |
Hello everyone, sorry for not getting back to you for so long. I honestly have no idea why this PR has remained undiscovered for so long. I'm sorry. I am currently working on adapting ical-generator to Typescript. I think I'll need another 1-2 weeks with the initial commit, because unfortunately I don't find as much time for it as I'd like to. I don't think it makes sense to merge this PR into the old codebase, and I would make a note of it so that I can merge it into 2.0 and typescript it accordingly. I hope this is OK for everyone involved. Thank you for your work ❤️ |
No worries, thank you for following up. Sounds good, looking forward to 2.0 😄 |
Note to myself: Maybe it makes sense to support rrule like we support different date utilities in version 2.0.0… |
That would be great! That's what |
# [2.0.0-develop.5](v2.0.0-develop.4...v2.0.0-develop.5) (2021-03-23) ### Features * **Event:** Support RRule objects and raw strings in `repeating()` ([4436785](4436785)), closes [#190](#190)
🎉 This issue has been resolved in version 2.0.0-develop.5 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
# [2.0.0](v1.15.4...v2.0.0) (2021-04-28) ### Bug Fixes * **package.json:** add temporary version ([0bc117e](0bc117e)) * Allow to set null values within object constructors ([8b87183](8b87183)) * **deps:** Also define libs as devDependency for tests ([c04ae32](c04ae32)) * **deps:** Define supported libs as peerDependencies ([84e2784](84e2784)) * Make peer dependencies optional ([b384ac7](b384ac7)), closes [#244](#244) * **Tools:** Prevent formatDate() from using global timezones prefixed with a slash ([85ab7b2](85ab7b2)) * **deps:** Put necessary typings in peerDependencies as well :/ ([14f0f43](14f0f43)) * **Event:** Remove `moment` dependency in constructor ([8331d4c](8331d4c)), closes [#234](#234) ### Code Refactoring * **Calendar:** Remove moment.Duration from `ttl()` method ([c6ccd12](c6ccd12)) * Update error URLs ([2aedf55](2aedf55)) ### Features * **Event:** Add `priority()` method ([247039f](247039f)), closes [#163](#163) * **Attendee:** Add `x()` method for custom attributes ([5d9d686](5d9d686)), closes [#183](#183) * **Calendar:** add new clear method ([1ebefcb](1ebefcb)), closes [#188](#188) * Add ReleaseBot ([2fba164](2fba164)) * **Calendar:** Add support for external VTimezone generator ([f4bc8e0](f4bc8e0)), closes [#122](#122) * **Event:** Allow `X-APPLE-STRUCTURED-LOCATION` without address ([4e63e29](4e63e29)), closes [#236](#236) * **Event:** Make organizer.email optional ([8450492](8450492)), closes [#137](#137) * **Event:** Merge `location()`, `appleLocation()` and `geo()` ([62c1516](62c1516)), closes [#187](#187) * Merge event's `description()` and `htmlDescription()` ([ce537f8](ce537f8)) * Support moment.js, Day.js and Luxon ([#91](#91), BREAKING CHANGE) ([6db24ee](6db24ee)) * **Event:** Support RRule objects and raw strings in `repeating()` ([4436785](4436785)), closes [#190](#190) * Updated the entire codebase to Typescript ([d013dc0](d013dc0)) * **Events:** Use uuid-random for random UUIDs (close [#215](#215)) ([a4c19cc](a4c19cc)) ### BREAKING CHANGES * Some error messages changed, so if you check for error , please double check them now. * `htmlDescription()` was removed, use `description()` instead. * **Calendar:** `ttl()` will now return a number, not a `moment.Duration`. You can still use `moment.Duration` to set the `ttl` value. * **Event:** `geo()` and `appleLocation()` are not available anymore, use `location()` instead and pass an location object (with title, radius, etc.) * **Calendar:** Calendar's `clear()` method is a completely new implementation and, unlike previous versions, will not reset metadata such as `name` or `prodId`. Only the events will be removed
🎉 This issue has been resolved in version 2.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Hello,
Thanks for your work on this awesome library!
In my application, I already calculate and store rrule strings for my events. I needed a way to pass these into ical-generator.
I modified the
event.repeating
function to accept an rrule string as an alternative to the parameter object. Then, if present, this rrule string is emitted directly when_generate
is called on the event.I imagine this is a relatively common use case so I hope this pull request is helpful. Thanks again for this fantastic package!