Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    mopublic

    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.

    install

    npm i mo

    Downloadsweekly downloads

    68

    version

    1.7.3

    license

    none

    homepage

    ozjs.org

    repository

    github.com

    last publish

    collaborators

    • avatar