VulpesOS/gaia/apps/calendar/js/provider/factory.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

27 lines
581 B
JavaScript
Executable file

define(function(require, exports) {
'use strict';
var debug = require('common/debug')('provider/factory');
var ctors = {
Caldav: require('./caldav'),
Local: require('./local')
};
var providers = exports.providers = Object.create(null);
exports.get = function(name) {
if (!providers[name]) {
try {
debug(`Initializing provider ${name}`);
providers[name] = new ctors[name]();
} catch (e) {
console.error('Error', e.name, e.message);
console.error('Failed to initialize provider', name, e.stack);
}
}
return providers[name];
};
});