scriptable-testlab
Version:
A lightweight, efficient tool designed to manage and update scripts for Scriptable.
130 lines • 3.4 kB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { AbsCalendarEvent } from "scriptable-abstract";
const _MockCalendarEvent = class _MockCalendarEvent extends AbsCalendarEvent {
static get instance() {
if (!this._instance) {
this._instance = new _MockCalendarEvent();
}
return this._instance;
}
constructor() {
super({
identifier: "",
title: "",
location: "",
notes: "",
startDate: /* @__PURE__ */ new Date(),
endDate: /* @__PURE__ */ new Date(),
isAllDay: false,
attendees: [],
availability: "busy",
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
calendar: null
// Will be set when created through create()
});
}
/**
* _Creates a new calendar event._
* @param calendar - Calendar to create the event in.
* @see https://docs.scriptable.app/calendarevent/#new-calendarevent
*/
static create(calendar) {
const event = new _MockCalendarEvent();
event.setState({ calendar });
return event;
}
/**
* _Saves the calendar event._
* @see https://docs.scriptable.app/calendarevent/#-save
*/
async save() {
return Promise.resolve();
}
/**
* _Removes the calendar event._
* @see https://docs.scriptable.app/calendarevent/#-remove
*/
async remove() {
return Promise.resolve();
}
/**
* _Presents a view for editing the calendar event._
* @see https://docs.scriptable.app/calendarevent/#-presentedit
*/
async presentEdit() {
return Promise.resolve(this);
}
/**
* _Presents a view for creating a new calendar event._
* @see https://docs.scriptable.app/calendarevent/#presentcreate
*/
static async presentCreate() {
return Promise.resolve(new _MockCalendarEvent());
}
// Property getters and setters
get identifier() {
return this.state.identifier;
}
get title() {
return this.state.title;
}
set title(value) {
this.setState({ title: value });
}
get location() {
return this.state.location;
}
set location(value) {
this.setState({ location: value });
}
get notes() {
return this.state.notes;
}
set notes(value) {
this.setState({ notes: value });
}
get startDate() {
return this.state.startDate;
}
set startDate(value) {
this.setState({ startDate: value });
}
get endDate() {
return this.state.endDate;
}
set endDate(value) {
this.setState({ endDate: value });
}
get isAllDay() {
return this.state.isAllDay;
}
set isAllDay(value) {
this.setState({ isAllDay: value });
}
get attendees() {
return [...this.state.attendees];
}
get availability() {
return this.state.availability;
}
set availability(value) {
this.setState({ availability: value });
}
get timeZone() {
return this.state.timeZone;
}
set timeZone(value) {
this.setState({ timeZone: value });
}
get calendar() {
return this.state.calendar;
}
};
__publicField(_MockCalendarEvent, "_instance");
let MockCalendarEvent = _MockCalendarEvent;
export {
MockCalendarEvent
};
//# sourceMappingURL=calendar-event.js.map