All Projects → davestewart → Vuex Pathify

davestewart / Vuex Pathify

Licence: mit
Vue / Vuex plugin providing a unified path syntax to Vuex stores

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vuex Pathify

Vuex Rest Api
A utility to simplify the use of REST APIs with Vuex
Stars: ✭ 365 (-71.51%)
Mutual labels:  utility, vuex
Xsm
State Management made eXtraordinarily simple and effective for Angular, React, and Vue
Stars: ✭ 138 (-89.23%)
Mutual labels:  vuex, state-management
Vue Class Store
Universal Vue stores you write once and use anywhere
Stars: ✭ 243 (-81.03%)
Mutual labels:  vuex, state-management
Jumpstate
Jumpstate is a simple and powerful state management utility for Redux.
Stars: ✭ 429 (-66.51%)
Mutual labels:  utility, state-management
Vuex
🗃️ Centralized State Management for Vue.js.
Stars: ✭ 27,115 (+2016.71%)
Mutual labels:  vuex, state-management
Duix
A State Manager focused on KISS and Pareto's Principle
Stars: ✭ 48 (-96.25%)
Mutual labels:  vuex, state-management
Vue Entity Adapter
Package to maintain entities in Vuex.
Stars: ✭ 20 (-98.44%)
Mutual labels:  vuex, state-management
Vue State Management Alternative
Vuex state management alternative for both Vue 1.x & 2.x
Stars: ✭ 67 (-94.77%)
Mutual labels:  vuex, state-management
Compare React State Management
React createContext vs Apollo vs MobX vs Redux in a simple todo app.
Stars: ✭ 81 (-93.68%)
Mutual labels:  state-management
Gdash
A functional utility library for GML/GameMaker: Studio - partials, map/reduce and more
Stars: ✭ 83 (-93.52%)
Mutual labels:  utility
Fluxus
Flux for SwiftUI, inspired by Vuex
Stars: ✭ 81 (-93.68%)
Mutual labels:  vuex
Vue Mail List
vue全家桶+localStorage实现一个简易的通讯录
Stars: ✭ 81 (-93.68%)
Mutual labels:  vuex
Behavior Tree
🌲 Manage React state with Behavior Trees
Stars: ✭ 85 (-93.36%)
Mutual labels:  state-management
Mini Throttle
A small JavaScript throttle & debounce implementation.
Stars: ✭ 81 (-93.68%)
Mutual labels:  utility
Freezer
A tree data structure that emits events on updates, even if the modification is triggered by one of the leaves, making it easier to think in a reactive way.
Stars: ✭ 1,268 (-1.01%)
Mutual labels:  state-management
Sift.js
Use Mongodb queries in JavaScript
Stars: ✭ 1,229 (-4.06%)
Mutual labels:  utility
Sahx Admin
SAHX-Admin 是套功能较为完整的后台管理系统架构, 以Thinkjs 作为中间层, Vuejs作为前端模块化开发, AdminLET作为前端UI, 实现了前后端分离, 前端组件化, 便于多人协同开发.
Stars: ✭ 80 (-93.75%)
Mutual labels:  vuex
Vuex Simple Structure
📈 A repository showcasing a simple Vuex store inside a Vue.js application based on Large-scale Vuex application structures @3yourmind
Stars: ✭ 87 (-93.21%)
Mutual labels:  vuex
Vue Card Diy
Canvas-based custom card vue app
Stars: ✭ 83 (-93.52%)
Mutual labels:  vuex
Is
Simple type checking.
Stars: ✭ 82 (-93.6%)
Mutual labels:  utility

splash

Overview

Pathify makes working with Vuex easy, with a declarative, state-based, path syntax:

pathify-diagram

Paths can reference any module, property or sub-property:

pathify-diagram

Pathify's aim is to simplify the overall Vuex development experience by abstracting away Vuex's complex setup and reliance on manually-written code. The path syntax does the heavy-lifting, with a small set of helper functions used to directly access or wire up components to the store.

Examples

Get or set data without syntax juggling or worrying about implementation:

store.get('loaded')
store.set('loaded', true)

Reach into sub-properties and arrays:

store.get('[email protected]')
store.set('[email protected]', 'Vuex Pathify')

Set up one or two-way data binding on any store value without bloat or fuss:

computed: {
  products: get('products'),
  category: sync('[email protected]')
}

Wire multiple properties (or sub-properties) using array, object and wildcard formats:

computed: {
  ...sync('[email protected]', [
    'order', 
    'key'
  ]),

  ...sync('[email protected]', {
    sortOrder: 'order',
    sortKey: 'key'
  }),

  ...sync('[email protected]*')
}

Use variable expansion to dynamically reference store properties:

computed: {
  product: get('[email protected]:index')
}

Set up mutations – including sub-property mutations – in a single line:

make.mutations(state)

Results

In practical terms, Pathify results in:

  • less cognitive overhead
  • zero store boilerplate
  • one-liner wiring
  • cleaner code
  • lighter files

The code comparison demo demonstrates reductions in lines of code of between 2 and 14 times (or more) depending on store size and setup.

To see the principles behind such radical code reduction, check out the Pathify 101.

Next steps

Get started:

Demos:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].