author | Lennard de Rijk <ljvderijk@gmail.com> |
Sun, 25 Oct 2009 18:45:58 -0700 | |
changeset 3052 | 6907a33ca0a2 |
parent 3041 | c8f47f0b6697 |
permissions | -rw-r--r-- |
3041
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
1 |
IO.include("frame/Opt.js"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
2 |
IO.include("frame/Chain.js"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
3 |
IO.include("frame/Link.js"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
4 |
IO.include("frame/String.js"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
5 |
IO.include("frame/Hash.js"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
6 |
IO.include("frame/Namespace.js"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
7 |
//IO.include("frame/Reflection.js"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
8 |
|
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
9 |
/** A few helper functions to make life a little easier. */ |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
10 |
|
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
11 |
function defined(o) { |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
12 |
return (o !== undefined); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
13 |
} |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
14 |
|
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
15 |
function copy(o) { // todo check for circular refs |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
16 |
if (o == null || typeof(o) != 'object') return o; |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
17 |
var c = new o.constructor(); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
18 |
for(var p in o) c[p] = copy(o[p]); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
19 |
return c; |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
20 |
} |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
21 |
|
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
22 |
function isUnique(arr) { |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
23 |
var l = arr.length; |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
24 |
for(var i = 0; i < l; i++ ) { |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
25 |
if (arr.lastIndexOf(arr[i]) > i) return false; |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
26 |
} |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
27 |
return true; |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
28 |
} |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
29 |
|
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
30 |
/** Returns the given string with all regex meta characters backslashed. */ |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
31 |
RegExp.escapeMeta = function(str) { |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
32 |
return str.replace(/([$^\\\/()|?+*\[\]{}.-])/g, "\\$1"); |
c8f47f0b6697
JSDocToolkit 2.3.0 added to create documentation for JS files.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
33 |
} |