2.0.4 • Published 4 years ago

@lcf.vs/abstract v2.0.4

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

Abstract

A simple base abstract class to extend, with immutables & type forcing

Install

npm i @lcf.vs/abstract

Usage

import Abstract from '@lcf.vs/abstract'

class AbstractApplication extends Abstract {
  constructor (
    constructor = AbstractApplication,
    {router, renderer, server, ...rest},
    ...requirements
  ) {
    super(constructor, {renderer, router, server, ...rest}, ...[
      ...requirements, {
      renderer: Object,
      router: Object,
      server: Object
    }])
  }
}

class Application extends AbstractApplication {
  constructor (router, renderer, server, rest = {}) {
    super(AbstractApplication, {router, renderer, server, ...rest})
  }
}

API

/**
* @param {Abstract=Abstract} constructor
* @param {Object=} immutables
* @param {...Object} requirements
*/
Abstract(constructor = Abstract, immutables = {}, ...requirements)
  • constructor: The current abstract constructor
  • immutables: The immutable properties
  • requirements: The properties's constructors, to validate their types

License

MIT

2.0.4

4 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago