Nobody Preheats Microwaves

    message-dictionary

    2.0.4 • Public • Published

    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

    Install

    npm i message-dictionary

    DownloadsWeekly Downloads

    0

    Version

    2.0.4

    License

    MIT

    Unpacked Size

    35 kB

    Total Files

    9

    Last publish

    Collaborators

    • aalfiann