UNPKG

jsctags

Version:
61 lines (43 loc) 1.43 kB
// Follows the pattern CoffeeScript uses to define classes. var __extends = function(child, parent) { for (var key in parent) { child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); }; var Top = (function() { function Top() {} Top.prototype.topMethod = function() {return "hey";}; Top.topStatic = 20; return Top; })(); var SubOne = (function(_super) { function SubOne(arg) { this.argOne = arg; } __extends(SubOne, _super); SubOne.prototype.methodOne = function() {return 11;}; return SubOne; })(Top); var SubTwo = (function(_super) { function SubTwo(arg) { this.argTwo = arg; } __extends(SubTwo, _super); SubTwo.prototype.methodTwo = function() {return null;}; return SubTwo; })(Top); var SubEleven = (function(_super) { function SubEleven(arg) { SubOne.call(this, arg); } __extends(SubEleven, SubOne); SubEleven.prototype.methodEleven = function() {return "blah";}; return SubEleven; })(SubOne); var top = new Top, one = new SubOne(true), two = new SubTwo(false), elf = new SubEleven(true); one.topMethod; //: fn() -> string one.methodOne; //: fn() -> number one.argOne; //: bool one.argTwo; //: ? two.argTwo; //: bool one.methodTwo; //: ? one.methodEleven; //: ? SubEleven.topStatic; //: number elf.methodOne; //: fn() -> number elf.methodEleven(); //: string two.methodEleven; //: ?