lib/providers/Provider.js
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');
}
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');
}
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' ) ; }
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
Defines the base provider for all providers .