Skip to content

Lcfvs/abstract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

npm i @lcf.vs/abstract

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})
  }
}
/**
* @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

MIT

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published