You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.5 KiB

define(['./when-229515d6'], function (e) {
'use strict';
return function (r) {
var n;
return function (t) {
var s = t.data,
a = [],
i = { id: s.id, result: void 0, error: void 0 };
return e
.when(
(function (r, n, t) {
try {
return r(n, t);
} catch (r) {
return e.when.reject(r);
}
})(r, s.parameters, a)
)
.then(function (e) {
i.result = e;
})
.otherwise(function (e) {
e instanceof Error
? (i.error = { name: e.name, message: e.message, stack: e.stack })
: (i.error = e);
})
.always(function () {
e.defined(n) || (n = e.defaultValue(self.webkitPostMessage, self.postMessage)),
s.canTransferArrayBuffer || (a.length = 0);
try {
n(i, a);
} catch (r) {
(i.result = void 0),
(i.error =
'postMessage failed with error: ' +
(function (r) {
var n,
t = r.name,
s = r.message;
n = e.defined(t) && e.defined(s) ? t + ': ' + s : r.toString();
var a = r.stack;
return e.defined(a) && (n += '\n' + a), n;
})(r) +
'\n with responseMessage: ' +
JSON.stringify(i)),
n(i);
}
});
};
};
});