Socket
Socket
Sign inDemoInstall

class-wrapper

Package Overview
Dependencies
0
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    class-wrapper

Set of wrappers to define a class like in C++ and few utility functions


Version published
Weekly downloads
58
increased by163.64%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

{class}

The main goal of this library is to automate some construction routines, that a developer is usually writing by himself, and to provide more flexibility to create new classes. This library supplies:

  • ClassBuilder - is the main wrapper that realizes the inheritance, data encapsulation, stores the default values and in result it returns a class. This builder is useful to define custom pre-construction routines by setting the class constructor template.
  • Class - is a ClassBuilder with already predefined construction routines. The resulting behavior of how the objects are constructing is similar to the behaviour in C++ - all parent constructors are executing first, starting from the root parent constructor, without any possibility to alternate the input arguments, only then the constructor function provided for the class will be executed. With this there is no need to always explicitly call the parent constructor in each constructor function and pass there all the arguments. The constructor function can contain only the effective code that is needed for a new class.
  • Interface - is a simple builder of interfaces, that will be passed into Class under property Implements. It allows to extend some parent interface.

Defined class properties are treated as default values for a new instance and they are isolated between instances. For example, if some class has a simple object in properties (Object or Array), then each instance will have its own copy of that object. But this works good only for standard built-in objects, for other objects, created by more complex classes, it will try to copy the whole structure into the object. For such cases it is recommended to set the default value to null and create the needed instance in the constructor function.

Requirements

  • ES6 classes
  • Spread operator (...)
  • Function.prototype.bind
  • Array.prototype.forEach
  • Array.prototype.some

If this library is planned to be used on some environments which are not passing the requirements, then please use v1.x (even transpilers will not help).

Installation

$ npm install class-wrapper --save

Then just import the required component, for example Class.

import {Class} from 'class-wrapper';

There is also already available AMD module in dest forlder:

  • class-wrapper/dest/class-wrapper.amd.js
  • class-wrapper/dest/class-wrapper.amd.min.js

Usage examples

Example can be found in example.js.

To see it in live, create an empty folder and copy example.js file there. Install class-wrapper package:

npm i class-wrapper

and run the example

node example.js

Keywords

FAQs

Last updated on 20 Jul 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc