openc3-cosmos-tool-cmdtlmserver 5.9.1 → 5.10.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[872],{4872:function(e,t,n){var r=n(8123);function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",t="4a33e65af05f7d08e216a604150e8920749ac334",n=new Function("return this")(),r="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4a33e65af05f7d08e216a604150e8920749ac334"},i=n[r]||(n[r]={});i[e]&&i[e].hash===t||(i[e]=a);var s=i[e];return c=function(){return s},s}c(),t.Z={props:{refreshInterval:{default:1e3}},data:function(){return c().f[0]++,c().s[0]++,{updater:null,api:null}},created:function(){c().f[1]++,c().s[1]++,this.api=new r.k},mounted:function(){c().f[2]++,c().s[2]++,this.changeUpdater()},beforeDestroy:function(){c().f[3]++,c().s[3]++,null!=this.updater?(c().b[0][0]++,c().s[4]++,clearInterval(this.updater),c().s[5]++,this.updater=null):c().b[0][1]++},watch:{refreshInterval:function(e,t){c().f[4]++,c().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var e=this;c().f[5]++,c().s[7]++,null!=this.updater?(c().b[1][0]++,c().s[8]++,clearInterval(this.updater),c().s[9]++,this.updater=null):c().b[1][1]++,c().s[10]++,this.updater=setInterval((function(){c().f[6]++,c().s[11]++,e.update()}),this.refreshInterval)}}}},8123:function(e,t,n){n.d(t,{k:function(){return v}});var r=n(6259),c=n(5789),a=n(6964),i=n(9502),s=n(426),o=n(7871),u=n(2261),l=(n(1372),n(1245),n(7950),n(8178),n(9529),n(8188),n(3675),n(4898),n(5825),n(7170),n(8857),n(8329),n(6279),n(427),n(171),n(7093),n(1159),n(2516),n(4349),n(5273),n(6729),n(1801),n(574),n(5787),n(9271),n(3160),n(5688),n(3157),n(3333),n(315),n(556),n(2529),n(6943),n(9224),n(1157),n(3450),n(7233),n(8673),n(5734),n(8233),n(1235),n(9644)),_=n.n(l),d=n(4091),m=new d["default"],f=_().create({baseURL:location.origin,timeout:6e4,params:{}});f.interceptors.response.use((function(e){return e}),(function(e){if(e.response){var t,n,r,c,a;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.headers["ignore-errors"]&&e.response.headers["ignore-errors"].includes(e.response.status.toString()))return Promise.reject(e);var i="HTTP ".concat(e.response.status," - ");if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(i+="".concat(e.response.statusText," ")),null!==(n=e.response)&&void 0!==n&&null!==(n=n.config)&&void 0!==n&&n.data&&(i+="".concat(e.response.config.data," ")),null!==(r=e.response)&&void 0!==r&&null!==(r=r.data)&&void 0!==r&&r.message)i+="".concat(e.response.data.message);else if(null!==(c=e.response)&&void 0!==c&&null!==(c=c.data)&&void 0!==c&&c.exception)i+="".concat(e.response.data.exception);else if(null!==(a=e.response)&&void 0!==a&&null!==(a=a.data)&&void 0!==a&&null!==(a=a.error)&&void 0!==a&&a.message)e.response.data.error.class&&(i+="".concat(e.response.data.error.class," ")),i+="".concat(e.response.data.error.message);else{var s;i+="".concat(null===(s=e.response)||void 0===s?void 0:s.data)}throw m.$notify&&m.$notify.serious({title:"Network error",body:i}),e}throw e}));var h=f,v=function(){function e(){(0,s.Z)(this,e),(0,u.Z)(this,"id",1)}return(0,o.Z)(e,[{key:"exec",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n){var r,i,s,o,u,l,_=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=_.length>2&&void 0!==_[2]?_[2]:{},i=_.length>3&&void 0!==_[3]?_[3]:{},s=_.length>4&&void 0!==_[4]?_[4]:6e4,e.prev=3,e.next=6,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 6:o=e.sent,o&&OpenC3Auth.setTokens(),e.next=13;break;case 10:e.prev=10,e.t0=e["catch"](3),OpenC3Auth.login();case 13:return this.id=this.id+1,e.prev=14,r["scope"]=window.openc3Scope,e.next=18,h.post("/openc3-api/api",{jsonrpc:"2.0",method:t,params:n,id:this.id,keyword_params:r},{headers:(0,a.Z)({Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"},i),timeout:s});case 18:return u=e.sent,e.abrupt("return",u.data.result);case 22:throw e.prev=22,e.t1=e["catch"](14),l=new Error,e.t1.response?(l.name=e.t1.response.data.error.data.class,l.message=e.t1.response.data.error.data.message):e.t1.request?(l.name="Request error",l.message="Request error, no response received"):l.name="Unknown error",l;case 27:case"end":return e.stop()}}),e,this,[[3,10],[14,22]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"decode_openc3_type",value:function(e){if(null!==e&&"object"===(0,r.Z)(e)&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}},{key:"encode_openc3_type",value:function(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"ensure_offline_access",value:function(){var e=this;this.offline_access_needed().then((function(t){t&&(localStorage.openc3OfflineToken?e.set_offline_access(localStorage.openc3OfflineToken).then((function(){delete localStorage.openc3OfflineToken})):OpenC3Auth.getOfflineAccess())}))}},{key:"offline_access_needed",value:function(){return this.exec("offline_access_needed",[])}},{key:"set_offline_access",value:function(e){return this.exec("set_offline_access",[e])}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"map_target_to_interface",value:function(e,t){return this.exec("map_target_to_interface",[e,t])}},{key:"connect_interface",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.length>0?this.exec("connect_interface",[e].concat(n)):this.exec("connect_interface",[e])}},{key:"disconnect_interface",value:function(e){return this.exec("disconnect_interface",[e])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(e){return this.exec("connect_router",[e])}},{key:"disconnect_router",value:function(e){return this.exec("disconnect_router",[e])}},{key:"get_target_interfaces",value:function(){return this.exec("get_target_interfaces",[])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(e){return this.exec("get_tlm_cnts",[e])}},{key:"get_item",value:function(e,t,n){return this.exec("get_item",[e,t,n])}},{key:"get_parameter",value:function(e,t,n){return this.exec("get_parameter",[e,t,n])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(e){return this.exec("start_cmd_log",[e])}},{key:"start_tlm_log",value:function(e){return this.exec("start_tlm_log",[e])}},{key:"stop_cmd_log",value:function(e){return this.exec("stop_cmd_log",[e])}},{key:"stop_tlm_log",value:function(e){return this.exec("stop_tlm_log",[e])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(e){return this.exec("set_limits_set",[e])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(e){return this.exec("start_background_task",[e])}},{key:"stop_background_task",value:function(e){return this.exec("stop_background_task",[e])}},{key:"get_target",value:function(e){return this.exec("get_target",[e])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_target_names",value:function(){return this.exec("get_target_names",[])}},{key:"get_telemetry",value:function(e,t){return this.exec("get_telemetry",[e,t])}},{key:"get_all_telemetry",value:function(e){return this.exec("get_all_telemetry",[e])}},{key:"get_all_telemetry_names",value:function(e){return this.exec("get_all_telemetry_names",[e])}},{key:"get_tlm_packet",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n,r){var a,i,s,o,u,l=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return a=l.length>3&&void 0!==l[3]?l[3]:30,e.next=3,this.exec("get_tlm_packet",[t,n],{type:r,stale_time:a});case 3:if(i=e.sent,null!=i)for(s=i.length,o=null,u=0;u<s;u++)o=this.decode_openc3_type(i[u][1]),null!==o&&(i[u][1]=o);return e.abrupt("return",i);case 6:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_packet_derived_items",value:function(e,t){return this.exec("get_packet_derived_items",[e,t])}},{key:"get_tlm_buffer",value:function(e,t){return this.exec("get_tlm_buffer",[e,t])}},{key:"get_tlm_values",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t){var n,r,a,i,s,o=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:30,e.next=3,this.exec("get_tlm_values",[t],{stale_time:n},{},1e4);case 3:for(r=e.sent,a=r[0].length,i=null,s=0;s<a;s++)i=this.decode_openc3_type(r[0][s]),null!==i&&(r[0][s]=i);return e.abrupt("return",r);case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"get_limits",value:function(e,t,n){return this.exec("get_limits",[e,t,n])}},{key:"tlm",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n,r){var a,i,s,o,u=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(a=u.length>3&&void 0!==u[3]?u[3]:"CONVERTED",i=null,void 0!==n){e.next=8;break}return e.next=5,this.exec("tlm",[t]);case 5:i=e.sent,e.next=24;break;case 8:if(void 0!==r){e.next=21;break}if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){e.next=15;break}return e.next=12,this.exec("tlm",[t],{type:n});case 12:i=e.sent,e.next=19;break;case 15:throw s=new Error,s.name="TypeError",s.message="Invalid data type ".concat(n,". Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS."),s;case 19:e.next=24;break;case 21:return e.next=23,this.exec("tlm",[t,n,r],{type:a});case 23:i=e.sent;case 24:return o=this.decode_openc3_type(i),null!==o&&(i=o),e.abrupt("return",i);case 27:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"inject_tlm",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n){var r,a,i=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=i.length>2&&void 0!==i[2]?i[2]:null,a=i.length>3&&void 0!==i[3]?i[3]:"CONVERTED",e.next=4,this.exec("inject_tlm",[t,n,r],{type:a});case 4:data=e.sent;case 5:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"set_tlm",value:function(e,t,n,r){return this.exec("set_tlm",[e,t,n],{type:r})}},{key:"override_tlm",value:function(e,t,n,r){return this.exec("override_tlm",[e,t,n],{type:r})}},{key:"get_overrides",value:function(){return this.exec("get_overrides")}},{key:"normalize_tlm",value:function(e,t,n,r){return this.exec("normalize_tlm",[e,t,n],{type:r})}},{key:"get_all_commands",value:function(e){return this.exec("get_all_commands",[e])}},{key:"get_all_command_names",value:function(e){return this.exec("get_all_command_names",[e])}},{key:"get_command",value:function(e,t){return this.exec("get_command",[e,t])}},{key:"get_cmd_cnts",value:function(e){return this.exec("get_cmd_cnts",[e])}},{key:"get_cmd_value",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,t,n,r])}},{key:"get_cmd_buffer",value:function(e,t){return this.exec("get_cmd_buffer",[e,t])}},{key:"_cmd",value:function(e,t,n,r,c){var a=null;for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(a=this.encode_openc3_type(r[i]),null!==a&&(r[i]=a));return this.exec(e,[t,n,r],{},c)}},{key:"get_cmd_hazardous",value:function(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}},{key:"cmd",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return void 0===t?this.exec("cmd",e,{},r):this._cmd("cmd",e,t,n,r)}},{key:"cmd_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}},{key:"cmd_raw",value:function(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}},{key:"cmd_raw_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}},{key:"cmd_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}},{key:"cmd_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}},{key:"cmd_raw_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}},{key:"cmd_raw_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}},{key:"build_command",value:function(e,t,n){return void 0===t?this.exec("build_command",e):this._cmd("build_command",e,t,n)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,t){return this.exec("send_raw",[e,t])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,t){return this.exec("load_config",[e,t])}},{key:"save_config",value:function(e,t,n){return this.exec("save_config",[e,t,n])}},{key:"delete_config",value:function(e,t){return this.exec("delete_config",[e,t])}},{key:"enable_limits",value:function(e,t,n){return this.exec("enable_limits",[e,t,n])}},{key:"disable_limits",value:function(e,t,n){return this.exec("disable_limits",[e,t,n])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(e){return this.exec("get_overall_limits_state",[e])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(e){return this.exec("get_setting",[e])}},{key:"get_settings",value:function(e){return this.exec("get_settings",e)}},{key:"save_setting",value:function(e,t){return this.exec("save_setting",[e,t])}},{key:"get_metrics",value:function(){return this.exec("get_metrics",[])}},{key:"hashString",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t){var n,r,a;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!window.isSecureContext){e.next=7;break}return n=(new TextEncoder).encode(t),e.next=4,crypto.subtle.digest("SHA-256",n);case 4:return r=e.sent,a=new Uint8Array(r),e.abrupt("return",Array.from(a).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}()}}]);
1
+ "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[872],{4872:function(e,t,n){var r=n(8123);function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",t="4a33e65af05f7d08e216a604150e8920749ac334",n=new Function("return this")(),r="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4a33e65af05f7d08e216a604150e8920749ac334"},i=n[r]||(n[r]={});i[e]&&i[e].hash===t||(i[e]=a);var s=i[e];return c=function(){return s},s}c(),t.Z={props:{refreshInterval:{default:1e3}},data:function(){return c().f[0]++,c().s[0]++,{updater:null,api:null}},created:function(){c().f[1]++,c().s[1]++,this.api=new r.k},mounted:function(){c().f[2]++,c().s[2]++,this.changeUpdater()},beforeDestroy:function(){c().f[3]++,c().s[3]++,null!=this.updater?(c().b[0][0]++,c().s[4]++,clearInterval(this.updater),c().s[5]++,this.updater=null):c().b[0][1]++},watch:{refreshInterval:function(e,t){c().f[4]++,c().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var e=this;c().f[5]++,c().s[7]++,null!=this.updater?(c().b[1][0]++,c().s[8]++,clearInterval(this.updater),c().s[9]++,this.updater=null):c().b[1][1]++,c().s[10]++,this.updater=setInterval((function(){c().f[6]++,c().s[11]++,e.update()}),this.refreshInterval)}}}},8123:function(e,t,n){n.d(t,{k:function(){return v}});var r=n(6259),c=n(5789),a=n(6964),i=n(9502),s=n(426),o=n(7871),u=n(2261),l=(n(1372),n(1245),n(7950),n(8178),n(9529),n(2994),n(8188),n(3675),n(4898),n(5825),n(7170),n(8857),n(8329),n(6279),n(427),n(171),n(7093),n(1159),n(2516),n(4349),n(5273),n(6729),n(1801),n(574),n(5787),n(9271),n(3160),n(5688),n(3157),n(3333),n(315),n(556),n(2529),n(6943),n(9224),n(1157),n(3450),n(7233),n(8673),n(5734),n(8233),n(1235),n(9644)),_=n.n(l),d=n(4091),m=new d["default"],f=_().create({baseURL:location.origin,timeout:6e4,params:{}});f.interceptors.response.use((function(e){return e}),(function(e){if(e.response){var t,n,r,c,a;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.headers["ignore-errors"]&&e.response.headers["ignore-errors"].includes(e.response.status.toString()))return Promise.reject(e);var i="HTTP ".concat(e.response.status," - ");if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(i+="".concat(e.response.statusText," ")),null!==(n=e.response)&&void 0!==n&&null!==(n=n.config)&&void 0!==n&&n.data&&(i+="".concat(e.response.config.data," ")),null!==(r=e.response)&&void 0!==r&&null!==(r=r.data)&&void 0!==r&&r.message)i+="".concat(e.response.data.message);else if(null!==(c=e.response)&&void 0!==c&&null!==(c=c.data)&&void 0!==c&&c.exception)i+="".concat(e.response.data.exception);else if(null!==(a=e.response)&&void 0!==a&&null!==(a=a.data)&&void 0!==a&&null!==(a=a.error)&&void 0!==a&&a.message)e.response.data.error.class&&(i+="".concat(e.response.data.error.class," ")),i+="".concat(e.response.data.error.message);else{var s;i+="".concat(null===(s=e.response)||void 0===s?void 0:s.data)}throw m.$notify&&m.$notify.serious({title:"Network error",body:i}),e}throw e}));var h=f,v=function(){function e(){(0,s.Z)(this,e),(0,u.Z)(this,"id",1)}return(0,o.Z)(e,[{key:"exec",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n){var r,i,s,o,u,l,_=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=_.length>2&&void 0!==_[2]?_[2]:{},i=_.length>3&&void 0!==_[3]?_[3]:{},s=_.length>4&&void 0!==_[4]?_[4]:6e4,e.prev=3,e.next=6,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 6:o=e.sent,o&&OpenC3Auth.setTokens(),e.next=13;break;case 10:e.prev=10,e.t0=e["catch"](3),OpenC3Auth.login();case 13:return this.id=this.id+1,e.prev=14,r["scope"]=window.openc3Scope,e.next=18,h.post("/openc3-api/api",{jsonrpc:"2.0",method:t,params:n,id:this.id,keyword_params:r},{headers:(0,a.Z)({Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"},i),timeout:s});case 18:return u=e.sent,e.abrupt("return",u.data.result);case 22:throw e.prev=22,e.t1=e["catch"](14),l=new Error,e.t1.response?(l.name=e.t1.response.data.error.data.class,l.message=e.t1.response.data.error.data.message):e.t1.request?(l.name="Request error",l.message="Request error, no response received"):l.name="Unknown error",l;case 27:case"end":return e.stop()}}),e,this,[[3,10],[14,22]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"decode_openc3_type",value:function(e){if(null!==e&&"object"===(0,r.Z)(e)&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}},{key:"encode_openc3_type",value:function(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"ensure_offline_access",value:function(){var e=this;this.offline_access_needed().then((function(t){t&&(localStorage.openc3OfflineToken?e.set_offline_access(localStorage.openc3OfflineToken).then((function(){delete localStorage.openc3OfflineToken})):OpenC3Auth.getOfflineAccess())}))}},{key:"offline_access_needed",value:function(){return this.exec("offline_access_needed",[])}},{key:"set_offline_access",value:function(e){return this.exec("set_offline_access",[e])}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"map_target_to_interface",value:function(e,t){return this.exec("map_target_to_interface",[e,t])}},{key:"connect_interface",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.length>0?this.exec("connect_interface",[e].concat(n)):this.exec("connect_interface",[e])}},{key:"disconnect_interface",value:function(e){return this.exec("disconnect_interface",[e])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(e){return this.exec("connect_router",[e])}},{key:"disconnect_router",value:function(e){return this.exec("disconnect_router",[e])}},{key:"get_target_interfaces",value:function(){return this.exec("get_target_interfaces",[])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(e){return this.exec("get_tlm_cnts",[e])}},{key:"get_item",value:function(e,t,n){return this.exec("get_item",[e,t,n])}},{key:"get_parameter",value:function(e,t,n){return this.exec("get_parameter",[e,t,n])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(e){return this.exec("start_cmd_log",[e])}},{key:"start_tlm_log",value:function(e){return this.exec("start_tlm_log",[e])}},{key:"stop_cmd_log",value:function(e){return this.exec("stop_cmd_log",[e])}},{key:"stop_tlm_log",value:function(e){return this.exec("stop_tlm_log",[e])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(e){return this.exec("set_limits_set",[e])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(e){return this.exec("start_background_task",[e])}},{key:"stop_background_task",value:function(e){return this.exec("stop_background_task",[e])}},{key:"get_target",value:function(e){return this.exec("get_target",[e])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_target_names",value:function(){return this.exec("get_target_names",[])}},{key:"get_telemetry",value:function(e,t){return this.exec("get_telemetry",[e,t])}},{key:"get_all_telemetry",value:function(e){return this.exec("get_all_telemetry",[e])}},{key:"get_all_telemetry_names",value:function(e){return this.exec("get_all_telemetry_names",[e])}},{key:"get_tlm_packet",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n,r){var a,i,s,o,u,l=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return a=l.length>3&&void 0!==l[3]?l[3]:30,e.next=3,this.exec("get_tlm_packet",[t,n],{type:r,stale_time:a});case 3:if(i=e.sent,null!=i)for(s=i.length,o=null,u=0;u<s;u++)o=this.decode_openc3_type(i[u][1]),null!==o&&(i[u][1]=o);return e.abrupt("return",i);case 6:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_packet_derived_items",value:function(e,t){return this.exec("get_packet_derived_items",[e,t])}},{key:"get_tlm_buffer",value:function(e,t){return this.exec("get_tlm_buffer",[e,t])}},{key:"get_tlm_values",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t){var n,r,a,i,s,o=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:30,e.next=3,this.exec("get_tlm_values",[t],{stale_time:n},{},1e4);case 3:for(r=e.sent,a=r[0].length,i=null,s=0;s<a;s++)i=this.decode_openc3_type(r[0][s]),null!==i&&(r[0][s]=i);return e.abrupt("return",r);case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"get_limits",value:function(e,t,n){return this.exec("get_limits",[e,t,n])}},{key:"tlm",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n,r){var a,i,s,o,u=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(a=u.length>3&&void 0!==u[3]?u[3]:"CONVERTED",i=null,void 0!==n){e.next=8;break}return e.next=5,this.exec("tlm",[t]);case 5:i=e.sent,e.next=24;break;case 8:if(void 0!==r){e.next=21;break}if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){e.next=15;break}return e.next=12,this.exec("tlm",[t],{type:n});case 12:i=e.sent,e.next=19;break;case 15:throw s=new Error,s.name="TypeError",s.message="Invalid data type ".concat(n,". Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS."),s;case 19:e.next=24;break;case 21:return e.next=23,this.exec("tlm",[t,n,r],{type:a});case 23:i=e.sent;case 24:return o=this.decode_openc3_type(i),null!==o&&(i=o),e.abrupt("return",i);case 27:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"inject_tlm",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t,n){var r,a,i=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=i.length>2&&void 0!==i[2]?i[2]:null,a=i.length>3&&void 0!==i[3]?i[3]:"CONVERTED",e.next=4,this.exec("inject_tlm",[t,n,r],{type:a});case 4:data=e.sent;case 5:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"set_tlm",value:function(e,t,n,r){return this.exec("set_tlm",[e,t,n],{type:r})}},{key:"override_tlm",value:function(e,t,n,r){return this.exec("override_tlm",[e,t,n],{type:r})}},{key:"get_overrides",value:function(){return this.exec("get_overrides")}},{key:"normalize_tlm",value:function(e,t,n,r){return this.exec("normalize_tlm",[e,t,n],{type:r})}},{key:"get_all_commands",value:function(e){return this.exec("get_all_commands",[e])}},{key:"get_all_command_names",value:function(e){return this.exec("get_all_command_names",[e])}},{key:"get_command",value:function(e,t){return this.exec("get_command",[e,t])}},{key:"get_cmd_cnts",value:function(e){return this.exec("get_cmd_cnts",[e])}},{key:"get_cmd_value",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,t,n,r])}},{key:"get_cmd_buffer",value:function(e,t){return this.exec("get_cmd_buffer",[e,t])}},{key:"_cmd",value:function(e,t,n,r,c){var a=null;for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(a=this.encode_openc3_type(r[i]),null!==a&&(r[i]=a));return this.exec(e,[t,n,r],{},c)}},{key:"get_cmd_hazardous",value:function(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}},{key:"cmd",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return void 0===t?this.exec("cmd",e,{},r):this._cmd("cmd",e,t,n,r)}},{key:"cmd_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}},{key:"cmd_raw",value:function(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}},{key:"cmd_raw_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}},{key:"cmd_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}},{key:"cmd_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}},{key:"cmd_raw_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}},{key:"cmd_raw_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}},{key:"build_command",value:function(e,t,n){return void 0===t?this.exec("build_command",e):this._cmd("build_command",e,t,n)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,t){return this.exec("send_raw",[e,t])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,t){return this.exec("load_config",[e,t])}},{key:"save_config",value:function(e,t,n){return this.exec("save_config",[e,t,n])}},{key:"delete_config",value:function(e,t){return this.exec("delete_config",[e,t])}},{key:"enable_limits",value:function(e,t,n){return this.exec("enable_limits",[e,t,n])}},{key:"disable_limits",value:function(e,t,n){return this.exec("disable_limits",[e,t,n])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(e){return this.exec("get_overall_limits_state",[e])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(e){return this.exec("get_setting",[e])}},{key:"get_settings",value:function(e){return this.exec("get_settings",e)}},{key:"save_setting",value:function(e,t){return this.exec("save_setting",[e,t])}},{key:"get_metrics",value:function(){return this.exec("get_metrics",[])}},{key:"hashString",value:function(){var e=(0,i.Z)((0,c.Z)().mark((function e(t){var n,r,a;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!window.isSecureContext){e.next=7;break}return n=(new TextEncoder).encode(t),e.next=4,crypto.subtle.digest("SHA-256",n);case 4:return r=e.sent,a=new Uint8Array(r),e.abrupt("return",Array.from(a).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}()}}]);
2
2
  //# sourceMappingURL=872.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/872.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/openc3-api.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n }\n )\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n timeout: timeout,\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n // get_target_list is DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30) {\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n {\n stale_time: stale_time,\n },\n {},\n 10000 // 10s timeout ... should never be this long\n )\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","_this","setInterval","update","vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","headers","includes","toString","Promise","reject","body","concat","statusText","config","message","exception","class","_error$response6","$notify","serious","title","_classCallCheck","_defineProperty","_createClass","key","value","_exec","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","kwparams","headerOptions","err","_args","arguments","wrap","_context","prev","next","length","undefined","sent","t0","login","id","window","openc3Scope","post","jsonrpc","keyword_params","_objectSpread","Authorization","localStorage","openc3Token","abrupt","result","t1","Error","name","request","stop","exec","_x","_x2","apply","val","_typeof","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","target_name","interface_name","_len","interface_params","Array","_key","router_name","target_commands","target","packet","item","log_writer_name","limits_set","packet_name","_get_tlm_packet","_callee2","value_type","stale_time","len","converted","i","_args2","_context2","type","decode_openc3_type","get_tlm_packet","_x3","_x4","_x5","_get_tlm_values","_callee3","items","_args3","_context3","get_tlm_values","_x6","item_name","_tlm","_callee4","_args4","_context4","tlm","_x7","_x8","_x9","_inject_tlm","_callee5","item_hash","_args5","_context5","inject_tlm","_x10","_x11","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","_hashString","_callee6","string","arrayBuffer","hashAsArrayBuffer","uint8ViewOfHash","_context6","isSecureContext","TextEncoder","encode","crypto","subtle","digest","Uint8Array","from","map","padStart","join","hashString","_x12"],"sourceRoot":""}
1
+ {"version":3,"file":"js/872.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/openc3-api.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n }\n )\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n timeout: timeout,\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n // get_target_list is DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30) {\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n {\n stale_time: stale_time,\n },\n {},\n 10000 // 10s timeout ... should never be this long\n )\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","_this","setInterval","update","vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","headers","includes","toString","Promise","reject","body","concat","statusText","config","message","exception","class","_error$response6","$notify","serious","title","_classCallCheck","_defineProperty","_createClass","key","value","_exec","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","kwparams","headerOptions","err","_args","arguments","wrap","_context","prev","next","length","undefined","sent","t0","login","id","window","openc3Scope","post","jsonrpc","keyword_params","_objectSpread","Authorization","localStorage","openc3Token","abrupt","result","t1","Error","name","request","stop","exec","_x","_x2","apply","val","_typeof","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","target_name","interface_name","_len","interface_params","Array","_key","router_name","target_commands","target","packet","item","log_writer_name","limits_set","packet_name","_get_tlm_packet","_callee2","value_type","stale_time","len","converted","i","_args2","_context2","type","decode_openc3_type","get_tlm_packet","_x3","_x4","_x5","_get_tlm_values","_callee3","items","_args3","_context3","get_tlm_values","_x6","item_name","_tlm","_callee4","_args4","_context4","tlm","_x7","_x8","_x9","_inject_tlm","_callee5","item_hash","_args5","_context5","inject_tlm","_x10","_x11","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","_hashString","_callee6","string","arrayBuffer","hashAsArrayBuffer","uint8ViewOfHash","_context6","isSecureContext","TextEncoder","encode","crypto","subtle","digest","Uint8Array","from","map","padStart","join","hashString","_x12"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[916],{3916:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return p}});t(7950),t(4908);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="6ab0d73706fa7c0dc987925b5fe31277b476ce6e",t=new Function("return this")(),l="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:84}},4:{start:{line:1,column:330},end:{line:1,column:344}},5:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:314},end:{line:1,column:315}},loc:{start:{line:1,column:329},end:{line:1,column:345}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6ab0d73706fa7c0dc987925b5fe31277b476ce6e"},r=t[l]||(t[l]={});r[e]&&r[e].hash===n||(r[e]=s);var o=r[e];return a=function(){return o},o}a(),a().s[0]++;var l=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("v-card",[n("v-card-title",[e._v(" "+e._s(e.data.length)+" Metrics "),n("v-spacer"),n("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){a().f[1]++,a().s[4]++,e.search=n},expression:"search"}})],1),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,1e3],showFirstLastPage:!0},"calculate-widths":"","multi-sort":"","data-test":"metrics-table"}})],1)],1)},s=(a().s[5]++,[]),r=t(7302),o=(t(1245),t(5883),t(6728),t(4872)),i=t(8123);function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="c538a4d97bd8f6141e1539fa3abd7ca8ae091605",t=new Function("return this")(),a="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:12,column:4},end:{line:35,column:5}},1:{start:{line:39,column:6},end:{line:43,column:7}},2:{start:{line:40,column:8},end:{line:40,column:44}},3:{start:{line:41,column:13},end:{line:43,column:7}},4:{start:{line:42,column:8},end:{line:42,column:43}},5:{start:{line:46,column:6},end:{line:46,column:43}},6:{start:{line:46,column:37},end:{line:46,column:43}},7:{start:{line:47,column:6},end:{line:52,column:8}},8:{start:{line:48,column:8},end:{line:48,column:22}},9:{start:{line:49,column:8},end:{line:51,column:9}},10:{start:{line:50,column:10},end:{line:50,column:60}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:36,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:29},end:{line:44,column:5}},line:38},2:{name:"(anonymous_2)",decl:{start:{line:45,column:4},end:{line:45,column:5}},loc:{start:{line:45,column:13},end:{line:53,column:5}},line:45},3:{name:"(anonymous_3)",decl:{start:{line:47,column:34},end:{line:47,column:35}},loc:{start:{line:47,column:47},end:{line:52,column:7}},line:47}},branchMap:{0:{loc:{start:{line:39,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:39,column:6},end:{line:43,column:7}},{start:{line:41,column:13},end:{line:43,column:7}}],line:39},1:{loc:{start:{line:41,column:13},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:13},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},2:{loc:{start:{line:46,column:6},end:{line:46,column:43}},type:"if",locations:[{start:{line:46,column:6},end:{line:46,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["StatusTab.vue"],names:[],mappings:";AAwDA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"StatusTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Use a container here so we can do cols=\"auto\" to resize v-select --\x3e\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c538a4d97bd8f6141e1539fa3abd7ca8ae091605"},s=t[a]||(t[a]={});s[e]&&s[e].hash===n||(s[e]=l);var r=s[e];return c=function(){return r},r}c();var u={mixins:[o.Z],props:{tabId:Number,curTab:Number},data:function(){return c().f[0]++,c().s[0]++,{api:new i.k,apiStatus:[],apiHeaders:[{text:"Port",value:"port"},{text:"Clients",value:"clients"},{text:"Requests",value:"requests"},{text:"Avg Request Time",value:"avgTime"},{text:"Server Threads",value:"threads"}],backgroundTasks:[],backgroundHeaders:[{text:"Name",value:"name"},{text:"State",value:"state"},{text:"Status",value:"status"},{text:"Control",value:"control"}],search:"",data:[],headers:[{text:"Metric",value:"metric_name"},{text:"Value",value:"value"}]}},methods:{taskControl:function(e,n){c().f[1]++,c().s[1]++,"Start"==n?(c().b[0][0]++,c().s[2]++,this.api.start_background_task(e)):(c().b[0][1]++,c().s[3]++,"Stop"==n?(c().b[1][0]++,c().s[4]++,this.api.stop_background_task(e)):c().b[1][1]++)},update:function(){var e=this;if(c().f[2]++,c().s[5]++,this.tabId!=this.curTab)return c().b[2][0]++,void c().s[6]++;c().b[2][1]++,c().s[7]++,this.api.get_metrics().then((function(n){c().f[3]++,c().s[8]++,e.data=[],c().s[9]++;for(var t=0,a=Object.entries(n);t<a.length;t++){var l=(0,r.Z)(a[t],2),s=l[0],o=l[1];c().s[10]++,e.data.push({metric_name:s,value:o})}}))}}},d=u,m=(t(460),t(3483)),A=(0,m.Z)(d,l,s,!1,null,"44b09238",null),p=A.exports},5883:function(e,n,t){var a=t(3103),l=t(7664).entries;a({target:"Object",stat:!0},{entries:function(e){return l(e)}})},825:function(e,n,t){"use strict";t.r(n);var a=t(9601),l=t.n(a),s=t(2609),r=t.n(s),o=r()(l());o.push([e.id,".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}",""]),n["default"]=o},460:function(e,n,t){var a=t(825);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var l=t(3514).Z;l("5f1a43b8",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[916],{3916:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return p}});t(7950),t(4908);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="6ab0d73706fa7c0dc987925b5fe31277b476ce6e",t=new Function("return this")(),l="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:84}},4:{start:{line:1,column:330},end:{line:1,column:344}},5:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:314},end:{line:1,column:315}},loc:{start:{line:1,column:329},end:{line:1,column:345}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6ab0d73706fa7c0dc987925b5fe31277b476ce6e"},r=t[l]||(t[l]={});r[e]&&r[e].hash===n||(r[e]=s);var o=r[e];return a=function(){return o},o}a(),a().s[0]++;var l=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("v-card",[n("v-card-title",[e._v(" "+e._s(e.data.length)+" Metrics "),n("v-spacer"),n("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){a().f[1]++,a().s[4]++,e.search=n},expression:"search"}})],1),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,1e3],showFirstLastPage:!0},"calculate-widths":"","multi-sort":"","data-test":"metrics-table"}})],1)],1)},s=(a().s[5]++,[]),r=t(7302),o=(t(1245),t(5883),t(6728),t(4872)),i=t(8123);function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="c538a4d97bd8f6141e1539fa3abd7ca8ae091605",t=new Function("return this")(),a="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:12,column:4},end:{line:35,column:5}},1:{start:{line:39,column:6},end:{line:43,column:7}},2:{start:{line:40,column:8},end:{line:40,column:44}},3:{start:{line:41,column:13},end:{line:43,column:7}},4:{start:{line:42,column:8},end:{line:42,column:43}},5:{start:{line:46,column:6},end:{line:46,column:43}},6:{start:{line:46,column:37},end:{line:46,column:43}},7:{start:{line:47,column:6},end:{line:52,column:8}},8:{start:{line:48,column:8},end:{line:48,column:22}},9:{start:{line:49,column:8},end:{line:51,column:9}},10:{start:{line:50,column:10},end:{line:50,column:60}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:36,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:29},end:{line:44,column:5}},line:38},2:{name:"(anonymous_2)",decl:{start:{line:45,column:4},end:{line:45,column:5}},loc:{start:{line:45,column:13},end:{line:53,column:5}},line:45},3:{name:"(anonymous_3)",decl:{start:{line:47,column:34},end:{line:47,column:35}},loc:{start:{line:47,column:47},end:{line:52,column:7}},line:47}},branchMap:{0:{loc:{start:{line:39,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:39,column:6},end:{line:43,column:7}},{start:{line:41,column:13},end:{line:43,column:7}}],line:39},1:{loc:{start:{line:41,column:13},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:13},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},2:{loc:{start:{line:46,column:6},end:{line:46,column:43}},type:"if",locations:[{start:{line:46,column:6},end:{line:46,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["StatusTab.vue"],names:[],mappings:";AAwDA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"StatusTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Use a container here so we can do cols=\"auto\" to resize v-select --\x3e\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c538a4d97bd8f6141e1539fa3abd7ca8ae091605"},s=t[a]||(t[a]={});s[e]&&s[e].hash===n||(s[e]=l);var r=s[e];return c=function(){return r},r}c();var u={mixins:[o.Z],props:{tabId:Number,curTab:Number},data:function(){return c().f[0]++,c().s[0]++,{api:new i.k,apiStatus:[],apiHeaders:[{text:"Port",value:"port"},{text:"Clients",value:"clients"},{text:"Requests",value:"requests"},{text:"Avg Request Time",value:"avgTime"},{text:"Server Threads",value:"threads"}],backgroundTasks:[],backgroundHeaders:[{text:"Name",value:"name"},{text:"State",value:"state"},{text:"Status",value:"status"},{text:"Control",value:"control"}],search:"",data:[],headers:[{text:"Metric",value:"metric_name"},{text:"Value",value:"value"}]}},methods:{taskControl:function(e,n){c().f[1]++,c().s[1]++,"Start"==n?(c().b[0][0]++,c().s[2]++,this.api.start_background_task(e)):(c().b[0][1]++,c().s[3]++,"Stop"==n?(c().b[1][0]++,c().s[4]++,this.api.stop_background_task(e)):c().b[1][1]++)},update:function(){var e=this;if(c().f[2]++,c().s[5]++,this.tabId!=this.curTab)return c().b[2][0]++,void c().s[6]++;c().b[2][1]++,c().s[7]++,this.api.get_metrics().then((function(n){c().f[3]++,c().s[8]++,e.data=[],c().s[9]++;for(var t=0,a=Object.entries(n);t<a.length;t++){var l=(0,r.Z)(a[t],2),s=l[0],o=l[1];c().s[10]++,e.data.push({metric_name:s,value:o})}}))}}},d=u,m=(t(460),t(3483)),A=(0,m.Z)(d,l,s,!1,null,"44b09238",null),p=A.exports},5883:function(e,n,t){"use strict";var a=t(3103),l=t(7664).entries;a({target:"Object",stat:!0},{entries:function(e){return l(e)}})},825:function(e,n,t){"use strict";t.r(n);var a=t(9601),l=t.n(a),s=t(2609),r=t.n(s),o=r()(l());o.push([e.id,".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}",""]),n["default"]=o},460:function(e,n,t){var a=t(825);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var l=t(3514).Z;l("5f1a43b8",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
2
  //# sourceMappingURL=916.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/916.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?0c8b","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?7de2","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/modules/es.object.entries.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?82df","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?b814"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Metrics \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"metrics-table\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <!-- Use a container here so we can do cols=\"auto\" to resize v-select -->\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusTab.vue?vue&type=template&id=44b09238&scoped=true&\"\nimport script from \"./StatusTab.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44b09238\",\n null\n \n)\n\nexport default component.exports","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5f1a43b8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_2ntlonrahl","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","api","OpenC3Api","apiStatus","apiHeaders","text","backgroundTasks","backgroundHeaders","methods","taskControl","name","state","b","start_background_task","stop_background_task","update","_this","get_metrics","then","metrics","_i","_Object$entries","Object","entries","_Object$entries$_i","_slicedToArray","key","push","metric_name","component","$","$entries","target","stat","O","___CSS_LOADER_EXPORT___","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
1
+ {"version":3,"file":"js/916.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?0c8b","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?7de2","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/modules/es.object.entries.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?82df","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?b814"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Metrics \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"metrics-table\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <!-- Use a container here so we can do cols=\"auto\" to resize v-select -->\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusTab.vue?vue&type=template&id=44b09238&scoped=true&\"\nimport script from \"./StatusTab.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44b09238\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5f1a43b8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_2ntlonrahl","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","api","OpenC3Api","apiStatus","apiHeaders","text","backgroundTasks","backgroundHeaders","methods","taskControl","name","state","b","start_background_task","stop_background_task","update","_this","get_metrics","then","metrics","_i","_Object$entries","Object","entries","_Object$entries$_i","_slicedToArray","key","push","metric_name","component","$","$entries","target","stat","O","___CSS_LOADER_EXPORT___","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[924],{7146:function(t,e,n){n.d(e,{ju:function(){return c},zD:function(){return w}});var i={logger:self.console,WebSocket:self.WebSocket},r={log(...t){this.enabled&&(t.push(Date.now()),i.logger.log("[ActionCable]",...t))}};const s=()=>(new Date).getTime(),o=t=>(s()-t)/1e3;class c{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=s(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),r.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=s(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),r.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=s()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,r.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=s(),r.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,n=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),i=0===this.reconnectAttempts?1:e,r=i*Math.random();return 1e3*t*n*(1+r)}reconnectIfStale(){this.connectionIsStale()&&(r.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${o(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?r.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${o(this.disconnectedAt)} s`):(r.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return o(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&o(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(r.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}c.staleThreshold=6,c.reconnectionBackoffRate=.15;var a={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:u,protocols:l}=a,h=l.slice(0,l.length-1),d=[].indexOf;class p{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new c(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){return this.isActive()?(r.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1):(r.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${l}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new i.WebSocket(this.consumer.url,l),this.installEventHandlers(),this.monitor.start(),!0)}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(r.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){r.log("Failed to reopen WebSocket",t)}finally{r.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}isProtocolSupported(){return d.call(h,this.getProtocol())>=0}isState(...t){return d.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in i.WebSocket)if(i.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}p.reopenDelay=500,p.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:e,message:n,reason:i,reconnect:s,type:o}=JSON.parse(t.data);switch(o){case u.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case u.disconnect:return r.log(`Disconnecting. Reason: ${i}`),this.close({allowReconnect:s});case u.ping:return this.monitor.recordPing();case u.confirmation:return this.subscriptions.confirmSubscription(e),this.subscriptions.notify(e,"connected");case u.rejection:return this.subscriptions.reject(e);default:return this.subscriptions.notify(e,"received",n)}},open(){if(r.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return r.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(r.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){r.log("WebSocket onerror event")}};const g=function(t,e){if(null!=e)for(let n in e){const i=e[n];t[n]=i}return t};class f{constructor(t,e={},n){this.consumer=t,this.identifier=JSON.stringify(e),g(this,n)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class m{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(r.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):r.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){r.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((e=>e!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"===typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{r.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class b{constructor(t){this.consumer=t,this.guarantor=new m(this),this.subscriptions=[]}create(t,e){const n=t,i="object"===typeof n?n:{channel:n},r=new f(this.consumer,i,e);return this.add(r)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((e=>e!==t)),t}findAll(t){return this.subscriptions.filter((e=>e.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...e){return this.subscriptions.map((n=>this.notify(n,t,...e)))}notify(t,e,...n){let i;return i="string"===typeof t?this.findAll(t):[t],i.map((t=>"function"===typeof t[e]?t[e](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){r.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,e){const{identifier:n}=t;return this.consumer.send({command:e,identifier:n})}}class v{constructor(t){this._url=t,this.subscriptions=new b(this),this.connection=new p(this)}get url(){return S(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}}function S(t){if("function"===typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const e=document.createElement("a");return e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href}return t}function w(t=y("url")||a.default_mount_path){return new v(t)}function y(t){const e=document.head.querySelector(`meta[name='action-cable-${t}']`);if(e)return e.getAttribute("content")}},2101:function(t){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},9992:function(t,e,n){var i=n(3103),r=n(5968),s=n(3718),o=r([].reverse),c=[1,2];i({target:"Array",proto:!0,forced:String(c)===String(c.reverse())},{reverse:function(){return s(this)&&(this.length=this.length),o(this)}})},9805:function(t,e,n){var i=n(3103),r=n(2991),s=n(3231),o=n(3329),c=n(9646),a=n(6554),u=n(3064),l=n(7501),h=n(2324),d=n(9563),p=n(1460),g=p("splice"),f=Math.max,m=Math.min;i({target:"Array",proto:!0,forced:!g},{splice:function(t,e){var n,i,p,g,b,v,S=r(this),w=c(S),y=s(t,w),A=arguments.length;for(0===A?n=i=0:1===A?(n=0,i=w-y):(n=A-2,i=m(f(o(e),0),w-y)),u(w+n-i),p=l(S,i),g=0;g<i;g++)b=y+g,b in S&&h(p,g,S[b]);if(p.length=i,n<i){for(g=y;g<w-i;g++)b=g+i,v=g+n,b in S?S[v]=S[b]:d(S,v);for(g=w;g>w-i+n;g--)d(S,g-1)}else if(n>i)for(g=w-i;g>y;g--)b=g+i-1,v=g+n-1,b in S?S[v]=S[b]:d(S,v);for(g=0;g<n;g++)S[g+y]=arguments[g+2];return a(S,w-i+n),p}})},1639:function(t,e,n){var i=n(3103),r=n(266),s=n(5968),o=n(8885),c=n(6733),a=n(9650),u=n(8311),l=n(3326),h=n(5300),d=n(3349),p=n(17),g=n(95),f=n(4231),m=g("replace"),b=TypeError,v=s("".indexOf),S=s("".replace),w=s("".slice),y=Math.max,A=function(t,e,n){return n>t.length?-1:""===e?n:v(t,e,n)};i({target:"String",proto:!0},{replaceAll:function(t,e){var n,i,s,g,D,C,T,N,k,$=o(this),_=0,R=0,M="";if(!a(t)){if(n=u(t),n&&(i=l(o(d(t))),!~v(i,"g")))throw b("`.replaceAll` does not allow non-global regexes");if(s=h(t,m),s)return r(s,t,$,e);if(f&&n)return S(l($),t,e)}g=l($),D=l(t),C=c(e),C||(e=l(e)),T=D.length,N=y(1,T),_=A(g,D,0);while(-1!==_)k=C?l(e(D,_,g)):p(D,g,_,[],void 0,e),M+=w(g,R,_)+k,R=_+T,_=A(g,D,_+N);return R<g.length&&(M+=w(g,R)),M}})},4908:function(t,e,n){var i=n(266),r=n(4954),s=n(1176),o=n(9650),c=n(8885),a=n(2101),u=n(3326),l=n(5300),h=n(8115);r("search",(function(t,e,n){return[function(e){var n=c(this),r=o(e)?void 0:l(e,t);return r?i(r,e,n):new RegExp(e)[t](u(n))},function(t){var i=s(this),r=u(t),o=n(e,i,r);if(o.done)return o.value;var c=i.lastIndex;a(c,0)||(i.lastIndex=0);var l=h(i,r);return a(i.lastIndex,c)||(i.lastIndex=c),null===l?-1:l.index}]}))},5488:function(t,e,n){n.d(e,{Z:function(){return c}});Math.pow(10,8);var i=6e4,r=36e5,s=n(9785),o=n(2765);function c(t,e){var n;(0,s.Z)(1,arguments);var i=(0,o.Z)(null!==(n=null===e||void 0===e?void 0:e.additionalDigits)&&void 0!==n?n:2);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var r,c=d(t);if(c.date){var a=p(c.date,i);r=g(a.restDateString,a.year)}if(!r||isNaN(r.getTime()))return new Date(NaN);var u,l=r.getTime(),h=0;if(c.time&&(h=m(c.time),isNaN(h)))return new Date(NaN);if(!c.timezone){var f=new Date(l+h),b=new Date(0);return b.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),b.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),b}return u=v(c.timezone),isNaN(u)?new Date(NaN):new Date(l+h+u)}var a={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},u=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,l=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,h=/^([+-])(\d{2})(?::?(\d{2}))?$/;function d(t){var e,n={},i=t.split(a.dateTimeDelimiter);if(i.length>2)return n;if(/:/.test(i[0])?e=i[0]:(n.date=i[0],e=i[1],a.timeZoneDelimiter.test(n.date)&&(n.date=t.split(a.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var r=a.timezone.exec(e);r?(n.time=e.replace(r[1],""),n.timezone=r[1]):n.time=e}return n}function p(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),i=t.match(n);if(!i)return{year:NaN,restDateString:""};var r=i[1]?parseInt(i[1]):null,s=i[2]?parseInt(i[2]):null;return{year:null===s?r:100*s,restDateString:t.slice((i[1]||i[2]).length)}}function g(t,e){if(null===e)return new Date(NaN);var n=t.match(u);if(!n)return new Date(NaN);var i=!!n[4],r=f(n[1]),s=f(n[2])-1,o=f(n[3]),c=f(n[4]),a=f(n[5])-1;if(i)return C(e,c,a)?S(e,c,a):new Date(NaN);var l=new Date(0);return A(e,s,o)&&D(e,r)?(l.setUTCFullYear(e,s,Math.max(r,o)),l):new Date(NaN)}function f(t){return t?parseInt(t):1}function m(t){var e=t.match(l);if(!e)return NaN;var n=b(e[1]),s=b(e[2]),o=b(e[3]);return T(n,s,o)?n*r+s*i+1e3*o:NaN}function b(t){return t&&parseFloat(t.replace(",","."))||0}function v(t){if("Z"===t)return 0;var e=t.match(h);if(!e)return 0;var n="+"===e[1]?-1:1,s=parseInt(e[2]),o=e[3]&&parseInt(e[3])||0;return N(s,o)?n*(s*r+o*i):NaN}function S(t,e,n){var i=new Date(0);i.setUTCFullYear(t,0,4);var r=i.getUTCDay()||7,s=7*(e-1)+n+1-r;return i.setUTCDate(i.getUTCDate()+s),i}var w=[31,null,31,30,31,30,31,31,30,31,30,31];function y(t){return t%400===0||t%4===0&&t%100!==0}function A(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(w[e]||(y(t)?29:28))}function D(t,e){return e>=1&&e<=(y(t)?366:365)}function C(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function T(t,e,n){return 24===t?0===e&&0===n:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function N(t,e){return e>=0&&e<=59}}}]);
2
+ //# sourceMappingURL=924.js.map