Skip to content

caiogondim/invoke-without-new.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

invoke-without-new

Add capability to invoke constructors without new.

Install

npm install --save invoke-without-new

Usage

As a function

// foo.js
const invokeWithoutNew = require('invoke-without-new')

class Foo {
  constructor() {
    this.bar = 1
  }
}

module.exports = invokeWithoutNew(Foo)

// index.js
const Foo = require('foo')
const foo1 = Foo() // works
const foo2 = new Foo() // works

As a decorator

// foo.js
const invokeWithoutNew = require('invoke-without-new')

@invokeWithoutNew
class Foo {
  constructor() {
    this.bar = 1
  }
}

module.exports = Foo

// index.js
const Foo = require('foo')
const foo1 = Foo() // works
const foo2 = new Foo() // works

caiogondim.com  ·  GitHub @caiogondim  ·  Twitter @caio_gondim