OzJS
A microkernel for modular javascript, a toolchain for modern front-end, a micro-framework for growable WebApp.
- A collection of OzJS core modules that form a library called "Mo"
npm install mo
var _ = require('mo/lang');
_.ns(string, value) -- require('mo/lang/es5'); // Add ES5 methods in browsers that don't natively support them
Array.prototype.forEachArray.prototype.mapArray.prototype.filterArray.prototype.reduceArray.prototype.someArray.prototype.everyArray.prototype.indexOfArray.prototype.lastIndexOfArray.isArrayString.prototype.trimObject.keysObject.createObject.getPrototypeOfFunction.prototype.bindvar _ = require('mo/lang/type');
_.type(sth) -- _.isFunction(sth) -- _.isWindow(sth) -- _.isEmptyObject(sth) -- var _ = require('mo/lang/mix');
_.mix(origin, obj1, obj2, ..., depth) -- _.merge(origin, obj1, obj2, ..., depth) -- _.interset(origin, obj1, obj2, ..., depth) -- _.copy(origin, depth) -- _.occupy(origin, obj, depth) -- _.defaults(origin, obj1, obj2, ..., depth) -- _.config(cfg, opt, DEFAULT_CFG) -- _.unique(list) -- var _ = require('mo/lang/oop');
_.construct(base, /*mixes,*/ factory) -- var _ = require('mo/lang/struct');
_.index(array, key) -- _.fnQueue() -- require(['mo/domready'], function(none){
// won't execute until the page's entire DOM has loaded
});
var browsers = require('mo/browsers');
browsers.browser --browsers.version -- browsers.skin -- browsers.rank -- browsers['msie'|'webkit'|'mozilla'|...] --var cookie = require('mo/cookie');
cookie(name, value, {
domain: 'ozjs.org', // '' as default
path: '/', // '' as default
expires: 365 // day,
secure: ''
});
var tpl = require('mo/template');
tpl.str2html(string) -- var tpl = require('mo/template/string');
tpl.format(string, dict|list) -- tpl.escapeHTML(string) -- tpl.substr(string, limit, callback) -- tpl.strsize(string) -- var tpl = require('mo/template/micro');
tpl.convertTpl(tplName|tplString, dictData, namespace) -- tpl.reloadTpl(tplName) -- var net = require('mo/network');
net.getScript(url, callback) -- net.getStyle(url) -- net.getJSON(url, params, callback, options) -- net.getRequest(url, params) -- var net = require('mo/network/ajax');
net.ajax(options) -- net.params(data) -- var easingLib = require('mo/easing');
easingLib.def -- easingLib.values -- easingLib.functions -- // use it as extension of other library
var $ = require('jquery');
$.easing['jswing'] = $.easing['swing'];
$.extend($.easing, easingLib.functions);
require('mo/mainloop').config({
easing: easingLib.functions
});
require('choreo').config({
easing: easingLib
});
var loop = require('mo/mainloop');
loop.config(options) -- loop.run(optional_stageName) -- loop.pause(stageName) -- loop.complete(stageName) -- loop.remove(stageName) -- loop.info(stageName) -- loop.isRunning(stageName) -- loop.addStage(stageName, optional_canvas) -- loop.addRender(stageName, render, optional_canvas) -- loop.getRender(renderId) -- loop.addTween(stageName, current, end, duration, options) -- var Key = require('mo/key');
Key.KEYS_CODE -- var key = Key(config);
key.addHandler(event, keyName, handler) -- key.down([keyName, ...], handler) -- key.up([keyName, ...], handler) -- key.press([keyName, ...], handler) -- key.reset() -- key.addRule(fn) -- key.enable() -- key.disable() -- key.check() -- Under construction...
Copyright (c) 2010 - 2013 dexteryy
Licensed under the MIT license.