code: 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');
  }
docs: 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