1.0.2 • Published 8 years ago

messages-factory v1.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

MessagesFactory

Define your log messages in a dedicated file, then use them by their code

npm node Travis Coveralls

Overview

MessagesFactory allows defining a set of message in a centralized place (a JSON file, for instance) to, then, be used anywhere in your app. It's especially useful when a same message is used multiple times, updating its content will be done once.

Usage

Install from npm

npm install messages-factory

Require in your code

const MessagesFactory = require('messages-factory');

Manage your messages in an Array with Objects providing a code and message properties

const messageDefinitions = [{
    code: 'M001',
    message: '1st message'
}, {
    code: 'M002',
    message: '2nd message'
}];

Pass the message definitions to the factory

const messages = new MessagesFactory(messageDefinitions);

Get the messages by its code

console.log('This is the messages ' + messages.M001); // 'This is the message: 1st message'

Custom values can be integrated by getting the message with its function passing values as argument, the message template uses the arguments by their index and the syntax {index}

const messages = new MessagesFactory([{
        code: 'M001',
        message: 'This is an {0} {1}!'
    }]);

messages.M001('Hello', 'World'); // 'This is an Hello World!'

Example

// messages.json
[{
    "code": "APP_001",
    "message": "Server ready"
}, {
    "code": "APP_002",
    "message": "Server listening on port {0}"
}]
// app.js
const MessagesFactory = require('messages-factory');
const messages = new MessagesFactory(require('./messages.json'));

console.log(messages.APP_001());        // 'Server ready'
console.log(messages.APP_002(8080));    // 'Server listening on port 8080'