Nothing to see here yet, please move along...
//@ Section Name My = {}; //@ My.foo <number> One-line summary, with *some* `markdown` My.foo = 23; /*@ My.bar <object> Summary Optional multi-line description, with *some* `markdown`. property <object> A property of My.bar Description foo <number> A number bar <[string]> An array of strings method <function> A method of My.bar (foo[, bar], callback) -> <undefined> Return value foo <number|string> Argument, number or string bar <boolean|false> Optional argument, default is `false` callback <function> Callback function arg <boolean> Argument baz <event> An event triggered by My.bar x <number> Event property y <number> Event property # This is a comment. Below are inline tests (the first one will fail, the # last one is asynchronous). > My.bar.property.foo > 1 true > My.bar.property.bar.join('') 'string' > My.bar.method(1, function(arg) { Ox.test(arg, true); }) undefined */ My.bar = { property: { foo: Math.random(), bar: 'string'.split('') }, method: function(foo, bar, callback) { if (arguments.length == 2) { callback = bar; bar = false; } if (bar) { // trigger baz event } setTimeout(function() { callback(!!foo); }); } };