Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A collection of OzJS core modules that form a library called "Mo"
JavaScript CSS
branch: master

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.

Something went wrong with that request. Please try again.