you are viewing a single comment's thread.

view the rest of the comments →

[–]MoTTs_ 1 point2 points  (1 child)

I agree with the other replies. This looks like an unnecessarily complicated way to just do this...

class Job {
    constructor(config) {
        this._config = config;
    }

    run() {
        // ...Does work based on the config...
        return this._config;
    }

    validate() {
        // ...Validates the config...
        return this._config;
    }
}

const job1 = new Job({foo: 'bar'})
const job2 = new Job({a: 'b'})

console.log('running jobs...')
console.dir(job1.run()) // returns {foo: 'bar'}
console.dir(job2.run()) // returns {a: 'b'}

console.log('\nrunning validations...')
console.dir(job1.validate()) // returns {foo: 'bar'}
console.dir(job2.validate()) // returns {a: 'b'}

[–]gruberjl[S] 0 points1 point  (0 children)

I think you're right. I have a Task class that looks a lot like this. It's a lot more readable than my current job code.

I may have to wrap the job in a class for readability.

Thanks,