Comparing version 1.3.0 to 1.3.1
@@ -45,3 +45,3 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Cla6 = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
var _ = require('./utils'); | ||
var ExtensionsFactory = require('./extensionsFactory'); | ||
var ExtensionFactory = require('./extensionFactory'); | ||
var PluginsManager = require('./pluginsManager'); | ||
@@ -64,4 +64,4 @@ | ||
var Child = _.nameFn(descriptors.constructor.value, name); | ||
var extensions = ExtensionsFactory.create(Parent); | ||
_.extend(Child, extensions); | ||
var extension = ExtensionFactory.create(Parent); | ||
_.extend(Child, extension); | ||
@@ -77,3 +77,3 @@ descriptors.constructor.value = Child; | ||
}; | ||
},{"./extensionsFactory":4,"./pluginsManager":5,"./utils":6}],3:[function(require,module,exports){ | ||
},{"./extensionFactory":4,"./pluginsManager":5,"./utils":6}],3:[function(require,module,exports){ | ||
var ClassFactory = require('./classFactory'); | ||
@@ -116,3 +116,3 @@ | ||
var createExtensions = function(Parent) { | ||
var createExtension = function(Parent) { | ||
var mixin = function(props) { | ||
@@ -124,16 +124,14 @@ if (arguments.length > 1) { | ||
return this; | ||
} | ||
} else { | ||
if (props == null) | ||
throwErr('properties must be provided'); | ||
if (props == null) | ||
throwErr('properties must be provided'); | ||
if (typeof props != 'object') | ||
throwErr('properties must be defined using an object'); | ||
if (typeof props != 'object') | ||
throwErr('properties must be defined using an object'); | ||
descriptors = _.toDescriptors(props); | ||
PluginsManager.manipulate(descriptors, Parent); | ||
Object.defineProperties(this.prototype, descriptors); | ||
} | ||
descriptors = _.toDescriptors(props); | ||
PluginsManager.manipulate(descriptors, Parent); | ||
Object.defineProperties(this.prototype, descriptors); | ||
return this; | ||
@@ -152,3 +150,3 @@ }; | ||
module.exports = { | ||
create: createExtensions | ||
create: createExtension | ||
}; | ||
@@ -155,0 +153,0 @@ },{"./pluginsManager":5,"./utils":6}],5:[function(require,module,exports){ |
@@ -1,1 +0,1 @@ | ||
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Cla6=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var Extender=require("./extender");var ClassFactory=require("./classFactory");var PluginsManager=require("./pluginsManager");function Cla6(name,props){if(name==null)throwErr("a name must be provided");if(typeof name!="string")throwErr("name must be a string");if(props!=null){if(typeof props!="object")throwErr("properties must be defined using an object");if(props.hasOwnProperty("constructor")&&typeof props.constructor!="function")throwErr("constructor must be a function")}if(props==null)return new Extender(name);else return ClassFactory.create(name,props)}Cla6.use=function(plugin){if(plugin==null)throwErr("a plugin must be provided");if(typeof plugin!="function")throwErr("plugin must be a function");PluginsManager.add(plugin)};var throwErr=function(msg){throw Error("Cla6 error - "+msg)};module.exports=Cla6},{"./classFactory":2,"./extender":3,"./pluginsManager":5}],2:[function(require,module,exports){var _=require("./utils");var ExtensionsFactory=require("./extensionsFactory");var PluginsManager=require("./pluginsManager");var createClass=function(name,props,Parent){props=_.clone(props);if(typeof Parent!="function")Parent=Object;if(!props.hasOwnProperty("constructor"))props.constructor=function(){Parent.apply(this,arguments)};var descriptors=_.toDescriptors(props);PluginsManager.manipulate(descriptors,Parent);var Child=_.nameFn(descriptors.constructor.value,name);var extensions=ExtensionsFactory.create(Parent);_.extend(Child,extensions);descriptors.constructor.value=Child;Child.prototype=Object.create(Parent.prototype,descriptors);return Child};module.exports={create:createClass}},{"./extensionsFactory":4,"./pluginsManager":5,"./utils":6}],3:[function(require,module,exports){var ClassFactory=require("./classFactory");var Extender=ClassFactory.create("Extender",{constructor:function(name){this.name=name},extend:function(Parent,props){if(Parent==null)throwErr("a parent must be provided");if(typeof Parent!="function")throwErr("parent must be a function");if(props==null)throwErr("properties must be provided");if(typeof props!="object")throwErr("properties must be defined using an object");if(props.hasOwnProperty("constructor")&&typeof props.constructor!="function")throwErr("constructor must be a function");return ClassFactory.create(this.name,props,Parent)}});var throwErr=function(msg){throw Error("Cla6 extension error - "+msg)};module.exports=Extender},{"./classFactory":2}],4:[function(require,module,exports){var _=require("./utils");var PluginsManager=require("./pluginsManager");var createExtensions=function(Parent){var mixin=function(props){if(arguments.length>1){Array.prototype.forEach.call(arguments,function(props){this.mixin(props)},this);return this}if(props==null)throwErr("properties must be provided");if(typeof props!="object")throwErr("properties must be defined using an object");descriptors=_.toDescriptors(props);PluginsManager.manipulate(descriptors,Parent);Object.defineProperties(this.prototype,descriptors);return this};return{mixin:mixin}};var throwErr=function(msg){throw Error("Cla6 mixin error - "+msg)};module.exports={create:createExtensions}},{"./pluginsManager":5,"./utils":6}],5:[function(require,module,exports){var plugins=[];var add=function(plugin){plugins.push(plugin)};var remove=function(plugin){var index=plugins.indexOf(plugin);plugins.splice(index,1)};var manipulate=function(descriptors,Parent){plugins.forEach(function(plugin){plugin(descriptors,Parent)})};module.exports={add:add,remove:remove,manipulate:manipulate}},{}],6:[function(require,module,exports){var clone=function(obj){return Object.keys(obj).reduce(function(result,k){var descriptor=Object.getOwnPropertyDescriptor(obj,k);return Object.defineProperty(result,k,descriptor)},{})};var extend=function(obj,extension){Object.keys(extension).forEach(function(k){obj[k]=extension[k]})};var nameFn=function(fn,name){return eval("(function "+name+"() {return fn.apply(this, arguments);})")};var toDescriptors=function(props){return Object.keys(props).reduce(function(result,k){var descriptor=Object.getOwnPropertyDescriptor(props,k);delete descriptor.enumerable;if(descriptor.value==null)delete descriptor.writable;result[k]=descriptor;return result},{})};module.exports={clone:clone,extend:extend,nameFn:nameFn,toDescriptors:toDescriptors}},{}]},{},[1])(1)}); | ||
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Cla6=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var Extender=require("./extender");var ClassFactory=require("./classFactory");var PluginsManager=require("./pluginsManager");function Cla6(name,props){if(name==null)throwErr("a name must be provided");if(typeof name!="string")throwErr("name must be a string");if(props!=null){if(typeof props!="object")throwErr("properties must be defined using an object");if(props.hasOwnProperty("constructor")&&typeof props.constructor!="function")throwErr("constructor must be a function")}if(props==null)return new Extender(name);else return ClassFactory.create(name,props)}Cla6.use=function(plugin){if(plugin==null)throwErr("a plugin must be provided");if(typeof plugin!="function")throwErr("plugin must be a function");PluginsManager.add(plugin)};var throwErr=function(msg){throw Error("Cla6 error - "+msg)};module.exports=Cla6},{"./classFactory":2,"./extender":3,"./pluginsManager":5}],2:[function(require,module,exports){var _=require("./utils");var ExtensionFactory=require("./extensionFactory");var PluginsManager=require("./pluginsManager");var createClass=function(name,props,Parent){props=_.clone(props);if(typeof Parent!="function")Parent=Object;if(!props.hasOwnProperty("constructor"))props.constructor=function(){Parent.apply(this,arguments)};var descriptors=_.toDescriptors(props);PluginsManager.manipulate(descriptors,Parent);var Child=_.nameFn(descriptors.constructor.value,name);var extension=ExtensionFactory.create(Parent);_.extend(Child,extension);descriptors.constructor.value=Child;Child.prototype=Object.create(Parent.prototype,descriptors);return Child};module.exports={create:createClass}},{"./extensionFactory":4,"./pluginsManager":5,"./utils":6}],3:[function(require,module,exports){var ClassFactory=require("./classFactory");var Extender=ClassFactory.create("Extender",{constructor:function(name){this.name=name},extend:function(Parent,props){if(Parent==null)throwErr("a parent must be provided");if(typeof Parent!="function")throwErr("parent must be a function");if(props==null)throwErr("properties must be provided");if(typeof props!="object")throwErr("properties must be defined using an object");if(props.hasOwnProperty("constructor")&&typeof props.constructor!="function")throwErr("constructor must be a function");return ClassFactory.create(this.name,props,Parent)}});var throwErr=function(msg){throw Error("Cla6 extension error - "+msg)};module.exports=Extender},{"./classFactory":2}],4:[function(require,module,exports){var _=require("./utils");var PluginsManager=require("./pluginsManager");var createExtension=function(Parent){var mixin=function(props){if(arguments.length>1){Array.prototype.forEach.call(arguments,function(props){this.mixin(props)},this)}else{if(props==null)throwErr("properties must be provided");if(typeof props!="object")throwErr("properties must be defined using an object");descriptors=_.toDescriptors(props);PluginsManager.manipulate(descriptors,Parent);Object.defineProperties(this.prototype,descriptors)}return this};return{mixin:mixin}};var throwErr=function(msg){throw Error("Cla6 mixin error - "+msg)};module.exports={create:createExtension}},{"./pluginsManager":5,"./utils":6}],5:[function(require,module,exports){var plugins=[];var add=function(plugin){plugins.push(plugin)};var remove=function(plugin){var index=plugins.indexOf(plugin);plugins.splice(index,1)};var manipulate=function(descriptors,Parent){plugins.forEach(function(plugin){plugin(descriptors,Parent)})};module.exports={add:add,remove:remove,manipulate:manipulate}},{}],6:[function(require,module,exports){var clone=function(obj){return Object.keys(obj).reduce(function(result,k){var descriptor=Object.getOwnPropertyDescriptor(obj,k);return Object.defineProperty(result,k,descriptor)},{})};var extend=function(obj,extension){Object.keys(extension).forEach(function(k){obj[k]=extension[k]})};var nameFn=function(fn,name){return eval("(function "+name+"() {return fn.apply(this, arguments);})")};var toDescriptors=function(props){return Object.keys(props).reduce(function(result,k){var descriptor=Object.getOwnPropertyDescriptor(props,k);delete descriptor.enumerable;if(descriptor.value==null)delete descriptor.writable;result[k]=descriptor;return result},{})};module.exports={clone:clone,extend:extend,nameFn:nameFn,toDescriptors:toDescriptors}},{}]},{},[1])(1)}); |
var _ = require('./utils'); | ||
var ExtensionsFactory = require('./extensionsFactory'); | ||
var ExtensionFactory = require('./extensionFactory'); | ||
var PluginsManager = require('./pluginsManager'); | ||
@@ -20,4 +20,4 @@ | ||
var Child = _.nameFn(descriptors.constructor.value, name); | ||
var extensions = ExtensionsFactory.create(Parent); | ||
_.extend(Child, extensions); | ||
var extension = ExtensionFactory.create(Parent); | ||
_.extend(Child, extension); | ||
@@ -24,0 +24,0 @@ descriptors.constructor.value = Child; |
{ | ||
"name": "cla6", | ||
"description": "ES6 style class system", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"main": "lib/cla6.js", | ||
@@ -6,0 +6,0 @@ "repository": { |
@@ -143,2 +143,3 @@ # Cla6.js | ||
- [cla6-base](https://github.com/DAB0mB/cla6-base) | ||
- [cla6-hidden](https://github.com/DAB0mB/cla6-hidden) | ||
@@ -145,0 +146,0 @@ |
29774
152