Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/utils/jsdoc-toolkit/app/frame/Opt.js
diff options
context:
space:
mode:
Diffstat (limited to 'utils/jsdoc-toolkit/app/frame/Opt.js')
-rwxr-xr-xutils/jsdoc-toolkit/app/frame/Opt.js134
1 files changed, 0 insertions, 134 deletions
diff --git a/utils/jsdoc-toolkit/app/frame/Opt.js b/utils/jsdoc-toolkit/app/frame/Opt.js
deleted file mode 100755
index 352f159..0000000
--- a/utils/jsdoc-toolkit/app/frame/Opt.js
+++ /dev/null
@@ -1,134 +0,0 @@
-/** @namespace */
-Opt = {
- /**
- * Get commandline option values.
- * @param {Array} args Commandline arguments. Like ["-a=xml", "-b", "--class=new", "--debug"]
- * @param {object} optNames Map short names to long names. Like {a:"accept", b:"backtrace", c:"class", d:"debug"}.
- * @return {object} Short names and values. Like {a:"xml", b:true, c:"new", d:true}
- */
- get: function(args, optNames) {
- var opt = {"_": []}; // the unnamed option allows multiple values
- for (var i = 0; i < args.length; i++) {
- var arg = new String(args[i]);
- var name;
- var value;
- if (arg.charAt(0) == "-") {
- if (arg.charAt(1) == "-") { // it's a longname like --foo
- arg = arg.substring(2);
- var m = arg.split("=");
- name = m.shift();
- value = m.shift();
- if (typeof value == "undefined") value = true;
-
- for (var n in optNames) { // convert it to a shortname
- if (name == optNames[n]) {
- name = n;
- }
- }
- }
- else { // it's a shortname like -f
- arg = arg.substring(1);
- var m = arg.split("=");
- name = m.shift();
- value = m.shift();
- if (typeof value == "undefined") value = true;
-
- for (var n in optNames) { // find the matching key
- if (name == n || name+'[]' == n) {
- name = n;
- break;
- }
- }
- }
- if (name.match(/(.+)\[\]$/)) { // it's an array type like n[]
- name = RegExp.$1;
- if (!opt[name]) opt[name] = [];
- }
-
- if (opt[name] && opt[name].push) {
- opt[name].push(value);
- }
- else {
- opt[name] = value;
- }
- }
- else { // not associated with any optname
- opt._.push(args[i]);
- }
- }
- return opt;
- }
-}
-
-/*t:
- plan(11, "Testing Opt.");
-
- is(
- typeof Opt,
- "object",
- "Opt is an object."
- );
-
- is(
- typeof Opt.get,
- "function",
- "Opt.get is a function."
- );
-
- var optNames = {a:"accept", b:"backtrace", c:"class", d:"debug", "e[]":"exceptions"};
- var t_options = Opt.get(["-a=xml", "-b", "--class=new", "--debug", "-e=one", "-e=two", "foo", "bar"], optNames);
-
- is(
- t_options.a,
- "xml",
- "an option defined with a short name can be accessed by its short name."
- );
-
- is(
- t_options.b,
- true,
- "an option defined with a short name and no value are true."
- );
-
- is(
- t_options.c,
- "new",
- "an option defined with a long name can be accessed by its short name."
- );
-
- is(
- t_options.d,
- true,
- "an option defined with a long name and no value are true."
- );
-
- is(
- typeof t_options.e,
- "object",
- "an option that can accept multiple values is defined."
- );
-
- is(
- t_options.e.length,
- 2,
- "an option that can accept multiple values can have more than one value."
- );
-
- is(
- t_options.e[1],
- "two",
- "an option that can accept multiple values can be accessed as an array."
- );
-
- is(
- typeof t_options._,
- "object",
- "the property '_' is defined for unnamed options."
- );
-
- is(
- t_options._[0],
- "foo",
- "the property '_' can be accessed as an array."
- );
- */ \ No newline at end of file