@andersbakken/fisk 4.0.29 → 4.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
 
4
4
  var blessed = require('@andersbakken/blessed');
5
5
  var require$$0$4 = require('events');
6
- var require$$1$1 = require('https');
6
+ var require$$1 = require('https');
7
7
  var require$$2$1 = require('http');
8
8
  var require$$3 = require('net');
9
9
  var require$$4 = require('tls');
@@ -11,17 +11,17 @@ var require$$0$3 = require('crypto');
11
11
  var require$$6 = require('url');
12
12
  var require$$0$1 = require('zlib');
13
13
  var require$$0 = require('fs');
14
- var require$$1 = require('path');
14
+ var path = require('path');
15
15
  var require$$2 = require('os');
16
16
  var require$$0$2 = require('stream');
17
17
  var assert = require('assert');
18
- var require$$1$2 = require('module');
18
+ var require$$1$1 = require('module');
19
19
 
20
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
21
 
22
22
  var blessed__default = /*#__PURE__*/_interopDefaultLegacy(blessed);
23
23
  var require$$0__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$0$4);
24
- var require$$1__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$1$1);
24
+ var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
25
25
  var require$$2__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$2$1);
26
26
  var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3);
27
27
  var require$$4__default = /*#__PURE__*/_interopDefaultLegacy(require$$4);
@@ -29,11 +29,11 @@ var require$$0__default$3 = /*#__PURE__*/_interopDefaultLegacy(require$$0$3);
29
29
  var require$$6__default = /*#__PURE__*/_interopDefaultLegacy(require$$6);
30
30
  var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
31
31
  var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
32
- var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
32
+ var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
33
33
  var require$$2__default = /*#__PURE__*/_interopDefaultLegacy(require$$2);
34
34
  var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$2);
35
35
  var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
36
- var require$$1__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$1$2);
36
+ var require$$1__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$1$1);
37
37
 
38
38
  var bufferUtilExports = {};
