| author | Daniel Hans <Daniel.M.Hans@gmail.com> |
| Tue, 10 Nov 2009 18:18:06 +0100 | |
| changeset 3085 | ded7a67e7e0a |
| parent 3041 | c8f47f0b6697 |
| permissions | -rw-r--r-- |
IO.include("frame/Opt.js"); IO.include("frame/Chain.js"); IO.include("frame/Link.js"); IO.include("frame/String.js"); IO.include("frame/Hash.js"); IO.include("frame/Namespace.js"); //IO.include("frame/Reflection.js"); /** A few helper functions to make life a little easier. */ function defined(o) { return (o !== undefined); } function copy(o) { // todo check for circular refs if (o == null || typeof(o) != 'object') return o; var c = new o.constructor(); for(var p in o) c[p] = copy(o[p]); return c; } function isUnique(arr) { var l = arr.length; for(var i = 0; i < l; i++ ) { if (arr.lastIndexOf(arr[i]) > i) return false; } return true; } /** Returns the given string with all regex meta characters backslashed. */ RegExp.escapeMeta = function(str) { return str.replace(/([$^\\\/()|?+*\[\]{}.-])/g, "\\$1"); }