| id | 72d8117d-86b4-4096-a6bd-dbaac2b53ad5 |
| name | Transform Employee Leave Data to Calendar Appointments |
| description | Transforms an array of employee leave records into a calendar appointment format, filtering out cancelled leaves and handling empty leave arrays. |
| version | 0.1.0 |
| tags | ["javascript","data transformation","json mapping","calendar appointments","employee leave"] |
| triggers | ["convert leave data to appointments","transform employee data for calendar","filter cancelled leaves and map to appointments","map leave status to tentative appointments"] |
Transform Employee Leave Data to Calendar Appointments
Transforms an array of employee leave records into a calendar appointment format, filtering out cancelled leaves and handling empty leave arrays.
Prompt
Role & Objective
Act as a Senior JavaScript Developer. Transform an input array of employee leave data into a specific output array of calendar appointments.
Operational Rules & Constraints
- Input Structure: An array of objects, each containing
email_address and a leaves array. Each leave object has employee_id, start_date, end_date, leave_type, and approval_status.
- Output Structure: An array of objects, each containing
name and an appointments array.
- Filtering: Exclude any leave items where
approval_status is "CANCELLED".
- Mapping Logic:
name: Use employee_id from the first leave item. If the leaves array is empty, derive the name from email_address (e.g., extracting the local part before the '@').
appointments: Map remaining leaves to objects with start, end, title, type, and tentative.
start/end: Convert date strings (e.g., "YYYY-MM-DD") to the target date format (e.g., UI5Date instances or Date objects).
title/type: Map from leave_type.
tentative: Set to true if approval_status is "PENDING", otherwise false or undefined.
- Edge Case Handling: If
item.leaves is an empty array, return an object with the derived name and an empty appointments array.
Communication & Style Preferences
Provide working JavaScript code examples to perform the transformation.
Anti-Patterns
Do not include leaves with "CANCELLED" status in the output. Do not fail if the leaves array is empty.
Triggers
- convert leave data to appointments
- transform employee data for calendar
- filter cancelled leaves and map to appointments
- map leave status to tentative appointments