39
39
  var bufferUtil$1 = {
@@ -69,7 +69,7 @@ function requireNodeGypBuild$1 () {
69
69
  if (hasRequiredNodeGypBuild$1) return nodeGypBuild;
70
70
  hasRequiredNodeGypBuild$1 = 1;
71
71
  var fs = require$$0__default["default"];
72
- var path = require$$1__default["default"];
72
+ var path = path__default["default"];
73
73
  var os = require$$2__default["default"];
74
74
 
75
75
  // Workaround to fix webpack's build warnings: 'the request of a dependency is an expression'
@@ -2566,7 +2566,7 @@ function format$2(extensions) {
2566
2566
  var extension = { format: format$2, parse: parse$2 };
2567
2567
 
2568
2568
  const EventEmitter$1 = require$$0__default$4["default"];
2569
- const https = require$$1__default$1["default"];
2569
+ const https = require$$1__default["default"];
2570
2570
  const http = require$$2__default$1["default"];
2571
2571
  const net = require$$3__default["default"];
2572
2572
  const tls = require$$4__default["default"];
@@ -4838,10 +4838,10 @@ function requireResolve () {
4838
4838
  hasRequiredResolve = 1;
4839
4839
 
4840
4840
  // Dependencies
4841
- var path = require$$1__default["default"];
4841
+ var path = path__default["default"];
4842
4842
 
4843
4843
  // Load global paths
4844
- var globalPaths = require$$1__default$2["default"].globalPaths;
4844
+ var globalPaths = require$$1__default$1["default"].globalPaths;
4845
4845
 
4846
4846
  // Guess at NPM's global install dir
4847
4847
  var npmGlobalPrefix;
@@ -4931,7 +4931,7 @@ function requireResolve () {
4931
4931
  }
4932
4932
 
4933
4933
  var appRootPath$1 = function(dirname) {
4934
- var path = require$$1__default["default"];
4934
+ var path = path__default["default"];
4935
4935
  var resolve = requireResolve();
4936
4936
  var appRootPath = resolve(dirname);
4937
4937
 
@@ -4966,7 +4966,7 @@ var xdgBasedir = {};
4966
4966
 
4967
4967
  (function (exports) {
4968
4968
  const os = require$$2__default["default"];
4969
- const path = require$$1__default["default"];
4969
+ const path = path__default["default"];
4970
4970
 
4971
4971
  const home = os.homedir();
4972
4972
  const env = process.env;
@@ -4994,273 +4994,269 @@ var xdgBasedir = {};
4994
4994
  }
4995
4995
  } (xdgBasedir));
4996
4996
 
4997
- var minimist;
4998
- var hasRequiredMinimist;
4997
+ function hasKey(obj, keys) {
4998
+ var o = obj;
4999
+ keys.slice(0, -1).forEach(function (key) {
5000
+ o = o[key] || {};
5001
+ });
4999
5002
 
5000
- function requireMinimist () {
5001
- if (hasRequiredMinimist) return minimist;
5002
- hasRequiredMinimist = 1;
5003
- minimist = function (args, opts) {
5004
- if (!opts) opts = {};
5005
-
5006
- var flags = { bools : {}, strings : {}, unknownFn: null };
5003
+ var key = keys[keys.length - 1];
5004
+ return key in o;
5005
+ }
5007
5006
 
5008
- if (typeof opts['unknown'] === 'function') {
5009
- flags.unknownFn = opts['unknown'];
5010
- }
5007
+ function isNumber(x) {
5008
+ if (typeof x === 'number') { return true; }
5009
+ if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
5010
+ return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
5011
+ }
5011
5012
 
5012
- if (typeof opts['boolean'] === 'boolean' && opts['boolean']) {
5013
- flags.allBools = true;
5014
- } else {
5015
- [].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
5016
- flags.bools[key] = true;
5017
- });
5018
- }
5019
-
5020
- var aliases = {};
5021
- Object.keys(opts.alias || {}).forEach(function (key) {
5022
- aliases[key] = [].concat(opts.alias[key]);
5023
- aliases[key].forEach(function (x) {
5024
- aliases[x] = [key].concat(aliases[key].filter(function (y) {
5025
- return x !== y;
5026
- }));
5027
- });
5028
- });
5029
-
5030
- [].concat(opts.string).filter(Boolean).forEach(function (key) {
5031
- flags.strings[key] = true;
5032
- if (aliases[key]) {
5033
- flags.strings[aliases[key]] = true;
5034
- }
5035
- });
5036
-
5037
- var defaults = opts['default'] || {};
5038
-
5039
- var argv = { _ : [] };
5040
- Object.keys(flags.bools).forEach(function (key) {
5041
- setArg(key, defaults[key] === undefined ? false : defaults[key]);
5042
- });
5043
-
5044
- var notFlags = [];
5045
-
5046
- if (args.indexOf('--') !== -1) {
5047
- notFlags = args.slice(args.indexOf('--')+1);
5048
- args = args.slice(0, args.indexOf('--'));
5049
- }
5013
+ function isConstructorOrProto(obj, key) {
5014
+ return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
5015
+ }
5050
5016
 
5051
- function argDefined(key, arg) {
5052
- return (flags.allBools && /^--[^=]+$/.test(arg)) ||
5053
- flags.strings[key] || flags.bools[key] || aliases[key];
5054
- }
5017
+ var minimist = function (args, opts) {
5018
+ if (!opts) { opts = {}; }
5055
5019
 
5056
- function setArg (key, val, arg) {
5057
- if (arg && flags.unknownFn && !argDefined(key, arg)) {
5058
- if (flags.unknownFn(arg) === false) return;
5059
- }
5020
+ var flags = {
5021
+ bools: {},
5022
+ strings: {},
5023
+ unknownFn: null,
5024
+ };
5060
5025
 
5061
- var value = !flags.strings[key] && isNumber(val)
5062
- ? Number(val) : val
5063
- ;
5064
- setKey(argv, key.split('.'), value);
5065
-
5066
- (aliases[key] || []).forEach(function (x) {
5067
- setKey(argv, x.split('.'), value);
5068
- });
5069
- }
5026
+ if (typeof opts.unknown === 'function') {
5027
+ flags.unknownFn = opts.unknown;
5028
+ }
5070
5029
 
5071
- function setKey (obj, keys, value) {
5072
- var o = obj;
5073
- for (var i = 0; i < keys.length-1; i++) {
5074
- var key = keys[i];
5075
- if (isConstructorOrProto(o, key)) return;
5076
- if (o[key] === undefined) o[key] = {};
5077
- if (o[key] === Object.prototype || o[key] === Number.prototype
5078
- || o[key] === String.prototype) o[key] = {};
5079
- if (o[key] === Array.prototype) o[key] = [];
5080
- o = o[key];
5081
- }
5030
+ if (typeof opts.boolean === 'boolean' && opts.boolean) {
5031
+ flags.allBools = true;
5032
+ } else {
5033
+ [].concat(opts.boolean).filter(Boolean).forEach(function (key) {
5034
+ flags.bools[key] = true;
5035
+ });
5036
+ }
5082
5037
 
5083
- var key = keys[keys.length - 1];
5084
- if (isConstructorOrProto(o, key)) return;
5085
- if (o === Object.prototype || o === Number.prototype
5086
- || o === String.prototype) o = {};
5087
- if (o === Array.prototype) o = [];
5088
- if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') {
5089
- o[key] = value;
5090
- }
5091
- else if (Array.isArray(o[key])) {
5092
- o[key].push(value);
5093
- }
5094
- else {
5095
- o[key] = [ o[key], value ];
5096
- }
5097
- }
5098
-
5099
- function aliasIsBoolean(key) {
5100
- return aliases[key].some(function (x) {
5101
- return flags.bools[x];
5102
- });
5103
- }
5038
+ var aliases = {};
5104
5039
 
5105
- for (var i = 0; i < args.length; i++) {
5106
- var arg = args[i];
5107
-
5108
- if (/^--.+=/.test(arg)) {
5109
- // Using [\s\S] instead of . because js doesn't support the
5110
- // 'dotall' regex modifier. See:
5111
- // http://stackoverflow.com/a/1068308/13216
5112
- var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
5113
- var key = m[1];
5114
- var value = m[2];
5115
- if (flags.bools[key]) {
5116
- value = value !== 'false';
5117
- }
5118
- setArg(key, value, arg);
5119
- }
5120
- else if (/^--no-.+/.test(arg)) {
5121
- var key = arg.match(/^--no-(.+)/)[1];
5122
- setArg(key, false, arg);
5123
- }
5124
- else if (/^--.+/.test(arg)) {
5125
- var key = arg.match(/^--(.+)/)[1];
5126
- var next = args[i + 1];
5127
- if (next !== undefined && !/^-/.test(next)
5128
- && !flags.bools[key]
5129
- && !flags.allBools
5130
- && (aliases[key] ? !aliasIsBoolean(key) : true)) {
5131
- setArg(key, next, arg);
5132
- i++;
5133
- }
5134
- else if (/^(true|false)$/.test(next)) {
5135
- setArg(key, next === 'true', arg);
5136
- i++;
5137
- }
5138
- else {
5139
- setArg(key, flags.strings[key] ? '' : true, arg);
5140
- }
5141
- }
5142
- else if (/^-[^-]+/.test(arg)) {
5143
- var letters = arg.slice(1,-1).split('');
5144
-
5145
- var broken = false;
5146
- for (var j = 0; j < letters.length; j++) {
5147
- var next = arg.slice(j+2);
5148
-
5149
- if (next === '-') {
5150
- setArg(letters[j], next, arg);
5151
- continue;
5152
- }
5153
-
5154
- if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) {
5155
- setArg(letters[j], next.split('=')[1], arg);
5156
- broken = true;
5157
- break;
5158
- }
5159
-
5160
- if (/[A-Za-z]/.test(letters[j])
5161
- && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
5162
- setArg(letters[j], next, arg);
5163
- broken = true;
5164
- break;
5165
- }
5166
-
5167
- if (letters[j+1] && letters[j+1].match(/\W/)) {
5168
- setArg(letters[j], arg.slice(j+2), arg);
5169
- broken = true;
5170
- break;
5171
- }
5172
- else {
5173
- setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
5174
- }
5175
- }
5176
-
5177
- var key = arg.slice(-1)[0];
5178
- if (!broken && key !== '-') {
5179
- if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1])
5180
- && !flags.bools[key]
5181
- && (aliases[key] ? !aliasIsBoolean(key) : true)) {
5182
- setArg(key, args[i+1], arg);
5183
- i++;
5184
- }
5185
- else if (args[i+1] && /^(true|false)$/.test(args[i+1])) {
5186
- setArg(key, args[i+1] === 'true', arg);
5187
- i++;
5188
- }
5189
- else {
5190
- setArg(key, flags.strings[key] ? '' : true, arg);
5191
- }
5192
- }
5193
- }
5194
- else {
5195
- if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
5196
- argv._.push(
5197
- flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)
5198
- );
5199
- }
5200
- if (opts.stopEarly) {
5201
- argv._.push.apply(argv._, args.slice(i + 1));
5202
- break;
5203
- }
5204
- }
5205
- }
5206
-
5207
- Object.keys(defaults).forEach(function (key) {
5208
- if (!hasKey(argv, key.split('.'))) {
5209
- setKey(argv, key.split('.'), defaults[key]);
5210
-
5211
- (aliases[key] || []).forEach(function (x) {
5212
- setKey(argv, x.split('.'), defaults[key]);
5213
- });
5214
- }
5215
- });
5216
-
5217
- if (opts['--']) {
5218
- argv['--'] = new Array();
5219
- notFlags.forEach(function(key) {
5220
- argv['--'].push(key);
5221
- });
5222
- }
5223
- else {
5224
- notFlags.forEach(function(key) {
5225
- argv._.push(key);
5226
- });
5227
- }
5040
+ function aliasIsBoolean(key) {
5041
+ return aliases[key].some(function (x) {
5042
+ return flags.bools[x];
5043
+ });
5044
+ }
5228
5045
 
