File: lib/providers/Provider.js
'use strict';
/**
* @module providers
*/
var Storage = process.requireApi('lib/storages/Storage.js');
/**
* Defines the base provider for all providers.
*
* A provider manages resources from its associated storage.
*
* @class Provider
* @constructor
* @param {Storage} storage The storage to use to store provider resources
* @throws {TypeError} If storage is not valid
*/
function Provider(storage) {
Object.defineProperties(this, {
/**
* The provider storage.
*
* @property storage
* @type Storage
* @final
*/
storage: {value: storage}
});
if (!(this.storage instanceof Storage))
throw new TypeError('storage must be of type Storage');
}
module.exports = Provider;