UNPKG

@jacobx1/of-sdk

Version:

Node interface for interacting with Omnifocus

67 lines 2.74 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.completeTaskById = exports.deleteTaskById = exports.createTask = exports.getTasksForPerspective = exports.getTags = exports.getProjects = exports.getTasks = void 0; const osa_1 = require("./osa"); const taskMapper_1 = __importDefault(require("../transform/taskMapper")); const tagMapper_1 = __importDefault(require("../transform/tagMapper")); const projectMapper_1 = __importDefault(require("../transform/projectMapper")); function allItemsFilter() { return true; } exports.getTasks = osa_1.omniFunc(function (deps, filter) { return this.flattenedTasks .filter((item) => item.id.objectClass.name === 'Task') .filter(filter || deps.defaultFilter) .map((item) => deps.taskMapper(item)); }, { taskMapper: taskMapper_1.default, defaultFilter: allItemsFilter, }); exports.getProjects = osa_1.omniFunc(function (deps, filter) { return this.flattenedProjects .filter(filter || deps.defaultFilter) .map(deps.projectMapper); }, { projectMapper: projectMapper_1.default, defaultFilter: allItemsFilter, }); exports.getTags = osa_1.omniFunc(function ([mapperMethod, defaultFilter], filter) { return this.flattenedTags .filter(filter || defaultFilter) .map((item) => mapperMethod(item)); }, [tagMapper_1.default, allItemsFilter]); exports.getTasksForPerspective = osa_1.omniFunc(function (deps, perspectiveName) { const perspective = this.Perspective.all.find((item) => item.name === perspectiveName); this.document.windows[0].perspective = perspective; return this.document.windows[0].content .nodesForObjects(this.flattenedTasks) .filter((item) => item.object.id.objectClass.name === 'Task') .map((item) => item.object) .map(deps.taskMapper); }, { taskMapper: taskMapper_1.default, }); exports.createTask = osa_1.omniFunc(function (deps, title, options = {}) { const project = options.projectId ? this.Project.byIdentifier(options.projectId) : undefined; const task = new this.Task(title, project); if (options.note) { task.note = options.note; } return deps.taskMapper(task); }, { taskMapper: taskMapper_1.default, }); exports.deleteTaskById = osa_1.omniFunc(function (deps, id) { const task = this.Task.byIdentifier(id); this.deleteObject(task); }, {}); exports.completeTaskById = osa_1.omniFunc(function (deps, id) { const task = this.Task.byIdentifier(id); task.markComplete(); }, {}); //# sourceMappingURL=omnijs.js.map