Update to NPM version
This commit is contained in:
68
ProjectSourceCode/node_modules/spex/lib/adapter.js
generated
vendored
Normal file
68
ProjectSourceCode/node_modules/spex/lib/adapter.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* @class PromiseAdapter
|
||||
* @description
|
||||
* Adapter for the primary promise operations.
|
||||
*
|
||||
* Provides compatibility with promise libraries that cannot be recognized automatically,
|
||||
* via functions that implement the primary operations with promises:
|
||||
*
|
||||
* - construct a new promise with a callback function
|
||||
* - resolve a promise with some result data
|
||||
* - reject a promise with a reason
|
||||
*
|
||||
* #### Example
|
||||
*
|
||||
* Below is an example of setting up a [client-side]{@tutorial client} adapter for AngularJS $q.
|
||||
*
|
||||
* ```js
|
||||
* const spexLib = require('spex'); // or include client-side spex.js
|
||||
*
|
||||
* const adapter = new spexLib.PromiseAdapter(
|
||||
* cb => $q(cb), // creating a new promise;
|
||||
* data => $q.when(data), // resolving a promise;
|
||||
* reason => $q.reject(reason) // rejecting a promise;
|
||||
* );
|
||||
*
|
||||
* const spex = spexLib(adapter);
|
||||
* ```
|
||||
*
|
||||
* @param {Function} create
|
||||
* A function that takes a callback parameter and returns a new promise object.
|
||||
* The callback parameter is expected to be `function(resolve, reject)`.
|
||||
*
|
||||
* Passing in anything other than a function will throw `Adapter requires a function to create a promise.`
|
||||
*
|
||||
* @param {Function} resolve
|
||||
* A function that takes an optional data parameter and resolves a promise with it.
|
||||
*
|
||||
* Passing in anything other than a function will throw `Adapter requires a function to resolve a promise.`
|
||||
*
|
||||
* @param {Function} reject
|
||||
* A function that takes an optional error parameter and rejects a promise with it.
|
||||
*
|
||||
* Passing in anything other than a function will throw `Adapter requires a function to reject a promise.`
|
||||
*
|
||||
* @see {@tutorial client}
|
||||
*
|
||||
*/
|
||||
class PromiseAdapter {
|
||||
constructor(create, resolve, reject) {
|
||||
this.create = create;
|
||||
this.resolve = resolve;
|
||||
this.reject = reject;
|
||||
|
||||
if (typeof create !== 'function') {
|
||||
throw new TypeError('Adapter requires a function to create a promise.');
|
||||
}
|
||||
|
||||
if (typeof resolve !== 'function') {
|
||||
throw new TypeError('Adapter requires a function to resolve a promise.');
|
||||
}
|
||||
|
||||
if (typeof reject !== 'function') {
|
||||
throw new TypeError('Adapter requires a function to reject a promise.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = PromiseAdapter;
|
||||
Reference in New Issue
Block a user