Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

clazzy

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

clazzy

A cross platform JavaScript library that provides a classical interface to prototypal inheritance.

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

Clazzy

Available from NPM Built using Travis

A cross platform JavaScript library that provides a classical interface to prototypal inheritance.

This project is now deprecated in favor of the ECMAScript 6 class syntax, this project will no longer be maintained.

Usage

Clazzy has a single method with this signature:

Function Clazzy.create(Object definition)

It returns a constructor function, with a prototype populated using the provided definition, that you can instantiate using the new keyword.

Creating a class

var Foo = Clazzy.create(
{
	initialize : function ()
	{
		this.foo = 'foo';
	},

	bar : function ()
	{
		return 'bar';
	},

	baz : function (baz)
	{
		return baz;
	},

	static :
	{
		qux : function ()
		{
			return 'qux';
		}
	}
});

Note: Instance properties can be defined in the definition, however their initial value should be set in the constructor.

Creating a class that extends another class

var Bar = Clazzy.create(
{
	extend : Foo,

	initialize : function ()
	{
		this.super();

		this.corge = 'corge';
	},

	baz : function ()
	{
		return 'bar';
	},

	baz : function (baz)
	{
		return 'super ' + this.super(baz);
	}
});

Note:

  • Static methods are not inherited.
  • If a method overrides one of its base class methods, you can invoke the overridden method through the use of the super method.

Creating a class that includes another class

Clazzy provides a method of code reuse called includes. Behaving similarly to Ruby's mixins and PHP's traits, they enable a developer to reuse sets of methods freely in several independent classes defined in different class hierarchies.

var Baz = Clazzy.create(
{
	include : [Foo],

	moo : function ()
	{
		return 'moo';
	}
});

Note:

  • Static methods are not included.
  • The super method, when invoked from an included method, does not reference the hierarchy of the class it's included in.
  • The precedence order is that an inherited member from a base class is overridden by an included member, which in turn are both overridden by a member from the current class.

Getting started

Clazzy is available through the Node Package Manager (NPM), so you can install it like so:

npm install clazzy

Development

This project doesn't have much of a build process. It does have tests though; which you can run with Grunt like so:

grunt test

This also runs code quality checks using JSHint. Please refer to the .jshintrc file to familiar yourself with the rules.

License

This project is released under the MIT License.

Keywords

FAQs

Package last updated on 16 May 2017

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc