Carga
This commit is contained in:
2025-04-17 00:35:33 -06:00
parent 4977462629
commit 67fc72aed5
1333 changed files with 1077639 additions and 0 deletions

View File

@@ -0,0 +1,252 @@
/* *
*
* (c) 2020-2022 Highsoft AS
*
* License: www.highcharts.com/license
*
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
*
* Authors:
* - Sophie Bremer
*
* */
'use strict';
/* *
*
* Imports
*
* */
import H from '../Core/Globals.js';
/* *
*
* Constants
*
* */
var win = H.win;
var delay = setTimeout;
/* *
*
* Class
*
* */
/**
* Simplified wrapper for Promise-support in outdated browsers.
*/
var DataPromise = /** @class */ (function () {
/* *
*
* Constructor
*
* */
function DataPromise(executor) {
/* *
*
* Properties
*
* */
this.jobs = [];
this.state = DataPromise.State.Pending;
this.value = void 0;
if (win.Promise && !DataPromise.onlyPolyfill) {
return new win.Promise(executor);
}
var promise = this;
delay(function () {
try {
executor(function (value) { return promise.resolved(value); }, function (reason) { return promise.rejected(reason); });
}
catch (e) {
promise.rejected(e);
}
}, 0);
}
/* *
*
* Static Functions
*
* */
DataPromise.isPromiseLike = function (promise) {
return (typeof promise === 'object' &&
promise !== null &&
typeof promise.then === 'function');
};
DataPromise.reject = function (reason) {
if (win.Promise && !DataPromise.onlyPolyfill) {
return win.Promise.reject(reason);
}
return new DataPromise(function (resolve, reject) { return reject(reason); });
};
DataPromise.resolve = function (value) {
if (win.Promise && !DataPromise.onlyPolyfill) {
return win.Promise.resolve(value);
}
if (DataPromise.isPromiseLike(value)) {
return new DataPromise(function (resolve, reject) {
value.then(resolve, reject);
});
}
return new DataPromise(function (resolve) { return resolve(value); });
};
/* *
*
* Functions
*
* */
DataPromise.prototype['catch'] = function (onrejected) {
return this.then(null, onrejected);
};
DataPromise.prototype.rejected = function (reason) {
var promise = this;
if (promise.state === DataPromise.State.Pending) {
promise.state = DataPromise.State.Rejected;
promise.reason = reason;
delay(function () { return promise.work(); }, 0);
}
};
DataPromise.prototype.resolved = function (value) {
var promise = this;
if (promise.state === DataPromise.State.Pending) {
if (DataPromise.isPromiseLike(value)) {
value.then(function (value) { return promise.resolved(value); }, function (reason) { return promise.rejected(reason); });
}
else {
promise.state = DataPromise.State.Fulfilled;
promise.value = value;
delay(function () { return promise.work(); }, 0);
}
}
};
DataPromise.prototype.then = function (onfulfilled, onrejected) {
var promise = this, newPromise = new DataPromise(function () { return void 0; }), rejecter = function (reason) {
if (onrejected) {
try {
var result = onrejected(reason);
if (result instanceof DataPromise) {
result.then(function (value) {
return newPromise.resolved(value);
}, function (reason) {
return newPromise.rejected(reason);
});
}
else {
newPromise.resolved(result);
}
return;
}
catch (e) {
reason = e;
}
}
if (newPromise.jobs.length) {
newPromise.rejected(reason);
}
else if (reason) {
throw reason;
}
else {
throw new Error('Unhandled exception');
}
}, resolver = function (value) {
if (onfulfilled) {
try {
var result = onfulfilled(value);
if (result instanceof DataPromise) {
result.then(function (value) {
return newPromise.resolved(value);
}, function (reason) {
return newPromise.rejected(reason);
});
}
else {
newPromise.resolved(result);
}
}
catch (e) {
rejecter(e);
}
}
else {
newPromise.resolved(value);
}
};
switch (promise.state) {
case DataPromise.State.Fulfilled:
resolver(promise.value);
break;
case DataPromise.State.Rejected:
rejecter(promise.reason);
break;
default:
promise.jobs.push({
resolve: resolver,
reject: rejecter
});
break;
}
return newPromise;
};
DataPromise.prototype.work = function () {
var promise = this, jobs = promise.jobs;
var job, rejectHandled;
while ((job = jobs.shift())) {
try {
if (promise.state === DataPromise.State.Fulfilled) {
job.resolve(promise.value);
}
else if (job.reject) {
rejectHandled = true;
job.reject(promise.reason);
}
}
catch (e) {
rejectHandled = false;
promise.reason = e;
promise.state = DataPromise.State.Rejected;
}
}
if (rejectHandled === false) {
if (promise.reason) {
throw promise.reason;
}
else {
throw new Error('Unhandled rejection');
}
}
};
/* *
*
* Static Properties
*
* */
DataPromise.onlyPolyfill = false;
return DataPromise;
}());
/* *
*
* Class Namespace
*
* */
(function (DataPromise) {
/* *
*
* Declarations
*
* */
/* *
*
* Enumerations
*
* */
var State;
(function (State) {
State[State["Fulfilled"] = 2] = "Fulfilled";
State[State["Pending"] = 0] = "Pending";
State[State["Rejected"] = 1] = "Rejected";
})(State = DataPromise.State || (DataPromise.State = {}));
})(DataPromise || (DataPromise = {}));
/* *
*
* Default Export
*
* */
export default DataPromise;