New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

message-dictionary

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

message-dictionary

A Simple Message Dictionary Manager for NodeJS (Multi Language)

latest
Source
npmnpm
Version
2.0.4
Version published
Weekly downloads
3
-62.5%
Maintainers
1
Weekly downloads
 
Created
Source

message-dictionary

NPM

npm version Build Status Coverage Status Known Vulnerabilities dependencies Status License NPM download/month NPM download total
A Simple Message Dictionary Manager for NodeJS (Multi Language)

Background

When we create a Rest API, sometimes we need to standardize the default app messages (ex. the error messages) which is support namespace and internationalization.

Install using NPM

$ npm install message-dictionary

Usage

const message = require('message-dictionary');

var config = {
    dirPath: require('path').join('./locales'),  // Required
    namespace: 'app'
}

// Load Synchronous
message.init(config).load();

// Or Load Asynchronous
message.init(config).reload();

Note:

  • dirPath is required.
  • init(object) is to set the configuration.
  • load() is to load locales file data into memory (Synchronous).
  • reload(callback) is to load locales file data into memory (Asynchronous). Callback is optional.
  • This library is working like singleton. Once this called, this will shared globally, so you don't need to always load and re-init.

Get List

console.log(message.list());

// Output
// []

The result output above is [] because you have no any exists data messages.
So let's us create one data. See below.

Add Message

message.addMessage('EX001','en','Just example data!','',function(err,data) {
    if(data.status == true) {
        console.log(msg.list());

        // output
        // [ { code:'EX001', message: { en: 'Just example data!' } } ]
    }
});

// or with more information
message.addMessage('EX001','en','Just example data!',{user:'john'},function(err,data) {
   if(data.status == true) {
        console.log(message.list());

        // output
        // [ { code:'EX001', message: { en: 'Just example data!' }, user: 'john' } ]
    }
});

Update Message

message.updateMessage('EX001','en','Just update data!','',function(err,data) {
    if(data.status == true) {
        console.log(message.list());

        // output
        // [ { code:'EX001', message: { en: 'Just update data!' } } ]
    } 
});

// or with more information
message.updateMessage('EX001','en','Just update data!',{user:'doe'},function(err,data) {
    if(data.status == true) {
        console.log(message.list());

        // output
        // [ { code:'EX001', message: { en: 'Just update data!' }, user:'doe' } ]
    }
});

Get Message

console.log(message.get('EX001', 'en'));

// output
// { code:'EX001', message: 'Just update data!', user:'doe' }

Delete Message Locale

message.deleteMessageLocale('EX001', 'en',function(err,data) {
    if(data && data.status == true) {
        console.log(message.list());

        // output
        // if you have only one records and only one locale, then it will return 
        // [ { code:'EX001', message: {}, user: 'doe' } ]
    } 
});

Delete Message

message.deleteMessage('EX001',function(err,data) {
    if(data && data.status == true) {
        console.log(message.list());

        // output
        // if you have only one records, then it will return []
    } 
});

Documentation

For more features, updates and examples, Please see here.

Unit Test

If you want to play around with test

$ npm test

Keywords

message

FAQs

Package last updated on 25 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts