p3x-redis-ui-server
Version:
🏍️ P3X Redis UI server — Socket.IO backend for the dual Angular + React frontend with AI queries, 54 languages, and auto data decompression
2 lines (1 loc) • 1.25 kB
JavaScript
import{fromPairs as t,find as n,has as e}from"lodash-es";export default{parse:function(t){return function(t){return t.reduce(function(t,n){return n[0].trim()&&0!==n[0].indexOf("db")&&0!==n[0].indexOf("cmdstat_")?(t[n[0]]=n[1],t):t},{databases:i(t),commands:s(t)})}(t.split("\n").filter(function(t){return t.length>0&&0!==t.indexOf("#")}).map(function(t){return t.trim().split(":")}))}};function r(t){return function(n){return 0===n.indexOf(t)}}function u(t){return t||""}function i(t){return t.filter((e=r("db"),function(t){return function(n){return t(n[0])}}(e))).map(function(t){var e=t[0],i=u(t[1]).split(",");function s(t){return parseInt(u(n(i,r(t))).split("=")[1]||0,10)}return{index:parseInt(e.substr(2),10),keys:s("keys"),expires:s("expires"),avg_ttl:s("avg_ttl")}}).reduce(function(t,n){return t[n.index]={keys:n.keys,expires:n.expires,avg_ttl:n.avg_ttl},t},{});var e}function s(n){return t(n.filter(function(t){return 0===u(t[0]).indexOf("cmdstat_")}).map(function(n){var r=n[0],i=n[1],s=t(u(i).split(",").map(function(t){return t.split("=")}));return e(s,"calls")&&(s.calls=parseInt(s.calls,10)),e(s,"usec")&&(s.usec=parseInt(s.usec,10)),e(s,"usec_per_call")&&(s.usec_per_call=parseFloat(s.usec_per_call,10)),[u(r).split("_")[1],s]}))}