johnny-dreamguns
10/7/2019 - 10:46 AM

Module

// MODULE

// module.js
var MyModule = () => {
  const privateVar = 'I am private';

  const get = (id) => {
    console.log('Getting task');
    return {
      name: 'New task from db'
    };
  }

  const save = (task) => {
    console.log(`Saving ${task.name} to the db`);
  }

  return {
    get,
    save
  };
}

module.exports = MyModule();

// main.js
const Task = require('./task');
const MyModule = require('./module');

let task1 = new Task(MyModule.get(1));
let task2 = new Task('Task 2');
let task3 = new Task('Task 3');
let task4 = new Task('Task 4');

MyModule.save({
  name: 'Test'
});

task1.complete();
task2.save();
task3.save();
task4.save();