webostv-as-promised
Version:
Wrapper library webOSTV.js on Promise
2 lines (1 loc) • 1.99 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var __assign=function(){return(__assign=Object.assign||function(e){for(var r,i=1,n=arguments.length;i<n;i++)for(var t in r=arguments[i])Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e}).apply(this,arguments)};function promisifyRequest(t,e){return function(i){var n={};return n.promise=new Promise(function(e,r){n.returnValue=t(__assign(__assign({},i||{}),{onSuccess:e,onFailure:function(e){return r(new Error("Error: "+e.errorCode+"."+e.errorText))}}))}),e?n:n.promise}}function promisifyDrmAgent(e){var r=Object.create(e);return Object.defineProperties(r,{getRightsError:{value:promisifyRequest(e.getRightsError.bind(e))},isLoaded:{value:promisifyRequest(e.isLoaded.bind(e))},load:{value:promisifyRequest(e.load.bind(e))},sendDrmMessage:{value:promisifyRequest(e.sendDrmMessage.bind(e))},unload:{value:promisifyRequest(e.unload.bind(e))}}),r}function promisifyWebOS(i){var e=Object.create(i);return Object.defineProperties(e,{deviceInfo:{value:function(){return new Promise(function(e){return i.deviceInfo(e)})}},fetchAppInfo:{value:function(r){return new Promise(function(e){return i.fetchAppInfo(e,r)})}}}),Object.defineProperty(e,"service",{value:__assign(__assign({},i.service),{request:function(e,r){return promisifyRequest(i.service.request.bind(i.service,e),!0)(r)}})}),e}function promisifyWebOSDev(r){var e=Object.create(r);return Object.defineProperties(e,{launch:{value:promisifyRequest(r.launch.bind(r))},LGUDID:{value:promisifyRequest(r.LGUDID.bind(r))},drmAgent:{value:function(e){return promisifyDrmAgent(r.drmAgent(e))}}}),Object.defineProperty(e.connection,"getStatus",{value:promisifyRequest(r.connection.getStatus.bind(r.connection))}),e}if(!Promise)throw new Error("Promise is needed to use `webostv-as-promised`");exports.promisifyDrmAgent=promisifyDrmAgent,exports.promisifyRequest=promisifyRequest,exports.promisifyWebOS=promisifyWebOS,exports.promisifyWebOSDev=promisifyWebOSDev;