A collection of OzJS core modules that form a library called "Mo"
JavaScript CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
console
easing
lang
network
template
tests
.gitignore
Gruntfile.js
README.md
bower.json
browsers.js
console.js
cookie.js
domready.js
easing.js
key.js
lang.js
mainloop.js
network.js
package.json
template.js

README.md

Mo

  • A collection of OzJS core modules that form a library called "Mo"

In NodeJS

npm install mo

In browser

bower install mo

Or download directly from Github

AMD and OzJS

Modules Overview

Examples

API and usage

mo/lang

var _ = require('mo/lang');
  • same as below

mo/lang/es5

require('mo/lang/es5');
  • Array.prototype.forEach
  • Array.prototype.map
  • Array.prototype.filter
  • Array.prototype.reduce
  • Array.prototype.reduceRight
  • Array.prototype.some
  • Array.prototype.every
  • Array.prototype.indexOf
  • Array.prototype.lastIndexOf
  • Array.isArray
  • String.prototype.trim
  • Date.now
  • Object.keys
  • Object.create - partial support: Object.create(obj) / Object.create(obj, { method: { value: func } })
  • Object.getPrototypeOf
  • Function.prototype.bind

mo/lang/es6

require('mo/lang/es6');
  • same as mo/lang/es6-utils + mo/lang/es6-collection + mo/lang/es6-promise

mo/lang/es6-utils

require('mo/lang/es6-utils');
  • Array.prototype.find
  • Array.prototype.findIndex
  • Array.prototype.fill
  • Array.prototype.copyWithin
  • Array.of
  • Array.from
  • String.prototype.startsWith
  • String.prototype.endsWith
  • String.prototype.contains
  • String.prototype.repeat
  • Number.MAX_SAFE_INTEGER
  • Number.MIN_SAFE_INTEGER
  • Number.EPSILON
  • Number.isFinite
  • Number.isInteger
  • Number.isSafeInteger
  • Number.isNaN
  • Object.is
  • Object.assign

mo/lang/es6-collection

require('mo/lang/es6-collection');
  • Map.prototype.get
  • Map.prototype.set
  • Map.prototype.delete
  • Map.prototype.clear
  • Map.prototype.size
  • Map.prototype.forEach
  • Map.prototype.has
  • WeakMap.prototype.get
  • WeakMap.prototype.set
  • WeakMap.prototype.delete
  • WeakMap.prototype.clear
  • WeakMap.prototype.has
  • Set.prototype.add
  • Set.prototype.delete
  • Set.prototype.clear
  • Set.prototype.size
  • Set.prototype.forEach
  • Set.prototype.has
  • WeakSet.prototype.add
  • WeakSet.prototype.delete
  • WeakSet.prototype.clear
  • WeakSet.prototype.has

mo/lang/es6-promise

require('mo/lang/es6-promise');
  • new Promise(function(resolve, reject){})
  • Promise.prototype.then(onFulfilled, onRejected)
  • Promise.prototype.catch(onRejected)
  • Promise.resolve(result|thenable)
  • Promise.reject(reason)
  • Promise.all(promises)
  • Promise.race(promises)

mo/lang/type

var _ = require('mo/lang/type');
  • _.type(sth) --
  • _.isFunction(sth) --
  • _.isWindow(sth) --
  • _.isEmptyObject(sth) --
  • _.isArraylike(sth) --
  • _.ns(string, value) --

mo/lang/mix

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) --
  • _.each(obj, mapfn, context) --

mo/lang/oop

var _ = require('mo/lang/oop');

var List = _.construct(Array, /*mixes, */function(){
    this.superConstructor.apply(this, arguments);
    this.a = 1;
});

List.prototype.forEach = function(){
    return this.superMethod('forEach', arguments);
};

mo/lang/struct

var _ = require('mo/lang/struct');
  • _.index(array, key) --
  • _.fnQueue() --

mo/domready

require(['mo/domready'], function(none){
    // won't execute until the page's entire DOM has loaded
});

mo/browsers

var browsers = require('mo/browsers');
  • browsers.browser --
  • browsers.version --
  • browsers.engine --
  • browsers.engineversion --
  • browsers.os --
  • browsers.osversion --
  • browsers.isMobile --
  • browsers.skin --
  • browsers.rank --
  • browsers.ua --
  • browsers['msie'|'safari'|'mobilesafari'|'chrome'|'aosp'|'mozilla'|...] --

mo/cookie

var cookie = require('mo/cookie');

cookie(name, value, {
    domain: 'ozjs.org', // '' as default
    path: '/', // '' as default
    expires: 365 // day,
    secure: ''
});

mo/template

var tpl = require('mo/template');
  • tpl.str2html(string) --
  • same as below

mo/template/string

var tpl = require('mo/template/string');
  • tpl.format(string, dict|list) --
  • tpl.escapeHTML(string) --
  • tpl.substr(string, limit, callback) --
  • tpl.strsize(string) --

mo/template/micro

var tpl = require('mo/template/micro');
  • tpl.convertTpl(tplName|tplString, dictData, namespace) --
  • tpl.reloadTpl(tplName) --

mo/network

var net = require('mo/network');
  • net.getScript(url, callback) --
  • net.getStyle(url) --
  • net.getJSON(url, params, callback, options) --
  • net.getRequest(url, params) --
  • net.parseJSON(data) --
  • same as below

mo/network/ajax

var net = require('mo/network/ajax');
  • net.ajax(options) --
  • net.params(data) --

mo/easing

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
});

mo/mainloop

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) --

mo/key

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() --

mo/console

var console = require('mo/console');
  • console.config({ output: elm }) --
  • console.enable() --
  • console.disable() --
  • console.run(func) --
  • console.log(sth, sth, ...) --
  • console.info(sth, sth, ...) --
  • console.warn(sth, sth, ...) --
  • console.error(sth, sth, ...) --

Under construction...

More References

See OzJS Project Homepage

Release History

See OzJS Release History

License

Copyright (c) 2010 - 2013 dexteryy
Licensed under the MIT license.