/*
* 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);
});
}
};
})();