UNPKG

p3x-redis-ui-material

Version:

💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity

3 lines • 3.45 kB
import{a as e,n as t}from"./i18n.store-DddRY7Ub.js";import{i as n,r}from"./redis-state.store-BAzm-x3w.js";function i(e){let{line:t}=e,n=e.divider??`,`,r=e.fieldDivider??`=`,i=t.split(n),a={};for(let e of i){let t=e.split(r);a[t[0]]=(t[1]??``).trim()}return a}function a(e){let t=e.split(` `),n={},r,a={},o=0;for(let e of t)if(e.startsWith(`#`))r!==void 0&&(n[r]=a),r=e.substring(1).toLowerCase().trim(),a={};else if(e.length>2)if(e.includes(`:`)){let t=e.split(`:`),n=t[1]??``;a[t[0]]=n.includes(`,`)?i({line:n.trim()}):n.trim()}else{let[t,...n]=e.split(/ (.+)/),r=(n[0]??``).split(`,`).map(e=>`${o}-${e.trim()}`).join(`,`);a.hasOwnProperty(`db0`)?Object.assign(a.db0,r.includes(`,`)?i({line:r.trim()}):r.trim()):a.db0=r.includes(`,`)?i({line:r.trim()}):r.trim(),o++}return r!==void 0&&Object.keys(a).length>0&&(n[r]=a),n.keyspaceDatabases={},n.hasOwnProperty(`keyspace`)&&Object.keys(n.keyspace).forEach(e=>{n.keyspaceDatabases[parseInt(e.substring(2))]=!0}),n}function o(e){return typeof e==`object`&&e?Object.keys(e).map(t=>e[t]).join(` `):e}var s={};function c(e,t){return s[e]||(s[e]=new Set),s[e].add(t),()=>{s[e].delete(t)}}function l(e){s[e]?.forEach(e=>e())}var u=null,d=e((e,i)=>({toastMessage:``,toastOpen:!1,toastDuration:5e3,toast:(t,n)=>{e({toastMessage:t,toastOpen:!0,toastDuration:n||5e3})},closeToast:()=>{let t=i().resolveToastUndo;t&&(t(!1),e({resolveToastUndo:null,toastUndoAction:null})),e({toastOpen:!1})},toastUndoAction:null,resolveToastUndo:null,toastWithUndo:t=>new Promise(n=>{e({toastMessage:t,toastOpen:!0,toastUndoAction:`Undo`,resolveToastUndo:n})}),handleToastUndoClick:()=>{let t=i().resolveToastUndo;t&&(t(!0),e({resolveToastUndo:null,toastUndoAction:null,toastOpen:!1}))},confirmOpen:!1,confirmOptions:null,resolveConfirm:null,confirm:n=>new Promise((r,i)=>{let a=t.getState().strings,o=n.disableCancel===!0;e({confirmOpen:!0,confirmOptions:{title:n.title||(o?a?.confirm?.info:a?.confirm?.title),message:n.message,disableCancel:o},resolveConfirm:t=>{e({confirmOpen:!1,confirmOptions:null,resolveConfirm:null}),t?r():i()}})}),promptOpen:!1,promptOptions:null,resolvePrompt:null,prompt:t=>new Promise((n,r)=>{e({promptOpen:!0,promptOptions:t,resolvePrompt:t=>{e({promptOpen:!1,promptOptions:null,resolvePrompt:null}),t===null?r():n(t)}})}),askAuthOpen:!1,resolveAskAuth:null,askAuth:()=>new Promise((t,n)=>{e({askAuthOpen:!0,resolveAskAuth:r=>{e({askAuthOpen:!1,resolveAskAuth:null}),r===null?n():t(r)}})}),commandPaletteOpen:!1,setCommandPaletteOpen:t=>e({commandPaletteOpen:t}),generalHandleError:e=>{if(e===void 0)return!0;if(e instanceof Error||e instanceof Object||(e=Error(String(e))),e instanceof Error||e.status===`error`){let n=e instanceof Error?e:e.error;console.warn(`generalHandleError`),console.error(n);let a=t.getState().strings,o=a?.code||{};return typeof n==`string`&&o.hasOwnProperty(n)?n=Error(o[n]):n?.code&&o.hasOwnProperty(n.code)?n.message=o[n.code]:n?.message&&o.hasOwnProperty(n.message)&&(n.message=o[n.message]),n?.message===`Connection is closed.`&&r.setState({connection:void 0}),i().confirm({title:a?.title?.error,message:n?.message||String(n),disableCancel:!0}).catch(()=>{}),!1}return!0},loadRedisInfoResponse:(e={})=>{let t=e.response||u;if(u=t,!t)return;let i=n.getState(),o=a(t.info),s=i.keysSort&&t.keys.length<=i.maxLightKeysCount?[...t.keys].sort():t.keys;r.setState({info:o,keysRaw:s,keysInfo:t.keysInfo,keysInfoFetchedAt:Date.now()})}}));export{a,o as i,c as n,d as r,l as t};