constructor-decorator

0.0.11 • Public • Published

Constructor Decorator

Travis (.com) npm NPM npm

Typized and autoassigned arguments for JS class constructor.

Overview

Are you not tired of constantly writing like:

class TypedEntity {
  constructor (
    foo,
    bar,
    baz,
    bat,
    fie,
    bal,
    fuu,
    faa
  ) {
    this.baz = baz
    this.bal = bal
    this.foo = foo
    this.fuu = fuu
    this.bar = bar
    this.bat = bat
    this.fie = fie
    this.faa = faa
  }
}
 
module.exports = TypedEntity

Now you can avoid of it with the class extend:

const BaseClass = require('constructor-decorator')
 
const Foo = require('./Foo')
const Bar = require('./Bar')
const Baz = require('./Baz')
 
 
class TypedEntity extends BaseClass {
  get args () {
    return {
      foo: [Foo, Baz],
      bar: [Bar, String],
      baz: String,
      bat: Boolean,
      fie: String,
      bal: [String, Number],
      fuu: Date,
      faa: Number,
    }
  }
 
  constructor () {
    super(...arguments)
  }
}
 
module.exports = TypedEntity

The types compare is enabled with an array OR-operator syntax support.

Donate

  • BTC 3F275vPSCvYW19MHZqSjw79fEwwU4MbTgV
  • LTC MGMCQB3QAcrSBjU3eGJviqB2J2f5BNVRGr
  • DOGE D5m69FRDGEn3G3xuakvqTxUpGVt6NegKJp

Package Sidebar

Install

npm i constructor-decorator

Weekly Downloads

1

Version

0.0.11

License

MIT

Unpacked Size

4.64 kB

Total Files

6

Last publish

Collaborators

  • piterden