npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lodado/namespace-core

v1.0.3

Published

core state manager logic for react-namespace. It is a simple and powerful state manager that uses the Proxy API to manage the state of your application.

Readme

@lodado/namespace-core Summary

@lodado/namespace-core is a lightweight and flexible library designed for state management in React applications. It provides the NamespaceStore class, which serves as a foundational tool for creating custom state stores using JavaScript's Proxy API. By extending NamespaceStore, developers can define application state and actions in a structured and scalable manner.

more information >>

https://github.com/lodado/react-namespace/tree/publish

Key Features

  • Lightweight: Adds minimal overhead to your application.
  • Flexible State Management: Supports both global and local stores for versatile state handling.
  • Proxy API Utilization: Leverages the Proxy API for efficient and reactive state management.
  • TypeScript Support: Fully typed to enhance the developer experience with better tooling and error checking.

Usage

Creating a Namespace Store

To utilize @lodado/namespace-core, you start by creating a store class that extends NamespaceStore. This custom store will hold your application's state and provide methods to modify it.

import { NamespaceStore } from '@lodado/namespace-core';

interface AppState {
  user: {
    name: string;
    email: string;
  };
  theme: 'light' | 'dark';
}

class AppStore extends NamespaceStore<AppState> {
  constructor(initialState: AppState) {
    super(initialState);
  }

  // Actions to modify the state
  setUser(user: AppState['user']) {
    this.state.user = user;
  }

  toggleTheme() {
    this.state.theme = this.state.theme === 'light' ? 'dark' : 'light';
  }
}

// Instantiate the global store
const globalStore = new AppStore({
  user: {
    name: 'John Doe',
    email: '[email protected]',
  },
  theme: 'light',
});

Defining Actions

Within your extended NamespaceStore, you can define methods that act upon the state. These actions encapsulate the logic for updating state properties.

class CounterStore extends NamespaceStore<{ count: number }> {
  constructor() {
    super({ count: 0 });
  }

  increment() {
    this.state.count += 1;
  }

  decrement() {
    this.state.count -= 1;
  }
}

When to Use

@lodado/namespace-core is particularly beneficial in the following scenarios:

  • Design System Components: Ideal for developing reusable components within a design system.
  • Complex Components: Manages state efficiently in large components like features, widgets, or pages.
  • Recursive Structures: Handles nested components or tabs where mutual manipulation is necessary.
  • External State Manipulation: Allows external components to interact with and manipulate internal state.

Installation

Install the package using npm or yarn:

npm install @lodado/namespace-core
# or
yarn add @lodado/namespace-core

License

MIT License


By focusing on the core functionalities provided by @lodado/namespace-core, developers can create efficient and maintainable state management solutions tailored to their application's needs.