magcore-plugin-network-nfs
Version:
NFS network plugin for Ministra TV Platform.
2 lines • 3.25 kB
JavaScript
module.exports=function(e){var r={};function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var s in e)t.d(n,s,function(r){return e[r]}.bind(null,s));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=0)}([function(e,r,t){"use strict";var n="/ram/mnt/nfs",s=!1,a=+gSTB.Version().split(";")[0].split(":")[1].trim(),i=window.stbNfs&&a>=342,o={enabled:!0,workers:[],activeServer:null,data:{servers:null,shares:null},serversCacheTime:300,sharesCacheTime:300,setup:function(e){-1===this.workers.indexOf(e)&&this.workers.push(e),e.setupTime=new Date},clear:function(){o.data.servers=null,o.data.shares=null,o.activeServer=null,o.workers.forEach(function(e){delete e.setupTime}),o.workers=[]}};function u(e,r){var t,a;s?t=!0:e&&e.address?(e.address="/"===e.address.charAt(e.address.length-1)?e.address.substr(0,e.address.length-1):e.address,a='mount nfs "'+e.address+'" "'+n+'" nolock,ro,rsize=4096,wsize=4096,udp',t=gSTB.RDir(a),t=s="Ok"===t):t=!1,setTimeout(function(){r(null,t)},0)}function l(e){e=!!arguments.length&&e,(s||!0===e)&&(gSTB.ExecAction("umount_dir "+n),s=!1)}function f(e,r){var t=function(e){return e.sort(function(e,r){return e.split(".").join("")-r.split(".").join("")})};if("function"!=typeof e)throw new Error("[NFS plugin] > callback for getServers must be a function");if(r=typeof r!=typeof!0||r,o.enabled&&r)if(o.data.servers){if(!((new Date-f.setupTime)/1e3>o.serversCacheTime))return void e(null,t(o.data.servers));o.setup(f),o.data.servers=null,o.activeServer=null}else o.setup(f);i&&window.stbNfs.findServers(function(r,n){r?e(r):Array.isArray(n)?(e(null,t(o.data.servers=n)),o.data.shares&&Object.keys(o.data.shares).forEach(function(e){-1===n.indexOf(e)&&delete o.data.shares[e]})):e({message:"Invalid data format!"})})}function d(e,r,t){if("function"!=typeof r)throw new Error("[NFS plugin] > callback for getShares must be a function");if(t=typeof t!=typeof!0||t,s=!1,o.enabled&&t)if(o.activeServer=e.server,o.data.shares){if((new Date-d.setupTime)/1e3>o.sharesCacheTime)o.setup(d),o.data.shares=null,o.activeServer=null;else if(o.data.shares[o.activeServer])return void r(null,o.data.shares[o.activeServer])}else o.setup(d);i&&window.stbNfs.findShares(e,function(e,t){e?r(e):Array.isArray(t)?(o.data.shares=o.data.shares||{},o.data.shares[o.activeServer]=t,r(null,t)):r({message:"Invalid data format!"})})}e.exports={onAppInit:function(e,r){r(null,{config:e.app,types:{},hasNfsNativeSupport:i,clearCache:o.clear,getServers:f,getShares:d,mount:u,umount:l})}}}]);
//# sourceMappingURL=main.js.map