Armazenamento Flexível com FlexStorage

O que é o FlexStorage?

O FlexStorage é uma classe projetada para armazenar e recuperar dados de forma flexível, permitindo a configuração de conteúdos, como embeds, componentes, arquivos e funções associadas, e permitindo a execução dinâmica dessas funções.

Recursos Principais

Exemplos de Uso

Uso Básico do FlexStorage

Veja como você pode usar a classe FlexStorage para armazenar e recuperar dados:


const storage = new FlexStorage();

// Armazenando dados com funções
storage.set("user123", {
  embeds: ["embed1", "embed2"],
  componentes: ["button1", "button2"],
  files: ["file1.png", "file2.png"],
  functions: [
    () => console.log("Função 1 executada!"),
    () => console.log("Função 2 executada!")
  ]
});

// Recuperando dados e executando uma função
const userData = storage.get("user123");
userData.run(0); // Executa a primeira função associada ao usuário
      

Tratamento de Erros

O FlexStorage trata erros ao tentar acessar dados ou funções inválidas:


try {
  const invalidData = storage.get("user999"); // ID inválido
} catch (error) {
  console.error(error.message); // Exibe mensagem de erro: "Conteúdo com o id 'user999' não encontrado!"
}

try {
  const userData = storage.get("user123");
  userData.run(10); // Índice de função inválido
} catch (error) {
  console.error(error.message); // Exibe mensagem de erro: "Função no índice 10 não encontrada para o id 'user123'!"
}
      

Trabalhando com Funções

Ao armazenar dados com o FlexStorage, você pode associar funções específicas a eles. Essas funções podem ser executadas a partir do armazenamento, facilitando ações dinâmicas e configuráveis.


const storage = new FlexStorage();

// Função que será executada ao acessar o conteúdo
storage.set("task456", {
  embeds: ["embed_task"],
  componentes: ["button_start", "button_stop"],
  files: ["task_file.txt"],
  functions: [
    () => console.log("Tarefa iniciada!"),
    () => console.log("Tarefa concluída!")
  ]
});

// Recuperando e executando a função para iniciar a tarefa
const taskData = storage.get("task456");
taskData.run(0); // Inicia a tarefa