forked from GitHubMirrors/silverbullet-icalendar
1.3 KiB
1.3 KiB
Implementation Plan - Generic RRULE Formatter
Phase 1: Reproduction & Test Setup
- Task: Create reproduction test case for
BYDAYobject cfab0c3- Add a test in
icalendar_test.tsmocking aBYDAYproperty as an array of objects (e.g.[{ day: 'MO' }]). - Run the test and confirm it fails with
SyntaxError: Invalid weekday string: [object Object].
- Add a test in
- Task: Conductor - User Manual Verification 'Reproduction & Test Setup' (Protocol in workflow.md)
Phase 2: Implementation
- Task: Implement Recursive Formatter
- Update
formatRRuleValueinicalendar.tsto be a recursive function. - Handle Arrays by joining elements with commas.
- Handle
Dateobjects using the existing iCal format. - Handle property objects (extract
date,day, orvalueproperties). - Run the reproduction test to confirm it passes.
- Update
- Task: Conductor - User Manual Verification 'Implementation' (Protocol in workflow.md)
Phase 3: Verification & Cleanup
- Task: Composite and Regression Testing
- Add a complex test case containing both nested
UNTILdates andBYDAYarrays. - Run the full regression test suite in
icalendar_test.ts.
- Add a complex test case containing both nested
- Task: Conductor - User Manual Verification 'Verification & Cleanup' (Protocol in workflow.md)