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