New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

vaxee

Package Overview
Dependencies
Maintainers
0
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vaxee

Vaxee is a simple and easy-to-use library for Vue 3 to manage the state of your application.

latest
Source
npmnpm
Version
0.12.1
Version published
Weekly downloads
7
40%
Maintainers
0
Weekly downloads
 
Created
Source

Nixle logo

The State Manager for Vue 3
Store your data across whole application

Overview

Vaxee is a simple and easy-to-use library for Vue 3 to manage the state of your application.

  • ✨ Simple and intuitive API.
  • 💪 Incredible TypeScript support.
  • 🤯 Includes a request function.
  • 🫡 Improved DX with reactivity.

Documentation

You can find the documentation and installation steps on the website.

Demo

Let's create a huge demo store with a user and auth logic.

import { createStore } from "vaxee";
import { fetchUser, signIn, parseJwt } from "~/user";

export const useUserStore = createStore(
  "user",
  ({ state, getter, request }) => {
    const tokens = state(
      {
        access: "",
        refresh: "",
      },
      {
        persist: "user.tokens",
      }
    );
    const isAuthorized = getter(
      () => tokens.value.access && tokens.value.refresh
    );
    const userId = getter(() => parseJwt(tokens.value.access).sub);

    const signIn = async (email: string, password: string) => {
      tokens.value = await signIn(email, password);
    };

    const user = request(() => fetchUser(userId.value));

    return {
      user,
      isAuthorized,
    };
  }
);

Now, let's use this store in a component.

<script setup>
import { watch } from "vue";
import { useUserStore } from "../stores/user";

const { isAuthorized } = useUserStore();
const { data: user, refresh: refreshUser } = await useUserStore("user");

watch(isAuthorized, (isAuthorized) => {
  if (isAuthorized) {
    refreshUser();
  }
});
</script>

<template>
  <div>
    <p>Authorized: {{ isAuthorized }}</p>
    <p>User: {{ user.firstName }} {{ user.lastName }}</p>
  </div>
</template>

Author

© letstri, released under the MIT license.

Keywords

vaxee

FAQs

Package last updated on 21 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts