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

inra-server-container

v1.4.0

Published

Container is a component that implements Service Location of services and it's itself a container for them.

Downloads

13

Readme

inra-server-container

npm Dependency Status

The container is a component that implements Service Location of services and it's itself a container for them. Since the server is highly decoupled, it is essential to integrate different components. The developer can also use this component to inject dependencies and manage global instances of the different classes used in the application.

Basically, this component implements the "Inversion of Control" pattern: the objects do not receive their dependencies using setters or constructors, but requesting something similar to "service dependency injector". This reduces the overall complexity since there is only one way to get the required dependencies within a component. Additionally, this pattern increases testability in the code, thus making it less prone to errors.

Note: full documentation with more examples is published on our Wiki. Please, refer to our Wiki for installation details and API references.

Installation

$ npm install --save inra-server-container

API

const container = new Container();

.set(key, value)

Adds or updates an element with a specified key and value to a Container instance. Returns the Container itself.

Note: Any value (both objects and primitive values) may be used as either a key or a value in the default Container. This is not necessarly the case for other containers that implement ContainerInterface.

Example:

container.set("foo", …);
container.set("bar", …);

.get(key [, defaultValue])

Returns the value associated to specified key, or defaultValue if there is none.

Example:

container.get("foo");    //> …
container.get("zoo", 1); //> 1

.has(key)

Returns a boolean asserting whether an element with the specified key exists in a Container instance or not.

Example:

container.has("foo"); //> true
container.has("zoo"); //> false

.delete(key)

Removes the value associated to specified key and returns true if it was deleted successfully, or false otherwise.

Example:

container.delete("foo"); //> true
container.delete("zoo"); //> false

.clear()

Removes all key/value pairs from a Container instance.

Example:

container.clear();

.size

Returns the number of key/value pairs in a Container instance.

Example:

container.set("foo", …);
container.set("bar", …);
container.set("zoo", …);

container.size; //> 3

Contributing

Bug reporting

Github Open Issues Github Closed Issues Github Pull Requests

We want contributing to Inra Server to be fun, enjoyable, and educational for anyone, and everyone. Changes and improvements are more than welcome! Feel free to fork and open a pull request. If you have found any issues, please report them here - they are being tracked on GitHub Issues.

Development

We have prepared multiple commands to help you develop inra-server-container on your own. Don't forget to install all Node.js dependencies from npm. You will need a local copy of Node.js installed on your machine.

$ npm install

Usage

$ npm run <command>

List of commands

| Command | Description | | ------- | -------------------------------------------- | | build | Builds inra-server-container | | watch | Re-builds inra-server-container on changes | | clean | Deletes builds ands cache | | lint | Fixes Lint errors | | flow | Checks Flow errors | | test | Checks Flow errors and runs tests |