You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bh...@apache.org on 2014/03/27 16:08:42 UTC
[28/51] [partial] CB-6346 - Add node_modules to source control
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/coffee-script/lib/coffee-script/optparse.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/coffee-script/lib/coffee-script/optparse.js b/blackberry10/node_modules/jasmine-node/node_modules/coffee-script/lib/coffee-script/optparse.js
new file mode 100644
index 0000000..0f19ae7
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/coffee-script/lib/coffee-script/optparse.js
@@ -0,0 +1,139 @@
+// Generated by CoffeeScript 1.6.3
+(function() {
+ var LONG_FLAG, MULTI_FLAG, OPTIONAL, OptionParser, SHORT_FLAG, buildRule, buildRules, normalizeArguments, repeat;
+
+ repeat = require('./helpers').repeat;
+
+ exports.OptionParser = OptionParser = (function() {
+ function OptionParser(rules, banner) {
+ this.banner = banner;
+ this.rules = buildRules(rules);
+ }
+
+ OptionParser.prototype.parse = function(args) {
+ var arg, i, isOption, matchedRule, options, originalArgs, pos, rule, seenNonOptionArg, skippingArgument, value, _i, _j, _len, _len1, _ref;
+ options = {
+ "arguments": []
+ };
+ skippingArgument = false;
+ originalArgs = args;
+ args = normalizeArguments(args);
+ for (i = _i = 0, _len = args.length; _i < _len; i = ++_i) {
+ arg = args[i];
+ if (skippingArgument) {
+ skippingArgument = false;
+ continue;
+ }
+ if (arg === '--') {
+ pos = originalArgs.indexOf('--');
+ options["arguments"] = options["arguments"].concat(originalArgs.slice(pos + 1));
+ break;
+ }
+ isOption = !!(arg.match(LONG_FLAG) || arg.match(SHORT_FLAG));
+ seenNonOptionArg = options["arguments"].length > 0;
+ if (!seenNonOptionArg) {
+ matchedRule = false;
+ _ref = this.rules;
+ for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
+ rule = _ref[_j];
+ if (rule.shortFlag === arg || rule.longFlag === arg) {
+ value = true;
+ if (rule.hasArgument) {
+ skippingArgument = true;
+ value = args[i + 1];
+ }
+ options[rule.name] = rule.isList ? (options[rule.name] || []).concat(value) : value;
+ matchedRule = true;
+ break;
+ }
+ }
+ if (isOption && !matchedRule) {
+ throw new Error("unrecognized option: " + arg);
+ }
+ }
+ if (seenNonOptionArg || !isOption) {
+ options["arguments"].push(arg);
+ }
+ }
+ return options;
+ };
+
+ OptionParser.prototype.help = function() {
+ var letPart, lines, rule, spaces, _i, _len, _ref;
+ lines = [];
+ if (this.banner) {
+ lines.unshift("" + this.banner + "\n");
+ }
+ _ref = this.rules;
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ rule = _ref[_i];
+ spaces = 15 - rule.longFlag.length;
+ spaces = spaces > 0 ? repeat(' ', spaces) : '';
+ letPart = rule.shortFlag ? rule.shortFlag + ', ' : ' ';
+ lines.push(' ' + letPart + rule.longFlag + spaces + rule.description);
+ }
+ return "\n" + (lines.join('\n')) + "\n";
+ };
+
+ return OptionParser;
+
+ })();
+
+ LONG_FLAG = /^(--\w[\w\-]*)/;
+
+ SHORT_FLAG = /^(-\w)$/;
+
+ MULTI_FLAG = /^-(\w{2,})/;
+
+ OPTIONAL = /\[(\w+(\*?))\]/;
+
+ buildRules = function(rules) {
+ var tuple, _i, _len, _results;
+ _results = [];
+ for (_i = 0, _len = rules.length; _i < _len; _i++) {
+ tuple = rules[_i];
+ if (tuple.length < 3) {
+ tuple.unshift(null);
+ }
+ _results.push(buildRule.apply(null, tuple));
+ }
+ return _results;
+ };
+
+ buildRule = function(shortFlag, longFlag, description, options) {
+ var match;
+ if (options == null) {
+ options = {};
+ }
+ match = longFlag.match(OPTIONAL);
+ longFlag = longFlag.match(LONG_FLAG)[1];
+ return {
+ name: longFlag.substr(2),
+ shortFlag: shortFlag,
+ longFlag: longFlag,
+ description: description,
+ hasArgument: !!(match && match[1]),
+ isList: !!(match && match[2])
+ };
+ };
+
+ normalizeArguments = function(args) {
+ var arg, l, match, result, _i, _j, _len, _len1, _ref;
+ args = args.slice(0);
+ result = [];
+ for (_i = 0, _len = args.length; _i < _len; _i++) {
+ arg = args[_i];
+ if (match = arg.match(MULTI_FLAG)) {
+ _ref = match[1].split('');
+ for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
+ l = _ref[_j];
+ result.push('-' + l);
+ }
+ } else {
+ result.push(arg);
+ }
+ }
+ return result;
+ };
+
+}).call(this);