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 🙏

© 2024 – Pkg Stats / Ryan Hefner

elsinore

v5.2.2

Published

a javascript Entity Component System

Downloads

19

Readme

Elsinore.js

A Javascript Entity Component System

Build Status

NPM NPM

Introduction

Basic Usage

Concepts

API

Component

A Component is a collection of data, identified by a uri. (RE-PHRASE)

Entity

An Entity in the strictest sense is merely an integer. Elsinore has an Entity class which provides a number of helpful functions for working with it.

An entities id is made up of two parts - the entity id, and an entityset id.

EntitySet

There are generally two kinds of EntitySet - synchronous and asynchronous. As you might guess, the latter has a promise based API.

EntitySets may be persistent or transient. The default EntitySet is memory based and asynchronous. EntitySets that are persistent (and asynchronous) may use a database, such as redis, indexeddb or sqlite.

You can add components and entities to an entityset.

An EntitySet will assign an id to an entity or component if it does not already have one.

EntitySets have a UUID.

EntitySets may emit events when entities and components are added, removed, or updated.

Memory EntitySet

If an entity or component has an id already, the EntitySet will not replace it.

Adding a component to the EntitySet creates a copy of it.

Retrieving a component from the EntitySet does not copy it, so that you can mutate the component directly.

Query

Queries are used to select a subset of entities from an EntitySet. The result is usually another EntitySet or a single Entity.

Registry

Schema