Comparing version 1.0.0 to 1.0.1
1687
cutil.js
@@ -1,893 +0,826 @@ | ||
(function() { | ||
var __loaders__ = {}, __modules__ = {}; | ||
const require = function __require__(id) { | ||
if (__modules__[id]) { | ||
return __modules__[id]; | ||
(function () { 'use strict'; var __global__ = this; var __client = true; var process = false; try { if (!window) { throw new Error(); } __global__ = window; } catch(err) { try { __global__ = global; } catch(err) { } } var global = __global__ || {}; global.JB_INDEX = JSON.parse('{"mod145905240258055707":{"id":"mod145905240258055707","filename":"/Users/teniryte/cort/man/lib/collections.js"},"mod145905240259270512":{"id":"mod145905240259270512","filename":"/Users/teniryte/cort/man/lib/events.js"},"mod14590524025922327":{"id":"mod14590524025922327","filename":"/Users/teniryte/cort/man/lib/objects.js"},"mod145905240259311522":{"id":"mod145905240259311522","filename":"/Users/teniryte/cort/man/lib/strings.js"},"mod145905240259359466":{"id":"mod145905240259359466","filename":"/Users/teniryte/cort/man/lib/math.js"},"mod145905240259457604":{"id":"mod145905240259457604","filename":"/Users/teniryte/cort/man/lib/templates.js"},"mod14590524025946646":{"id":"mod14590524025946646","filename":"/Users/teniryte/cort/man/lib/util.js"},"mod145905240259691098":{"id":"mod145905240259691098","filename":"/Users/teniryte/cort/man/lib/config.js"},"mod145905240259528852":{"id":"mod145905240259528852","filename":"/Users/teniryte/cort/man/lib/functions.js"},"mod14590524025975281":{"id":"mod14590524025975281","filename":"/Users/teniryte/cort/man/lib/logic.js"},"mod145905240253632554":{"id":"mod145905240253632554","filename":"/Users/teniryte/cort/man/tools/app.js"}}'); var __loaders__ = {}, __modules__ = {}; var require = function __require__(id) { if (__modules__[id]) { return __modules__[id]; } var loader = __loaders__[id]; if (typeof loader !== 'function') { console.error('Loader is not function', { id: id, filename: JB_INDEX[id], loader: loader }); return; } __modules__[id] = loader(); return __modules__[id]; }; ;__loaders__['absent'] = (function () { return function () { var module = { exports: {} }; var exports = module.exports; return module.exports; }; }()); ;__loaders__['mod145905240258055707'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240258055707'; var __filename = '../lib/collections.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
self.array = function (obj) { | ||
var args = Array.prototype.slice.call(arguments, 1); | ||
return Array.prototype.slice.apply(obj, args); | ||
}; | ||
self.arr = self.array; | ||
self.removeType = function (arr, type) { | ||
if (Array.isArray(arr)) { | ||
return arr.filter(function (item) { | ||
return typeof item !== type; | ||
}); | ||
} | ||
self.each(arr, function (value, name) { | ||
if (typeof value !== type) { | ||
return; | ||
} | ||
__modules__[id] = __loaders__[id](); | ||
return __modules__[id]; | ||
}; | ||
"use strict"; | ||
var _createClass = function() { | ||
function defineProperties(target, props) { | ||
for (var i = 0; i < props.length; i++) { | ||
var descriptor = props[i]; | ||
descriptor.enumerable = descriptor.enumerable || false; | ||
descriptor.configurable = true; | ||
if ("value" in descriptor) descriptor.writable = true; | ||
Object.defineProperty(target, descriptor.key, descriptor); | ||
} | ||
delete arr[name]; | ||
}); | ||
return arr; | ||
}; | ||
self.uniq = function (arr) { | ||
var index = {}, | ||
items = []; | ||
self.each(self.arr(arr), function (item) { | ||
var key = JSON.stringify(item); | ||
if (index[key] !== undefined) { | ||
return; | ||
} | ||
return function(Constructor, protoProps, staticProps) { | ||
if (protoProps) defineProperties(Constructor.prototype, protoProps); | ||
if (staticProps) defineProperties(Constructor, staticProps); | ||
return Constructor; | ||
items.push(item); | ||
index[key] = true; | ||
}); | ||
return items; | ||
}; | ||
self.unique = self.uniq; | ||
self.flagger = function (arr) { | ||
var flagger = {}; | ||
self.each(self.arr(arr), function (name) { | ||
flagger[name] = true; | ||
}); | ||
return flagger; | ||
}; | ||
self.each = function each(arr, iterator) { | ||
if (!arr) { | ||
return arr; | ||
} | ||
if (Array.isArray(arr)) { | ||
arr.forEach(iterator); | ||
return arr; | ||
} | ||
Object.keys(arr).forEach(function (name) { | ||
var value = arr[name]; | ||
iterator(value, name); | ||
}); | ||
}; | ||
self.compact = function compact(arr) { | ||
return Array.prototype.slice.call(arr, 0).filter(function (item) { | ||
return !!item; | ||
}); | ||
}; | ||
self.invoke = function invoke(arr, name) { | ||
var args = Array.prototype.slice.call(arguments, 2); | ||
self.each(arr, function (item) { | ||
item[name].apply(item, args); | ||
}); | ||
return arr; | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240259270512'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240259270512'; var __filename = '../lib/events.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var coll =require('mod145905240258055707'); | ||
self.mixins = { | ||
events: function (obj) { | ||
var handlers = {}, | ||
onceHandlers = {}; | ||
if (obj.on || obj.emit) { | ||
return obj; | ||
} | ||
obj.on = function (name, handler) { | ||
handlers[name] = handlers[name] || []; | ||
handlers[name].push(handler); | ||
}; | ||
}(); | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { | ||
return typeof obj; | ||
} : function(obj) { | ||
return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; | ||
}; | ||
function _classCallCheck(instance, Constructor) { | ||
if (!(instance instanceof Constructor)) { | ||
throw new TypeError("Cannot call a class as a function"); | ||
obj.once = function (name, handler) { | ||
onceHandlers[name] = onceHandlers[name] || []; | ||
onceHandlers[name].push(handler); | ||
}; | ||
obj.emit = function (name) { | ||
var args = coll.array(arguments).slice(1); | ||
coll.each(handlers[name], function (handler) { | ||
handler.apply(null, args); | ||
}); | ||
coll.each(onceHandlers[name], function (handler, i) { | ||
handler.apply(null, args); | ||
onceHandlers[name].splice(i, 1); | ||
}); | ||
}; | ||
} | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod14590524025922327'] = (function () { return function () { 'use strict'; var __moduleid = 'mod14590524025922327'; var __filename = '../lib/objects.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var coll =require('mod145905240258055707'); | ||
var events =require('mod145905240259270512'); | ||
self.extend = function (target) { | ||
var sources = coll.arr(arguments, 1); | ||
coll.each(sources, function (source) { | ||
coll.each(source, function (value, name) { | ||
target[name] = value; | ||
}); | ||
}); | ||
return target; | ||
}; | ||
self.values = function (obj) { | ||
var vals = []; | ||
coll.each(obj, function (val) { | ||
vals.push(val); | ||
}); | ||
return vals; | ||
}; | ||
self.vals = self.values; | ||
self.extnew = function () { | ||
var args = coll.arr(arguments); | ||
args.unshift({}); | ||
return self.extend.apply(self, args); | ||
}; | ||
self.keys = function () { | ||
var keys = []; | ||
coll.each(coll.arr(arguments), function (obj) { | ||
keys = keys.concat(Object.keys(obj)); | ||
}); | ||
return coll.uniq(keys); | ||
}; | ||
self.extendUndefined = function (target, source) { | ||
coll.each(source, function (value, name) { | ||
if (target[name] !== undefined) { | ||
return; | ||
} | ||
target[name] = value; | ||
}); | ||
return target; | ||
}; | ||
self.clone = function (obj) { | ||
if (Array.isArray(obj)) { | ||
return obj.slice(0); | ||
} | ||
__loaders__["24781db70a53019cde76449a57791015"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "24781db70a53019cde76449a57791015"; | ||
var __filename = "client.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var modules; | ||
(function() { | ||
var extend = function extend(target, source) { | ||
Object.keys(source).forEach(function(name) { | ||
if (target[name] && _typeof(target[name]) === "object") { | ||
extend(target[name], source[name]); | ||
return; | ||
} | ||
target[name] = source[name]; | ||
}); | ||
}; | ||
"use strict"; | ||
modules = [ require("e1af5f9622f376fbff1da18f72f5e70d"), require("211c40cc96f245e4f49b4f3742f6f70a"), require("bd90b4e23f71932c81890cfaa3e67618"), require("ef6149326e3cebc43d1f1268ed43bb07"), require("c597d0586e3a08057821242700048ab3"), require("5866bf3bb9e43c0372b6e4b8c560a818"), require("4d65cf1f66e0488b8d93772b06b55413"), require("59be2a8f5d267f0d70e17a12a3b61a86"), require("8aa95d09691dc4e32d202b16d8f1136d"), require("51916cd48a79c7f8fc3194c94fb3adc2") ]; | ||
modules.forEach(function(mod) { | ||
extend(exports, mod); | ||
}); | ||
if (window) { | ||
window._ = exports; | ||
} | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
return self.extend({}, obj); | ||
}; | ||
self.copy = self.clone; | ||
self.mixins = { | ||
observe: function (obj, props) { | ||
var data = {}; | ||
events.mixins.events(obj); | ||
coll.each(props, function (value, name) { | ||
if (typeof value === 'function') { | ||
return; | ||
} | ||
return module.exports; | ||
data[name] = value; | ||
delete props[name]; | ||
}); | ||
coll.each(data, function (value, name) { | ||
self.define(obj, name, { | ||
get: function () { | ||
return data[name]; | ||
}, | ||
set: function (value) { | ||
var oldValue = data[name]; | ||
data[name] = value; | ||
obj.emit(':observe:' + name, value, oldValue); | ||
obj.emit(':observe', name, value, oldValue); | ||
} | ||
}); | ||
}); | ||
obj.toJSON = function () { | ||
return coll.removeType(self.extend(self.clone(obj), data), 'function'); | ||
}; | ||
}(); | ||
__loaders__["e1af5f9622f376fbff1da18f72f5e70d"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "e1af5f9622f376fbff1da18f72f5e70d"; | ||
var __filename = "config.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
"use strict"; | ||
exports.config = { | ||
debug: true | ||
}; | ||
} catch (err) { | ||
console.error(err.stack); | ||
return obj; | ||
} | ||
}; | ||
self.define = function (obj, name, props) { | ||
return Object.defineProperty(obj, name, props); | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240259311522'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240259311522'; var __filename = '../lib/strings.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var req = require; | ||
var coll =require('mod145905240258055707'); | ||
self.md5 = function (str) { | ||
return req('md5')(str); | ||
}; | ||
self.removeTags = function (code) { | ||
code = code.replace(/\<[^\>]+\>/mgi, '').trim(); | ||
return code; | ||
}; | ||
self.decodeChars = decodeChars; | ||
self.decodeUnicode = decodeUnicode; | ||
self.capitalize = capitalize; | ||
self.find = function (reg, str, names) { | ||
var result = reg.exec(str); | ||
if (!result) { | ||
return false; | ||
} | ||
var values = result.slice(1), | ||
response = values; | ||
if (names) { | ||
response = {}; | ||
coll.each(names, function (name, i) { | ||
response[name] = values[i]; | ||
}); | ||
} | ||
return response; | ||
}; | ||
function capitalize(str) { | ||
return str.slice(0, 1).toUpperCase() + str.slice(1); | ||
} | ||
function decodeChars(bin) { | ||
return String.fromCharCode.apply(null, new Uint8Array(bin)); | ||
} | ||
function decodeUnicode(arrayBuffer) { | ||
var result = "", | ||
i = 0, c = 0, c1 = 0, c2 = 0, | ||
data = new Uint8Array(arrayBuffer); | ||
if (data.length >= 3 | ||
&& data[0] === 0xef | ||
&& data[1] === 0xbb | ||
&& data[2] === 0xbf) { | ||
i = 3; | ||
} | ||
while (i < data.length) { | ||
c = data[i]; | ||
if (c < 128) { | ||
result += String.fromCharCode(c); | ||
i++; | ||
} else if (c > 191 && c < 224) { | ||
if (i + 1 >= data.length) { | ||
throw "UTF-8 Decode failed. Two byte character was truncated."; | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["211c40cc96f245e4f49b4f3742f6f70a"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "211c40cc96f245e4f49b4f3742f6f70a"; | ||
var __filename = "code.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var self; | ||
(function() { | ||
var transform = function transform(source) { | ||
return babel.transform(source, { | ||
presets: [ {} ] | ||
}).code; | ||
}; | ||
var prettyJS = function prettyJS(source) { | ||
var ast = uglify.parse(source, { | ||
strict: true | ||
}); | ||
return ast.print_to_string({ | ||
indent_level: 4, | ||
beautify: true, | ||
comments: true | ||
}); | ||
}; | ||
var minifyJS = function minifyJS(source) { | ||
var ast = uglify.parse(source, { | ||
strict: true | ||
}); | ||
return ast.print_to_string(); | ||
}; | ||
"use strict"; | ||
var uglify = {}; | ||
var babel = {}; | ||
self = exports; | ||
var Snippet = function() { | ||
function Snippet(source) { | ||
_classCallCheck(this, Snippet); | ||
var self = this; | ||
self.source = source || ""; | ||
self.original = self.source; | ||
self.comments = []; | ||
} | ||
_createClass(Snippet, [ { | ||
key: "removeComments", | ||
value: function removeComments() { | ||
var self = this, comments = [], source = self.source, re = /(\/\/.+$)|(\/\*[\s\S]*?\*\/)/gim; | ||
source = source.replace(re, replaceComments); | ||
function replaceComments(str, code1, code2) { | ||
var id = comments.length; | ||
comments.push(code1 || code2); | ||
return "{{comment#" + id + "}}"; | ||
} | ||
self.source = source; | ||
self.comments = comments; | ||
return source; | ||
} | ||
}, { | ||
key: "restoreComments", | ||
value: function restoreComments(source) { | ||
var self = this, source = source || self.source, re = /\{\{comment\#([0-9]+)\}\}/gm, comments = self.comments; | ||
source = source.replace(re, replaceComments); | ||
function replaceComments(str, id) { | ||
return comments[+id]; | ||
} | ||
self.source = source; | ||
return source; | ||
} | ||
} ]); | ||
return Snippet; | ||
}(); | ||
self.code = { | ||
Snippet: Snippet, | ||
prettyJS: prettyJS, | ||
minifyJS: minifyJS, | ||
transform: transform | ||
}; | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
c2 = data[i + 1]; | ||
result += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); | ||
i += 2; | ||
} else { | ||
if (i + 2 >= data.length) { | ||
throw "UTF-8 Decode failed. Multi byte character was truncated."; | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["bd90b4e23f71932c81890cfaa3e67618"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "bd90b4e23f71932c81890cfaa3e67618"; | ||
var __filename = "collections.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
"use strict"; | ||
var self = exports; | ||
self.array = function(obj) { | ||
var args = Array.prototype.slice.call(arguments, 1); | ||
return Array.prototype.slice.apply(obj, args); | ||
}; | ||
self.arr = self.array; | ||
self.removeType = function(arr, type) { | ||
if (Array.isArray(arr)) { | ||
return arr.filter(function(item) { | ||
return (typeof item === "undefined" ? "undefined" : _typeof(item)) !== type; | ||
}); | ||
} | ||
self.each(arr, function(value, name) { | ||
if ((typeof value === "undefined" ? "undefined" : _typeof(value)) !== type) { | ||
return; | ||
} | ||
delete arr[name]; | ||
}); | ||
return arr; | ||
}; | ||
self.uniq = function(arr) { | ||
var index = {}, items = []; | ||
self.each(self.arr(arr), function(item) { | ||
var key = JSON.stringify(item); | ||
if (index[key] !== undefined) { | ||
return; | ||
} | ||
items.push(item); | ||
index[key] = true; | ||
}); | ||
return items; | ||
}; | ||
self.unique = self.uniq; | ||
self.flagger = function(arr) { | ||
var flagger = {}; | ||
self.each(self.arr(arr), function(name) { | ||
flagger[name] = true; | ||
}); | ||
return flagger; | ||
}; | ||
self.each = function each(arr, iterator) { | ||
if (!arr) { | ||
return arr; | ||
} | ||
if (Array.isArray(arr)) { | ||
arr.forEach(iterator); | ||
return arr; | ||
} | ||
Object.keys(arr).forEach(function(name) { | ||
var value = arr[name]; | ||
iterator(value, name); | ||
}); | ||
}; | ||
self.compact = function compact(arr) { | ||
return Array.prototype.slice.call(arr, 0).filter(function(item) { | ||
return !!item; | ||
}); | ||
}; | ||
self.invoke = function invoke(arr, name) { | ||
var args = Array.prototype.slice.call(arguments, 2); | ||
self.each(arr, function(item) { | ||
item[name].apply(item, args); | ||
}); | ||
return arr; | ||
}; | ||
} catch (err) { | ||
console.error(err.stack); | ||
c2 = data[i + 1]; | ||
c3 = data[i + 2]; | ||
result += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); | ||
i += 3; | ||
} | ||
} | ||
return result; | ||
} | ||
; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240259359466'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240259359466'; var __filename = '../lib/math.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
self.math = { | ||
rand: function (start, finish) { | ||
if (start === undefined) { | ||
start = 0; | ||
finish = 100; | ||
} | ||
if (finish === undefined) { | ||
finish = start; | ||
start = 0; | ||
} | ||
return Math.round(start + Math.random() * (finish - start)); | ||
}, | ||
uniq: function (key) { | ||
return (key || '') + (new Date()).getTime() + self.math.rand(100000); | ||
} | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240259457604'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240259457604'; var __filename = '../lib/templates.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var req = require; | ||
var coll =require('mod145905240258055707'); | ||
var obj =require('mod14590524025922327'); | ||
var fs, dconf, util; | ||
if (process) { | ||
var path = req('path'); | ||
var jade = req('jade'); | ||
var stylus = req('stylus'); | ||
var fs = req('./fs').fs; | ||
util = req('./util'); | ||
dconf = util.dconf({ | ||
dir: false, | ||
context: {} | ||
}); | ||
} else { | ||
var fs = false; | ||
dconf = function (conf) { | ||
return coll.extend(conf || {}, { | ||
dir: false, | ||
context: {} | ||
}); | ||
}; | ||
} | ||
var dot = createDot(); | ||
var self = exports; | ||
self.renderStylus = function (filename) { | ||
return stylus.render(fs.read(filename), { | ||
filename: filename | ||
}); | ||
}; | ||
self.template = function (source) { | ||
if (fs && fs.exists(source)) { | ||
source = fs.read(source); | ||
} | ||
return dot.template(source); | ||
}; | ||
self.render = function (source, context) { | ||
var tmpl = self.template(source); | ||
return tmpl(context); | ||
}; | ||
self.jtmpl = function (file, conf) { var config = dconf(conf); | ||
var filename = util.surext(file, 'jade'), | ||
template; | ||
if (config.force) { | ||
return function (context, conf) { | ||
if (!fs.exists(filename)) { | ||
return null; | ||
} | ||
return module.exports; | ||
var c = obj.extnew(config, conf), | ||
template = compile(c), | ||
context = obj.extnew(c.context, context); | ||
return template(context); | ||
}; | ||
}(); | ||
__loaders__["ef6149326e3cebc43d1f1268ed43bb07"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "ef6149326e3cebc43d1f1268ed43bb07"; | ||
var __filename = "events.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var self; | ||
(function() { | ||
"use strict"; | ||
self = exports; | ||
var coll = require("bd90b4e23f71932c81890cfaa3e67618"); | ||
self.mixins = { | ||
events: function events(obj) { | ||
var handlers = {}, onceHandlers = {}; | ||
if (obj.on || obj.emit) { | ||
return obj; | ||
} | ||
obj.on = function(name, handler) { | ||
handlers[name] = handlers[name] || []; | ||
handlers[name].push(handler); | ||
}; | ||
obj.once = function(name, handler) { | ||
onceHandlers[name] = onceHandlers[name] || []; | ||
onceHandlers[name].push(handler); | ||
}; | ||
obj.emit = function(name) { | ||
var args = coll.array(arguments).slice(1); | ||
coll.each(handlers[name], function(handler) { | ||
handler.apply(null, args); | ||
}); | ||
coll.each(onceHandlers[name], function(handler, i) { | ||
handler.apply(null, args); | ||
onceHandlers[name].splice(i, 1); | ||
}); | ||
}; | ||
} | ||
}; | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
} | ||
if (!fs.exists(filename)) { | ||
return null; | ||
} | ||
template = compile(config); | ||
return function (context) { | ||
var context = obj.extnew(config.context, context); | ||
return template(context); | ||
}; | ||
function compile(config) { | ||
var source = fs.read(filename), | ||
template = jade.compile(source, { | ||
filename: filename, | ||
pretty: !config.minify | ||
}); | ||
return template; | ||
} | ||
}; | ||
self.jrender = function (filename, context, conf) { var config = dconf(conf); | ||
var template = self.jtmpl(filename, config), | ||
html = template(context || {}); | ||
return html; | ||
}; | ||
self.jtmpls = function (tmpls, conf) { var config = dconf(conf); | ||
var templates = {}; | ||
coll.each(tmpls, function (file, name) { | ||
templates[name] = self.jtmpl(util.resdir(config.dir, file), config); | ||
}); | ||
return templates; | ||
}; | ||
function createDot() { | ||
var doT = { | ||
version: "1.0.3", | ||
templateSettings: { | ||
evaluate: /\{\{=([\s\S]+?)\}\}/g, | ||
interpolate: /\{\{([\s\S]+?(\}?)+)\}\}/g, | ||
encode: /\{\{!([\s\S]+?)\}\}/g, | ||
use: /\{\{#([\s\S]+?)\}\}/g, | ||
useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g, | ||
define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g, | ||
defineParams:/^\s*([\w$]+):([\s\S]+)/, | ||
conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g, | ||
iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g, | ||
varname: "self", | ||
strip: true, | ||
append: true, | ||
selfcontained: false, | ||
doNotSkipEncoded: false | ||
}, | ||
template: undefined, //fn, compile template | ||
compile: undefined //fn, for express | ||
}, | ||
startend = { | ||
append: { | ||
start: "'+(", | ||
end: ")+'", | ||
startencode: "'+encodeHTML(" | ||
}, | ||
split: { | ||
start: "';out+=(", | ||
end: ");out+='", | ||
startencode: "';out+=encodeHTML(" | ||
} | ||
return module.exports; | ||
}, | ||
skip = /$^/; | ||
doT.encodeHTMLSource = function(doNotSkipEncoded) { | ||
var encodeHTMLRules = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/" }, | ||
matchHTML = doNotSkipEncoded ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g; | ||
return function(code) { | ||
return code ? code.toString().replace(matchHTML, function(m) {return encodeHTMLRules[m] || m;}) : ""; | ||
}; | ||
}(); | ||
__loaders__["c597d0586e3a08057821242700048ab3"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "c597d0586e3a08057821242700048ab3"; | ||
var __filename = "functions.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var self; | ||
(function() { | ||
var safeFunction = function safeFunction(handler) { | ||
var safe = new Safe(handler); | ||
return function() { | ||
var args = coll.arr(arguments); | ||
return safe.call(args); | ||
}; | ||
}; | ||
var findRouteLinks = function findRouteLinks(fn) { | ||
var source = fn.toString(), re = /\$\.([a-zA-Z0-9\.\_\$]+)/gim, names = []; | ||
source.replace(re, function(str, name) { | ||
names.push(name); | ||
}); | ||
return coll.uniq(names); | ||
}; | ||
var argsList = function argsList(fn) { | ||
var re = /function\s+(?:[^\(]+)?\s*\(([^\)]+)/i, source = fn.toString(), result = re.exec(source) || [], argsStr = result[1], args = argsStr ? argsStr.split(",") : []; | ||
return args.map(function(name) { | ||
return name.trim(); | ||
}).filter(function(name) { | ||
return !!name; | ||
}); | ||
}; | ||
"use strict"; | ||
self = exports; | ||
var coll = require("bd90b4e23f71932c81890cfaa3e67618"); | ||
var config = require("e1af5f9622f376fbff1da18f72f5e70d"); | ||
var obj = require("59be2a8f5d267f0d70e17a12a3b61a86"); | ||
var STATUS = { | ||
NEW: 0, | ||
RUNNING: 1, | ||
SUCCESS: 2, | ||
FAIL: 3 | ||
}; | ||
self.fn = { | ||
argsList: argsList, | ||
findRouteLinks: findRouteLinks | ||
}; | ||
self.sf = safeFunction; | ||
var Safe = function() { | ||
function Safe(handler) { | ||
_classCallCheck(this, Safe); | ||
var self = this; | ||
self.handler = handler || null; | ||
self.mixins = coll.flagger(coll.arr(arguments, 1)); | ||
self.argsNames = self.getArgsNames(); | ||
self.routeLinks = exports.fn.findRouteLinks(handler); | ||
} | ||
_createClass(Safe, [ { | ||
key: "getArgsNames", | ||
value: function getArgsNames() { | ||
var self = this; | ||
return exports.fn.argsList(self.handler).slice(1); | ||
} | ||
}, { | ||
key: "getArgsHash", | ||
value: function getArgsHash(args) { | ||
var self = this, hash = {}; | ||
coll.each(self.argsNames, function(name, i) { | ||
hash[name] = args[i]; | ||
}); | ||
return hash; | ||
} | ||
}, { | ||
key: "getRouteHash", | ||
value: function getRouteHash(args) { | ||
var self = this, data = args[args.length - 1]; | ||
if ((typeof data === "undefined" ? "undefined" : _typeof(data)) !== "object") { | ||
return {}; | ||
} | ||
return data; | ||
} | ||
}, { | ||
key: "getRequestHash", | ||
value: function getRequestHash(args) { | ||
var self = this; | ||
return obj.extend(self.getRouteHash(args), self.getArgsHash(args)); | ||
} | ||
}, { | ||
key: "call", | ||
value: function call(args) { | ||
var self = this; | ||
return new Promise(function(resolve, reject) { | ||
var router = self.createRouter(args, resolve, reject); | ||
return router._call(); | ||
}); | ||
} | ||
}, { | ||
key: "createRouter", | ||
value: function createRouter(callArgs, resolve, reject) { | ||
var self = this, args = coll.arr(callArgs), handler = self.handler, request = self.getRequestHash(args), router = { | ||
done: false, | ||
_success: successHandler, | ||
success: successHandler, | ||
s: successHandler, | ||
resolve: successHandler, | ||
_fail: failHandler, | ||
fail: failHandler, | ||
f: failHandler, | ||
reject: failHandler, | ||
_error: errorHandler, | ||
error: errorHandler, | ||
err: errorHandler, | ||
_args: args, | ||
args: args, | ||
_call: call, | ||
_data: request, | ||
data: request, | ||
request: request | ||
}; | ||
args.unshift(router); | ||
obj.extend(router, request); | ||
return router; | ||
function call() { | ||
try { | ||
return handler.apply(null, args); | ||
} catch (err) { | ||
failHandler(err); | ||
} | ||
} | ||
function successHandler() { | ||
resolve.apply(null, Array.prototype.slice.call(arguments, 0)); | ||
} | ||
function failHandler() { | ||
reject.apply(null, Array.prototype.slice.call(arguments, 0)); | ||
} | ||
function errorHandler(err) { | ||
if (err) { | ||
failHandler(err); | ||
return true; | ||
} | ||
return false; | ||
} | ||
} | ||
} ]); | ||
return Safe; | ||
}(); | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
}; | ||
doT.template = function(tmpl, c, def) { | ||
c = c || doT.templateSettings; | ||
var cse = c.append ? startend.append : startend.split, needhtmlencode, sid = 0, indv, | ||
str = (c.use || c.define) ? resolveDefs(c, tmpl, def || {}) : tmpl; | ||
str = ("var out='" + (c.strip ? str.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ") | ||
.replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""): str) | ||
.replace(/'|\\/g, "\\$&") | ||
.replace(c.interpolate || skip, function(m, code) { | ||
return cse.start + unescape(code) + cse.end; | ||
}) | ||
.replace(c.encode || skip, function(m, code) { | ||
needhtmlencode = true; | ||
return cse.startencode + unescape(code) + cse.end; | ||
}) | ||
.replace(c.conditional || skip, function(m, elsecase, code) { | ||
return elsecase ? | ||
(code ? "';}else if(" + unescape(code) + "){out+='" : "';}else{out+='") : | ||
(code ? "';if(" + unescape(code) + "){out+='" : "';}out+='"); | ||
}) | ||
.replace(c.iterate || skip, function(m, iterate, vname, iname) { | ||
if (!iterate) return "';} } out+='"; | ||
sid+=1; indv=iname || "i"+sid; iterate=unescape(iterate); | ||
return "';var arr"+sid+"="+iterate+";if(arr"+sid+"){var "+vname+","+indv+"=-1,l"+sid+"=arr"+sid+".length-1;while("+indv+"<l"+sid+"){" | ||
+vname+"=arr"+sid+"["+indv+"+=1];out+='"; | ||
}) | ||
.replace(c.evaluate || skip, function(m, code) { | ||
return "';" + unescape(code) + "out+='"; | ||
}) | ||
+ "';return out;") | ||
.replace(/\n/g, "\\n").replace(/\t/g, '\\t').replace(/\r/g, "\\r") | ||
.replace(/(\s|;|\}|^|\{)out\+='';/g, '$1').replace(/\+''/g, ""); | ||
//.replace(/(\s|;|\}|^|\{)out\+=''\+/g,'$1out+='); | ||
if (needhtmlencode) { | ||
if (!c.selfcontained && _globals && !_globals._encodeHTML) _globals._encodeHTML = doT.encodeHTMLSource(c.doNotSkipEncoded); | ||
str = "var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : (" | ||
+ doT.encodeHTMLSource.toString() + "(" + (c.doNotSkipEncoded || '') + "));" | ||
+ str; | ||
} | ||
try { | ||
return new Function(c.varname, str); | ||
} catch (e) { | ||
if (typeof console !== "undefined") console.log("Could not create a template function: " + str); | ||
throw e; | ||
} | ||
}; | ||
doT.compile = function(tmpl, def) { | ||
return doT.template(tmpl, null, def); | ||
}; | ||
function resolveDefs(c, block, def) { | ||
return ((typeof block === "string") ? block : block.toString()) | ||
.replace(c.define || skip, function(m, code, assign, value) { | ||
if (code.indexOf("def.") === 0) { | ||
code = code.substring(4); | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["59be2a8f5d267f0d70e17a12a3b61a86"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "59be2a8f5d267f0d70e17a12a3b61a86"; | ||
var __filename = "objects.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var self; | ||
(function() { | ||
"use strict"; | ||
self = exports; | ||
var coll = require("bd90b4e23f71932c81890cfaa3e67618"); | ||
var events = require("ef6149326e3cebc43d1f1268ed43bb07"); | ||
self.extend = function(target, source) { | ||
coll.each(source, function(value, name) { | ||
target[name] = value; | ||
}); | ||
return target; | ||
}; | ||
self.extendUndefined = function(target, source) { | ||
coll.each(source, function(value, name) { | ||
if (target[name] !== undefined) { | ||
return; | ||
} | ||
target[name] = value; | ||
}); | ||
return target; | ||
}; | ||
self.clone = function(obj) { | ||
if (Array.isArray(obj)) { | ||
return obj.slice(0); | ||
} | ||
return self.extend({}, obj); | ||
}; | ||
self.copy = self.clone; | ||
self.mixins = { | ||
observe: function observe(obj, props) { | ||
var data = {}; | ||
events.mixins.events(obj); | ||
coll.each(props, function(value, name) { | ||
if (typeof value === "function") { | ||
return; | ||
} | ||
data[name] = value; | ||
delete props[name]; | ||
}); | ||
coll.each(data, function(value, name) { | ||
self.define(obj, name, { | ||
get: function get() { | ||
return data[name]; | ||
}, | ||
set: function set(value) { | ||
var oldValue = data[name]; | ||
data[name] = value; | ||
obj.emit(":observe:" + name, value, oldValue); | ||
obj.emit(":observe", name, value, oldValue); | ||
} | ||
}); | ||
}); | ||
obj.toJSON = function() { | ||
return coll.removeType(self.extend(self.clone(obj), data), "function"); | ||
}; | ||
return obj; | ||
} | ||
}; | ||
self.define = function(obj, name, props) { | ||
return Object.defineProperty(obj, name, props); | ||
}; | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["5866bf3bb9e43c0372b6e4b8c560a818"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "5866bf3bb9e43c0372b6e4b8c560a818"; | ||
var __filename = "logic.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
"use strict"; | ||
var self = exports; | ||
self.orUndef = function() { | ||
var values = Array.prototype.slice.call(arguments), value = null; | ||
values.forEach(function(val) { | ||
if (value || val === undefined) { | ||
return; | ||
} | ||
value = val; | ||
if (!(code in def)) { | ||
if (assign === ":") { | ||
if (c.defineParams) value.replace(c.defineParams, function(m, param, v) { | ||
def[code] = {arg: param, text: v}; | ||
}); | ||
return value; | ||
}; | ||
} catch (err) { | ||
console.error(err.stack); | ||
if (!(code in def)) def[code]= value; | ||
} else { | ||
new Function("def", "def['"+code+"']=" + value)(def); | ||
} | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["4d65cf1f66e0488b8d93772b06b55413"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "4d65cf1f66e0488b8d93772b06b55413"; | ||
var __filename = "math.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
"use strict"; | ||
var self = exports; | ||
self.math = { | ||
rand: function rand(start, finish) { | ||
if (start === undefined) { | ||
start = 0; | ||
finish = 100; | ||
} | ||
if (finish === undefined) { | ||
finish = start; | ||
start = 0; | ||
} | ||
return Math.round(start + Math.random() * (finish - start)); | ||
}, | ||
uniq: function uniq(key) { | ||
return (key || "") + new Date().getTime() + self.math.rand(1e5); | ||
} | ||
}; | ||
} catch (err) { | ||
console.error(err.stack); | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["8aa95d09691dc4e32d202b16d8f1136d"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "8aa95d09691dc4e32d202b16d8f1136d"; | ||
var __filename = "strings.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var self; | ||
(function() { | ||
var capitalize = function capitalize(str) { | ||
return str.slice(0, 1).toUpperCase() + str.slice(1); | ||
}; | ||
var decodeChars = function decodeChars(bin) { | ||
return String.fromCharCode.apply(null, new Uint8Array(bin)); | ||
}; | ||
var decodeUnicode = function decodeUnicode(arrayBuffer) { | ||
var result = "", i = 0, c = 0, c1 = 0, c2 = 0, data = new Uint8Array(arrayBuffer); | ||
if (data.length >= 3 && data[0] === 239 && data[1] === 187 && data[2] === 191) { | ||
i = 3; | ||
} | ||
while (i < data.length) { | ||
c = data[i]; | ||
if (c < 128) { | ||
result += String.fromCharCode(c); | ||
i++; | ||
} else if (c > 191 && c < 224) { | ||
if (i + 1 >= data.length) { | ||
throw "UTF-8 Decode failed. Two byte character was truncated."; | ||
} | ||
c2 = data[i + 1]; | ||
result += String.fromCharCode((c & 31) << 6 | c2 & 63); | ||
i += 2; | ||
} else { | ||
if (i + 2 >= data.length) { | ||
throw "UTF-8 Decode failed. Multi byte character was truncated."; | ||
} | ||
c2 = data[i + 1]; | ||
c3 = data[i + 2]; | ||
result += String.fromCharCode((c & 15) << 12 | (c2 & 63) << 6 | c3 & 63); | ||
i += 3; | ||
} | ||
} | ||
return result; | ||
}; | ||
"use strict"; | ||
var md5 = {}; | ||
self = exports; | ||
self.md5 = function(str) { | ||
return md5(str); | ||
}; | ||
self.removeTags = function(code) { | ||
code = code.replace(/\<[^\>]+\>/gim, "").trim(); | ||
return code; | ||
}; | ||
self.decodeChars = decodeChars; | ||
self.decodeUnicode = decodeUnicode; | ||
self.capitalize = capitalize; | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["51916cd48a79c7f8fc3194c94fb3adc2"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "51916cd48a79c7f8fc3194c94fb3adc2"; | ||
var __filename = "templates.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var self; | ||
(function() { | ||
var createDot = function createDot() { | ||
var doT = { | ||
version: "1.0.3", | ||
templateSettings: { | ||
evaluate: /\{\{=([\s\S]+?)\}\}/g, | ||
interpolate: /\{\{([\s\S]+?(\}?)+)\}\}/g, | ||
encode: /\{\{!([\s\S]+?)\}\}/g, | ||
use: /\{\{#([\s\S]+?)\}\}/g, | ||
useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g, | ||
define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g, | ||
defineParams: /^\s*([\w$]+):([\s\S]+)/, | ||
conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g, | ||
iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g, | ||
varname: "self", | ||
strip: true, | ||
append: true, | ||
selfcontained: false, | ||
doNotSkipEncoded: false | ||
}, | ||
template: undefined, | ||
//fn, compile template | ||
compile: undefined | ||
}, startend = { | ||
append: { | ||
start: "'+(", | ||
end: ")+'", | ||
startencode: "'+encodeHTML(" | ||
}, | ||
split: { | ||
start: "';out+=(", | ||
end: ");out+='", | ||
startencode: "';out+=encodeHTML(" | ||
} | ||
}, skip = /$^/; | ||
doT.encodeHTMLSource = function(doNotSkipEncoded) { | ||
var encodeHTMLRules = { | ||
"&": "&", | ||
"<": "<", | ||
">": ">", | ||
'"': """, | ||
"'": "'", | ||
"/": "/" | ||
}, matchHTML = doNotSkipEncoded ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g; | ||
return function(code) { | ||
return code ? code.toString().replace(matchHTML, function(m) { | ||
return encodeHTMLRules[m] || m; | ||
}) : ""; | ||
}; | ||
}; | ||
doT.template = function(tmpl, c, def) { | ||
c = c || doT.templateSettings; | ||
var cse = c.append ? startend.append : startend.split, needhtmlencode, sid = 0, indv, str = c.use || c.define ? resolveDefs(c, tmpl, def || {}) : tmpl; | ||
str = ("var out='" + (c.strip ? str.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g, " ").replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g, "") : str).replace(/'|\\/g, "\\$&").replace(c.interpolate || skip, function(m, code) { | ||
return cse.start + unescape(code) + cse.end; | ||
}).replace(c.encode || skip, function(m, code) { | ||
needhtmlencode = true; | ||
return cse.startencode + unescape(code) + cse.end; | ||
}).replace(c.conditional || skip, function(m, elsecase, code) { | ||
return elsecase ? code ? "';}else if(" + unescape(code) + "){out+='" : "';}else{out+='" : code ? "';if(" + unescape(code) + "){out+='" : "';}out+='"; | ||
}).replace(c.iterate || skip, function(m, iterate, vname, iname) { | ||
if (!iterate) return "';} } out+='"; | ||
sid += 1; | ||
indv = iname || "i" + sid; | ||
iterate = unescape(iterate); | ||
return "';var arr" + sid + "=" + iterate + ";if(arr" + sid + "){var " + vname + "," + indv + "=-1,l" + sid + "=arr" + sid + ".length-1;while(" + indv + "<l" + sid + "){" + vname + "=arr" + sid + "[" + indv + "+=1];out+='"; | ||
}).replace(c.evaluate || skip, function(m, code) { | ||
return "';" + unescape(code) + "out+='"; | ||
}) + "';return out;").replace(/\n/g, "\\n").replace(/\t/g, "\\t").replace(/\r/g, "\\r").replace(/(\s|;|\}|^|\{)out\+='';/g, "$1").replace(/\+''/g, ""); | ||
//.replace(/(\s|;|\}|^|\{)out\+=''\+/g,'$1out+='); | ||
if (needhtmlencode) { | ||
if (!c.selfcontained && _globals && !_globals._encodeHTML) _globals._encodeHTML = doT.encodeHTMLSource(c.doNotSkipEncoded); | ||
str = "var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : (" + doT.encodeHTMLSource.toString() + "(" + (c.doNotSkipEncoded || "") + "));" + str; | ||
} | ||
try { | ||
return new Function(c.varname, str); | ||
} catch (e) { | ||
if (typeof console !== "undefined") console.log("Could not create a template function: " + str); | ||
throw e; | ||
} | ||
}; | ||
doT.compile = function(tmpl, def) { | ||
return doT.template(tmpl, null, def); | ||
}; | ||
function resolveDefs(c, block, def) { | ||
return (typeof block === "string" ? block : block.toString()).replace(c.define || skip, function(m, code, assign, value) { | ||
if (code.indexOf("def.") === 0) { | ||
code = code.substring(4); | ||
} | ||
if (!(code in def)) { | ||
if (assign === ":") { | ||
if (c.defineParams) value.replace(c.defineParams, function(m, param, v) { | ||
def[code] = { | ||
arg: param, | ||
text: v | ||
}; | ||
}); | ||
if (!(code in def)) def[code] = value; | ||
} else { | ||
new Function("def", "def['" + code + "']=" + value)(def); | ||
} | ||
} | ||
return ""; | ||
}).replace(c.use || skip, function(m, code) { | ||
if (c.useParams) code = code.replace(c.useParams, function(m, s, d, param) { | ||
if (def[d] && def[d].arg && param) { | ||
var rw = (d + ":" + param).replace(/'|\\/g, "_"); | ||
def.__exp = def.__exp || {}; | ||
def.__exp[rw] = def[d].text.replace(new RegExp("(^|[^\\w$])" + def[d].arg + "([^\\w$])", "g"), "$1" + param + "$2"); | ||
return s + "def.__exp['" + rw + "']"; | ||
} | ||
}); | ||
var v = new Function("def", "return " + code)(def); | ||
return v ? resolveDefs(c, v, def) : v; | ||
}); | ||
} | ||
function unescape(code) { | ||
return code.replace(/\\('|\\)/g, "$1").replace(/[\r\t\n]/g, " "); | ||
} | ||
return doT; | ||
}; | ||
"use strict"; | ||
var dot = createDot(); | ||
var fs = require("e0935a58e808ac7dd9f84177bd5abfb0").fs; | ||
self = exports; | ||
self.template = function(source) { | ||
if (fs.exists(source)) { | ||
source = fs.read(source); | ||
} | ||
return dot.template(source); | ||
}; | ||
self.render = function(source, context) { | ||
var tmpl = self.template(source); | ||
return tmpl(context); | ||
}; | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
__loaders__["e0935a58e808ac7dd9f84177bd5abfb0"] = function() { | ||
return function() { | ||
"use strict"; | ||
var __moduleid = "e0935a58e808ac7dd9f84177bd5abfb0"; | ||
var __filename = "fs.js"; | ||
var module = { | ||
exports: {} | ||
}; | ||
var exports = module.exports; | ||
var __dirname = ""; | ||
var global = window || global; | ||
try { | ||
var self; | ||
(function() { | ||
"use strict"; | ||
var fs = {}; | ||
var path = {}; | ||
self = exports; | ||
self.fs = { | ||
allFiles: function allFiles(dir) { | ||
if (fs.statSync(dir).isFile()) { | ||
return [ dir ]; | ||
} | ||
var files = []; | ||
fs.readdirSync(dir).forEach(function(file) { | ||
files = files.concat(self.fs.allFiles(path.join(dir, file))); | ||
}); | ||
return files; | ||
}, | ||
read: function read(filename) { | ||
return fs.readFileSync(filename) + ""; | ||
}, | ||
write: function write(filename, content) { | ||
return fs.writeFileSync(filename, content); | ||
}, | ||
exists: function exists(filename) { | ||
return fs.existsSync(filename); | ||
} | ||
}; | ||
})(); | ||
} catch (err) { | ||
console.error(err.stack); | ||
} | ||
return module.exports; | ||
}; | ||
}(); | ||
require("24781db70a53019cde76449a57791015"); | ||
})(); | ||
return ""; | ||
}) | ||
.replace(c.use || skip, function(m, code) { | ||
if (c.useParams) code = code.replace(c.useParams, function(m, s, d, param) { | ||
if (def[d] && def[d].arg && param) { | ||
var rw = (d+":"+param).replace(/'|\\/g, "_"); | ||
def.__exp = def.__exp || {}; | ||
def.__exp[rw] = def[d].text.replace(new RegExp("(^|[^\\w$])" + def[d].arg + "([^\\w$])", "g"), "$1" + param + "$2"); | ||
return s + "def.__exp['"+rw+"']"; | ||
} | ||
}); | ||
var v = new Function("def", "return " + code)(def); | ||
return v ? resolveDefs(c, v, def) : v; | ||
}); | ||
} | ||
function unescape(code) { | ||
return code.replace(/\\('|\\)/g, "$1").replace(/[\r\t\n]/g, " "); | ||
} | ||
return doT; | ||
} | ||
; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod14590524025946646'] = (function () { return function () { 'use strict'; var __moduleid = 'mod14590524025946646'; var __filename = '../lib/util.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var mod = exports; | ||
// General | ||
var req = require; | ||
var coll =require('mod145905240258055707'); | ||
var obj =require('mod14590524025922327'); | ||
mod.config = function (defaultConfig) { | ||
defaultConfig = defaultConfig || {}; | ||
return function (config) { | ||
var data = {}; | ||
config = config || {}; | ||
coll.each(obj.keys(defaultConfig, config), function (key) { | ||
data[key] = config[key] === undefined ? defaultConfig[key] : config[key]; | ||
}); | ||
return data; | ||
}; | ||
}; | ||
mod.dconf = mod.config; | ||
mod.conf = mod.config; | ||
mod.log = function () { | ||
return console.log.apply(console, coll.arr(arguments)); | ||
}; | ||
mod.trace = function (msg) { | ||
mod.log((new Error(msg)).stack); | ||
}; | ||
// Only Node | ||
if (!process) { return; } | ||
var path = req('path'); | ||
mod.surext = function (filename, ext) { | ||
if (ext[0] !== '.') { | ||
ext = '.' + ext; | ||
} | ||
if (path.extname(filename) !== ext) { | ||
filename = filename + ext; | ||
} | ||
return filename; | ||
}; | ||
mod.resdir = function (dir, filename) { | ||
if (dir) { | ||
filename = path && path.resolve(dir, filename); | ||
} | ||
return filename; | ||
}; | ||
; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240259691098'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240259691098'; var __filename = '../lib/config.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
exports.config = { | ||
debug: true | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240259528852'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240259528852'; var __filename = '../lib/functions.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var coll =require('mod145905240258055707'); | ||
var config =require('mod145905240259691098'); | ||
var obj =require('mod14590524025922327'); | ||
var util =require('mod14590524025946646'); | ||
var STATUS = { | ||
NEW: 0, | ||
RUNNING: 1, | ||
SUCCESS: 2, | ||
FAIL: 3 | ||
}; | ||
self.fn = { | ||
argsList: argsList, | ||
findRouteLinks: findRouteLinks | ||
}; | ||
self.sf = safeFunction; | ||
function safeFunction(handler) { | ||
var safe = new Safe(handler); | ||
return function () { | ||
var args = coll.arr(arguments); | ||
return safe.call(args); | ||
}; | ||
} | ||
function findRouteLinks(fn) { | ||
var source = fn.toString(), | ||
re = /\$\.([a-zA-Z0-9\.\_\$]+)/mgi, | ||
names = []; | ||
source.replace(re, function (str, name) { | ||
names.push(name); | ||
}); | ||
return coll.uniq(names); | ||
} | ||
function argsList(fn) { | ||
var re = /function\s+(?:[^\(]+)?\s*\(([^\)]+)/i, | ||
source = fn.toString(), | ||
result = re.exec(source) || [], | ||
argsStr = result[1], | ||
args = argsStr ? argsStr.split(',') : []; | ||
return args.map(function (name) { | ||
return name.trim(); | ||
}).filter(function (name) { | ||
return !!name; | ||
}); | ||
} | ||
class Safe { | ||
constructor(handler) { | ||
var self = this; | ||
self.handler = handler || null; | ||
self.mixins = coll.flagger(coll.arr(arguments, 1)); | ||
self.argsNames = self.getArgsNames(); | ||
self.routeLinks = exports.fn.findRouteLinks(handler); | ||
} | ||
getArgsNames() { | ||
var self = this; | ||
return exports.fn.argsList(self.handler).slice(1); | ||
} | ||
getArgsHash(args) { | ||
var self = this, | ||
hash = {}; | ||
coll.each(self.argsNames, function (name, i) { | ||
hash[name] = args[i]; | ||
}); | ||
return hash; | ||
} | ||
getRouteHash(args) { | ||
var self = this, | ||
data = args[args.length - 1]; | ||
if (typeof data !== 'object') { | ||
return {}; | ||
} | ||
return data; | ||
} | ||
getRequestHash(args) { | ||
var self = this; | ||
return obj.extend(self.getRouteHash(args), self.getArgsHash(args)); | ||
} | ||
call(args) { | ||
var self = this; | ||
return new Promise(function (resolve, reject) { | ||
var router = self.createRouter(args, resolve, reject); | ||
return router._call(); | ||
}); | ||
} | ||
createRouter(callArgs, resolve, reject) { | ||
var self = this, | ||
args = coll.arr(callArgs), | ||
handler = self.handler, | ||
request = self.getRequestHash(args), | ||
router = { | ||
done: false, | ||
_success: successHandler, | ||
success: successHandler, | ||
s: successHandler, | ||
resolve: successHandler, | ||
_fail: failHandler, | ||
fail: failHandler, | ||
f: failHandler, | ||
reject: failHandler, | ||
_error: errorHandler, | ||
error: errorHandler, | ||
err: errorHandler, | ||
_args: args, | ||
args: args, | ||
_call: call, | ||
_data: request, | ||
data: request, | ||
request: request | ||
}; | ||
args.unshift(router); | ||
obj.extend(router, request); | ||
return router; | ||
function call() { | ||
try { | ||
return handler.apply(null, args); | ||
} catch(err) { | ||
failHandler(err); | ||
} | ||
} | ||
function successHandler() { | ||
var args = coll.arr(arguments); | ||
resolve.apply(null, args); | ||
} | ||
function failHandler() { | ||
var args = coll.arr(arguments); | ||
reject.apply(null, args); | ||
} | ||
function errorHandler(err) { | ||
if (err) { | ||
failHandler(err); | ||
return true; | ||
} | ||
return false; | ||
} | ||
} | ||
}; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod14590524025975281'] = (function () { return function () { 'use strict'; var __moduleid = 'mod14590524025975281'; var __filename = '../lib/logic.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
self.orUndef = function () { | ||
var values = Array.prototype.slice.call(arguments), | ||
value = null; | ||
values.forEach(function (val) { | ||
if (value || val === undefined) { | ||
return; | ||
} | ||
value = val; | ||
}); | ||
return value; | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240253632554'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240253632554'; var __filename = 'app.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = ''; try { ;'use strict'; | ||
var modules = [require('mod145905240258055707'),require('mod14590524025922327'),require('mod145905240259270512'),require('mod145905240259311522'),require('mod145905240259359466'),require('mod145905240259457604'),require('mod14590524025946646'),require('mod145905240259528852'),require('mod14590524025975281') | ||
]; | ||
modules.forEach(function (mod) { | ||
extend(exports, mod); | ||
}); | ||
function extend(target, source) { | ||
Object.keys(source).forEach(function (name) { | ||
if (target[name] && typeof target[name] === 'object') { | ||
extend(target[name], source[name]); | ||
return; | ||
} | ||
target[name] = source[name]; | ||
}); | ||
} | ||
if (window) { | ||
window._ = exports; | ||
}; } catch(err) { console.error(err.stack); } return module.exports; };}()); return require('mod145905240253632554');}()); |
827
cutil.min.js
@@ -1,1 +0,826 @@ | ||
(function(){var __loaders__={},__modules__={};const require=function __require__(id){if(__modules__[id]){return __modules__[id]}__modules__[id]=__loaders__[id]();return __modules__[id]};"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol?"symbol":typeof obj};function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}__loaders__["24781db70a53019cde76449a57791015"]=function(){return function(){"use strict";var __moduleid="24781db70a53019cde76449a57791015";var __filename="client.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var modules;(function(){var extend=function extend(target,source){Object.keys(source).forEach(function(name){if(target[name]&&_typeof(target[name])==="object"){extend(target[name],source[name]);return}target[name]=source[name]})};"use strict";modules=[require("e1af5f9622f376fbff1da18f72f5e70d"),require("211c40cc96f245e4f49b4f3742f6f70a"),require("bd90b4e23f71932c81890cfaa3e67618"),require("ef6149326e3cebc43d1f1268ed43bb07"),require("c597d0586e3a08057821242700048ab3"),require("5866bf3bb9e43c0372b6e4b8c560a818"),require("4d65cf1f66e0488b8d93772b06b55413"),require("59be2a8f5d267f0d70e17a12a3b61a86"),require("8aa95d09691dc4e32d202b16d8f1136d"),require("51916cd48a79c7f8fc3194c94fb3adc2")];modules.forEach(function(mod){extend(exports,mod)});if(window){window._=exports}})()}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["e1af5f9622f376fbff1da18f72f5e70d"]=function(){return function(){"use strict";var __moduleid="e1af5f9622f376fbff1da18f72f5e70d";var __filename="config.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{"use strict";exports.config={debug:true}}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["211c40cc96f245e4f49b4f3742f6f70a"]=function(){return function(){"use strict";var __moduleid="211c40cc96f245e4f49b4f3742f6f70a";var __filename="code.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var self;(function(){var transform=function transform(source){return babel.transform(source,{presets:[{}]}).code};var prettyJS=function prettyJS(source){var ast=uglify.parse(source,{strict:true});return ast.print_to_string({indent_level:4,beautify:true,comments:true})};var minifyJS=function minifyJS(source){var ast=uglify.parse(source,{strict:true});return ast.print_to_string()};"use strict";var uglify={};var babel={};self=exports;var Snippet=function(){function Snippet(source){_classCallCheck(this,Snippet);var self=this;self.source=source||"";self.original=self.source;self.comments=[]}_createClass(Snippet,[{key:"removeComments",value:function removeComments(){var self=this,comments=[],source=self.source,re=/(\/\/.+$)|(\/\*[\s\S]*?\*\/)/gim;source=source.replace(re,replaceComments);function replaceComments(str,code1,code2){var id=comments.length;comments.push(code1||code2);return"{{comment#"+id+"}}"}self.source=source;self.comments=comments;return source}},{key:"restoreComments",value:function restoreComments(source){var self=this,source=source||self.source,re=/\{\{comment\#([0-9]+)\}\}/gm,comments=self.comments;source=source.replace(re,replaceComments);function replaceComments(str,id){return comments[+id]}self.source=source;return source}}]);return Snippet}();self.code={Snippet:Snippet,prettyJS:prettyJS,minifyJS:minifyJS,transform:transform}})()}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["bd90b4e23f71932c81890cfaa3e67618"]=function(){return function(){"use strict";var __moduleid="bd90b4e23f71932c81890cfaa3e67618";var __filename="collections.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{"use strict";var self=exports;self.array=function(obj){var args=Array.prototype.slice.call(arguments,1);return Array.prototype.slice.apply(obj,args)};self.arr=self.array;self.removeType=function(arr,type){if(Array.isArray(arr)){return arr.filter(function(item){return(typeof item==="undefined"?"undefined":_typeof(item))!==type})}self.each(arr,function(value,name){if((typeof value==="undefined"?"undefined":_typeof(value))!==type){return}delete arr[name]});return arr};self.uniq=function(arr){var index={},items=[];self.each(self.arr(arr),function(item){var key=JSON.stringify(item);if(index[key]!==undefined){return}items.push(item);index[key]=true});return items};self.unique=self.uniq;self.flagger=function(arr){var flagger={};self.each(self.arr(arr),function(name){flagger[name]=true});return flagger};self.each=function each(arr,iterator){if(!arr){return arr}if(Array.isArray(arr)){arr.forEach(iterator);return arr}Object.keys(arr).forEach(function(name){var value=arr[name];iterator(value,name)})};self.compact=function compact(arr){return Array.prototype.slice.call(arr,0).filter(function(item){return!!item})};self.invoke=function invoke(arr,name){var args=Array.prototype.slice.call(arguments,2);self.each(arr,function(item){item[name].apply(item,args)});return arr}}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["ef6149326e3cebc43d1f1268ed43bb07"]=function(){return function(){"use strict";var __moduleid="ef6149326e3cebc43d1f1268ed43bb07";var __filename="events.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var self;(function(){"use strict";self=exports;var coll=require("bd90b4e23f71932c81890cfaa3e67618");self.mixins={events:function events(obj){var handlers={},onceHandlers={};if(obj.on||obj.emit){return obj}obj.on=function(name,handler){handlers[name]=handlers[name]||[];handlers[name].push(handler)};obj.once=function(name,handler){onceHandlers[name]=onceHandlers[name]||[];onceHandlers[name].push(handler)};obj.emit=function(name){var args=coll.array(arguments).slice(1);coll.each(handlers[name],function(handler){handler.apply(null,args)});coll.each(onceHandlers[name],function(handler,i){handler.apply(null,args);onceHandlers[name].splice(i,1)})}}}})()}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["c597d0586e3a08057821242700048ab3"]=function(){return function(){"use strict";var __moduleid="c597d0586e3a08057821242700048ab3";var __filename="functions.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var self;(function(){var safeFunction=function safeFunction(handler){var safe=new Safe(handler);return function(){var args=coll.arr(arguments);return safe.call(args)}};var findRouteLinks=function findRouteLinks(fn){var source=fn.toString(),re=/\$\.([a-zA-Z0-9\.\_\$]+)/gim,names=[];source.replace(re,function(str,name){names.push(name)});return coll.uniq(names)};var argsList=function argsList(fn){var re=/function\s+(?:[^\(]+)?\s*\(([^\)]+)/i,source=fn.toString(),result=re.exec(source)||[],argsStr=result[1],args=argsStr?argsStr.split(","):[];return args.map(function(name){return name.trim()}).filter(function(name){return!!name})};"use strict";self=exports;var coll=require("bd90b4e23f71932c81890cfaa3e67618");var config=require("e1af5f9622f376fbff1da18f72f5e70d");var obj=require("59be2a8f5d267f0d70e17a12a3b61a86");var STATUS={NEW:0,RUNNING:1,SUCCESS:2,FAIL:3};self.fn={argsList:argsList,findRouteLinks:findRouteLinks};self.sf=safeFunction;var Safe=function(){function Safe(handler){_classCallCheck(this,Safe);var self=this;self.handler=handler||null;self.mixins=coll.flagger(coll.arr(arguments,1));self.argsNames=self.getArgsNames();self.routeLinks=exports.fn.findRouteLinks(handler)}_createClass(Safe,[{key:"getArgsNames",value:function getArgsNames(){var self=this;return exports.fn.argsList(self.handler).slice(1)}},{key:"getArgsHash",value:function getArgsHash(args){var self=this,hash={};coll.each(self.argsNames,function(name,i){hash[name]=args[i]});return hash}},{key:"getRouteHash",value:function getRouteHash(args){var self=this,data=args[args.length-1];if((typeof data==="undefined"?"undefined":_typeof(data))!=="object"){return{}}return data}},{key:"getRequestHash",value:function getRequestHash(args){var self=this;return obj.extend(self.getRouteHash(args),self.getArgsHash(args))}},{key:"call",value:function call(args){var self=this;return new Promise(function(resolve,reject){var router=self.createRouter(args,resolve,reject);return router._call()})}},{key:"createRouter",value:function createRouter(callArgs,resolve,reject){var self=this,args=coll.arr(callArgs),handler=self.handler,request=self.getRequestHash(args),router={done:false,_success:successHandler,success:successHandler,s:successHandler,resolve:successHandler,_fail:failHandler,fail:failHandler,f:failHandler,reject:failHandler,_error:errorHandler,error:errorHandler,err:errorHandler,_args:args,args:args,_call:call,_data:request,data:request,request:request};args.unshift(router);obj.extend(router,request);return router;function call(){try{return handler.apply(null,args)}catch(err){failHandler(err)}}function successHandler(){resolve.apply(null,Array.prototype.slice.call(arguments,0))}function failHandler(){reject.apply(null,Array.prototype.slice.call(arguments,0))}function errorHandler(err){if(err){failHandler(err);return true}return false}}}]);return Safe}()})()}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["59be2a8f5d267f0d70e17a12a3b61a86"]=function(){return function(){"use strict";var __moduleid="59be2a8f5d267f0d70e17a12a3b61a86";var __filename="objects.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var self;(function(){"use strict";self=exports;var coll=require("bd90b4e23f71932c81890cfaa3e67618");var events=require("ef6149326e3cebc43d1f1268ed43bb07");self.extend=function(target,source){coll.each(source,function(value,name){target[name]=value});return target};self.extendUndefined=function(target,source){coll.each(source,function(value,name){if(target[name]!==undefined){return}target[name]=value});return target};self.clone=function(obj){if(Array.isArray(obj)){return obj.slice(0)}return self.extend({},obj)};self.copy=self.clone;self.mixins={observe:function observe(obj,props){var data={};events.mixins.events(obj);coll.each(props,function(value,name){if(typeof value==="function"){return}data[name]=value;delete props[name]});coll.each(data,function(value,name){self.define(obj,name,{get:function get(){return data[name]},set:function set(value){var oldValue=data[name];data[name]=value;obj.emit(":observe:"+name,value,oldValue);obj.emit(":observe",name,value,oldValue)}})});obj.toJSON=function(){return coll.removeType(self.extend(self.clone(obj),data),"function")};return obj}};self.define=function(obj,name,props){return Object.defineProperty(obj,name,props)}})()}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["5866bf3bb9e43c0372b6e4b8c560a818"]=function(){return function(){"use strict";var __moduleid="5866bf3bb9e43c0372b6e4b8c560a818";var __filename="logic.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{"use strict";var self=exports;self.orUndef=function(){var values=Array.prototype.slice.call(arguments),value=null;values.forEach(function(val){if(value||val===undefined){return}value=val});return value}}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["4d65cf1f66e0488b8d93772b06b55413"]=function(){return function(){"use strict";var __moduleid="4d65cf1f66e0488b8d93772b06b55413";var __filename="math.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{"use strict";var self=exports;self.math={rand:function rand(start,finish){if(start===undefined){start=0;finish=100}if(finish===undefined){finish=start;start=0}return Math.round(start+Math.random()*(finish-start))},uniq:function uniq(key){return(key||"")+(new Date).getTime()+self.math.rand(1e5)}}}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["8aa95d09691dc4e32d202b16d8f1136d"]=function(){return function(){"use strict";var __moduleid="8aa95d09691dc4e32d202b16d8f1136d";var __filename="strings.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var self;(function(){var capitalize=function capitalize(str){return str.slice(0,1).toUpperCase()+str.slice(1)};var decodeChars=function decodeChars(bin){return String.fromCharCode.apply(null,new Uint8Array(bin))};var decodeUnicode=function decodeUnicode(arrayBuffer){var result="",i=0,c=0,c1=0,c2=0,data=new Uint8Array(arrayBuffer);if(data.length>=3&&data[0]===239&&data[1]===187&&data[2]===191){i=3}while(i<data.length){c=data[i];if(c<128){result+=String.fromCharCode(c);i++}else if(c>191&&c<224){if(i+1>=data.length){throw"UTF-8 Decode failed. Two byte character was truncated."}c2=data[i+1];result+=String.fromCharCode((c&31)<<6|c2&63);i+=2}else{if(i+2>=data.length){throw"UTF-8 Decode failed. Multi byte character was truncated."}c2=data[i+1];c3=data[i+2];result+=String.fromCharCode((c&15)<<12|(c2&63)<<6|c3&63);i+=3}}return result};"use strict";var md5={};self=exports;self.md5=function(str){return md5(str)};self.removeTags=function(code){code=code.replace(/\<[^\>]+\>/gim,"").trim();return code};self.decodeChars=decodeChars;self.decodeUnicode=decodeUnicode;self.capitalize=capitalize})()}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["51916cd48a79c7f8fc3194c94fb3adc2"]=function(){return function(){"use strict";var __moduleid="51916cd48a79c7f8fc3194c94fb3adc2";var __filename="templates.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var self;(function(){var createDot=function createDot(){var doT={version:"1.0.3",templateSettings:{evaluate:/\{\{=([\s\S]+?)\}\}/g,interpolate:/\{\{([\s\S]+?(\}?)+)\}\}/g,encode:/\{\{!([\s\S]+?)\}\}/g,use:/\{\{#([\s\S]+?)\}\}/g,useParams:/(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g,define:/\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,defineParams:/^\s*([\w$]+):([\s\S]+)/,conditional:/\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,iterate:/\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,varname:"self",strip:true,append:true,selfcontained:false,doNotSkipEncoded:false},template:undefined,compile:undefined},startend={append:{start:"'+(",end:")+'",startencode:"'+encodeHTML("},split:{start:"';out+=(",end:");out+='",startencode:"';out+=encodeHTML("}},skip=/$^/;doT.encodeHTMLSource=function(doNotSkipEncoded){var encodeHTMLRules={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},matchHTML=doNotSkipEncoded?/[&<>"'\/]/g:/&(?!#?\w+;)|<|>|"|'|\//g;return function(code){return code?code.toString().replace(matchHTML,function(m){return encodeHTMLRules[m]||m}):""}};doT.template=function(tmpl,c,def){c=c||doT.templateSettings;var cse=c.append?startend.append:startend.split,needhtmlencode,sid=0,indv,str=c.use||c.define?resolveDefs(c,tmpl,def||{}):tmpl;str=("var out='"+(c.strip?str.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ").replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""):str).replace(/'|\\/g,"\\$&").replace(c.interpolate||skip,function(m,code){return cse.start+unescape(code)+cse.end}).replace(c.encode||skip,function(m,code){needhtmlencode=true;return cse.startencode+unescape(code)+cse.end}).replace(c.conditional||skip,function(m,elsecase,code){return elsecase?code?"';}else if("+unescape(code)+"){out+='":"';}else{out+='":code?"';if("+unescape(code)+"){out+='":"';}out+='"}).replace(c.iterate||skip,function(m,iterate,vname,iname){if(!iterate)return"';} } out+='";sid+=1;indv=iname||"i"+sid;iterate=unescape(iterate);return"';var arr"+sid+"="+iterate+";if(arr"+sid+"){var "+vname+","+indv+"=-1,l"+sid+"=arr"+sid+".length-1;while("+indv+"<l"+sid+"){"+vname+"=arr"+sid+"["+indv+"+=1];out+='"}).replace(c.evaluate||skip,function(m,code){return"';"+unescape(code)+"out+='"})+"';return out;").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/(\s|;|\}|^|\{)out\+='';/g,"$1").replace(/\+''/g,"");if(needhtmlencode){if(!c.selfcontained&&_globals&&!_globals._encodeHTML)_globals._encodeHTML=doT.encodeHTMLSource(c.doNotSkipEncoded);str="var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : ("+doT.encodeHTMLSource.toString()+"("+(c.doNotSkipEncoded||"")+"));"+str}try{return new Function(c.varname,str)}catch(e){if(typeof console!=="undefined")console.log("Could not create a template function: "+str);throw e}};doT.compile=function(tmpl,def){return doT.template(tmpl,null,def)};function resolveDefs(c,block,def){return(typeof block==="string"?block:block.toString()).replace(c.define||skip,function(m,code,assign,value){if(code.indexOf("def.")===0){code=code.substring(4)}if(!(code in def)){if(assign===":"){if(c.defineParams)value.replace(c.defineParams,function(m,param,v){def[code]={arg:param,text:v}});if(!(code in def))def[code]=value}else{new Function("def","def['"+code+"']="+value)(def)}}return""}).replace(c.use||skip,function(m,code){if(c.useParams)code=code.replace(c.useParams,function(m,s,d,param){if(def[d]&&def[d].arg&¶m){var rw=(d+":"+param).replace(/'|\\/g,"_");def.__exp=def.__exp||{};def.__exp[rw]=def[d].text.replace(new RegExp("(^|[^\\w$])"+def[d].arg+"([^\\w$])","g"),"$1"+param+"$2");return s+"def.__exp['"+rw+"']"}});var v=new Function("def","return "+code)(def);return v?resolveDefs(c,v,def):v})}function unescape(code){return code.replace(/\\('|\\)/g,"$1").replace(/[\r\t\n]/g," ")}return doT};"use strict";var dot=createDot();var fs=require("e0935a58e808ac7dd9f84177bd5abfb0").fs;self=exports;self.template=function(source){if(fs.exists(source)){source=fs.read(source)}return dot.template(source)};self.render=function(source,context){var tmpl=self.template(source);return tmpl(context)}})()}catch(err){console.error(err.stack)}return module.exports}}();__loaders__["e0935a58e808ac7dd9f84177bd5abfb0"]=function(){return function(){"use strict";var __moduleid="e0935a58e808ac7dd9f84177bd5abfb0";var __filename="fs.js";var module={exports:{}};var exports=module.exports;var __dirname="";var global=window||global;try{var self;(function(){"use strict";var fs={};var path={};self=exports;self.fs={allFiles:function allFiles(dir){if(fs.statSync(dir).isFile()){return[dir]}var files=[];fs.readdirSync(dir).forEach(function(file){files=files.concat(self.fs.allFiles(path.join(dir,file)))});return files},read:function read(filename){return fs.readFileSync(filename)+""},write:function write(filename,content){return fs.writeFileSync(filename,content)},exists:function exists(filename){return fs.existsSync(filename)}}})()}catch(err){console.error(err.stack)}return module.exports}}();require("24781db70a53019cde76449a57791015")})(); | ||
(function () { 'use strict'; var __global__ = this; var __client = true; var process = false; try { if (!window) { throw new Error(); } __global__ = window; } catch(err) { try { __global__ = global; } catch(err) { } } var global = __global__ || {}; global.JB_INDEX = JSON.parse('{"mod145905240266358464":{"id":"mod145905240266358464","filename":"/Users/teniryte/cort/man/lib/collections.js"},"mod145905240266453149":{"id":"mod145905240266453149","filename":"/Users/teniryte/cort/man/lib/events.js"},"mod145905240266491063":{"id":"mod145905240266491063","filename":"/Users/teniryte/cort/man/lib/objects.js"},"mod14590524026658988":{"id":"mod14590524026658988","filename":"/Users/teniryte/cort/man/lib/strings.js"},"mod145905240266657928":{"id":"mod145905240266657928","filename":"/Users/teniryte/cort/man/lib/math.js"},"mod145905240266625218":{"id":"mod145905240266625218","filename":"/Users/teniryte/cort/man/lib/templates.js"},"mod145905240266672584":{"id":"mod145905240266672584","filename":"/Users/teniryte/cort/man/lib/util.js"},"mod145905240266792081":{"id":"mod145905240266792081","filename":"/Users/teniryte/cort/man/lib/config.js"},"mod145905240266778568":{"id":"mod145905240266778568","filename":"/Users/teniryte/cort/man/lib/functions.js"},"mod145905240266836429":{"id":"mod145905240266836429","filename":"/Users/teniryte/cort/man/lib/logic.js"},"mod145905240266342699":{"id":"mod145905240266342699","filename":"/Users/teniryte/cort/man/tools/app.js"}}'); var __loaders__ = {}, __modules__ = {}; var require = function __require__(id) { if (__modules__[id]) { return __modules__[id]; } var loader = __loaders__[id]; if (typeof loader !== 'function') { console.error('Loader is not function', { id: id, filename: JB_INDEX[id], loader: loader }); return; } __modules__[id] = loader(); return __modules__[id]; }; ;__loaders__['absent'] = (function () { return function () { var module = { exports: {} }; var exports = module.exports; return module.exports; }; }()); ;__loaders__['mod145905240266358464'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266358464'; var __filename = '../lib/collections.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
self.array = function (obj) { | ||
var args = Array.prototype.slice.call(arguments, 1); | ||
return Array.prototype.slice.apply(obj, args); | ||
}; | ||
self.arr = self.array; | ||
self.removeType = function (arr, type) { | ||
if (Array.isArray(arr)) { | ||
return arr.filter(function (item) { | ||
return typeof item !== type; | ||
}); | ||
} | ||
self.each(arr, function (value, name) { | ||
if (typeof value !== type) { | ||
return; | ||
} | ||
delete arr[name]; | ||
}); | ||
return arr; | ||
}; | ||
self.uniq = function (arr) { | ||
var index = {}, | ||
items = []; | ||
self.each(self.arr(arr), function (item) { | ||
var key = JSON.stringify(item); | ||
if (index[key] !== undefined) { | ||
return; | ||
} | ||
items.push(item); | ||
index[key] = true; | ||
}); | ||
return items; | ||
}; | ||
self.unique = self.uniq; | ||
self.flagger = function (arr) { | ||
var flagger = {}; | ||
self.each(self.arr(arr), function (name) { | ||
flagger[name] = true; | ||
}); | ||
return flagger; | ||
}; | ||
self.each = function each(arr, iterator) { | ||
if (!arr) { | ||
return arr; | ||
} | ||
if (Array.isArray(arr)) { | ||
arr.forEach(iterator); | ||
return arr; | ||
} | ||
Object.keys(arr).forEach(function (name) { | ||
var value = arr[name]; | ||
iterator(value, name); | ||
}); | ||
}; | ||
self.compact = function compact(arr) { | ||
return Array.prototype.slice.call(arr, 0).filter(function (item) { | ||
return !!item; | ||
}); | ||
}; | ||
self.invoke = function invoke(arr, name) { | ||
var args = Array.prototype.slice.call(arguments, 2); | ||
self.each(arr, function (item) { | ||
item[name].apply(item, args); | ||
}); | ||
return arr; | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266453149'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266453149'; var __filename = '../lib/events.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var coll =require('mod145905240266358464'); | ||
self.mixins = { | ||
events: function (obj) { | ||
var handlers = {}, | ||
onceHandlers = {}; | ||
if (obj.on || obj.emit) { | ||
return obj; | ||
} | ||
obj.on = function (name, handler) { | ||
handlers[name] = handlers[name] || []; | ||
handlers[name].push(handler); | ||
}; | ||
obj.once = function (name, handler) { | ||
onceHandlers[name] = onceHandlers[name] || []; | ||
onceHandlers[name].push(handler); | ||
}; | ||
obj.emit = function (name) { | ||
var args = coll.array(arguments).slice(1); | ||
coll.each(handlers[name], function (handler) { | ||
handler.apply(null, args); | ||
}); | ||
coll.each(onceHandlers[name], function (handler, i) { | ||
handler.apply(null, args); | ||
onceHandlers[name].splice(i, 1); | ||
}); | ||
}; | ||
} | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266491063'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266491063'; var __filename = '../lib/objects.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var coll =require('mod145905240266358464'); | ||
var events =require('mod145905240266453149'); | ||
self.extend = function (target) { | ||
var sources = coll.arr(arguments, 1); | ||
coll.each(sources, function (source) { | ||
coll.each(source, function (value, name) { | ||
target[name] = value; | ||
}); | ||
}); | ||
return target; | ||
}; | ||
self.values = function (obj) { | ||
var vals = []; | ||
coll.each(obj, function (val) { | ||
vals.push(val); | ||
}); | ||
return vals; | ||
}; | ||
self.vals = self.values; | ||
self.extnew = function () { | ||
var args = coll.arr(arguments); | ||
args.unshift({}); | ||
return self.extend.apply(self, args); | ||
}; | ||
self.keys = function () { | ||
var keys = []; | ||
coll.each(coll.arr(arguments), function (obj) { | ||
keys = keys.concat(Object.keys(obj)); | ||
}); | ||
return coll.uniq(keys); | ||
}; | ||
self.extendUndefined = function (target, source) { | ||
coll.each(source, function (value, name) { | ||
if (target[name] !== undefined) { | ||
return; | ||
} | ||
target[name] = value; | ||
}); | ||
return target; | ||
}; | ||
self.clone = function (obj) { | ||
if (Array.isArray(obj)) { | ||
return obj.slice(0); | ||
} | ||
return self.extend({}, obj); | ||
}; | ||
self.copy = self.clone; | ||
self.mixins = { | ||
observe: function (obj, props) { | ||
var data = {}; | ||
events.mixins.events(obj); | ||
coll.each(props, function (value, name) { | ||
if (typeof value === 'function') { | ||
return; | ||
} | ||
data[name] = value; | ||
delete props[name]; | ||
}); | ||
coll.each(data, function (value, name) { | ||
self.define(obj, name, { | ||
get: function () { | ||
return data[name]; | ||
}, | ||
set: function (value) { | ||
var oldValue = data[name]; | ||
data[name] = value; | ||
obj.emit(':observe:' + name, value, oldValue); | ||
obj.emit(':observe', name, value, oldValue); | ||
} | ||
}); | ||
}); | ||
obj.toJSON = function () { | ||
return coll.removeType(self.extend(self.clone(obj), data), 'function'); | ||
}; | ||
return obj; | ||
} | ||
}; | ||
self.define = function (obj, name, props) { | ||
return Object.defineProperty(obj, name, props); | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod14590524026658988'] = (function () { return function () { 'use strict'; var __moduleid = 'mod14590524026658988'; var __filename = '../lib/strings.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var req = require; | ||
var coll =require('mod145905240266358464'); | ||
self.md5 = function (str) { | ||
return req('md5')(str); | ||
}; | ||
self.removeTags = function (code) { | ||
code = code.replace(/\<[^\>]+\>/mgi, '').trim(); | ||
return code; | ||
}; | ||
self.decodeChars = decodeChars; | ||
self.decodeUnicode = decodeUnicode; | ||
self.capitalize = capitalize; | ||
self.find = function (reg, str, names) { | ||
var result = reg.exec(str); | ||
if (!result) { | ||
return false; | ||
} | ||
var values = result.slice(1), | ||
response = values; | ||
if (names) { | ||
response = {}; | ||
coll.each(names, function (name, i) { | ||
response[name] = values[i]; | ||
}); | ||
} | ||
return response; | ||
}; | ||
function capitalize(str) { | ||
return str.slice(0, 1).toUpperCase() + str.slice(1); | ||
} | ||
function decodeChars(bin) { | ||
return String.fromCharCode.apply(null, new Uint8Array(bin)); | ||
} | ||
function decodeUnicode(arrayBuffer) { | ||
var result = "", | ||
i = 0, c = 0, c1 = 0, c2 = 0, | ||
data = new Uint8Array(arrayBuffer); | ||
if (data.length >= 3 | ||
&& data[0] === 0xef | ||
&& data[1] === 0xbb | ||
&& data[2] === 0xbf) { | ||
i = 3; | ||
} | ||
while (i < data.length) { | ||
c = data[i]; | ||
if (c < 128) { | ||
result += String.fromCharCode(c); | ||
i++; | ||
} else if (c > 191 && c < 224) { | ||
if (i + 1 >= data.length) { | ||
throw "UTF-8 Decode failed. Two byte character was truncated."; | ||
} | ||
c2 = data[i + 1]; | ||
result += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); | ||
i += 2; | ||
} else { | ||
if (i + 2 >= data.length) { | ||
throw "UTF-8 Decode failed. Multi byte character was truncated."; | ||
} | ||
c2 = data[i + 1]; | ||
c3 = data[i + 2]; | ||
result += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); | ||
i += 3; | ||
} | ||
} | ||
return result; | ||
} | ||
; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266657928'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266657928'; var __filename = '../lib/math.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
self.math = { | ||
rand: function (start, finish) { | ||
if (start === undefined) { | ||
start = 0; | ||
finish = 100; | ||
} | ||
if (finish === undefined) { | ||
finish = start; | ||
start = 0; | ||
} | ||
return Math.round(start + Math.random() * (finish - start)); | ||
}, | ||
uniq: function (key) { | ||
return (key || '') + (new Date()).getTime() + self.math.rand(100000); | ||
} | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266625218'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266625218'; var __filename = '../lib/templates.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var req = require; | ||
var coll =require('mod145905240266358464'); | ||
var obj =require('mod145905240266491063'); | ||
var fs, dconf, util; | ||
if (process) { | ||
var path = req('path'); | ||
var jade = req('jade'); | ||
var stylus = req('stylus'); | ||
var fs = req('./fs').fs; | ||
util = req('./util'); | ||
dconf = util.dconf({ | ||
dir: false, | ||
context: {} | ||
}); | ||
} else { | ||
var fs = false; | ||
dconf = function (conf) { | ||
return coll.extend(conf || {}, { | ||
dir: false, | ||
context: {} | ||
}); | ||
}; | ||
} | ||
var dot = createDot(); | ||
var self = exports; | ||
self.renderStylus = function (filename) { | ||
return stylus.render(fs.read(filename), { | ||
filename: filename | ||
}); | ||
}; | ||
self.template = function (source) { | ||
if (fs && fs.exists(source)) { | ||
source = fs.read(source); | ||
} | ||
return dot.template(source); | ||
}; | ||
self.render = function (source, context) { | ||
var tmpl = self.template(source); | ||
return tmpl(context); | ||
}; | ||
self.jtmpl = function (file, conf) { var config = dconf(conf); | ||
var filename = util.surext(file, 'jade'), | ||
template; | ||
if (config.force) { | ||
return function (context, conf) { | ||
if (!fs.exists(filename)) { | ||
return null; | ||
} | ||
var c = obj.extnew(config, conf), | ||
template = compile(c), | ||
context = obj.extnew(c.context, context); | ||
return template(context); | ||
}; | ||
} | ||
if (!fs.exists(filename)) { | ||
return null; | ||
} | ||
template = compile(config); | ||
return function (context) { | ||
var context = obj.extnew(config.context, context); | ||
return template(context); | ||
}; | ||
function compile(config) { | ||
var source = fs.read(filename), | ||
template = jade.compile(source, { | ||
filename: filename, | ||
pretty: !config.minify | ||
}); | ||
return template; | ||
} | ||
}; | ||
self.jrender = function (filename, context, conf) { var config = dconf(conf); | ||
var template = self.jtmpl(filename, config), | ||
html = template(context || {}); | ||
return html; | ||
}; | ||
self.jtmpls = function (tmpls, conf) { var config = dconf(conf); | ||
var templates = {}; | ||
coll.each(tmpls, function (file, name) { | ||
templates[name] = self.jtmpl(util.resdir(config.dir, file), config); | ||
}); | ||
return templates; | ||
}; | ||
function createDot() { | ||
var doT = { | ||
version: "1.0.3", | ||
templateSettings: { | ||
evaluate: /\{\{=([\s\S]+?)\}\}/g, | ||
interpolate: /\{\{([\s\S]+?(\}?)+)\}\}/g, | ||
encode: /\{\{!([\s\S]+?)\}\}/g, | ||
use: /\{\{#([\s\S]+?)\}\}/g, | ||
useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g, | ||
define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g, | ||
defineParams:/^\s*([\w$]+):([\s\S]+)/, | ||
conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g, | ||
iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g, | ||
varname: "self", | ||
strip: true, | ||
append: true, | ||
selfcontained: false, | ||
doNotSkipEncoded: false | ||
}, | ||
template: undefined, //fn, compile template | ||
compile: undefined //fn, for express | ||
}, | ||
startend = { | ||
append: { | ||
start: "'+(", | ||
end: ")+'", | ||
startencode: "'+encodeHTML(" | ||
}, | ||
split: { | ||
start: "';out+=(", | ||
end: ");out+='", | ||
startencode: "';out+=encodeHTML(" | ||
} | ||
}, | ||
skip = /$^/; | ||
doT.encodeHTMLSource = function(doNotSkipEncoded) { | ||
var encodeHTMLRules = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/" }, | ||
matchHTML = doNotSkipEncoded ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g; | ||
return function(code) { | ||
return code ? code.toString().replace(matchHTML, function(m) {return encodeHTMLRules[m] || m;}) : ""; | ||
}; | ||
}; | ||
doT.template = function(tmpl, c, def) { | ||
c = c || doT.templateSettings; | ||
var cse = c.append ? startend.append : startend.split, needhtmlencode, sid = 0, indv, | ||
str = (c.use || c.define) ? resolveDefs(c, tmpl, def || {}) : tmpl; | ||
str = ("var out='" + (c.strip ? str.replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ") | ||
.replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g,""): str) | ||
.replace(/'|\\/g, "\\$&") | ||
.replace(c.interpolate || skip, function(m, code) { | ||
return cse.start + unescape(code) + cse.end; | ||
}) | ||
.replace(c.encode || skip, function(m, code) { | ||
needhtmlencode = true; | ||
return cse.startencode + unescape(code) + cse.end; | ||
}) | ||
.replace(c.conditional || skip, function(m, elsecase, code) { | ||
return elsecase ? | ||
(code ? "';}else if(" + unescape(code) + "){out+='" : "';}else{out+='") : | ||
(code ? "';if(" + unescape(code) + "){out+='" : "';}out+='"); | ||
}) | ||
.replace(c.iterate || skip, function(m, iterate, vname, iname) { | ||
if (!iterate) return "';} } out+='"; | ||
sid+=1; indv=iname || "i"+sid; iterate=unescape(iterate); | ||
return "';var arr"+sid+"="+iterate+";if(arr"+sid+"){var "+vname+","+indv+"=-1,l"+sid+"=arr"+sid+".length-1;while("+indv+"<l"+sid+"){" | ||
+vname+"=arr"+sid+"["+indv+"+=1];out+='"; | ||
}) | ||
.replace(c.evaluate || skip, function(m, code) { | ||
return "';" + unescape(code) + "out+='"; | ||
}) | ||
+ "';return out;") | ||
.replace(/\n/g, "\\n").replace(/\t/g, '\\t').replace(/\r/g, "\\r") | ||
.replace(/(\s|;|\}|^|\{)out\+='';/g, '$1').replace(/\+''/g, ""); | ||
//.replace(/(\s|;|\}|^|\{)out\+=''\+/g,'$1out+='); | ||
if (needhtmlencode) { | ||
if (!c.selfcontained && _globals && !_globals._encodeHTML) _globals._encodeHTML = doT.encodeHTMLSource(c.doNotSkipEncoded); | ||
str = "var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : (" | ||
+ doT.encodeHTMLSource.toString() + "(" + (c.doNotSkipEncoded || '') + "));" | ||
+ str; | ||
} | ||
try { | ||
return new Function(c.varname, str); | ||
} catch (e) { | ||
if (typeof console !== "undefined") console.log("Could not create a template function: " + str); | ||
throw e; | ||
} | ||
}; | ||
doT.compile = function(tmpl, def) { | ||
return doT.template(tmpl, null, def); | ||
}; | ||
function resolveDefs(c, block, def) { | ||
return ((typeof block === "string") ? block : block.toString()) | ||
.replace(c.define || skip, function(m, code, assign, value) { | ||
if (code.indexOf("def.") === 0) { | ||
code = code.substring(4); | ||
} | ||
if (!(code in def)) { | ||
if (assign === ":") { | ||
if (c.defineParams) value.replace(c.defineParams, function(m, param, v) { | ||
def[code] = {arg: param, text: v}; | ||
}); | ||
if (!(code in def)) def[code]= value; | ||
} else { | ||
new Function("def", "def['"+code+"']=" + value)(def); | ||
} | ||
} | ||
return ""; | ||
}) | ||
.replace(c.use || skip, function(m, code) { | ||
if (c.useParams) code = code.replace(c.useParams, function(m, s, d, param) { | ||
if (def[d] && def[d].arg && param) { | ||
var rw = (d+":"+param).replace(/'|\\/g, "_"); | ||
def.__exp = def.__exp || {}; | ||
def.__exp[rw] = def[d].text.replace(new RegExp("(^|[^\\w$])" + def[d].arg + "([^\\w$])", "g"), "$1" + param + "$2"); | ||
return s + "def.__exp['"+rw+"']"; | ||
} | ||
}); | ||
var v = new Function("def", "return " + code)(def); | ||
return v ? resolveDefs(c, v, def) : v; | ||
}); | ||
} | ||
function unescape(code) { | ||
return code.replace(/\\('|\\)/g, "$1").replace(/[\r\t\n]/g, " "); | ||
} | ||
return doT; | ||
} | ||
; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266672584'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266672584'; var __filename = '../lib/util.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var mod = exports; | ||
// General | ||
var req = require; | ||
var coll =require('mod145905240266358464'); | ||
var obj =require('mod145905240266491063'); | ||
mod.config = function (defaultConfig) { | ||
defaultConfig = defaultConfig || {}; | ||
return function (config) { | ||
var data = {}; | ||
config = config || {}; | ||
coll.each(obj.keys(defaultConfig, config), function (key) { | ||
data[key] = config[key] === undefined ? defaultConfig[key] : config[key]; | ||
}); | ||
return data; | ||
}; | ||
}; | ||
mod.dconf = mod.config; | ||
mod.conf = mod.config; | ||
mod.log = function () { | ||
return console.log.apply(console, coll.arr(arguments)); | ||
}; | ||
mod.trace = function (msg) { | ||
mod.log((new Error(msg)).stack); | ||
}; | ||
// Only Node | ||
if (!process) { return; } | ||
var path = req('path'); | ||
mod.surext = function (filename, ext) { | ||
if (ext[0] !== '.') { | ||
ext = '.' + ext; | ||
} | ||
if (path.extname(filename) !== ext) { | ||
filename = filename + ext; | ||
} | ||
return filename; | ||
}; | ||
mod.resdir = function (dir, filename) { | ||
if (dir) { | ||
filename = path && path.resolve(dir, filename); | ||
} | ||
return filename; | ||
}; | ||
; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266792081'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266792081'; var __filename = '../lib/config.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
exports.config = { | ||
debug: true | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266778568'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266778568'; var __filename = '../lib/functions.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
var coll =require('mod145905240266358464'); | ||
var config =require('mod145905240266792081'); | ||
var obj =require('mod145905240266491063'); | ||
var util =require('mod145905240266672584'); | ||
var STATUS = { | ||
NEW: 0, | ||
RUNNING: 1, | ||
SUCCESS: 2, | ||
FAIL: 3 | ||
}; | ||
self.fn = { | ||
argsList: argsList, | ||
findRouteLinks: findRouteLinks | ||
}; | ||
self.sf = safeFunction; | ||
function safeFunction(handler) { | ||
var safe = new Safe(handler); | ||
return function () { | ||
var args = coll.arr(arguments); | ||
return safe.call(args); | ||
}; | ||
} | ||
function findRouteLinks(fn) { | ||
var source = fn.toString(), | ||
re = /\$\.([a-zA-Z0-9\.\_\$]+)/mgi, | ||
names = []; | ||
source.replace(re, function (str, name) { | ||
names.push(name); | ||
}); | ||
return coll.uniq(names); | ||
} | ||
function argsList(fn) { | ||
var re = /function\s+(?:[^\(]+)?\s*\(([^\)]+)/i, | ||
source = fn.toString(), | ||
result = re.exec(source) || [], | ||
argsStr = result[1], | ||
args = argsStr ? argsStr.split(',') : []; | ||
return args.map(function (name) { | ||
return name.trim(); | ||
}).filter(function (name) { | ||
return !!name; | ||
}); | ||
} | ||
class Safe { | ||
constructor(handler) { | ||
var self = this; | ||
self.handler = handler || null; | ||
self.mixins = coll.flagger(coll.arr(arguments, 1)); | ||
self.argsNames = self.getArgsNames(); | ||
self.routeLinks = exports.fn.findRouteLinks(handler); | ||
} | ||
getArgsNames() { | ||
var self = this; | ||
return exports.fn.argsList(self.handler).slice(1); | ||
} | ||
getArgsHash(args) { | ||
var self = this, | ||
hash = {}; | ||
coll.each(self.argsNames, function (name, i) { | ||
hash[name] = args[i]; | ||
}); | ||
return hash; | ||
} | ||
getRouteHash(args) { | ||
var self = this, | ||
data = args[args.length - 1]; | ||
if (typeof data !== 'object') { | ||
return {}; | ||
} | ||
return data; | ||
} | ||
getRequestHash(args) { | ||
var self = this; | ||
return obj.extend(self.getRouteHash(args), self.getArgsHash(args)); | ||
} | ||
call(args) { | ||
var self = this; | ||
return new Promise(function (resolve, reject) { | ||
var router = self.createRouter(args, resolve, reject); | ||
return router._call(); | ||
}); | ||
} | ||
createRouter(callArgs, resolve, reject) { | ||
var self = this, | ||
args = coll.arr(callArgs), | ||
handler = self.handler, | ||
request = self.getRequestHash(args), | ||
router = { | ||
done: false, | ||
_success: successHandler, | ||
success: successHandler, | ||
s: successHandler, | ||
resolve: successHandler, | ||
_fail: failHandler, | ||
fail: failHandler, | ||
f: failHandler, | ||
reject: failHandler, | ||
_error: errorHandler, | ||
error: errorHandler, | ||
err: errorHandler, | ||
_args: args, | ||
args: args, | ||
_call: call, | ||
_data: request, | ||
data: request, | ||
request: request | ||
}; | ||
args.unshift(router); | ||
obj.extend(router, request); | ||
return router; | ||
function call() { | ||
try { | ||
return handler.apply(null, args); | ||
} catch(err) { | ||
failHandler(err); | ||
} | ||
} | ||
function successHandler() { | ||
var args = coll.arr(arguments); | ||
resolve.apply(null, args); | ||
} | ||
function failHandler() { | ||
var args = coll.arr(arguments); | ||
reject.apply(null, args); | ||
} | ||
function errorHandler(err) { | ||
if (err) { | ||
failHandler(err); | ||
return true; | ||
} | ||
return false; | ||
} | ||
} | ||
}; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266836429'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266836429'; var __filename = '../lib/logic.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = '../lib'; try { ;'use strict'; | ||
var self = exports; | ||
self.orUndef = function () { | ||
var values = Array.prototype.slice.call(arguments), | ||
value = null; | ||
values.forEach(function (val) { | ||
if (value || val === undefined) { | ||
return; | ||
} | ||
value = val; | ||
}); | ||
return value; | ||
};; } catch(err) { console.error(err.stack); } return module.exports; };}()); | ||
;__loaders__['mod145905240266342699'] = (function () { return function () { 'use strict'; var __moduleid = 'mod145905240266342699'; var __filename = 'app.js'; var module = { exports: {} }; var exports = module.exports; var __dirname = ''; try { ;'use strict'; | ||
var modules = [require('mod145905240266358464'),require('mod145905240266491063'),require('mod145905240266453149'),require('mod14590524026658988'),require('mod145905240266657928'),require('mod145905240266625218'),require('mod145905240266672584'),require('mod145905240266778568'),require('mod145905240266836429') | ||
]; | ||
modules.forEach(function (mod) { | ||
extend(exports, mod); | ||
}); | ||
function extend(target, source) { | ||
Object.keys(source).forEach(function (name) { | ||
if (target[name] && typeof target[name] === 'object') { | ||
extend(target[name], source[name]); | ||
return; | ||
} | ||
target[name] = source[name]; | ||
}); | ||
} | ||
if (window) { | ||
window._ = exports; | ||
}; } catch(err) { console.error(err.stack); } return module.exports; };}()); return require('mod145905240266342699');}()); |
@@ -1,9 +0,14 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
const argv = process.argv; | ||
// Common | ||
var self = exports; | ||
// Only Node | ||
self.cli = { | ||
parse: function parse() { | ||
if (!process) { return; } | ||
var argv = process.argv; | ||
mod.cli = { | ||
parse () { | ||
var cla = { | ||
@@ -10,0 +15,0 @@ command: argv[2] |
@@ -1,31 +0,29 @@ | ||
'use strict'; | ||
// 'use strict'; | ||
var modules = [ | ||
require('./code'), | ||
require('./collections'), | ||
require('./events'), | ||
require('./functions'), | ||
require('./logic'), | ||
require('./math'), | ||
require('./objects'), | ||
require('./strings'), | ||
require('./templates') | ||
]; | ||
// var modules = [ | ||
// // require('./collections'), | ||
// // require('./events'), | ||
// // require('./functions'), | ||
// // require('./logic'), | ||
// // require('./math'), | ||
// // require('./objects'), | ||
// // require('./strings') | ||
// ]; | ||
modules.forEach(function (mod) { | ||
extend(exports, mod); | ||
}); | ||
// modules.forEach(function (mod) { | ||
// extend(exports, mod); | ||
// }); | ||
function extend(target, source) { | ||
Object.keys(source).forEach(function (name) { | ||
if (target[name] && typeof target[name] === 'object') { | ||
extend(target[name], source[name]); | ||
return; | ||
} | ||
target[name] = source[name]; | ||
}); | ||
} | ||
// function extend(target, source) { | ||
// Object.keys(source).forEach(function (name) { | ||
// if (target[name] && typeof target[name] === 'object') { | ||
// extend(target[name], source[name]); | ||
// return; | ||
// } | ||
// target[name] = source[name]; | ||
// }); | ||
// } | ||
if (window) { | ||
window._ = exports; | ||
} | ||
// if (window) { | ||
// window._ = exports; | ||
// } |
@@ -1,41 +0,5 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
const uglify = require('uglify-js'); | ||
var babel; | ||
// Common | ||
var self = exports; | ||
function transform(source) { | ||
if (!babel) { | ||
babel = require('babel-core'); | ||
} | ||
return babel.transform(source, { | ||
presets: [require('babel-preset-es2015')] | ||
}).code; | ||
} | ||
function prettyJS(source) { | ||
var ast = uglify.parse(source, { | ||
strict: true | ||
}); | ||
return ast.print_to_string({ | ||
indent_level: 4, | ||
beautify: true, | ||
comments: true | ||
}); | ||
} | ||
function minifyJS(source) { | ||
var ast = uglify.parse(source, { | ||
strict: true | ||
}); | ||
return ast.print_to_string(); | ||
} | ||
function removeComments(code) { | ||
var re = /(\/\/.+$)|(\/\*[\s\S]*?\*\/)/mgi; | ||
code = code.replace(re, ''); | ||
return code; | ||
} | ||
class Snippet { | ||
@@ -90,11 +54,46 @@ | ||
self.code = { | ||
// Only Node | ||
if (!process) { return; } | ||
var uglify = require('uglify-js'); | ||
var babel; | ||
mod.code = { | ||
Snippet: Snippet, | ||
prettyJS: prettyJS, | ||
minifyJS: minifyJS, | ||
transform: transform, | ||
removeComments: removeComments | ||
prettyJS (source) { | ||
var ast = uglify.parse(source, { | ||
strict: true | ||
}); | ||
return ast.print_to_string({ | ||
indent_level: 4, | ||
beautify: true, | ||
comments: true | ||
}); | ||
}, | ||
minifyJS (source) { | ||
var ast = uglify.parse(source, { | ||
strict: true | ||
}); | ||
return ast.print_to_string(); | ||
}, | ||
transform (source) { | ||
if (!babel) { | ||
babel = require('babel-core'); | ||
} | ||
return babel.transform(source, { | ||
presets: [require('babel-preset-es2015')] | ||
}).code; | ||
}, | ||
removeComments (code) { | ||
var re = /(\/\/.+$)|(\/\*[\s\S]*?\*\/)/mgi; | ||
code = code.replace(re, ''); | ||
return code; | ||
} | ||
}; |
@@ -1,6 +0,4 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
var self = exports; | ||
self.array = function (obj) { | ||
mod.array = function (obj) { | ||
var args = Array.prototype.slice.call(arguments, 1); | ||
@@ -10,5 +8,5 @@ return Array.prototype.slice.apply(obj, args); | ||
self.arr = self.array; | ||
mod.arr = mod.array; | ||
self.removeType = function (arr, type) { | ||
mod.removeType = function (arr, type) { | ||
if (Array.isArray(arr)) { | ||
@@ -19,3 +17,3 @@ return arr.filter(function (item) { | ||
} | ||
self.each(arr, function (value, name) { | ||
mod.each(arr, function (value, name) { | ||
if (typeof value !== type) { | ||
@@ -29,6 +27,6 @@ return; | ||
self.uniq = function (arr) { | ||
mod.uniq = function (arr) { | ||
var index = {}, | ||
items = []; | ||
self.each(self.arr(arr), function (item) { | ||
mod.each(mod.arr(arr), function (item) { | ||
var key = JSON.stringify(item); | ||
@@ -44,7 +42,7 @@ if (index[key] !== undefined) { | ||
self.unique = self.uniq; | ||
mod.unique = mod.uniq; | ||
self.flagger = function (arr) { | ||
mod.flagger = function (arr) { | ||
var flagger = {}; | ||
self.each(self.arr(arr), function (name) { | ||
mod.each(mod.arr(arr), function (name) { | ||
flagger[name] = true; | ||
@@ -55,3 +53,3 @@ }); | ||
self.each = function each(arr, iterator) { | ||
mod.each = function each(arr, iterator) { | ||
if (!arr) { | ||
@@ -70,3 +68,15 @@ return arr; | ||
self.compact = function compact(arr) { | ||
mod.map = function map(arr, handler) { | ||
return mod.arr(arr).map(handler); | ||
}; | ||
mod.all = function (arr) { | ||
var all = true; | ||
mod.each(mod.flatten(arguments), function (item) { | ||
all = !!item ? all : false; | ||
}); | ||
return all; | ||
}; | ||
mod.compact = function compact(arr) { | ||
return Array.prototype.slice.call(arr, 0).filter(function (item) { | ||
@@ -77,8 +87,20 @@ return !!item; | ||
self.invoke = function invoke(arr, name) { | ||
mod.invoke = function invoke(arr, name) { | ||
var args = Array.prototype.slice.call(arguments, 2); | ||
self.each(arr, function (item) { | ||
mod.each(arr, function (item) { | ||
item[name].apply(item, args); | ||
}); | ||
return arr; | ||
}; | ||
mod.flatten = function flatten() { | ||
var items = []; | ||
mod.each(arguments, function (item) { | ||
if (typeof item !== 'object' || !item.hasOwnProperty('length')) { | ||
items.push(item); | ||
return; | ||
} | ||
items = items.concat(mod.flatten.apply(mod, item)); | ||
}); | ||
return items; | ||
}; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
@@ -3,0 +3,0 @@ exports.config = { |
@@ -1,8 +0,6 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
var self = exports; | ||
var coll = require('./collections'); | ||
const coll = require('./collections'); | ||
self.mixins = { | ||
mod.mixins = { | ||
events: function (obj) { | ||
@@ -9,0 +7,0 @@ var handlers = {}, |
112
lib/fs.js
@@ -1,15 +0,73 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
if (!process) { return; } | ||
const fs = require('fs'); | ||
const path = require('path'); | ||
const osTmpdir = require('os-tmpdir'); | ||
var fs = require('fs'); | ||
var path = require('path'); | ||
var osTmpdir = require('os-tmpdir'); | ||
var wrench = require('wrench'); | ||
const math = require('./math').math; | ||
var math = require('./math').math; | ||
var obj = require('./objects'); | ||
var coll = require('./collections'); | ||
var self = exports; | ||
mod.j = path.join.bind(path); | ||
self.j = path.join.bind(path); | ||
mod.basename = function (filename) { | ||
return path.basename(filename, path.extname(filename)); | ||
}; | ||
self.fs = { | ||
mod.fs = { | ||
readdir (dir, opts) { | ||
var files = [], | ||
options = opts || {}, | ||
method = options.recursive | ||
? wrench.readdirSyncRecursive : fs.readdirSync; | ||
method(dir).forEach(function (file, i) { | ||
var filename = path.resolve(dir, file), | ||
stat = fs.statSync(filename), | ||
exceptFiles = getFiles(options.except); | ||
if (options.onlyFiles && !stat.isFile()) { | ||
return; | ||
} | ||
if (options.onlyDirs && !stat.isDirectory()) { | ||
return; | ||
} | ||
if (exceptFiles.indexOf(filename) > -1) { | ||
return; | ||
} | ||
if (options.require) { | ||
files.push(obj.extend(require(filename), { | ||
__filename: filename | ||
})); | ||
return; | ||
} | ||
files.push(options.fullPath ? filename : file); | ||
function getFiles(list) { | ||
if (!list) { | ||
return []; | ||
} | ||
var files = Array.isArray(list) | ||
? list : [list]; | ||
return files.map(function (file) { | ||
return path.resolve(dir, file); | ||
}); | ||
} | ||
}); | ||
return files; | ||
}, | ||
eachFile (dir, handler, options) { | ||
return mod.fs.readdir(dir, options).forEach(handler); | ||
}, | ||
allFiles (dir) { | ||
@@ -21,3 +79,3 @@ if (fs.statSync(dir).isFile()) { | ||
fs.readdirSync(dir).forEach(function (file) { | ||
files = files.concat(self.fs.allFiles(path.join(dir, file))); | ||
files = files.concat(mod.fs.allFiles(path.join(dir, file))); | ||
}); | ||
@@ -33,3 +91,3 @@ return files; | ||
readb (filename) { | ||
return self.fs.read(filename, true); | ||
return mod.fs.read(filename, true); | ||
}, | ||
@@ -46,3 +104,3 @@ | ||
copy (from, to) { | ||
self.fs.write(to, self.fs.read(from, true)); | ||
mod.fs.write(to, mod.fs.read(from, true)); | ||
}, | ||
@@ -55,3 +113,3 @@ | ||
isFile (filename) { | ||
if (!self.fs.exists(filename)) { | ||
if (!mod.fs.exists(filename)) { | ||
return false; | ||
@@ -63,3 +121,3 @@ } | ||
isDir (filename) { | ||
if (!self.fs.exists(filename)) { | ||
if (!mod.fs.exists(filename)) { | ||
return false; | ||
@@ -74,6 +132,2 @@ } | ||
rdir (name) { | ||
return fs.readdirSync(name); | ||
}, | ||
tmpFile (filename) { | ||
@@ -85,3 +139,3 @@ if (!filename) { | ||
} | ||
return self.fs.tmpDir() + '/' + filename; | ||
return mod.fs.tmpDir() + '/' + filename; | ||
}, | ||
@@ -91,4 +145,26 @@ | ||
return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME']; | ||
}, | ||
firstExists (filenames, dirname, onlyFiles) { | ||
var file = null; | ||
coll.each(filenames, function (filename) { | ||
if (file) { return; } | ||
if (dirname) { | ||
filename = path.resolve(dirname, filename); | ||
} | ||
if (mod.fs.exists(filename) | ||
&& (!onlyFiles | ||
|| fs.statSync(filename).isFile())) { | ||
file = filename; | ||
} | ||
}); | ||
return file; | ||
}, | ||
firstExistsFile (files, dirname) { | ||
return mod.fs.firstExists(files, dirname, true); | ||
} | ||
}; | ||
mod.fs.rdir = mod.fs.readdir; |
@@ -1,11 +0,4 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
var self = exports; | ||
const coll = require('./collections'); | ||
const config = require('./config'); | ||
const obj = require('./objects'); | ||
const util = require('./util'); | ||
const STATUS = { | ||
var STATUS = { | ||
NEW: 0, | ||
@@ -17,3 +10,8 @@ RUNNING: 1, | ||
self.fn = { | ||
var coll = require('./collections'); | ||
var config = require('./config'); | ||
var obj = require('./objects'); | ||
var util = require('./util/utils'); | ||
mod.fn = { | ||
@@ -25,3 +23,3 @@ argsList: argsList, | ||
self.sf = safeFunction; | ||
mod.sf = safeFunction; | ||
@@ -28,0 +26,0 @@ function safeFunction(handler) { |
@@ -1,3 +0,9 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
// Common | ||
// Only Node | ||
if (!process) { return; } | ||
var modules = [ | ||
@@ -30,2 +36,2 @@ require('./cli'), | ||
}); | ||
} | ||
} |
@@ -1,6 +0,4 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
var self = exports; | ||
self.orUndef = function () { | ||
mod.orUndef = function () { | ||
var values = Array.prototype.slice.call(arguments), | ||
@@ -7,0 +5,0 @@ value = null; |
@@ -1,6 +0,6 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
var self = exports; | ||
var mod = exports; | ||
self.math = { | ||
mod.math = { | ||
@@ -20,5 +20,5 @@ rand: function (start, finish) { | ||
uniq: function (key) { | ||
return (key || '') + (new Date()).getTime() + self.math.rand(100000); | ||
return (key || '') + (new Date()).getTime() + mod.math.rand(100000); | ||
} | ||
}; |
@@ -1,9 +0,9 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
var self = exports; | ||
var mod = exports; | ||
const coll = require('./collections'); | ||
const events = require('./events'); | ||
var coll = require('./collections'); | ||
var events = require('./events'); | ||
self.extend = function (target) { | ||
mod.extend = function (target) { | ||
var sources = coll.arr(arguments, 1); | ||
@@ -18,3 +18,3 @@ coll.each(sources, function (source) { | ||
self.values = function (obj) { | ||
mod.values = function (obj) { | ||
var vals = []; | ||
@@ -26,11 +26,11 @@ coll.each(obj, function (val) { | ||
}; | ||
self.vals = self.values; | ||
mod.vals = mod.values; | ||
self.extnew = function () { | ||
mod.extnew = function () { | ||
var args = coll.arr(arguments); | ||
args.unshift({}); | ||
return self.extend.apply(self, args); | ||
return mod.extend.apply(mod, args); | ||
}; | ||
self.keys = function () { | ||
mod.keys = function () { | ||
var keys = []; | ||
@@ -43,3 +43,3 @@ coll.each(coll.arr(arguments), function (obj) { | ||
self.extendUndefined = function (target, source) { | ||
mod.extendUndefined = function (target, source) { | ||
coll.each(source, function (value, name) { | ||
@@ -54,12 +54,55 @@ if (target[name] !== undefined) { | ||
self.clone = function (obj) { | ||
mod.clone = function (obj) { | ||
if (Array.isArray(obj)) { | ||
return obj.slice(0); | ||
} | ||
return self.extend({}, obj); | ||
return mod.extend({}, obj); | ||
}; | ||
self.copy = self.clone; | ||
mod.copy = mod.clone; | ||
self.mixins = { | ||
mod.set = function (obj, p, value) { | ||
var current = obj, | ||
names = p.split('.'), | ||
name; | ||
for (var i = 0; i < names.length - 1; i++) { | ||
name = names[i]; | ||
if (!current[name]) { | ||
current[name] = {}; | ||
} | ||
current = current[name]; | ||
} | ||
current[names.pop()] = value; | ||
return obj; | ||
}; | ||
mod.get = function (obj, p) { | ||
var current = obj, | ||
names = p.split('.'), | ||
name; | ||
for (var i = 0; i < names.length - 1; i++) { | ||
name = names[i]; | ||
if (!current[name]) { | ||
current[name] = {}; | ||
} | ||
current = current[name]; | ||
} | ||
return current[names.pop()]; | ||
}; | ||
mod.flat = function (obj, parentName) { | ||
var data = {}; | ||
parentName = parentName || ''; | ||
coll.each(obj, function (val, name) { | ||
name = parentName ? parentName + '.' + name : name; | ||
if (typeof val !== 'object') { | ||
data[name] = val; | ||
return; | ||
} | ||
mod.extend(data, mod.flat(val, name)); | ||
}); | ||
return data; | ||
}; | ||
mod.mixins = { | ||
observe: function (obj, props) { | ||
@@ -76,3 +119,3 @@ var data = {}; | ||
coll.each(data, function (value, name) { | ||
self.define(obj, name, { | ||
mod.define(obj, name, { | ||
get: function () { | ||
@@ -90,3 +133,3 @@ return data[name]; | ||
obj.toJSON = function () { | ||
return coll.removeType(self.extend(self.clone(obj), data), 'function'); | ||
return coll.removeType(mod.extend(mod.clone(obj), data), 'function'); | ||
}; | ||
@@ -97,4 +140,4 @@ return obj; | ||
self.define = function (obj, name, props) { | ||
mod.define = function (obj, name, props) { | ||
return Object.defineProperty(obj, name, props); | ||
}; |
@@ -1,14 +0,16 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
const md5 = require('md5'); | ||
var mod = exports; | ||
var self = exports; | ||
var req = require; | ||
const coll = require('./collections'); | ||
var coll = require('./collections'); | ||
var obj = require('./objects'); | ||
var str = require('./strings'); | ||
self.md5 = function (str) { | ||
return md5(str); | ||
mod.md5 = function (str) { | ||
return req('md5')(str); | ||
}; | ||
self.removeTags = function (code) { | ||
mod.removeTags = function (code) { | ||
code = code.replace(/\<[^\>]+\>/mgi, '').trim(); | ||
@@ -18,7 +20,27 @@ return code; | ||
self.decodeChars = decodeChars; | ||
self.decodeUnicode = decodeUnicode; | ||
self.capitalize = capitalize; | ||
mod.decodeChars = decodeChars; | ||
mod.decodeUnicode = decodeUnicode; | ||
mod.capitalize = capitalize; | ||
self.find = function (reg, str, names) { | ||
mod.trim = function (str, s) { | ||
return mod.trimLeft(mod.trimRight(str, s), s); | ||
}; | ||
mod.trimLeft = function (str, s) { | ||
s = s || ' '; | ||
while (str[0] === s) { | ||
str = str.slice(1); | ||
} | ||
return str; | ||
}; | ||
mod.trimRight = function (str, s) { | ||
s = s || ' '; | ||
while (str[str.length - 1] === s) { | ||
str = str.slice(0, -1); | ||
} | ||
return str; | ||
}; | ||
mod.find = function (reg, str, names) { | ||
var result = reg.exec(str); | ||
@@ -25,0 +47,0 @@ if (!result) { |
@@ -1,28 +0,38 @@ | ||
'use strict'; | ||
'use strict'; var mod = exports; | ||
const path = require('path'); | ||
const jade = require('jade'); | ||
const stylus = require('stylus'); | ||
// Common | ||
const fs = require('./fs').fs; | ||
const coll = require('./collections'); | ||
const util = require('./util'); | ||
const obj = require('./objects'); | ||
// Only Node | ||
const dot = createDot(); | ||
const dconf = util.dconf({ | ||
dir: false, | ||
context: {} | ||
}); | ||
if (!process) { return; } | ||
var self = exports; | ||
// Common | ||
self.renderStylus = function (filename) { | ||
return stylus.render(fs.read(filename), { | ||
filename: filename | ||
}); | ||
var coll = require('./collections'); | ||
var util = require('./util/utils'); | ||
var obj = require('./objects'); | ||
var dot; | ||
var fs; | ||
var dconf = function (c) { | ||
return obj.extend({ | ||
dir: false, | ||
context: {} | ||
}, c); | ||
}; | ||
setTimeout(function () { | ||
util.dconf({ | ||
dir: false, | ||
context: {} | ||
}) | ||
dot = createDot(); | ||
}, 0); | ||
var self = exports; | ||
self.template = function (source) { | ||
if (fs.exists(source)) { | ||
if (fs && fs.exists(source)) { | ||
source = fs.read(source); | ||
@@ -38,6 +48,23 @@ } | ||
self.jtmpl = function (file, conf) { const config = dconf(conf); | ||
// Only Node | ||
if (!process) { | ||
return; | ||
} | ||
var path = require('path'); | ||
fs = require('./fs').fs; | ||
self.renderStylus = function (filename) { | ||
var stylus = require('stylus'); | ||
return stylus.render(fs.read(filename), { | ||
filename: filename | ||
}); | ||
}; | ||
self.jtmpl = function (file, conf) { var config = dconf(conf); | ||
var jade = require('jade'); | ||
var filename = util.surext(file, 'jade'), | ||
template; | ||
if (config.force) { | ||
@@ -62,3 +89,3 @@ return function (context, conf) { | ||
}; | ||
function compile(config) { | ||
@@ -74,3 +101,3 @@ var source = fs.read(filename), | ||
self.jrender = function (filename, context, conf) { const config = dconf(conf); | ||
self.jrender = function (filename, context, conf) { var config = dconf(conf); | ||
var template = self.jtmpl(filename, config), | ||
@@ -81,3 +108,3 @@ html = template(context || {}); | ||
self.jtmpls = function (tmpls, conf) { const config = dconf(conf); | ||
self.jtmpls = function (tmpls, conf) { var config = dconf(conf); | ||
var templates = {}; | ||
@@ -185,3 +212,3 @@ coll.each(tmpls, function (file, name) { | ||
}; | ||
function resolveDefs(c, block, def) { | ||
@@ -222,4 +249,4 @@ return ((typeof block === "string") ? block : block.toString()) | ||
} | ||
return doT; | ||
} | ||
} |
{ | ||
"name": "man", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"main": "./lib/index.js", | ||
@@ -16,6 +16,8 @@ "homepage": "https://tech.sencort.com", | ||
"jade": "^1.11.0", | ||
"js-yaml": "^3.5.5", | ||
"md5": "^2.1.0", | ||
"os-tmpdir": "^1.0.1", | ||
"stylus": "^0.54.2", | ||
"uglify-js": "^2.6.2" | ||
"uglify-js": "^2.6.2", | ||
"wrench": "^1.5.8" | ||
}, | ||
@@ -22,0 +24,0 @@ "scripts": { |
# Man | ||
- cli | ||
+ cli | ||
+ parse() | ||
- code | ||
+ code | ||
* prettyJS(source) | ||
* minifyJS(source) | ||
* transform(source) | ||
* removeComments(source) | ||
- collections | ||
+ arr,array(arr) | ||
* removeType(arr, type) | ||
* unique,uniq(arr) | ||
* flagger(arr) | ||
* each(arr) | ||
* compact(arr) | ||
* invoke(arr, methodName) | ||
+ events | ||
* mixins | ||
- events(obj) | ||
+ |
@@ -13,14 +13,9 @@ 'use strict'; | ||
path.join(__dirname, '../cutil.js'), | ||
jb.build(path.join(libdir, 'client.js'), { | ||
basedir: libdir | ||
}) | ||
jb.build(__dirname + '/app.js') | ||
); | ||
_.fs.write( | ||
path.join(__dirname, '../cutil.min.js'), | ||
jb.build(path.join(libdir, 'client.js'), { | ||
basedir: libdir, | ||
min: true | ||
}) | ||
jb.build(__dirname + '/app.js') | ||
); | ||
console.log('Done!'); |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
93347
24
2619
1
23
10
14
+ Addedjs-yaml@^3.5.5
+ Addedwrench@^1.5.8
+ Addedargparse@1.0.10(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedjs-yaml@3.14.1(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addedwrench@1.5.9(transitive)