/* * Copyright (c) 2015-2017, Michael A. Updike All rights reserved. * Licensed under the BSD-3-Clause * https://opensource.org/licenses/BSD-3-Clause * https://github.com/opus1269/photo-screen-saver/blob/master/LICENSE.md */ (function() { 'use strict'; window.app = window.app || {}; new ExceptionHandler(); /** * A potential source of photos from Chromecast * @alias app.CCSource */ app.CCSource = class extends app.PhotoSource { /** * Create a new photo source * @param {string} useKey - The key for if the source is selected * @param {string} photosKey - The key for the collection of photos * @param {string} type - A descriptor of the photo source * @param {string} desc - A human readable description of the source * @param {boolean} isDaily - Should the source be updated daily * @param {boolean} isArray - Is the source an Array of photo Arrays * @param {?Object} [loadArg=null] - optional arg for load function * @constructor */ constructor(useKey, photosKey, type, desc, isDaily, isArray, loadArg = null) { super(useKey, photosKey, type, desc, isDaily, isArray, loadArg); } /** * Fetch the photos for this source * @returns {Promise<app.PhotoSource.Photo[]>} Array of photos */ fetchPhotos() { const url = '/assets/chromecast.json'; return Chrome.Http.doGet(url).then((photos) => { photos = photos || []; for (const photo of photos) { photo.asp = 1.78; } return Promise.resolve(photos); }); } }; })();