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

nameless-js

v0.5.3

Published

Nameless is a utility that allows actions to be dispatched from the client that will trigger server side functionality. Useful for updating data on the server using things like Redux.

Downloads

36

Readme

Build Status

Nameless JS - Isomorphic Client/Server Communication

Nameless is a utility that tries to make server/client communication easier. Built for isomorphic apps, Nameless dispatches actions from the client and the server the same way. These actions are tied to methods set up server-side. So when actions are dispatched we can interact with databases (or do other async stuff) and send data back to the client.

Nameless was initially built to be used with a Redux app, but you can use it any way you see fit!

npm i --save nameless-js
import namelessClient from 'nameless-js/client';
import namelessServer, { createService } from 'nameless-js/server';

A client side call to the server might look like. If this function is called server side you will get the same results.

nameless.exec('jobs', actions.FILTER_JOBS, { /* filters */ }).then(data => /* do something with data. update store ? */ )));

Getting Started

The first thing you will want to do is get Nameless working with your server

Api

Server

import nameless, { createService } from 'nameless-js/server';

nameless(config = Object, app = Express Object)

Arguments

config - Object

  • Object Properties

    • apiPrefix - String - The path you want Nameless to use for your API.

    • services - Array - Array of service objects

app - Express object - Example

Returns

Object - An object is returned with two properties commander and apiPrefix.

  • commander - Object
    • exec(serviceName = String, actionName = String)- Promise
  • apiPrefix - String - String you specified in config object.

createService(name = String, actions = Object)

name - String - Name of your service

actions - Object - An object containing action methods.

  • [ACTION_METHOD_NAME](payload, resolve, reject, req, res, next) - Function that will be executed when action correlating to this functions name is executed.

Error Handling On The Server

To return an error from your server-side functions simply reject the promise and pass in an object with the properties code and message.

  [ACTION_METHOD_NAME](payload, resolve, reject, req, res, next) {
    // do something
    // ...
    // ...
    if(error) {
      reject({
        code: 400,
        message: 'Bad request',
      });
    }
  }

Client

import nameless from 'nameless-js';

nameless(apiPrefix = String)

Arguments

apiPrefix - String - Path specified in server configuration object.

Returns

Object - An object containing the exec method

  • exec(serviceName = String, actionName = String, payload)