Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 3.13 KB

File metadata and controls

59 lines (43 loc) · 3.13 KB
category Guide
alias documentation
title Tagix Documentation
description Tagix is a TypeScript state management library built on functional programming principles

Tagix Documentation

Tagix is a TypeScript state management library for building reliable applications. It combines tagged unions for state representation with actions for state transitions, providing end-to-end type safety.

Why Tagix

Tagix solves common state management problems by giving you clear structure for your state, predictable state transitions, and full TypeScript support. The library focuses on making state changes explicit and traceable through your application.

You should consider Tagix when your application has complex state logic, multiple states that transition between each other, or when you want strong type safety throughout your state management layer.

Getting Started

Topic Description
Installation Set up Tagix in your project
Quick Start Build your first Tagix application
Core Concepts Fundamental ideas behind Tagix
Architecture How Tagix works internally

State Management

Topic Description
State Definitions Define state using tagged unions
Actions Synchronous action creators
Async Actions Asynchronous operations with side effects
State Machines Build state machines
Action Groups Namespace actions to avoid collisions

Features

Topic Description
Selectors Extract and transform state data
Middleware Extend dispatch behavior
Context Framework-agnostic integration
Error Handling Handle errors gracefully
Hooks Type-safe state access utilities
Services Manage application dependencies

Advanced Topics

Topic Description
Type Safety Get the most from TypeScript
Testing Test your state logic

Tagix requires TypeScript 5.0 or later for full type inference.

All documentation files are written in Markdown and can be viewed directly on GitHub. The docs folder contains all source files, and you can navigate using the links above.