mirror of
https://github.com/clarencechaan/ufc-cal.git
synced 2026-10-19 00:38:30 -07:00
67 lines
2.6 KiB
JavaScript
67 lines
2.6 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports["default"] = setAlarm;
|
|
var _formatDate = _interopRequireDefault(require("./format-date"));
|
|
var _foldLine = _interopRequireDefault(require("./fold-line"));
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
function setDuration(_ref) {
|
|
var weeks = _ref.weeks,
|
|
days = _ref.days,
|
|
hours = _ref.hours,
|
|
minutes = _ref.minutes,
|
|
seconds = _ref.seconds;
|
|
var formattedString = 'P';
|
|
formattedString += weeks ? "".concat(weeks, "W") : '';
|
|
formattedString += days ? "".concat(days, "D") : '';
|
|
formattedString += 'T';
|
|
formattedString += hours ? "".concat(hours, "H") : '';
|
|
formattedString += minutes ? "".concat(minutes, "M") : '';
|
|
formattedString += seconds ? "".concat(seconds, "S") : '';
|
|
return formattedString;
|
|
}
|
|
function setTrigger(trigger) {
|
|
var formattedString = '';
|
|
if (Array.isArray(trigger)) {
|
|
formattedString = "TRIGGER;VALUE=DATE-TIME:".concat((0, _formatDate["default"])(trigger), "\r\n");
|
|
} else {
|
|
var alert = trigger.before ? '-' : '';
|
|
formattedString = "TRIGGER:".concat(alert + setDuration(trigger), "\r\n");
|
|
}
|
|
return formattedString;
|
|
}
|
|
function setAction(action) {
|
|
return action.toUpperCase();
|
|
}
|
|
function setAlarm() {
|
|
var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
var action = attributes.action,
|
|
repeat = attributes.repeat,
|
|
description = attributes.description,
|
|
duration = attributes.duration,
|
|
attach = attributes.attach,
|
|
attachType = attributes.attachType,
|
|
trigger = attributes.trigger,
|
|
summary = attributes.summary;
|
|
var formattedString = 'BEGIN:VALARM\r\n';
|
|
formattedString += (0, _foldLine["default"])("ACTION:".concat(setAction(action))) + '\r\n';
|
|
formattedString += repeat ? (0, _foldLine["default"])("REPEAT:".concat(repeat)) + '\r\n' : '';
|
|
formattedString += description ? (0, _foldLine["default"])("DESCRIPTION:".concat(description)) + '\r\n' : '';
|
|
formattedString += duration ? (0, _foldLine["default"])("DURATION:".concat(setDuration(duration))) + '\r\n' : '';
|
|
var attachInfo = attachType ? attachType : 'FMTTYPE=audio/basic';
|
|
formattedString += attach ? (0, _foldLine["default"])("ATTACH;".concat(attachInfo, ":").concat(attach)) + '\r\n' : '';
|
|
formattedString += trigger ? setTrigger(trigger) : '';
|
|
formattedString += summary ? (0, _foldLine["default"])("SUMMARY:".concat(summary)) + '\r\n' : '';
|
|
formattedString += 'END:VALARM\r\n';
|
|
return formattedString;
|
|
}
|
|
|
|
// Example: A duration of 15 days, 5 hours, and 20 seconds would be:
|
|
|
|
// P15DT5H0M20S
|
|
|
|
// A duration of 7 weeks would be:
|
|
|
|
// P7W
|