5229
- return argv;
5230
- };
5046
+ Object.keys(opts.alias || {}).forEach(function (key) {
5047
+ aliases[key] = [].concat(opts.alias[key]);
5048
+ aliases[key].forEach(function (x) {
5049
+ aliases[x] = [key].concat(aliases[key].filter(function (y) {
5050
+ return x !== y;
5051
+ }));
5052
+ });
5053
+ });
5054
+
5055
+ [].concat(opts.string).filter(Boolean).forEach(function (key) {
5056
+ flags.strings[key] = true;
5057
+ if (aliases[key]) {
5058
+ [].concat(aliases[key]).forEach(function (k) {
5059
+ flags.strings[k] = true;
5060
+ });
5061
+ }
5062
+ });
5231
5063
 
5232
- function hasKey (obj, keys) {
5233
- var o = obj;
5234
- keys.slice(0,-1).forEach(function (key) {
5235
- o = (o[key] || {});
5236
- });
5064
+ var defaults = opts.default || {};
5237
5065
 
5238
- var key = keys[keys.length - 1];
5239
- return key in o;
5066
+ var argv = { _: [] };
5067
+
5068
+ function argDefined(key, arg) {
5069
+ return (flags.allBools && (/^--[^=]+$/).test(arg))
5070
+ || flags.strings[key]
5071
+ || flags.bools[key]
5072
+ || aliases[key];
5240
5073
  }
5241
5074
 
5242
- function isNumber (x) {
5243
- if (typeof x === 'number') return true;
5244
- if (/^0x[0-9a-f]+$/i.test(x)) return true;
5245
- return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
5075
+ function setKey(obj, keys, value) {
5076
+ var o = obj;
5077
+ for (var i = 0; i < keys.length - 1; i++) {
5078
+ var key = keys[i];
5079
+ if (isConstructorOrProto(o, key)) { return; }
5080
+ if (o[key] === undefined) { o[key] = {}; }
5081
+ if (
5082
+ o[key] === Object.prototype
5083
+ || o[key] === Number.prototype
5084
+ || o[key] === String.prototype
5085
+ ) {
5086
+ o[key] = {};
5087
+ }
5088
+ if (o[key] === Array.prototype) { o[key] = []; }
5089
+ o = o[key];
5090
+ }
5091
+
5092
+ var lastKey = keys[keys.length - 1];
5093
+ if (isConstructorOrProto(o, lastKey)) { return; }
5094
+ if (
5095
+ o === Object.prototype
5096
+ || o === Number.prototype
5097
+ || o === String.prototype
5098
+ ) {
5099
+ o = {};
5100
+ }
5101
+ if (o === Array.prototype) { o = []; }
5102
+ if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
5103
+ o[lastKey] = value;
5104
+ } else if (Array.isArray(o[lastKey])) {
5105
+ o[lastKey].push(value);
5106
+ } else {
5107
+ o[lastKey] = [o[lastKey], value];
5108
+ }
5246
5109
  }
5247
5110
 
5111
+ function setArg(key, val, arg) {
5112
+ if (arg && flags.unknownFn && !argDefined(key, arg)) {
5113
+ if (flags.unknownFn(arg) === false) { return; }
5114
+ }
5115
+
5116
+ var value = !flags.strings[key] && isNumber(val)
5117
+ ? Number(val)
5118
+ : val;
5119
+ setKey(argv, key.split('.'), value);
5248
5120
 
5249
- function isConstructorOrProto (obj, key) {
5250
- return key === 'constructor' && typeof obj[key] === 'function' || key === '__proto__';
5121
+ (aliases[key] || []).forEach(function (x) {
5122
+ setKey(argv, x.split('.'), value);
5123
+ });
5251
5124
  }
5252
- return minimist;
5253
- }
5254
5125
 
5255
- /*global require,module,process*/
5126
+ Object.keys(flags.bools).forEach(function (key) {
5127
+ setArg(key, defaults[key] === undefined ? false : defaults[key]);
5128
+ });
5256
5129
 
5257
- const fs = require$$0__default["default"];
5258
- const path = require$$1__default["default"];
5259
- const appPath = appRootPath;
5260
- const xdg = xdgBasedir;
5130
+ var notFlags = [];
5261
5131
 
5262
- function split(data)
5263
- {
5132
+ if (args.indexOf('--') !== -1) {
5133
+ notFlags = args.slice(args.indexOf('--') + 1);
5134
+ args = args.slice(0, args.indexOf('--'));
5135
+ }
5136
+
5137
+ for (var i = 0; i < args.length; i++) {
5138
+ var arg = args[i];
5139
+ var key;
5140
+ var next;
5141
+
5142
+ if ((/^--.+=/).test(arg)) {
5143
+ // Using [\s\S] instead of . because js doesn't support the
5144
+ // 'dotall' regex modifier. See:
5145
+ // http://stackoverflow.com/a/1068308/13216
5146
+ var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
5147
+ key = m[1];
5148
+ var value = m[2];
5149
+ if (flags.bools[key]) {
5150
+ value = value !== 'false';
5151
+ }
5152
+ setArg(key, value, arg);
5153
+ } else if ((/^--no-.+/).test(arg)) {
5154
+ key = arg.match(/^--no-(.+)/)[1];
5155
+ setArg(key, false, arg);
5156
+ } else if ((/^--.+/).test(arg)) {
5157
+ key = arg.match(/^--(.+)/)[1];
5158
+ next = args[i + 1];
5159
+ if (
5160
+ next !== undefined
5161
+ && !(/^(-|--)[^-]/).test(next)
5162
+ && !flags.bools[key]
5163
+ && !flags.allBools
5164
+ && (aliases[key] ? !aliasIsBoolean(key) : true)
5165
+ ) {
5166
+ setArg(key, next, arg);
5167
+ i += 1;
5168
+ } else if ((/^(true|false)$/).test(next)) {
5169
+ setArg(key, next === 'true', arg);
5170
+ i += 1;
5171
+ } else {
5172
+ setArg(key, flags.strings[key] ? '' : true, arg);
5173
+ }
5174
+ } else if ((/^-[^-]+/).test(arg)) {
5175
+ var letters = arg.slice(1, -1).split('');
5176
+
5177
+ var broken = false;
5178
+ for (var j = 0; j < letters.length; j++) {
5179
+ next = arg.slice(j + 2);
5180
+
5181
+ if (next === '-') {
5182
+ setArg(letters[j], next, arg);
5183
+ continue;
5184
+ }
5185
+
5186
+ if ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {
5187
+ setArg(letters[j], next.slice(1), arg);
5188
+ broken = true;
5189
+ break;
5190
+ }
5191
+
5192
+ if (
5193
+ (/[A-Za-z]/).test(letters[j])
5194
+ && (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)
5195
+ ) {
5196
+ setArg(letters[j], next, arg);
5197
+ broken = true;
5198
+ break;
5199
+ }
5200
+
5201
+ if (letters[j + 1] && letters[j + 1].match(/\W/)) {
5202
+ setArg(letters[j], arg.slice(j + 2), arg);
5203
+ broken = true;
5204
+ break;
5205
+ } else {
5206
+ setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
5207
+ }
5208
+ }
5209
+
5210
+ key = arg.slice(-1)[0];
5211
+ if (!broken && key !== '-') {
5212
+ if (
5213
+ args[i + 1]
5214
+ && !(/^(-|--)[^-]/).test(args[i + 1])
5215
+ && !flags.bools[key]
5216
+ && (aliases[key] ? !aliasIsBoolean(key) : true)
5217
+ ) {
5218
+ setArg(key, args[i + 1], arg);
5219
+ i += 1;
5220
+ } else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {
5221
+ setArg(key, args[i + 1] === 'true', arg);
5222
+ i += 1;
5223
+ } else {
5224
+ setArg(key, flags.strings[key] ? '' : true, arg);
5225
+ }
5226
+ }
5227
+ } else {
5228
+ if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
5229
+ argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
5230
+ }
5231
+ if (opts.stopEarly) {
5232
+ argv._.push.apply(argv._, args.slice(i + 1));
5233
+ break;
5234
+ }
5235
+ }
5236
+ }
5237
+
5238
+ Object.keys(defaults).forEach(function (k) {
5239
+ if (!hasKey(argv, k.split('.'))) {
5240
+ setKey(argv, k.split('.'), defaults[k]);
5241
+
5242
+ (aliases[k] || []).forEach(function (x) {
5243
+ setKey(argv, x.split('.'), defaults[k]);
5244
+ });
5245
+ }
5246
+ });
5247
+
5248
+ if (opts['--']) {
5249
+ argv['--'] = notFlags.slice();
5250
+ } else {
5251
+ notFlags.forEach(function (k) {
5252
+ argv._.push(k);
5253
+ });
5254
+ }
5255
+
5256
+ return argv;
5257
+ };
5258
+
5259
+ function split(data) {
5264
5260
  const pre = data.split("\n");
5265
5261
  // rejoin with lines that starts with a whitespace
5266
5262
  const out = [];
@@ -5279,7 +5275,8 @@ function split(data)
5279
5275
  --idx;
5280
5276
  if (idx < cur.length - 1)
5281
5277
  cur = cur.substr(0, idx + 1);
5282
- } else if (cur.length > 0) {
5278
+ }
5279
+ else if (cur.length > 0) {
5283
5280
  out.push(cur.trim());
5284
5281
  cur = line.trim();
5285
5282
  }
