yoastseo
Version:
Yoast client-side content analysis
54 lines (51 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _Result = _interopRequireDefault(require("./Result"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* Request serves as helper for the AnalysisWorkerWrapper.
*
* It holds the resolve and reject functions that it needs to fulfill the
* promise. Any optional data will get included in the Result it can generate.
*/
class Request {
/**
* Initializes a request.
*
* @param {Function} resolve The resolve function.
* @param {Function} reject The reject function.
* @param {Object} [data] Optional extra data.
*/
constructor(resolve, reject, data = {}) {
this._resolve = resolve;
this._reject = reject;
this._data = data;
}
/**
* Resolves the request with a result.
*
* @param {Object} [payload] Optional payload.
*
* @returns {void}
*/
resolve(payload = {}) {
const result = new _Result.default(payload, this._data);
this._resolve(result);
}
/**
* Rejects the request with a result.
*
* @param {Object} [payload] Optional payload.
*
* @returns {void}
*/
reject(payload = {}) {
const result = new _Result.default(payload, this._data);
this._reject(result);
}
}
exports.default = Request;
//# sourceMappingURL=Request.js.map