diff options
Diffstat (limited to 'js/dav/dav.js')
-rw-r--r-- | js/dav/dav.js | 7613 |
1 files changed, 0 insertions, 7613 deletions
diff --git a/js/dav/dav.js b/js/dav/dav.js deleted file mode 100644 index 2daba158..00000000 --- a/js/dav/dav.js +++ /dev/null @@ -1,7613 +0,0 @@ -/** - * Polyfill from developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/find - */ -if (!Array.prototype.find) { - Array.prototype.find = function(predicate) { - if (this == null) { - throw new TypeError('Array.prototype.find called on null or undefined'); - } - if (typeof predicate !== 'function') { - throw new TypeError('predicate must be a function'); - } - var list = Object(this); - var length = list.length >>> 0; - var thisArg = arguments[1]; - var value; - - for (var i = 0; i < length; i++) { - value = list[i]; - if (predicate.call(thisArg, value, i, list)) { - return value; - } - } - return undefined; - }; -} -/** - * Polyfill from developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign - */ -if (!Object.assign) { - Object.defineProperty(Object, 'assign', { - enumerable: false, - configurable: true, - writable: true, - value: function(target, firstSource) { - 'use strict'; - if (target === undefined || target === null) { - throw new TypeError('Cannot convert first argument to object'); - } - - var to = Object(target); - for (var i = 1; i < arguments.length; i++) { - var nextSource = arguments[i]; - if (nextSource === undefined || nextSource === null) { - continue; - } - nextSource = Object(nextSource); - - var keysArray = Object.keys(Object(nextSource)); - for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) { - var nextKey = keysArray[nextIndex]; - var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); - if (desc !== undefined && desc.enumerable) { - to[nextKey] = nextSource[nextKey]; - } - } - } - return to; - } - }); -} -/** - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * https://raw.github.com/facebook/regenerator/master/LICENSE file. An - * additional grant of patent rights can be found in the PATENTS file in - * the same directory. - */ - -!(function(global) { - "use strict"; - - var hasOwn = Object.prototype.hasOwnProperty; - var undefined; // More compressible than void 0. - var iteratorSymbol = - typeof Symbol === "function" && Symbol.iterator || "@@iterator"; - - var inModule = typeof module === "object"; - var runtime = global.regeneratorRuntime; - if (runtime) { - if (inModule) { - // If regeneratorRuntime is defined globally and we're in a module, - // make the exports object identical to regeneratorRuntime. - module.exports = runtime; - } - // Don't bother evaluating the rest of this file if the runtime was - // already defined globally. - return; - } - - // Define the runtime globally (as expected by generated code) as either - // module.exports (if we're in a module) or a new, empty object. - runtime = global.regeneratorRuntime = inModule ? module.exports : {}; - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided, then outerFn.prototype instanceof Generator. - var generator = Object.create((outerFn || Generator).prototype); - - generator._invoke = makeInvokeMethod( - innerFn, self || null, - new Context(tryLocsList || []) - ); - - return generator; - } - runtime.wrap = wrap; - - // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - function tryCatch(fn, obj, arg) { - try { - return { type: "normal", arg: fn.call(obj, arg) }; - } catch (err) { - return { type: "throw", arg: err }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; - - // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - var ContinueSentinel = {}; - - // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - - var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype; - GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; - GeneratorFunctionPrototype.constructor = GeneratorFunction; - GeneratorFunction.displayName = "GeneratorFunction"; - - runtime.isGeneratorFunction = function(genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor - ? ctor === GeneratorFunction || - // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" - : false; - }; - - runtime.mark = function(genFun) { - genFun.__proto__ = GeneratorFunctionPrototype; - genFun.prototype = Object.create(Gp); - return genFun; - }; - - runtime.async = function(innerFn, outerFn, self, tryLocsList) { - return new Promise(function(resolve, reject) { - var generator = wrap(innerFn, outerFn, self, tryLocsList); - var callNext = step.bind(generator, "next"); - var callThrow = step.bind(generator, "throw"); - - function step(method, arg) { - var record = tryCatch(generator[method], generator, arg); - if (record.type === "throw") { - reject(record.arg); - return; - } - - var info = record.arg; - if (info.done) { - resolve(info.value); - } else { - Promise.resolve(info.value).then(callNext, callThrow); - } - } - - callNext(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - return doneResult(); - } - - while (true) { - var delegate = context.delegate; - if (delegate) { - if (method === "return" || - (method === "throw" && delegate.iterator[method] === undefined)) { - // A return or throw (when the delegate iterator has no throw - // method) always terminates the yield* loop. - context.delegate = null; - - // If the delegate iterator has a return method, give it a - // chance to clean up. - var returnMethod = delegate.iterator["return"]; - if (returnMethod) { - var record = tryCatch(returnMethod, delegate.iterator, arg); - if (record.type === "throw") { - // If the return method threw an exception, let that - // exception prevail over the original return or throw. - method = "throw"; - arg = record.arg; - continue; - } - } - - if (method === "return") { - // Continue with the outer return, now that the delegate - // iterator has been terminated. - continue; - } - } - - var record = tryCatch( - delegate.iterator[method], - delegate.iterator, - arg - ); - - if (record.type === "throw") { - context.delegate = null; - - // Like returning generator.throw(uncaught), but without the - // overhead of an extra function call. - method = "throw"; - arg = record.arg; - continue; - } - - // Delegate generator ran and handled its own exceptions so - // regardless of what the method was, we continue as if it is - // "next" with an undefined arg. - method = "next"; - arg = undefined; - - var info = record.arg; - if (info.done) { - context[delegate.resultName] = info.value; - context.next = delegate.nextLoc; - } else { - state = GenStateSuspendedYield; - return info; - } - - context.delegate = null; - } - - if (method === "next") { - if (state === GenStateSuspendedYield) { - context.sent = arg; - } else { - delete context.sent; - } - - } else if (method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw arg; - } - - if (context.dispatchException(arg)) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - method = "next"; - arg = undefined; - } - - } else if (method === "return") { - context.abrupt("return", arg); - } - - state = GenStateExecuting; - - var record = tryCatch(innerFn, self, context); - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done - ? GenStateCompleted - : GenStateSuspendedYield; - - var info = { - value: record.arg, - done: context.done - }; - - if (record.arg === ContinueSentinel) { - if (context.delegate && method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - arg = undefined; - } - } else { - return info; - } - - } else if (record.type === "throw") { - state = GenStateCompleted; - // Dispatch the exception by looping back around to the - // context.dispatchException(arg) call above. - method = "throw"; - arg = record.arg; - } - } - }; - } - - function defineGeneratorMethod(method) { - Gp[method] = function(arg) { - return this._invoke(method, arg); - }; - } - defineGeneratorMethod("next"); - defineGeneratorMethod("throw"); - defineGeneratorMethod("return"); - - Gp[iteratorSymbol] = function() { - return this; - }; - - Gp.toString = function() { - return "[object Generator]"; - }; - - function pushTryEntry(locs) { - var entry = { tryLoc: locs[0] }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ tryLoc: "root" }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(); - } - - runtime.keys = function(object) { - var keys = []; - for (var key in object) { - keys.push(key); - } - keys.reverse(); - - // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - return function next() { - while (keys.length) { - var key = keys.pop(); - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } - - // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined; - next.done = true; - - return next; - }; - - return next.next = next; - } - } - - // Return an iterator with no values. - return { next: doneResult }; - } - runtime.values = values; - - function doneResult() { - return { value: undefined, done: true }; - } - - Context.prototype = { - constructor: Context, - - reset: function() { - this.prev = 0; - this.next = 0; - this.sent = undefined; - this.done = false; - this.delegate = null; - - this.tryEntries.forEach(resetTryEntry); - - // Pre-initialize at least 20 temporary variables to enable hidden - // class optimizations for simple generators. - for (var tempIndex = 0, tempName; - hasOwn.call(this, tempName = "t" + tempIndex) || tempIndex < 20; - ++tempIndex) { - this[tempName] = null; - } - }, - - stop: function() { - this.done = true; - - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - - dispatchException: function(exception) { - if (this.done) { - throw exception; - } - - var context = this; - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - return !!caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - - abrupt: function(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc <= this.prev && - hasOwn.call(entry, "finallyLoc") && - this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && - (type === "break" || - type === "continue") && - finallyEntry.tryLoc <= arg && - arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.next = finallyEntry.finallyLoc; - } else { - this.complete(record); - } - - return ContinueSentinel; - }, - - complete: function(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || - record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = record.arg; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - }, - - finish: function(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - - "catch": function(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - return thrown; - } - } - - // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - throw new Error("illegal catch attempt"); - }, - - delegateYield: function(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - return ContinueSentinel; - } - }; -})( - // Among the various tricks for obtaining a reference to the global - // object, this seems to be the most reliable technique that does not - // use indirect eval (which violates Content Security Policy). - typeof global === "object" ? global : - typeof window === "object" ? window : - typeof self === "object" ? self : this -); -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.dav = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ -'use strict'; - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _co = require('co'); - -var _co2 = _interopRequireDefault(_co); - -var _url = require('url'); - -var _url2 = _interopRequireDefault(_url); - -var _calendars = require('./calendars'); - -var _contacts = require('./contacts'); - -var _fuzzy_url_equals = require('./fuzzy_url_equals'); - -var _fuzzy_url_equals2 = _interopRequireDefault(_fuzzy_url_equals); - -var _model = require('./model'); - -var _namespace = require('./namespace'); - -var ns = _interopRequireWildcard(_namespace); - -var _request = require('./request'); - -var request = _interopRequireWildcard(_request); - -var debug = require('./debug')('dav:accounts'); - -var defaults = { - accountType: 'caldav', - loadCollections: true, - loadObjects: false -}; - -/** - * rfc 6764. - * - * @param {dav.Account} account to find root url for. - */ -var serviceDiscovery = _co2['default'].wrap(regeneratorRuntime.mark(function callee$0$0(account, options) { - var endpoint, uri, req, xhr, _location; - - return regeneratorRuntime.wrap(function callee$0$0$(context$1$0) { - while (1) switch (context$1$0.prev = context$1$0.next) { - case 0: - debug('Attempt service discovery.'); - - endpoint = _url2['default'].parse(account.server); - - endpoint.protocol = endpoint.protocol || 'http'; // TODO(gareth) https? - - uri = _url2['default'].format({ - protocol: endpoint.protocol, - host: endpoint.host, - pathname: !options.useProvidedPath ? '/.well-known/' + options.accountType : endpoint.pathname - }); - req = request.basic({ method: 'GET' }); - context$1$0.prev = 5; - context$1$0.next = 8; - return options.xhr.send(req, uri, { sandbox: options.sandbox }); - - case 8: - xhr = context$1$0.sent; - - if (!(xhr.status >= 300 && xhr.status < 400)) { - context$1$0.next = 14; - break; - } - - _location = xhr.getResponseHeader('Location'); - - if (!(typeof _location === 'string' && _location.length)) { - context$1$0.next = 14; - break; - } - - debug('Discovery redirected to ' + _location); - return context$1$0.abrupt('return', _url2['default'].format({ - protocol: endpoint.protocol, - host: endpoint.host, - pathname: _location - })); - - case 14: - context$1$0.next = 19; - break; - - case 16: - context$1$0.prev = 16; - context$1$0.t0 = context$1$0['catch'](5); - - debug('Discovery failed... failover to the provided url'); - - case 19: - return context$1$0.abrupt('return', endpoint.href); - - case 20: - case 'end': - return context$1$0.stop(); - } - }, callee$0$0, this, [[5, 16]]); -})); - -/** - * rfc 5397. - * - * @param {dav.Account} account to get principal url for. - */ -var principalUrl = _co2['default'].wrap(regeneratorRuntime.mark(function callee$0$0(account, options) { - var req, res, container; - return regeneratorRuntime.wrap(function callee$0$0$(context$1$0) { - while (1) switch (context$1$0.prev = context$1$0.next) { - case 0: - debug('Fetch principal url from context path ' + account.rootUrl + '.'); - req = request.propfind({ - props: [{ name: 'current-user-principal', namespace: ns.DAV }], - depth: 0, - mergeResponses: true - }); - context$1$0.next = 4; - return options.xhr.send(req, account.rootUrl, { - sandbox: options.sandbox - }); - - case 4: - res = context$1$0.sent; - container = res.props; - - debug('Received principal: ' + container.currentUserPrincipal); - return context$1$0.abrupt('return', _url2['default'].resolve(account.rootUrl, container.currentUserPrincipal)); - - case 8: - case 'end': - return context$1$0.stop(); - } - }, callee$0$0, this); -})); - -/** - * @param {dav.Account} account to get home url for. - */ -var homeUrl = _co2['default'].wrap(regeneratorRuntime.mark(function callee$0$0(account, options) { - var prop, req, responses, response, container, href; - return regeneratorRuntime.wrap(function callee$0$0$(context$1$0) { - while (1) switch (context$1$0.prev = context$1$0.next) { - case 0: - debug('Fetch home url from principal url ' + account.principalUrl + '.'); - prop = undefined; - - if (options.accountType === 'caldav') { - prop = { name: 'calendar-home-set', namespace: ns.CALDAV }; - } else if (options.accountType === 'carddav') { - prop = { name: 'addressbook-home-set', namespace: ns.CARDDAV }; - } - - req = request.propfind({ props: [prop] }); - context$1$0.next = 6; - return options.xhr.send(req, account.principalUrl, { - sandbox: options.sandbox - }); - - case 6: - responses = context$1$0.sent; - response = responses.find(function (response) { - return (0, _fuzzy_url_equals2['default'])(account.principalUrl, response.href); - }); - container = response.props; - href = undefined; - - if (options.accountType === 'caldav') { - debug('Received home: ' + container.calendarHomeSet); - href = container.calendarHomeSet; - } else if (options.accountType === 'carddav') { - debug('Received home: ' + container.addressbookHomeSet); - href = container.addressbookHomeSet; - } - - return context$1$0.abrupt('return', _url2['default'].resolve(account.rootUrl, href)); - - case 12: - case 'end': - return context$1$0.stop(); - } - }, callee$0$0, this); -})); - -/** - * Options: - * - * (String) accountType - one of 'caldav' or 'carddav'. Defaults to 'caldav'. - * (Array.<Object>) filters - list of caldav filters to send with request. - * (Boolean) loadCollections - whether or not to load dav collections. - * (Boolean) loadObjects - whether or not to load dav objects. - * (dav.Sandbox) sandbox - optional request sandbox. - * (String) server - some url for server (needn't be base url). - * (String) timezone - VTIMEZONE calendar object. - * (dav.Transport) xhr - request sender. - * - * @return {Promise} a promise that will resolve with a dav.Account object. - */ -exports.createAccount = _co2['default'].wrap(regeneratorRuntime.mark(function callee$0$0(options) { - var account, key, loadCollections, loadObjects, collections; - return regeneratorRuntime.wrap(function callee$0$0$(context$1$0) { - while (1) switch (context$1$0.prev = context$1$0.next) { - case 0: - options = Object.assign({}, defaults, options); - if (typeof options.loadObjects !== 'boolean') { - options.loadObjects = options.loadCollections; - } - - account = new _model.Account({ - server: options.server, - credentials: options.xhr.credentials - }); - context$1$0.next = 5; - return serviceDiscovery(account, options); - - case 5: - account.rootUrl = context$1$0.sent; - context$1$0.next = 8; - return principalUrl(account, options); - - case 8: - account.principalUrl = context$1$0.sent; - context$1$0.next = 11; - return homeUrl(account, options); - - case 11: - account.homeUrl = context$1$0.sent; - - if (options.loadCollections) { - context$1$0.next = 14; - break; - } - - return context$1$0.abrupt('return', account); - - case 14: - key = undefined, loadCollections = undefined, loadObjects = undefined; - - if (options.accountType === 'caldav') { - key = 'calendars'; - loadCollections = _calendars.listCalendars; - loadObjects = _calendars.listCalendarObjects; - } else if (options.accountType === 'carddav') { - key = 'addressBooks'; - loadCollections = _contacts.listAddressBooks; - loadObjects = _contacts.listVCards; - } - - context$1$0.next = 18; - return loadCollections(account, options); - - case 18: - collections = context$1$0.sent; - - account[key] = collections; - - if (options.loadObjects) { - context$1$0.next = 22; - break; - } - - return context$1$0.abrupt('return', account); - - case 22: - context$1$0.next = 24; - return collections.map(_co2['default'].wrap(regeneratorRuntime.mark(function callee$1$0(collection) { - return regeneratorRuntime.wrap(function callee$1$0$(context$2$0) { - while (1) switch (context$2$0.prev = context$2$0.next) { - case 0: - context$2$0.prev = 0; - context$2$0.next = 3; - return loadObjects(collection, options); - - case 3: - collection.objects = context$2$0.sent; - context$2$0.next = 9; - break; - - case 6: - context$2$0.prev = 6; - context$2$0.t0 = context$2$0['catch'](0); - - collection.error = context$2$0.t0; - - case 9: - case 'end': - return context$2$0.stop(); - } - }, callee$1$0, this, [[0, 6]]); - }))); - - case 24: - - account[key] = account[key].filter(function (collection) { - return !collection.error; - }); - - return context$1$0.abrupt('return', account); - - case 26: - case 'end': - return context$1$0.stop(); - } - }, callee$0$0, this); -})); - -// http redirect. -},{"./calendars":2,"./contacts":5,"./debug":6,"./fuzzy_url_equals":7,"./model":9,"./namespace":10,"./request":12,"co":27,"url":32}],2:[function(require,module,exports){ -'use strict'; - -Object.defineProperty(exports, '__esModule', { - value: true -}); -exports.createCalendarObject = createCalendarObject; -exports.updateCalendarObject = updateCalendarObject; -exports.deleteCalendarObject = deleteCalendarObject; -exports.syncCalendar = syncCalendar; - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _co = require('co'); - -var _co2 = _interopRequireDefault(_co); - -var _url = require('url'); - -var _url2 = _interopRequireDefault(_url); - -var _fuzzy_url_equals = require('./fuzzy_url_equals'); - -var _fuzzy_url_equals2 = _interopRequireDefault(_fuzzy_url_equals); - -var _model = require('./model'); - -var _namespace = require('./namespace'); - -var ns = _interopRequireWildcard(_namespace); - -var _request = require('./request'); - -var request = _interopRequireWildcard(_request); - -var _webdav = require('./webdav'); - -var webdav = _interopRequireWildcard(_webdav); - -var debug = require('./debug')('dav:calendars'); - -var ICAL_OBJS = new Set(['VEVENT', 'VTODO', 'VJOURNAL', 'VFREEBUSY', 'VTIMEZONE', 'VALARM']); - -/** - * @param {dav.Account} account to fetch calendars for. - */ -var listCalendars = _co2['default'].wrap(regeneratorRuntime.mark(function callee$0$0(account, options) { - var req, responses, cals; - return regeneratorRuntime.wrap(function callee$0$0$(context$1$0) { - while (1) switch (context$1$0.prev |