@@ -5289,9 +5286,7 @@ function split(data)
5289
5286
  }
5290
5287
  return out;
5291
5288
  }
5292
-
5293
- function realValue(v)
5294
- {
5289
+ function realValue(v) {
5295
5290
  if (typeof v !== "string")
5296
5291
  return v;
5297
5292
  if (/^[-0-9.]+$/.exec(v)) {
@@ -5300,119 +5295,130 @@ function realValue(v)
5300
5295
  return vf;
5301
5296
  }
5302
5297
  switch (v) {
5303
- case "true":
5304
- return true;
5305
- case "false":
5306
- return false;
5298
+ case "true":
5299
+ return true;
5300
+ case "false":
5301
+ return false;
5307
5302
  }
5308
5303
  return v;
5309
5304
  }
5310
-
5311
- class Options {
5305
+ class Engine {
5306
+ argv;
5307
+ prefix;
5308
+ additionalFiles;
5309
+ applicationPath;
5310
+ debug;
5311
+ options;
5312
+ configDirs;
5312
5313
  constructor(options, argv) {
5313
5314
  this.argv = Object.assign({}, argv);
5314
5315
  this.prefix = options.prefix;
5315
5316
  this.additionalFiles = options.additionalFiles || [];
5316
- this.applicationPath = options.noApplicationPath ? "" : appPath.toString();
5317
- this.debug = options.debug;
5317
+ this.applicationPath = options.noApplicationPath ? "" : appRootPath.toString();
5318
+ this.debug = options.debug ?? false;
5318
5319
  this.options = {};
5319
- this.configDirs = this.argv["config-dir"] || options.configDirs || xdg.configDirs;
5320
+ this.configDirs = this.argv["config-dir"] || options.configDirs || xdgBasedir.configDirs;
5320
5321
  this._read();
5321
5322
  }
5322
-
5323
5323
  value(name) {
5324
5324
  // foo-bar becomes FOO_BAR as env
5325
- if (name in this.argv)
5325
+ if (name in this.argv) {
5326
5326
  return this.argv[name];
5327
+ }
5327
5328
  const envname = (this.prefix + "_" + name).replace(/-/g, "_").toUpperCase();
5328
- if (envname in process.env)
5329
+ if (envname in process.env) {
5329
5330
  return realValue(process.env[envname]);
5330
-
5331
- if (name in this.options)
5331
+ }
5332
+ if (name in this.options) {
5332
5333
  return this.options[name];
5334
+ }
5333
5335
  return undefined;
5334
5336
  }
5335
-
5337
+ string(name) {
5338
+ const ret = this.value(name);
5339
+ if (ret === undefined) {
5340
+ return undefined;
5341
+ }
5342
+ return String(ret);
5343
+ }
5336
5344
  _homedir() {
5337
5345
  let home = process.env.home;
5338
5346
  if (home) {
5339
- return path.join(home, ".config");
5347
+ return path__default["default"].join(home, ".config");
5340
5348
  }
5341
5349
  return undefined;
5342
5350
  }
5343
-
5344
5351
  _log(...args) {
5345
5352
  if (this.debug)
5346
5353
  console.log(...args);
5347
5354
  }
5348
-
5349
5355
  _read() {
5350
5356
  // if we have a config file passed, read it
5351
- let file = this.value("config-file");
5357
+ let file = this.string("config-file");
5352
5358
  if (!file && this.prefix)
5353
5359
  file = this.prefix + ".conf";
5354
5360
  if (!file)
5355
5361
  return;
5356
-
5357
5362
  let data = [];
5358
5363
  let seen = new Set();
5359
- const Failed = 0;
5360
- const Success = 1;
5361
- const Seen = 2;
5362
- const read = file => {
5364
+ const read = (file) => {
5363
5365
  if (seen.has(file))
5364
- return Seen;
5366
+ return 2 /* OptionsReadResult.Seen */;
5365
5367
  seen.add(file);
5366
5368
  try {
5367
- const contents = fs.readFileSync(file, "utf8");
5369
+ const contents = require$$0__default["default"].readFileSync(file, "utf8");
5368
5370
  this._log(`Loaded ${contents.length} bytes from ${file}`);
5369
-
5370
5371
  if (contents) {
5371
- data.push({ file: file, contents: contents });
5372
- return Success;
5372
+ data.push({ file, contents });
5373
+ return 1 /* OptionsReadResult.Success */;
5373
5374
  }
5374
- } catch (e) {
5375
+ }
5376
+ catch (e) {
5375
5377
  this._log(`Failed to load ${file}`);
5376
5378
  }
5377
- return Failed;
5379
+ return 0 /* OptionsReadResult.Failed */;
5378
5380
  };
5379
-
5380
5381
  // console.log("about to read file", file, "additionalFiles", this.additionalFiles, "configDirs", this.configDirs, "applicationPath", this.applicationPath, "homedir", this._homedir());
5381
- if (path.isAbsolute(file)) {
5382
+ if (path__default["default"].isAbsolute(file)) {
5382
5383
  read(file);
5383
- } else {
5384
+ }
5385
+ else {
5384
5386
  this.additionalFiles.forEach(file => {
5385
- if (path.isAbsolute(file) && read(file) == Failed)
5387
+ if (path__default["default"].isAbsolute(file) && read(file) == 0 /* OptionsReadResult.Failed */) {
5386
5388
  read(file + ".conf");
5389
+ }
5387
5390
  });
5388
5391
  ([this.applicationPath, this._homedir()].concat(this.configDirs)).forEach(root => {
5389
5392
  // in case we appended with undefined
5390
- if (!root)
5393
+ if (!root) {
5391
5394
  return;
5395
+ }
5392
5396
  this.additionalFiles.forEach(additional => {
5393
- if (!path.isAbsolute(additional)) {
5394
- let file = path.join(root, additional);
5395
- if (read(file) == Failed)
5397
+ if (!path__default["default"].isAbsolute(additional)) {
5398
+ let file = path__default["default"].join(root, additional);
5399
+ if (read(file) == 0 /* OptionsReadResult.Failed */)
5396
5400
  read(file + ".conf");
5397
5401
  }
5398
5402
  });
5399
-
5400
- let filePath = path.join(root, file);
5401
- if (read(filePath) == Failed)
5403
+ let filePath = path__default["default"].join(root, file);
5404
+ if (read(filePath) == 0 /* OptionsReadResult.Failed */) {
5402
5405
  read(filePath + ".conf");
5406
+ }
5403
5407
  });
5404
5408
  }
5405
5409
  for (let i = data.length - 1; i >= 0; --i) {
5406
5410
  let str = data[i].contents;
5407
- if (!str)
5411
+ if (!str) {
5408
5412
  continue;
5413
+ }
5409
5414
  try {
5410
5415
  let obj = JSON.parse(str);
5411
5416
  for (let key in obj) {
5412
5417
  this._log(`Assigning ${JSON.stringify(obj[key])} over ${JSON.stringify(this.options[key])} for ${key} from ${data[i].file} (JSON)`);
5413
5418
  this.options[key] = obj[key];
5414
5419
  }
5415
- } catch (err) {
5420
+ }
5421
+ catch (err) {
5416
5422
  const items = split(str);
5417
5423
  for (let j = 0; j < items.length; ++j) {
5418
5424
  const item = items[j].trim();
@@ -5425,12 +5431,12 @@ class Options {
5425
5431
  this._log("Couldn't find =", item);
5426
5432
  continue;
5427
5433
  }
5428
- const key = item.substr(0, eq).trim();
5434
+ const key = item.substring(0, eq).trim();
5429
5435
  if (!key.length) {
5430
5436
  this._log("empty key", item);
5431
5437
  continue;
5432
5438
  }
5433
- const value = item.substr(eq + 1).trim();
5439
+ const value = item.substring(eq + 1).trim();
5434
5440
  this._log(`Assigning ${value} over ${this.options[key]} for ${key} from ${data[i].file} (INI)`);
5435
5441
  this.options[key] = value;
5436
5442
  }
@@ -5438,37 +5444,34 @@ class Options {
5438
5444
  }
5439
5445
  }
5440
5446
  }
5441
-
5442
- const data = {};
5443
-
5444
- var options = function(options, argv) {
5445
- if (!argv)
5446
- argv = requireMinimist()(process.argv.slice(2));
5447
- if (!(options instanceof Object))
5448
- options = { prefix: options || "" };
5449
-
5450
- data.options = new Options(options, argv);
5451
- let ret = function(name, defaultValue) {
5452
- const val = data.options.value(name);
5453
- if (typeof val === "undefined")
5447
+ function options (optionsOptions, argv) {
5448
+ if (!argv) {
5449
+ argv = minimist(process.argv.slice(2));
5450
+ }
5451
+ if (!(optionsOptions instanceof Object)) {
5452
+ optionsOptions = { prefix: optionsOptions || "" };
5453
+ }
5454
+ const engine = new Engine(optionsOptions, argv);
5455
+ function value(name, defaultValue) {
5456
+ const val = engine.value(name);
5457
+ if (val === undefined)
5454
5458
  return defaultValue;
5455
5459
  return val;
5456
- };
5457
- ret.prefix = options.prefix;
5458
- ret.int = function(name, defaultValue) {
5459
- const v = parseInt(data.options.value(name));
5460
+ }
5461
+ function float(name, defaultValue) {
5462
+ const v = parseFloat(engine.string(name) || "");
5460
5463
  if (typeof v === "number" && !isNaN(v))
5461
5464
  return v;
5462
5465
  return defaultValue;
5463
- };
5464
- ret.float = function(name, defaultValue) {
5465
- const v = parseFloat(data.options.value(name));
5466
+ }
5467
+ function int(name, defaultValue) {
5468
+ const v = parseInt(engine.string(name) || "");
5466
5469
  if (typeof v === "number" && !isNaN(v))
5467
5470
  return v;
5468
5471
  return defaultValue;
5469
- };
5470
- ret.json = function(name, defaultValue) {
5471
- const opt = data.options.value(name);
5472
+ }
5473
+ function json(name, defaultValue) {
5474
+ const opt = engine.value(name);
5472
5475
  if (opt === undefined)
5473
5476
  return defaultValue;
5474
5477
  if (typeof opt !== "string")
@@ -5476,12 +5479,22 @@ var options = function(options, argv) {
5476
5479
  try {
5477
5480
  const json = JSON.parse(opt);
5478
5481
  return json;
5479
- } catch (e) {
5482
+ }
5483
+ catch (e) {
5480
5484
  }
5481
5485
  return defaultValue;
5482
- };
5483
- return ret;
5484
- };
5486
+ }
5487
+ function string(name, defaultValue) {
5488
+ return engine.string(name) ?? defaultValue;
5489
+ }
5490
+ return Object.assign(value, {
5491
+ prefix: optionsOptions.prefix,
5492
+ float,
5493
+ int,
5494
+ json,
5495
+ string,
5496
+ });
5497
+ }
5485
5498
 
5486
5499
  const option = options({
5487
5500
  prefix: "fisk/monitor",