{"_id":"classy","_rev":"110-3710a705ed86e1bd1ec22d2d5a31d2fa","name":"classy","time":{"modified":"2022-06-13T06:06:20.857Z","created":"2013-02-06T20:54:32.437Z","0.0.01":"2013-02-06T20:54:34.164Z","0.0.02":"2013-02-06T21:07:14.366Z","0.0.03":"2013-02-07T00:20:27.958Z","0.0.04":"2013-02-12T17:34:26.313Z","0.1.0":"2013-03-22T19:32:33.203Z","0.1.1":"2013-03-22T21:14:00.131Z","0.1.2":"2013-03-22T21:19:05.175Z","0.1.3":"2013-03-25T22:27:27.975Z","0.2.0":"2013-04-03T16:33:49.120Z","0.2.1":"2013-04-17T21:54:44.645Z","0.3.130425160409570":"2013-04-25T16:53:35.855Z","0.3.130429190417819":"2013-04-29T19:14:34.676Z","0.3.130429190438968":"2013-04-29T19:19:02.243Z","0.3.130429200458297":"2013-04-29T20:19:43.516Z","0.3.130506190513602":"2013-05-06T19:19:35.964Z","1.0.0":"2014-04-30T04:15:13.797Z","1.1.0":"2014-05-05T13:10:58.909Z","1.1.1":"2014-07-01T13:53:14.529Z","1.1.2":"2014-07-01T13:55:31.946Z","1.1.3":"2014-07-01T14:07:58.362Z","1.1.4":"2014-07-01T14:09:48.461Z","1.1.5":"2014-07-01T14:12:13.803Z","1.2.0":"2014-07-01T14:14:53.182Z","1.2.1":"2014-07-01T14:17:22.326Z","1.2.2":"2014-07-02T06:03:13.011Z","1.2.3":"2014-07-02T06:28:39.310Z","1.2.4":"2014-07-02T06:32:38.052Z","1.2.5":"2014-07-02T06:34:44.952Z","1.2.6":"2014-07-02T06:40:04.260Z","1.2.7":"2014-07-04T08:27:30.886Z","1.2.8":"2014-07-10T07:27:02.431Z","1.3.0":"2014-07-16T11:19:57.576Z","1.4.0":"2014-07-23T07:47:23.053Z","1.4.1":"2014-07-29T13:10:06.797Z","1.4.2":"2014-08-01T12:59:50.561Z","1.4.4":"2014-10-02T12:50:48.349Z","1.4.6":"2014-10-02T13:23:53.324Z","1.4.8":"2014-10-02T13:31:34.015Z","1.4.10":"2014-10-02T13:58:51.663Z"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}],"dist-tags":{"latest":"1.4.10"},"description":"Classy - Classes for JavaScript","readme":"Classy - Smart JavaScript classes\n=================================\n\nClassy offers the ability to easily define classes, call super or overriden methods, define static properties, and mixin objects in a very flexible way.\n\nMeant to be used in the browser and in node. Well tested, with 50+ tests.\n\n## Installation\n\n```sh\n$ npm install classy\n```\nFor the browser please either use `webpack` or `browserify` to integrate classy into your app.\n<!--\n```\ndist/classy.js\n```\n -->\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md)\n\n## Example\n```js\nvar Vehicle = classy.define({\n    alias: 'vehicle',\n\n    init: function(year){\n        this.year = year\n    }\n})\n\nvar Car = classy.define({\n    extend: 'vehicle' //or extend: Vehicle\n    alias : 'car',\n    forceInstance: true, // <- in order to force instantiation, even without 'new'\n\n    init: function(year, make){\n        this.callSuper() // <- notice how easy it can be!\n        this.make = make\n    },\n\n    getName: function(){\n        return this.make\n    }\n})\n\nvar ford = new Car(1980, 'Ford')\nconsole.log(ford.year)\nconsole.log(ford.make)\nvar bmw = Car(1990, 'Bmw') // <- since forceInstance is true, the constructor will be called with new under the hood\n```\n\nNotice the ```callSuper()``` method call, which can be used in any class method, and will call the method with the same name found on the super class. It also automatically sends all the arguments, so you don't have to manually do so.\n\n```js\nford.getName() === 'Ford' //is true\n```\n\n```js\nclassy.override('car', {\n    getName: function(){\n        return this.callOverriden() + ', made in ' + this.year\n    }\n})\n//now\nford.getName() === 'Ford, made in 1980' //is true\n```\n\nYou can use the class ```alias``` in order to easily reference which class you want to extend or override. This also helps you get a reference to your class by\n```js\n    var Car = classy.getClass('car')\n    var Vehicle = classy.getClass('vehicle')\n```\n\n\n## Aliases\n\nWhen defining a class, you can specify a string property named `alias`.\n\n`classy` keeps a reference to each class based on the specified alias. If no alias is given, one is generated anyway.\n\nUsing the alias allows you to reference, extend or override a class by the alias, without the need for an explicit reference to the class.\n\nExample\n```js\nclassy.define({\n  alias: 'shape'\n})\n\nclassy.define({\n  alias: 'rectangle',\n  extend: 'shape'\n})\n\nclassy.override('rectangle', {\n  getArea: function(){ /*... */}\n})\n```\n\nNotice that when defining the rectangle class, instead of saying we extend the Shape class, by a direct reference, we can use the alias of the Shape class, which is a string.\n\nWhenever an alias is expected, you can use either the alias, or the class itself (in classy.define, classy.override, classy.getClass, etc)\n\n## Override and callOverriden\n\nOverriding is simple, just call `classy.override` with the class alias or the class reference as the first param, and an object with properties to override as a second param.\n```js\nclassy.override(Car, {\n    getName: function(){\n        return this.callOverriden() + ', great car'\n    }\n})\n```\nor, if you don't have a reference to the class, but only have the alias\n```js\nclassy.override('car', {\n    getName: function(){\n        return this.callOverriden() + ', great car'\n    }\n})\n```\n\n## ```init``` as constructor\n\nUse the ```init``` method as the constructor\n\nExample\n\n```js\nvar Animal = classy.define({\n\n    //when a new Animal is created, the init method is called\n    init: function(config){\n        config = config || {}\n\n        //we simply copy all the keys onto this\n        Object.keys(config).forEach(function(key){\n            this[key] = config[key]\n        }, this)\n    }\n})\n\nvar Cat = classy.define({\n    extend: Animal,\n    alias: 'cat',\n\n    init: function(){\n        this.callSuper()\n        this.sound = 'meow'\n    },\n\n    getName: function(){\n        return this.name\n    }\n})\n\nvar lizzy = new Cat({ name: 'lizzy' })\n```\n\nYou can even extend functions/classes not defined with `classy`\n\n```js\nfunction Animal(sound){\n    this.sound = sound\n}\n\nAnimal.prototype.makeSound = function(){\n    return 'I sound like this: ' + this.sound\n}\n\nvar Dog = classy.define({\n    extend: Animal,\n    alias: 'dog',\n    init: function(){\n        this.callSuperWith('bark') //this calls Animal fn\n    }\n})\n\nvar dog = new Dog()\ndog.makeSound() == 'I sound like this: bark' // is true\n```\n\n## ```callSuper``` and ```callOverriden```\n\nUse the ```callSuper``` and ```callOverriden``` methods to call the super and overriden methods. You don't have to worry about forwarding the arguments, since this is handled automagically for you.\n\nIf there is no super or overriden method with the same name you don't have to worry either, since callSuper and callOverriden won't break. they will simply and silently do nothing\n\nExample\n```js\n    //create a shape class\n    classy.define({\n        alias: 'shape',\n\n        getDescription: function(){\n            return this.name\n        }\n    })\n\n    //create a rectangle class with a width and a height\n    classy.define({\n        extend: 'shape',\n        alias: 'rectangle',\n\n        name: 'rectangle',\n        init: function(size){\n            this.width = size.width\n            this.height = size.height\n        },\n\n        getArea: function(){\n            return this.width * this.height\n        },\n\n        setHeight: function(h){ this.height = h },\n        setWidth: function(w){ this.width = w }\n    })\n\n    classy.override('rectangle', {\n        getDescription: function(){\n            //reimplement the getDescription, but use the overriden implementation as well\n            return 'this is a ' + this.callOverriden()\n        }\n    })\n\n    //create a square class\n    classy.define({\n        extend: 'rectangle',\n        alias: 'square',\n\n        init: function(size){\n            if (size * 1 == size){\n                //the size is a number\n                size = { width: size, height: size}\n            } else {\n                size.width = size.height\n            }\n\n            this.callSuper()\n        },\n\n        setHeight: function(h){\n           //callSuper will automatically pass the arguments to Rectangle.setHeight, so h will be forwarded\n           this.callSuper()  //or you could use this.callSuperWith(10) if you want to manually pass parameters\n           this.setWidth(h)\n        }\n    })\n```\nYou can also use ```callSuperWith``` and ```callOverridenWith``` to manually pass all parameters\n\nExample\n```js\n//...\nsetHeight: function(h){\n    this.callSuperWith(h*2)\n}\n//...\n```\n\n## Getters and setters\n\nYou can use getters and setters on ```classy``` defined classes. They even work well with ```callSuper``` and ```callOverriden```\n\n```js\nvar Randomer = classy.define({\n    min: 0,\n    max: 10,\n\n    //returns a random float\n    get random(){\n        return Math.random() * (this.max - this.min) + this.min\n    }\n})\n\nRandomer.override({\n    //returns a random int\n    get random(){\n        return Math.floor(\n                    this.callOverriden() //call overriden method\n                )\n    }\n})\n\nvar r = new Randomer()\nr.random // generates a random int between 0 and 10\n```\n\n## forceInstance\n\nYou may want your classes to be usable without the `new` operator. Just specify `forceInstance: true` on the class prototype, and the constructor will be called with `new` if it hasn't been\n\nExample\n\n```js\nvar Vehicle = class.define({\n    forceInstance: true,\n    init: function(name){\n        this.name = name\n    }\n})\nvar v = Vehicle('car')  // since 'forceInstance' is true,\n                        //the Vehicle will be called as a constructor under the hood, so new Vehicle('car')\n```\n## Mixins\n\nClassy offers the ability to mix objects into other objects. At a base level, you can either use simple objects as mixins or you can define mixin classes.\n\nExample\n```js\nvar logger = {\n    $after: {\n        log: function(msg){\n            console.log(msg)\n        }\n    }\n}\n\nvar person = { firstName: 'Bob', lastName: 'Johnson' }\n\nclassy.mixin(person /* target object */, logger /* mixin */)\n```\nin the example above, the person object receives a log function property. Note the usage of $after. Other valid mixin behaviors are ```$copyIf```, ```$before``` and ```$override```.\n\nThese behaviors determine how mixin properties that are functions are mixed-in when the target object already has those properties.\n\n### $copyIf\nAny property in the mixin is copied onto the target object only if the target object does not already have a property with the same name\n\nExample\n```js\nvar logger = {\n    $copyIf: {\n        isLogger: true,\n        log: function(msg){ console.log(msg) },\n        greet: function(msg){ console.log('hello ' + msg) }\n    }\n}\nvar person = {\n    greet: function(msg){\n        alert('Hi ' + msg)\n    }\n}\n\nclassy.mixin(person, logger)\nperson.greet('Bob') //will alert 'Hi Bob' - so logger.greet is not copied, since it already existed on person\nperson.log('warning') //will console.log 'warning' - logger.log was copied to person, since person.log was undefined\nperson.isLogger === true\n```\n\n### $before & $after\n```js\nclassy.defineMixin({\n    alias: 'logger',\n    $before: {\n        log: function(msg){\n            console.log(msg)\n        },\n        warn: function(warning){\n            console.warn(warning)\n            return '!'\n        }\n    }\n})\n\nvar person = {\n    log: function(msg){ alert(msg); return 1}\n}\n\nclassy.mixin(person, 'logger')\n\nperson.log('hi') === 1 // will first console.log('hi') and then will alert('hi')\n//and will return the return value of the initial person.log implementation\nperson.warn('hi') === '!' //will console.warn('hi')\n```\nIn the above example, since log and warn ar copied with a before behavior, first of all classy checks to see if person already has those properties. Since person.log exists, person.log is assigned another function, which calls ```logger.log``` before ```person.log```, and returns the result of the initial ```person.log```.\nFor logger.warn, no such property exists on person, so it is simply assigned to the person.\n\nThe behavior of after is similar, with the difference that the mixin function is called after the initial implementation. The result is that of the initial implementation, if one exists.\n\n### $override\n```\nclassy.defineMixin({\n    alias: 'logger',\n\n    $override: {\n        log: function(msg){ console.log(msg) },\n        warn: function(msg){\n            console.log(msg)\n            return this.callTarget() //call the target object warn implementation, if one exists\n        }\n    }\n})\n\nvar Person = classy.define({\n    alias: 'person',\n    mixins: [\n        'logger'\n    ],\n\n    name: 'bob',\n    warn: function(msg){\n        alert(msg)\n        return this\n    }\n})\n\nvar p = new Person()\np.log(p.name) //simply calls logger.log\np.warn(p.name) // logs p.name and then alerts p.name\n```\n\nNotice that ```logger.warn``` calls ```this.callTarget()``` which means the mixin tries to call the method from the target object that this function has overriden. Since person.warn had an implementation, the logger calls that.\n\n## Static properties and ```$ownClass```\n\nYou can easily define static properties for classes.\n\n```js\nvar Widget = classy.define({\n\n    statics: {\n\n        idSeed: 0,\n\n        getDescription: function(){\n            return 'A Widget class'\n        },\n\n        getNextId: function(){\n            return this.idSeed++\n        }\n    },\n\n    init: function(){\n        this.id = this.$ownClass.getNextId()\n    }\n})\n\nWidget.getDescription() == 'A Widget class' // === true\n\nvar w = new Widget()\nw.id === 0\n\nw = new Widget()\nw.id === 1\n```\n\nOn every instance, you can use the $ownClass property in order to get a reference to the class that created the instance.\n\n## Building\n\nIn order to build a browser version, run ```npm run build```.\n\nThis will use browserify to make a one-file browser build, which you can find in ```dist/classy.js```\n\n## Testing\n\nAfter cloning the repo, make sure you ```npm install```.\n\nThen just run ```npm run test``` or ```make```.\nMake sure you build before you test, since testing is done on a browser build, with karma test runner. To build, ```npm run build```\n\n\n","versions":{"1.0.0":{"name":"classy","version":"1.0.0","description":"Smart classes for JavaScript code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Radu Brehar"},"license":"MIT","_id":"classy@1.0.0","dist":{"shasum":"f7cab9ea5d6554457a5a2603d58f367781229ebb","tarball":"https://registry.npmjs.org/classy/-/classy-1.0.0.tgz","integrity":"sha512-wE6u0Rtfj6g08yD7qdwIJCSM8SkTSY1kkoYvR9u3sVDFPZIhvba9GxEIOlBjLSO7bCaNpRlUe/cZVcGL8Dz+eA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/R5CMq/KVxH+7MvQ/61su//hVYMZN4NK9PdlSbigTfAiBW4Z5t7C3T2+rTJc+odEAXjOAjvNFMYlaS+vzYKmCRPQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.1.0":{"name":"classy","version":"1.1.0","description":"Smart classes for JavaScript code","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Radu Brehar"},"license":"MIT","_id":"classy@1.1.0","dist":{"shasum":"8041545e1ae3ab3302d14e2493037708517c3003","tarball":"https://registry.npmjs.org/classy/-/classy-1.1.0.tgz","integrity":"sha512-CZ4aHJEZmUlgF7YgJgd1ojppoqLclVOMQv328ECa7uS22i1MFHfBNfPi7dwtzaNy9CAC1m/AECRzGL03yFk0yQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEk0eYc8Lh8SouwYlolCW3PWWebyCr62eR7sxF1FyiN4AiEAxPTn7PxUiJk2/v0r6yac0P1nTiUhp8MJ9xJytUCd6X8="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.1.1":{"name":"classy","version":"1.1.1","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"preinstall":"npm install -g browserify","build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/ZippyClass.js","dev":"npm run build | npm run watch","test":"karma start","server":"python -m SimpleHTTPServer"},"main":"index.js","description":"ZippyClass - Classes for JavaScript\r ============================","_id":"classy@1.1.1","dist":{"shasum":"98c743d39cc34b547124b34c5496ec60314fae56","tarball":"https://registry.npmjs.org/classy/-/classy-1.1.1.tgz","integrity":"sha512-/MLYh6jrL6FDozTN3Wrhws/742NqzJe+fo16dhqXxlN5kLsk35eKVcr43K5jkBzi55gvtd7fGdkjpGjtmaV6Rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHDLaJaxnpZQQAV+U/ykcBqE3riD3OIw9eFhXfDPw9ORAiA59IBnFsTyK5UgCRX4aA/tjQZaM/Fl2sBAvKSppHoJLA=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.1.2":{"name":"classy","version":"1.1.2","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"preinstall":"npm install -g browserify","build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/ZippyClass.js","dev":"npm run build | npm run watch","test":"karma start","server":"python -m SimpleHTTPServer"},"main":"index.js","description":"Classy - Classes for JavaScript\r ============================","_id":"classy@1.1.2","dist":{"shasum":"16632e9024c0edd22b32989f7fd4996e9d3addf6","tarball":"https://registry.npmjs.org/classy/-/classy-1.1.2.tgz","integrity":"sha512-oGgJXkEZ5lzUoHR5bY7L6YKYgmBoy0+oVItPGj2pYWlif+3OMloPkgzS59Z+9i6ZP4gRoWEeEz5W08PoD27kzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9a1rolZQxAQ75DlycFIVO4/6q1LMq49alOwuWdAbrUAIhAL/KF7wBiNo+cnAtb4kCPSBIHoctpuRBJSmpKp+pxpcR"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.1.3":{"name":"classy","version":"1.1.3","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"preinstall":"npm install -g browserify","build":"browserify src/index.js -o dist/classy.js","build-browser":"browserify src/index.js -s classy -o dist/classy-browser.js","watch":"watchify src/index.js -s classy -o dist/ZippyClass.js","dev":"npm run build | npm run watch","test":"karma start","server":"python -m SimpleHTTPServer"},"main":"index.js","description":"Classy - Classes for JavaScript\r ============================","_id":"classy@1.1.3","dist":{"shasum":"73e1a90f9c4825c39a2ad17bc860ae82ce32e867","tarball":"https://registry.npmjs.org/classy/-/classy-1.1.3.tgz","integrity":"sha512-M84h50IKCevdGYtsHfWuogH9gAqgTgSmcMEV9lHfUY31HlmjTuopFt+w+lNsQo+TAAzvpWYH7jtgrwTKhweMYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsI1QhAMpQlPEgSm4kX0gsHkv+K1uvDWO/pqU7E0eflwIgXL+G4w5STA2wxjEOriXwZ7cHhwk64EM6MjTu4g0yL/8="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.1.4":{"name":"classy","version":"1.1.4","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"preinstall":"npm install -g browserify","build":"browserify src/index.js -o dist/classy.js","build-browser":"browserify src/index.js -s classy -o dist/classy-browser.js","watch":"watchify src/index.js -s classy -o dist/ZippyClass.js","dev":"npm run build | npm run watch","test":"karma start","server":"python -m SimpleHTTPServer"},"main":"index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"dependencies":{"browserify":"~3.44.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","watchify":"~0.8.2"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.1.4","dist":{"shasum":"8548dbb6071d7c5979ec411382a11ed04d9ed72b","tarball":"https://registry.npmjs.org/classy/-/classy-1.1.4.tgz","integrity":"sha512-0nsV/34uE1HWZCBGhlMfQZE3W6VO9urkop9/Mv/lL7PKHgi6dhwvoFMednbfbBmslYoE5PMdRoTTkaRvUsm/Mw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDk1dJcD/Mrbb5Lrglu0UbimU/vMWKp3CG9YoPcf+55NAiBaGhJ8hrj4J+AeLpzpkTYqlxjZokB/XcXfLloZDFq4xg=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.1.5":{"name":"classy","version":"1.1.5","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"build":"browserify src/index.js -o dist/classy.js","build-browser":"browserify src/index.js -s classy -o dist/classy-browser.js","watch":"watchify src/index.js -s classy -o dist/ZippyClass.js","dev":"npm run build | npm run watch","test":"karma start","server":"python -m SimpleHTTPServer"},"main":"index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"dependencies":{"browserify":"~3.44.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","watchify":"~0.8.2"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.1.5","dist":{"shasum":"9bf196791475afc1066d7c5c8a17c149f2f639be","tarball":"https://registry.npmjs.org/classy/-/classy-1.1.5.tgz","integrity":"sha512-VFyoMj3kosWx7BkvnTQyuS9j5lj4Escjk0Tag0aQhHY9iMmh0CzSr+ECbgQz0gDTgV2DzH3WkTd/FVlA3a8zmQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGrlvkPAvkKphFLdWoWzEesbzMz9uEmIav3VRjNj/6DAiAeAuFLqDfHww+R95/bvZ+Wc6f8PdMUi5tTqcyPWs+syQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.0":{"name":"classy","version":"1.2.0","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"build":"browserify src/index.js -o dist/classy.js","build-browser":"browserify src/index.js -s classy -o dist/classy-browser.js","watch":"watchify src/index.js -s classy -o dist/ZippyClass.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"dist/classy.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"dependencies":{"browserify":"~3.44.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","watchify":"~0.8.2"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.0","dist":{"shasum":"37d63186264db310073fb058ed3af1cd893b2809","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.0.tgz","integrity":"sha512-Rs1j29NzliFg+vCPVzoY7vHUwf6tlMoza41MsFRIYhF4FWs7O26pKWYG2ZA9oF+qb/BSlzV0YJKLaWwSXuVOPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBwHArb3C4SIjpaHB3IfaaNibp6GACeZETCWeRPYXAuaAiB0K+JdEU/1UmzrQBj8doU5lYQGrs+Jwj+Irj83O2PWjQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.1":{"name":"classy","version":"1.2.1","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"dependencies":{"browserify":"~3.44.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","watchify":"~0.8.2"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.1","dist":{"shasum":"10910d239bff1deafb1a6c96af4fa2f893582b08","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.1.tgz","integrity":"sha512-2fFDP2yIqvf0IyveYbnReagz+BN4GFJAsazJxgduLqo2LGmvLKbSK/bbT1kWEuzhIXXQJxsVay89fBhIFgcftw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKtdNP3xkN4nGrGpMT79+MuA2oHw+sCPwpC8nwIx5x3AiA7Ihj7pstlAgXhmQ/McNo4VatEBOrRNHkS6dFoc4/Yhg=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.2":{"name":"classy","version":"1.2.2","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"dependencies":{"browserify":"~3.44.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","watchify":"~0.8.2"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.2","dist":{"shasum":"ab95af3361257a4959c1fe1934ed80ac77917f80","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.2.tgz","integrity":"sha512-k6Iu+pLvIwUh7IT3oQtCIOPjm5LIwKzZr3HbKIXDVUMPhedVsRYpaPaBpkwWrU+pqyou/rpsQ+vcvZpNRkHW7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGUS3MGwy4G5YUUDbqnirtBR1n89LcSk1RYwYlUGfa1CAiEAwiVlngrEsFSb6KTmUWfrtYL7ON0kJBd5xsWrl0D57sw="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.3":{"name":"classy","version":"1.2.3","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"dependencies":{"browserify":"~3.44.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","watchify":"~0.8.2"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.3","dist":{"shasum":"a8038ec6a711b7d7c422bb904899e8f72afbe35e","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.3.tgz","integrity":"sha512-3GOfG7s8MdEcWP9blRndfSzXf6SBlFyfI0qVJm3P2ha9Nk/2/XOdox0TQJ9vik34XOxnVI4TWBwfTPepWQfjNQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5ANeqo6Yb07zIURxTn00xLFC5elhAplC+4HPvhuyj5AIgU8RpL2MToQU/yG8V8K32JViO7wOfUPa7AygjGhd7478="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.4":{"name":"classy","version":"1.2.4","devDependencies":{"browserify":"^3.44.2","watchify":"^0.8.2","karma":"^0.12.14","karma-jasmine":"^0.1.5","karma-chrome-launcher":"^0.1.3"},"scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"dependencies":{"browserify":"~3.44.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","watchify":"~0.8.2"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.4","dist":{"shasum":"216663d198689a056c4555878035c9c787ca7617","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.4.tgz","integrity":"sha512-17420EtZVO5BJrX4HIvh+zdktlVDjR4G2tCgvNJRzr9316bdbxZD/izKkpcWkmkI4HPFSS3I/Owz1a/v4TcH7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAKlA2tYXhKKG98C+sM3bkuI1yJ9fDtVqMnFb9s29ghnAiAbVaFiQ+p3uY0lpk+OAipZPT17VRpDwoMa+5rJuu/XZA=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.5":{"name":"classy","version":"1.2.5","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.5","dist":{"shasum":"5434f1a2ce9653c2fcd4e2a2db5aef9d97bd835b","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.5.tgz","integrity":"sha512-0YAXVCLI/nJ22BNQtpPFixYHsukBEJcSZfzbJekjptqyULFWIlNrD/h61493uaHKtBVmtyU77Ou98aU4C3ovew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVG7NHcmeC0zVgP2bLjgyiL+47CJg3umXp7lS3/50MHAIhAMnJwSCuMAVyncDKbHYRcQdX7Drbs0mUCBweJz6fLLOz"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.6":{"name":"classy","version":"1.2.6","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.6","dist":{"shasum":"06aa1281b2c1d3f2beb146578cb0bacbc1556a47","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.6.tgz","integrity":"sha512-XhuitA+/URp6PHkX9b2IiK0MnqAJGuPitLjlucSbG58QlvkbHMAv6bzt/bXUySq2LRIL7YuMHyMPodXWRRZZZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBPEumNr3Y1UWRSxUwjDysEZZ4S1Hjq6AugnOM+wFamrAiEAvkjtEvsyegBO36GvfnJopvaD97cvS8gILTnGSm99t44="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.7":{"name":"classy","version":"1.2.7","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.7","dist":{"shasum":"061f63c7d1403ca2fe293ed29d4b59c8ea851a90","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.7.tgz","integrity":"sha512-5bKJCoR0sR1HlvsuKvtMLo+42fhMJ8I7DyVZ9oGVDqoaRaTaPwv/ymxRJoMxKKmGqrQ+tvs5RCzl1rnqZO+zTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGI7GV8iv88M/LCeh2kbEVXPsfkPbgIIJt0gD0qgSOK8AiEA18O/uU59vzKCWVUBl8uOxhGH0RT5jZS6PHTi6MpLD2U="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.2.8":{"name":"classy","version":"1.2.8","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.2.8","dist":{"shasum":"6f547d2e25a5fe074070add0c9ba5997c7cb54a3","tarball":"https://registry.npmjs.org/classy/-/classy-1.2.8.tgz","integrity":"sha512-EBdjbmpOHMmn2llCNIy4mHMO/LPLEH4SPpTUOE1030rKiVmr+cN95e+tkvX/j1uPzp1RK80Jx5IDObz23rEZLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHszQLBLiI7s59P8skKAFzkHvL16op7tl3qsZlJ4H3nAiEA3+qjzJUnaSV/cM/13jCoHaff+qD+z3zcPDYMO5rP9vc="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.3.0":{"name":"classy","version":"1.3.0","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","_id":"classy@1.3.0","dist":{"shasum":"8c56604ace63e817ed15dbcf0f2ad9e4d3603c49","tarball":"https://registry.npmjs.org/classy/-/classy-1.3.0.tgz","integrity":"sha512-fXN1d7c5bggQFmMqwX/MOcpfGSvjVPOis9Yn2jnU+72W41Pe8qHRv+S5J+3iAKm1s+WeUXEclhrVdM/UKcC9lQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBfPuUn9WS/9tkzZJJyaaROAlg5HylyxXDBjmytw3vvcAiBMn3C2ZGatINO6aBgMiWSz4YJSe4PhjKyyE0Dh4AyEEQ=="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.4.0":{"name":"classy","version":"1.4.0","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","dependencies":{"newify":"~1.1.3"},"_id":"classy@1.4.0","dist":{"shasum":"dfd4ae55bd41a84d14d7d09343fff2384dfbaf1b","tarball":"https://registry.npmjs.org/classy/-/classy-1.4.0.tgz","integrity":"sha512-b3fYpPCGh6YAuQQlf2Cr9MsqEwfdKa7CIpV3ELDUVizsQT8rXXnAEuc9bg8Fq870YfahS8SXJMn1nk8sXXCJ5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDqeu6NmWqHGOwRx0nqEVtBQIUZ5MeDvOBIhw/ePffSkAiAkyHpz5jpCYCYAadPLUTzWwnyu7EfqakohwbBI7eIJhQ=="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.4.1":{"name":"classy","version":"1.4.1","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","dependencies":{"newify":"~1.1.3"},"_id":"classy@1.4.1","dist":{"shasum":"44eac56ceb6c313defc2be548e718c3f04104eb2","tarball":"https://registry.npmjs.org/classy/-/classy-1.4.1.tgz","integrity":"sha512-0flhYtYv9i/4VhTA75C00v0D81/8ZQxsbGvqTi1yp4qUT6b/h777ZpfTCHUeKoVkaq3NScO9LkYf9Rfc6Bh5nQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQnbkB/kv462/m/i/d/yrRf8U20SgaFlBU32DN1qsGjwIgXpUjJWBMKNcg/K7OvZj5S3G5g35gJmVKa1dqEejtufs="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.4.2":{"name":"classy","version":"1.4.2","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","dependencies":{"newify":"~1.1.3"},"_id":"classy@1.4.2","dist":{"shasum":"52d058e48b90d90548e9291420d260a46b942e79","tarball":"https://registry.npmjs.org/classy/-/classy-1.4.2.tgz","integrity":"sha512-AlwVbFNIVQWmRjU/P0o4K/F8nE/RpD/IpIQQ/2unkI8uKD+nDCdks9fo3NVsdO7GWx5oJ5MDN6PWvQ9X26n44w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfk43upNRS4T9LrMzDJl7bdKj+ejDEoV6lDfFqTGiQhQIhAPmQIB+Jhf7anEox/mIgzQqZPIyGwrnRtdQh/ZlybNQZ"}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.4.4":{"name":"classy","version":"1.4.4","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","should":"~4.0.4","mocha":"~1.21.4"},"repository":{"type":"git","url":"https://github.com/zippyui/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/zippyui/classy/issues"},"homepage":"https://github.com/zippyui/classy","dependencies":{"newify":"~1.1.3","copy-utils":"~0.1.1"},"_id":"classy@1.4.4","dist":{"shasum":"357aa27c20c6c77d06616c330815adc19dc5c51d","tarball":"https://registry.npmjs.org/classy/-/classy-1.4.4.tgz","integrity":"sha512-U36Bz6i8FGKREz35KmxyZB8zHP9VJT9AmSduFgT64qvAeYReGDN76E5RE72Qf3bfg2kFDcbxtf4oFhEE676teg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbzrFWtLe4seN0Bn+7Z1zvoNo41KzOSFbF6KXa0gO2dgIhAOyEU2RfdptKSsmkzw42aKXgmDDQSsPuFP0Kj7p1+rx+"}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.4.6":{"name":"classy","version":"1.4.6","scripts":{"build":"browserify src/index.js -s classy -o dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript\r ============================","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","should":"~4.0.4","mocha":"~1.21.4"},"repository":{"type":"git","url":"https://github.com/classyjs/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/classyjs/classy/issues"},"homepage":"https://github.com/classyjs/classy","dependencies":{"newify":"~1.1.3","copy-utils":"~0.1.1"},"_id":"classy@1.4.6","dist":{"shasum":"0abee84b0de8e9893a374c0827c458f69183f6f8","tarball":"https://registry.npmjs.org/classy/-/classy-1.4.6.tgz","integrity":"sha512-C9kpl1hGWleMB6IGL36Qc1UTMqBaMg2kcYR3d+BQ4a+pSQAS8JgsfZo8eQNvBEaOJkYZxyAlRbPc5If8wghNNg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBX6OjPAoRQsVZC+SLFCVPDOR9G6hAC0I4yV0U2nbENiAiEAnK3+HADky6YX3hmx2mPrVSmnp8DigD08misEbDJbOZk="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.4.8":{"name":"classy","version":"1.4.8","scripts":{"build":"browserify src/index.js -s classy o-np dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","should":"~4.0.4","mocha":"~1.21.4"},"repository":{"type":"git","url":"https://github.com/classyjs/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/classyjs/classy/issues"},"homepage":"https://github.com/classyjs/classy","dependencies":{"newify":"~1.1.9","copy-utils":"~1.0.0"},"_id":"classy@1.4.8","dist":{"shasum":"bfdbe05bfbf0fd19b2420a9be69c30cf08624118","tarball":"https://registry.npmjs.org/classy/-/classy-1.4.8.tgz","integrity":"sha512-2NYnlzic627AjthkxvX3j6EdZkXrdcZKRDWgFc//55ldsb+tNOhRXoEGhNn9qenAy0KDy7gFwrp+fHGK99eQAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE55+bH17KnMlPggMuEhFesp3CQbpw3sedk9xuyAPMNcAiEArBKzDeKoIc88ResObNKcIKzeVh+EnVLE/YvGgNgTSLo="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]},"1.4.10":{"name":"classy","version":"1.4.10","scripts":{"build":"browserify src/index.js -s classy o-np dist/classy.js","watch":"watchify src/index.js -s classy -o dist/classy.js","dev":"npm run build | npm run watch","test":"karma start","start":"python -m SimpleHTTPServer"},"main":"src/index.js","description":"Classy - Classes for JavaScript","directories":{"test":"test"},"devDependencies":{"browserify":"^3.44.2","watchify":"~0.8.2","karma":"~0.12.14","karma-jasmine":"~0.1.5","karma-chrome-launcher":"~0.1.3","should":"~4.0.4","mocha":"~1.21.4"},"repository":{"type":"git","url":"https://github.com/classyjs/classy.git"},"keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"author":{"name":"Radu Brehar"},"license":"MIT","bugs":{"url":"https://github.com/classyjs/classy/issues"},"homepage":"https://github.com/classyjs/classy","dependencies":{"newify":"~1.1.9","copy-utils":"~1.0.0"},"_id":"classy@1.4.10","dist":{"shasum":"af299c794f1ee2830cf097d3e3c43d730cebc0c8","tarball":"https://registry.npmjs.org/classy/-/classy-1.4.10.tgz","integrity":"sha512-UtrrObejx7lOJD8mHEyDv29QLQNl8kIjDOkt9liFzxAhtXoKgRo7PiwLN27YryBXYecuoCHMPctzfRbKnZVtPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8/SoEYUQOReuTvOgfnUaahuYbfNTdKxzmzhYVJHOhOgIgNpTAA/FFXaHoE7Yn9PkNFdFDHOSuq+TkVfc2T0GcgQA="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"radubrehar","email":"radu@evanghelic.ro"},"maintainers":[{"name":"radubrehar","email":"radu@evanghelic.ro"}]}},"readmeFilename":"README.md","homepage":"https://github.com/classyjs/classy","keywords":["class","super","method","classes","inheritance","hierarchy","mixins","override"],"repository":{"type":"git","url":"https://github.com/classyjs/classy.git"},"author":{"name":"Radu Brehar"},"bugs":{"url":"https://github.com/classyjs/classy/issues"},"license":"MIT","users":{"radubrehar":true}}