Comparing version 1.6.3 to 1.7.0
@@ -0,1 +1,8 @@ | ||
## 25 April 2019 | ||
### [1.7.0](https://github.com/artdecocode/argufy/compare/v1.6.3...v1.7.0) | ||
- [feature] Allow to specify multiple input files. | ||
- [fix] Correct the casting parenthesis when using the default value (`/** @type {string} */ (argv['input'] || 'defaultValue')`); cast multiple command to an array of strings. | ||
## 24 April 2019 | ||
@@ -2,0 +9,0 @@ |
#!/usr/bin/env node | ||
const fs = require('fs'); | ||
const stream = require('stream'); | ||
const os = require('os'); | ||
const {createReadStream:t, createWriteStream:u} = fs; | ||
const {Writable:v} = stream; | ||
const w = (a, b = 0, c = !1) => { | ||
if (0 === b && !c) { | ||
return a; | ||
} | ||
a = a.split("\n", c ? b + 1 : void 0); | ||
return c ? a[a.length - 1] : a.slice(b).join("\n"); | ||
}, x = (a, b = !1) => w(a, 2 + (b ? 1 : 0)), y = a => { | ||
({callee:{caller:a}} = a); | ||
return a; | ||
}; | ||
const {homedir:z} = os; | ||
const A = /\s+at.*(?:\(|\s)(.*)\)?/, B = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:IGNORED_MODULES)\/.*)?\w+)\.js:\d+:\d+)|native)/, C = z(), D = a => { | ||
const {pretty:b = !1, ignoredModules:c = ["pirates"]} = {}, e = new RegExp(B.source.replace("IGNORED_MODULES", c.join("|"))); | ||
return a.replace(/\\/g, "/").split("\n").filter(d => { | ||
d = d.match(A); | ||
if (null === d || !d[1]) { | ||
return !0; | ||
} | ||
d = d[1]; | ||
return d.includes(".app/Contents/Resources/electron.asar") || d.includes(".app/Contents/Resources/default_app.asar") ? !1 : !e.test(d); | ||
}).filter(d => d.trim()).map(d => b ? d.replace(A, (f, h) => f.replace(h, h.replace(C, "~"))) : d).join("\n"); | ||
}; | ||
function E(a, b, c = !1) { | ||
return function(e) { | ||
var d = y(arguments), {stack:f} = Error(); | ||
const h = w(f, 2, !0), m = (f = e instanceof Error) ? e.message : e; | ||
d = [`Error: ${m}`, ...null !== d && a === d || c ? [b] : [h, b]].join("\n"); | ||
d = D(d); | ||
return Object.assign(f ? e : Error(), {message:m, stack:d}); | ||
}; | ||
} | ||
;function F(a) { | ||
var {stack:b} = Error(); | ||
const c = y(arguments); | ||
b = x(b, a); | ||
return E(c, b, a); | ||
} | ||
;const G = (a, b) => { | ||
b.once("error", c => { | ||
a.emit("error", c); | ||
const fs = require('fs'); | ||
const {readFileSync:t, writeFileSync:u} = fs; | ||
const v = new RegExp(`(${/[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{1031F}\u{1032D}-\u{10340}\u{10342}-\u{10349}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{103A0}-\u{103C3}\u{103C8}-\u{103CF}\u{10400}-\u{1049D}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10860}-\u{10876}\u{10880}-\u{1089E}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{10900}-\u{10915}\u{10920}-\u{10939}\u{10980}-\u{109B7}\u{109BE}\u{109BF}\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A60}-\u{10A7C}\u{10A80}-\u{10A9C}\u{10AC0}-\u{10AC7}\u{10AC9}-\u{10AE4}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B60}-\u{10B72}\u{10B80}-\u{10B91}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10D00}-\u{10D23}\u{10F00}-\u{10F1C}\u{10F27}\u{10F30}-\u{10F45}\u{11003}-\u{11037}\u{11083}-\u{110AF}\u{110D0}-\u{110E8}\u{11103}-\u{11126}\u{11144}\u{11150}-\u{11172}\u{11176}\u{11183}-\u{111B2}\u{111C1}-\u{111C4}\u{111DA}\u{111DC}\u{11200}-\u{11211}\u{11213}-\u{1122B}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A8}\u{112B0}-\u{112DE}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}\u{11350}\u{1135D}-\u{11361}\u{11400}-\u{11434}\u{11447}-\u{1144A}\u{11480}-\u{114AF}\u{114C4}\u{114C5}\u{114C7}\u{11580}-\u{115AE}\u{115D8}-\u{115DB}\u{11600}-\u{1162F}\u{11644}\u{11680}-\u{116AA}\u{11700}-\u{1171A}\u{11800}-\u{1182B}\u{118A0}-\u{118DF}\u{118FF}\u{11A00}\u{11A0B}-\u{11A32}\u{11A3A}\u{11A50}\u{11A5C}-\u{11A83}\u{11A86}-\u{11A89}\u{11A9D}\u{11AC0}-\u{11AF8}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2E}\u{11C40}\u{11C72}-\u{11C8F}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D89}\u{11D98}\u{11EE0}-\u{11EF2}\u{12000}-\u{12399}\u{12480}-\u{12543}\u{13000}-\u{1342E}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16AD0}-\u{16AED}\u{16B00}-\u{16B2F}\u{16B40}-\u{16B43}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E7F}\u{16F00}-\u{16F44}\u{16F50}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{17000}-\u{187F1}\u{18800}-\u{18AF2}\u{1B000}-\u{1B11E}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1E800}-\u{1E8C4}\u{1E900}-\u{1E943}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2F800}-\u{2FA1D}][\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{1031F}\u{1032D}-\u{10340}\u{10342}-\u{10349}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{103A0}-\u{103C3}\u{103C8}-\u{103CF}\u{10400}-\u{1049D}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10860}-\u{10876}\u{10880}-\u{1089E}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{10900}-\u{10915}\u{10920}-\u{10939}\u{10980}-\u{109B7}\u{109BE}\u{109BF}\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A60}-\u{10A7C}\u{10A80}-\u{10A9C}\u{10AC0}-\u{10AC7}\u{10AC9}-\u{10AE4}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B60}-\u{10B72}\u{10B80}-\u{10B91}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10D00}-\u{10D23}\u{10F00}-\u{10F1C}\u{10F27}\u{10F30}-\u{10F45}\u{11003}-\u{11037}\u{11083}-\u{110AF}\u{110D0}-\u{110E8}\u{11103}-\u{11126}\u{11144}\u{11150}-\u{11172}\u{11176}\u{11183}-\u{111B2}\u{111C1}-\u{111C4}\u{111DA}\u{111DC}\u{11200}-\u{11211}\u{11213}-\u{1122B}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A8}\u{112B0}-\u{112DE}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}\u{11350}\u{1135D}-\u{11361}\u{11400}-\u{11434}\u{11447}-\u{1144A}\u{11480}-\u{114AF}\u{114C4}\u{114C5}\u{114C7}\u{11580}-\u{115AE}\u{115D8}-\u{115DB}\u{11600}-\u{1162F}\u{11644}\u{11680}-\u{116AA}\u{11700}-\u{1171A}\u{11800}-\u{1182B}\u{118A0}-\u{118DF}\u{118FF}\u{11A00}\u{11A0B}-\u{11A32}\u{11A3A}\u{11A50}\u{11A5C}-\u{11A83}\u{11A86}-\u{11A89}\u{11A9D}\u{11AC0}-\u{11AF8}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2E}\u{11C40}\u{11C72}-\u{11C8F}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D89}\u{11D98}\u{11EE0}-\u{11EF2}\u{12000}-\u{12399}\u{12480}-\u{12543}\u{13000}-\u{1342E}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16AD0}-\u{16AED}\u{16B00}-\u{16B2F}\u{16B40}-\u{16B43}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E7F}\u{16F00}-\u{16F44}\u{16F50}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{17000}-\u{187F1}\u{18800}-\u{18AF2}\u{1B000}-\u{1B11E}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1E800}-\u{1E8C4}\u{1E900}-\u{1E943}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2F800}-\u{2FA1D}]*/u.source})(?:\\s*=\\s*${/(?:"([\s\S]*?)"|'([\s\S]*?)')/.source})?`, | ||
"u"), w = v.source.replace(/\(\[/g, "(?:["), x = new RegExp(`\\s*((?:${w}\\s*)*)`, "u"); | ||
const y = a => { | ||
const c = {}; | ||
a.replace(new RegExp(v.source, "gu"), (b, d, e, g) => { | ||
b = g || e; | ||
b = void 0 === b ? !0 : b; | ||
b = "true" == b ? !0 : "false" == b ? !1 : /^\d+$/.test(b) ? parseInt(b, 10) : b; | ||
c[d] = b; | ||
}); | ||
return b; | ||
return c; | ||
}; | ||
class H extends v { | ||
constructor(a) { | ||
var b = a || {}, c = Object.assign({}, b); | ||
const e = void 0 === b.binary ? !1 : b.binary, d = void 0 === b.rs ? null : b.rs; | ||
b = (delete c.binary, delete c.rs, c); | ||
const {h:f = F(!0), proxyError:h} = a || {}, m = (n, k) => f(k); | ||
super(b); | ||
this.b = []; | ||
this.f = new Promise((n, k) => { | ||
this.on("finish", () => { | ||
let g; | ||
e ? g = Buffer.concat(this.b) : g = this.b.join(""); | ||
n(g); | ||
this.b = []; | ||
}); | ||
this.once("error", g => { | ||
if (-1 == g.stack.indexOf("\n")) { | ||
m`${g}`; | ||
} else { | ||
const l = D(g.stack); | ||
g.stack = l; | ||
h && m`${g}`; | ||
} | ||
k(g); | ||
}); | ||
d && G(this, d).pipe(this); | ||
}); | ||
} | ||
_write(a, b, c) { | ||
this.b.push(a); | ||
c(); | ||
} | ||
get g() { | ||
return this.f; | ||
} | ||
} | ||
const I = async a => { | ||
var b = void 0 === b ? {} : b; | ||
({g:a} = new H(Object.assign({}, {rs:a}, b, {h:F(!0)}))); | ||
return await a; | ||
}; | ||
async function J() { | ||
const a = t(K); | ||
return await I(a); | ||
} | ||
;async function L(a) { | ||
var b = M; | ||
if (!b) { | ||
throw Error("No path is given."); | ||
} | ||
const c = F(!0), e = u(b); | ||
await new Promise((d, f) => { | ||
e.on("error", h => { | ||
h = c(h); | ||
f(h); | ||
}).on("close", d).end(a); | ||
}); | ||
} | ||
;const N = new RegExp(`(${/[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{1031F}\u{1032D}-\u{10340}\u{10342}-\u{10349}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{103A0}-\u{103C3}\u{103C8}-\u{103CF}\u{10400}-\u{1049D}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10860}-\u{10876}\u{10880}-\u{1089E}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{10900}-\u{10915}\u{10920}-\u{10939}\u{10980}-\u{109B7}\u{109BE}\u{109BF}\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A60}-\u{10A7C}\u{10A80}-\u{10A9C}\u{10AC0}-\u{10AC7}\u{10AC9}-\u{10AE4}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B60}-\u{10B72}\u{10B80}-\u{10B91}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10D00}-\u{10D23}\u{10F00}-\u{10F1C}\u{10F27}\u{10F30}-\u{10F45}\u{11003}-\u{11037}\u{11083}-\u{110AF}\u{110D0}-\u{110E8}\u{11103}-\u{11126}\u{11144}\u{11150}-\u{11172}\u{11176}\u{11183}-\u{111B2}\u{111C1}-\u{111C4}\u{111DA}\u{111DC}\u{11200}-\u{11211}\u{11213}-\u{1122B}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A8}\u{112B0}-\u{112DE}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}\u{11350}\u{1135D}-\u{11361}\u{11400}-\u{11434}\u{11447}-\u{1144A}\u{11480}-\u{114AF}\u{114C4}\u{114C5}\u{114C7}\u{11580}-\u{115AE}\u{115D8}-\u{115DB}\u{11600}-\u{1162F}\u{11644}\u{11680}-\u{116AA}\u{11700}-\u{1171A}\u{11800}-\u{1182B}\u{118A0}-\u{118DF}\u{118FF}\u{11A00}\u{11A0B}-\u{11A32}\u{11A3A}\u{11A50}\u{11A5C}-\u{11A83}\u{11A86}-\u{11A89}\u{11A9D}\u{11AC0}-\u{11AF8}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2E}\u{11C40}\u{11C72}-\u{11C8F}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D89}\u{11D98}\u{11EE0}-\u{11EF2}\u{12000}-\u{12399}\u{12480}-\u{12543}\u{13000}-\u{1342E}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16AD0}-\u{16AED}\u{16B00}-\u{16B2F}\u{16B40}-\u{16B43}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E7F}\u{16F00}-\u{16F44}\u{16F50}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{17000}-\u{187F1}\u{18800}-\u{18AF2}\u{1B000}-\u{1B11E}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1E800}-\u{1E8C4}\u{1E900}-\u{1E943}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2F800}-\u{2FA1D}][\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{1031F}\u{1032D}-\u{10340}\u{10342}-\u{10349}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{103A0}-\u{103C3}\u{103C8}-\u{103CF}\u{10400}-\u{1049D}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10860}-\u{10876}\u{10880}-\u{1089E}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{10900}-\u{10915}\u{10920}-\u{10939}\u{10980}-\u{109B7}\u{109BE}\u{109BF}\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A60}-\u{10A7C}\u{10A80}-\u{10A9C}\u{10AC0}-\u{10AC7}\u{10AC9}-\u{10AE4}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B60}-\u{10B72}\u{10B80}-\u{10B91}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10D00}-\u{10D23}\u{10F00}-\u{10F1C}\u{10F27}\u{10F30}-\u{10F45}\u{11003}-\u{11037}\u{11083}-\u{110AF}\u{110D0}-\u{110E8}\u{11103}-\u{11126}\u{11144}\u{11150}-\u{11172}\u{11176}\u{11183}-\u{111B2}\u{111C1}-\u{111C4}\u{111DA}\u{111DC}\u{11200}-\u{11211}\u{11213}-\u{1122B}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A8}\u{112B0}-\u{112DE}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}\u{11350}\u{1135D}-\u{11361}\u{11400}-\u{11434}\u{11447}-\u{1144A}\u{11480}-\u{114AF}\u{114C4}\u{114C5}\u{114C7}\u{11580}-\u{115AE}\u{115D8}-\u{115DB}\u{11600}-\u{1162F}\u{11644}\u{11680}-\u{116AA}\u{11700}-\u{1171A}\u{11800}-\u{1182B}\u{118A0}-\u{118DF}\u{118FF}\u{11A00}\u{11A0B}-\u{11A32}\u{11A3A}\u{11A50}\u{11A5C}-\u{11A83}\u{11A86}-\u{11A89}\u{11A9D}\u{11AC0}-\u{11AF8}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2E}\u{11C40}\u{11C72}-\u{11C8F}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D89}\u{11D98}\u{11EE0}-\u{11EF2}\u{12000}-\u{12399}\u{12480}-\u{12543}\u{13000}-\u{1342E}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16AD0}-\u{16AED}\u{16B00}-\u{16B2F}\u{16B40}-\u{16B43}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E7F}\u{16F00}-\u{16F44}\u{16F50}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{17000}-\u{187F1}\u{18800}-\u{18AF2}\u{1B000}-\u{1B11E}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6C0}\u{1D6C2}-\u{1D6DA}\u{1D6DC}-\u{1D6FA}\u{1D6FC}-\u{1D714}\u{1D716}-\u{1D734}\u{1D736}-\u{1D74E}\u{1D750}-\u{1D76E}\u{1D770}-\u{1D788}\u{1D78A}-\u{1D7A8}\u{1D7AA}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1E800}-\u{1E8C4}\u{1E900}-\u{1E943}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{20000}-\u{2A6D6}\u{2A700}-\u{2B734}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2F800}-\u{2FA1D}]*/u.source})(?:\\s*=\\s*${/(?:"([\s\S]*?)"|'([\s\S]*?)')/.source})?`, | ||
"u"), O = N.source.replace(/\(\[/g, "(?:["), P = new RegExp(`\\s*((?:${O}\\s*)*)`, "u"); | ||
const Q = a => { | ||
const b = {}; | ||
a.replace(new RegExp(N.source, "gu"), (c, e, d, f) => { | ||
c = f || d; | ||
c = void 0 === c ? !0 : c; | ||
c = "true" == c ? !0 : "false" == c ? !1 : /^\d+$/.test(c) ? parseInt(c, 10) : c; | ||
b[e] = c; | ||
}); | ||
return b; | ||
}; | ||
const R = (a, b) => { | ||
a = a.exec(b); | ||
const z = (a, c) => { | ||
a = a.exec(c); | ||
if (!a) { | ||
@@ -128,158 +24,134 @@ return a; | ||
return a; | ||
}, S = (a, b) => { | ||
a = new RegExp(`<${a}${P.source}?(?:${/\s*\/>/.source}|${(new RegExp(`>([\\s\\S]+?)?</${a}>`)).source})`, "gu"); | ||
const c = []; | ||
for (var e; e = R(a, b);) { | ||
if (!e.length) { | ||
}, A = (a, c) => { | ||
a = new RegExp(`<${a}${x.source}?(?:${/\s*\/>/.source}|${(new RegExp(`>([\\s\\S]+?)?</${a}>`)).source})`, "gu"); | ||
const b = []; | ||
for (var d; d = z(a, c);) { | ||
if (!d.length) { | ||
continue; | ||
} | ||
const [d = "", f = ""] = e; | ||
e = d.replace(/\/$/, "").trim(); | ||
e = {i:Q(e), content:f}; | ||
c.push(e); | ||
const [e = "", g = ""] = d; | ||
d = e.replace(/\/$/, "").trim(); | ||
d = {b:y(d), content:g}; | ||
b.push(d); | ||
} | ||
return c; | ||
return b; | ||
}; | ||
function T(a = {usage:{}}) { | ||
const {usage:b = {}, description:c, line:e, example:d} = a; | ||
a = Object.keys(b); | ||
const f = Object.values(b), [h] = a.reduce(([k = 0, g = 0], l) => { | ||
const p = b[l].split("\n").reduce((q, r) => r.length > q ? r.length : q, 0); | ||
p > g && (g = p); | ||
l.length > k && (k = l.length); | ||
return [k, g]; | ||
}, []), m = (k, g) => { | ||
g = " ".repeat(g - k.length); | ||
return `${k}${g}`; | ||
function B(a = {usage:{}}) { | ||
const {usage:c = {}, description:b, line:d, example:e} = a; | ||
a = Object.keys(c); | ||
const g = Object.values(c), [h] = a.reduce(([k = 0, f = 0], n) => { | ||
const p = c[n].split("\n").reduce((q, r) => r.length > q ? r.length : q, 0); | ||
p > f && (f = p); | ||
n.length > k && (k = n.length); | ||
return [k, f]; | ||
}, []), m = (k, f) => { | ||
f = " ".repeat(f - k.length); | ||
return `${k}${f}`; | ||
}; | ||
a = a.reduce((k, g, l) => { | ||
l = f[l].split("\n"); | ||
g = m(g, h); | ||
const [p, ...q] = l; | ||
g = `${g}\t${p}`; | ||
a = a.reduce((k, f, n) => { | ||
n = g[n].split("\n"); | ||
f = m(f, h); | ||
const [p, ...q] = n; | ||
f = `${f}\t${p}`; | ||
const r = m("", h); | ||
l = q.map(X => `${r}\t${X}`); | ||
return [...k, g, ...l]; | ||
n = q.map(H => `${r}\t${H}`); | ||
return [...k, f, ...n]; | ||
}, []).map(k => `\t${k}`); | ||
const n = [c, ` ${e || ""}`].filter(k => k ? k.trim() : k).join("\n\n"); | ||
a = `${n ? `${n}\n` : ""} | ||
const l = [b, ` ${d || ""}`].filter(k => k ? k.trim() : k).join("\n\n"); | ||
a = `${l ? `${l}\n` : ""} | ||
${a.join("\n")} | ||
`; | ||
return d ? `${a} | ||
return e ? `${a} | ||
Example: | ||
${d} | ||
${e} | ||
` : a; | ||
} | ||
;const U = (a, b, c, e, d) => { | ||
;const C = (a, c, b, d, e) => { | ||
d = void 0 === d ? !1 : d; | ||
e = void 0 === e ? !1 : e; | ||
d = void 0 === d ? !1 : d; | ||
const f = c ? new RegExp(`^-(${c}|-${b})`) : new RegExp(`^--${b}`); | ||
b = a.findIndex(h => f.test(h)); | ||
if (-1 == b) { | ||
const g = b ? new RegExp(`^-(${b}|-${c})`) : new RegExp(`^--${c}`); | ||
c = a.findIndex(h => g.test(h)); | ||
if (-1 == c) { | ||
return {argv:a}; | ||
} | ||
if (e) { | ||
return {value:!0, argv:[...a.slice(0, b), ...a.slice(b + 1)]}; | ||
if (d) { | ||
return {value:!0, argv:[...a.slice(0, c), ...a.slice(c + 1)]}; | ||
} | ||
e = b + 1; | ||
c = a[e]; | ||
if (!c || "string" == typeof c && c.startsWith("--")) { | ||
d = c + 1; | ||
b = a[d]; | ||
if (!b || "string" == typeof b && b.startsWith("--")) { | ||
return {argv:a}; | ||
} | ||
d && (c = parseInt(c, 10)); | ||
return {value:c, argv:[...a.slice(0, b), ...a.slice(e + 1)]}; | ||
}, V = a => { | ||
const b = []; | ||
for (let c = 0; c < a.length; c++) { | ||
const e = a[c]; | ||
if (e.startsWith("-")) { | ||
e && (b = parseInt(b, 10)); | ||
return {value:b, argv:[...a.slice(0, c), ...a.slice(d + 1)]}; | ||
}, D = a => { | ||
const c = []; | ||
for (let b = 0; b < a.length; b++) { | ||
const d = a[b]; | ||
if (d.startsWith("-")) { | ||
break; | ||
} | ||
b.push(e); | ||
c.push(d); | ||
} | ||
return b; | ||
}, Y = () => { | ||
var a = W; | ||
return Object.keys(a).reduce((b, c) => { | ||
const e = a[c]; | ||
if ("string" == typeof e) { | ||
return b[`-${e}`] = "", b; | ||
return c; | ||
}, F = () => { | ||
var a = E; | ||
return Object.keys(a).reduce((c, b) => { | ||
const d = a[b]; | ||
if ("string" == typeof d) { | ||
return c[`-${d}`] = "", c; | ||
} | ||
c = e.command ? c : `--${c}`; | ||
e.short && (c = `${c}, -${e.short}`); | ||
let d = e.description; | ||
e.default && (d = `${d}\nDefault: ${e.default}.`); | ||
b[c] = d; | ||
return b; | ||
b = d.command ? b : `--${b}`; | ||
d.short && (b = `${b}, -${d.short}`); | ||
let e = d.description; | ||
d.default && (e = `${e}\nDefault: ${d.default}.`); | ||
c[b] = e; | ||
return c; | ||
}, {}); | ||
}; | ||
const W = {input:{description:"The location of the `arguments.xml` file.", command:!0, default:"types/arguments.xml"}, output:{description:"The destination where to save output.\nIf not passed, prints to stdout.", short:"o"}, help:{description:"Print the help information and exit.", boolean:!0, short:"h"}, version:{description:"Show the version's number and exit.", boolean:!0, short:"v"}}, Z = function(a, b) { | ||
const E = {input:{description:"The location of the `arguments.xml` file.", command:!0, multiple:!0, default:"types/arguments.xml"}, output:{description:"The destination where to save output.\nIf not passed, prints to stdout.", short:"o"}, help:{description:"Print the help information and exit.", boolean:!0, short:"h"}, version:{description:"Show the version's number and exit.", boolean:!0, short:"v"}}, G = function(a, c) { | ||
a = void 0 === a ? {} : a; | ||
b = void 0 === b ? process.argv : b; | ||
[, , ...b] = b; | ||
const c = V(b); | ||
b = b.slice(c.length); | ||
let e = !c.length; | ||
return Object.keys(a).reduce((d, f) => { | ||
var h = Object.assign({}, d); | ||
d = d.a; | ||
c = void 0 === c ? process.argv : c; | ||
[, , ...c] = c; | ||
const b = D(c); | ||
c = c.slice(b.length); | ||
let d = !b.length; | ||
return Object.keys(a).reduce((e, g) => { | ||
var h = Object.assign({}, e); | ||
e = e.a; | ||
h = (delete h.a, h); | ||
if (0 == d.length && e) { | ||
return Object.assign({}, {a:d}, h); | ||
if (0 == e.length && d) { | ||
return Object.assign({}, {a:e}, h); | ||
} | ||
const m = a[f]; | ||
let n; | ||
const m = a[g]; | ||
let l; | ||
if ("string" == typeof m) { | ||
({value:n, argv:d} = U(d, f, m)); | ||
({value:l, argv:e} = C(e, g, m)); | ||
} else { | ||
try { | ||
const {short:k, boolean:g, number:l, command:p, multiple:q} = m; | ||
p && q && c.length ? (n = c, e = !0) : p && c.length ? (n = c[0], e = !0) : {value:n, argv:d} = U(d, f, k, g, l); | ||
const {short:k, boolean:f, number:n, command:p, multiple:q} = m; | ||
p && q && b.length ? (l = b, d = !0) : p && b.length ? (l = b[0], d = !0) : {value:l, argv:e} = C(e, g, k, f, n); | ||
} catch (k) { | ||
return Object.assign({}, {a:d}, h); | ||
return Object.assign({}, {a:e}, h); | ||
} | ||
} | ||
return void 0 === n ? Object.assign({}, {a:d}, h) : Object.assign({}, {a:d}, h, {[f]:n}); | ||
}, {a:b}); | ||
}(W), K = Z.input || "types/arguments.xml", M = Z.output, aa = Z.version; | ||
if (Z.help) { | ||
const a = Y(); | ||
console.log(T({usage:a, description:"Generates the JavaScript file that exports all arguments\nbased on the configuration found in the arguments.xml file.\nhttps://artdecocode.com/argufy/", line:"argufy input [-o output] [-vh]", example:"argufy types/arguments.xml -o src/bin/get-args.js"})); | ||
process.exit(); | ||
} else { | ||
aa && (console.log(require("../package.json").version), process.exit()); | ||
} | ||
(async() => { | ||
try { | ||
if (!K) { | ||
throw Error("Please specify the location of arguments.xml file."); | ||
return void 0 === l ? Object.assign({}, {a:e}, h) : Object.assign({}, {a:e}, h, {[g]:l}); | ||
}, {a:c}); | ||
}(E), I = G.input || "types/arguments.xml", J = G.output, K = G.version; | ||
const L = a => { | ||
(a = a.map(({name:c, short:b, boolean:d, number:e, command:g, multiple:h, description:m, default:l}) => { | ||
const k = m.replace(/'/g, "\\'").replace(/\n\s*/g, "\\n"); | ||
let f = []; | ||
m && f.push(`description: '${k}'`); | ||
g && f.push("command: true"); | ||
h && f.push("multiple: true"); | ||
d && f.push("boolean: true"); | ||
e && f.push("number: true"); | ||
l && f.push(`default: '${l}'`); | ||
if (!f.length && b) { | ||
return `'${c}': '${b}'`; | ||
} | ||
var a = await J(); | ||
const b = S("arguments", a); | ||
if (!b.length) { | ||
throw Error("XML file should contain root arguments element."); | ||
} | ||
[{content:a}] = b; | ||
const c = S("arg", a).map(({content:d, i:{command:f, name:h, "boolean":m, number:n, multiple:k, "short":g, "default":l}}) => ({description:d.trim(), command:f, boolean:m, number:n, multiple:k, short:g, name:h, c:l})), e = ba(c); | ||
M ? (await L(e), console.log("Output saved to %s", M)) : console.log(e); | ||
} catch (b) { | ||
process.env.b ? console.log(b.stack) : console.log(b.message); | ||
} | ||
})(); | ||
const ba = a => { | ||
let b = a.map(({name:c, short:e, boolean:d, number:f, command:h, multiple:m, description:n, c:k}) => { | ||
const g = n.replace(/'/g, "\\'").replace(/\n\s*/g, "\\n"); | ||
let l = []; | ||
n && l.push(`description: '${g}'`); | ||
h && l.push("command: true"); | ||
m && l.push("multiple: true"); | ||
d && l.push("boolean: true"); | ||
f && l.push("number: true"); | ||
k && l.push(`default: '${k}'`); | ||
if (!l.length && e) { | ||
return `'${c}': '${e}'`; | ||
} | ||
if (l.length || e) { | ||
e && l.push(`short: '${e}'`); | ||
if (f.length || b) { | ||
b && f.push(`short: '${b}'`); | ||
} else { | ||
@@ -289,38 +161,71 @@ return `'${c}': { }`; | ||
return `'${c}': { | ||
${l.join(",\n ")}${l.length ? "," : ""} | ||
${f.join(",\n ")}${f.length ? "," : ""} | ||
}`; | ||
}).join(",\n"); | ||
b && (b = `${b},`); | ||
b = b.replace(/^/mg, " "); | ||
a = a.map(ca); | ||
return `import argufy from 'argufy' | ||
}).join(",\n")) && (a = `${a},`); | ||
a = a.replace(/^/mg, " "); | ||
return `{ | ||
${a} | ||
}`; | ||
}, N = (a, c, b = "") => { | ||
const d = L(a), e = `argsConfig${b}`, g = `args${b}`; | ||
a = a.map(h => M(h, g)); | ||
return {h:g, g:` | ||
export const ${e} = ${d} | ||
const ${g} = argufy(${e}${c ? `, [process.argv[0], process.argv[1], ...${c}._argv]` : ""}) | ||
export const argsConfig = { | ||
${b} | ||
} | ||
const args = argufy(argsConfig) | ||
${a.join("\n\n")} | ||
/** | ||
* The additional arguments passed to the program. | ||
*/ | ||
export const _argv = /** @type {!Array<string>} */ (args._argv)`; | ||
}, ca = ({name:a, number:b, boolean:c, description:e, c:d}) => { | ||
let f = "string"; | ||
b && (f = "number"); | ||
c && (f = "boolean"); | ||
const h = a.replace(/-(.)/g, (n, k) => k.toUpperCase()); | ||
let m = `'${d}'`; | ||
if (b || c) { | ||
m = d; | ||
`}; | ||
}, M = ({name:a, number:c, boolean:b, description:d, default:e, multiple:g}, h = "args") => { | ||
let m = "string"; | ||
c && (m = "number"); | ||
b && (m = "boolean"); | ||
g && (m = "(!Array<string>|string)"); | ||
g = a.replace(/-(.)/g, (k, f) => f.toUpperCase()); | ||
let l = `'${e}'`; | ||
if (c || b) { | ||
l = e; | ||
} | ||
b = void 0 !== d; | ||
c = void 0 !== e; | ||
return `/** | ||
* ${e}${b ? ` Default \`${d}\`.` : ""} | ||
* ${d}${c ? ` Default \`${e}\`.` : ""} | ||
*/ | ||
export const _${h} = /** @type {${f}} */ (args['${a}'])${b ? ` || ${m}` : ""}`; | ||
export const _${g} = /** @type {${m}} */ (${h}['${a}']${c ? ` || ${l}` : ""})`; | ||
}; | ||
if (G.help) { | ||
const a = F(); | ||
console.log(B({usage:a, description:"Generates the JavaScript file that exports all arguments\nbased on the configuration found in the arguments.xml file.\nhttps://artdecocode.com/argufy/", line:"argufy input [-o output] [-vh]", example:"argufy types/arguments.xml -o src/bin/get-args.js"})); | ||
process.exit(); | ||
} else { | ||
K && (console.log(require("../package.json").version), process.exit()); | ||
} | ||
const O = a => { | ||
a = `${t(a)}`; | ||
a = A("arguments", a); | ||
if (!a.length) { | ||
throw Error("XML file should contain root arguments element."); | ||
} | ||
const [{content:c, b:{name:b}}] = a; | ||
a = A("arg", c).map(({content:d, b:{command:e, name:g, "boolean":h, number:m, multiple:l, "short":k, "default":f}}) => ({description:d.trim(), command:e, boolean:h, number:m, multiple:l, short:k, name:g, default:f})); | ||
return {f:b, c:a}; | ||
}; | ||
try { | ||
let a = ""; | ||
debugger; | ||
const c = `import argufy from 'argufy' | ||
${(Array.isArray(I) ? I : [I]).map(b => O(b)).reduce((b, {f:d = "", c:e}) => { | ||
const {g, h} = N(e, a, d); | ||
a = h; | ||
b.push(g); | ||
return b; | ||
}, []).join("")} | ||
/** | ||
* The additional arguments passed to the program. | ||
*/ | ||
export const _argv = /** @type {!Array<string>} */ (${a}._argv)`; | ||
J ? (u(J, c), console.log("Output saved to %s", J)) : console.log(c); | ||
} catch (a) { | ||
process.env.DEBUG ? console.log(a.stack) : console.log(a.message); | ||
} | ||
; | ||
//# sourceMappingURL=argufy.js.map |
{ | ||
"name": "argufy", | ||
"version": "1.6.3", | ||
"version": "1.7.0", | ||
"description": "Parses Command Line Arguments To Node.JS CLI Programs, Keeps Them In Arguments.xml File To Paste Into README Documentation And Generate Google Closure Compatible Exports.", | ||
@@ -50,8 +50,5 @@ "main": "build", | ||
"@artdeco/clean-stack": "^1.1.1", | ||
"@wrote/read": "^1.0.4", | ||
"@wrote/write": "^1.0.4", | ||
"alamode": "^2.0.0", | ||
"catchment": "^3.3.0", | ||
"documentary": "^1.26.0", | ||
"erotic": "^2.1.1", | ||
"rexml": "^1.4.0", | ||
@@ -58,0 +55,0 @@ "temp-context": "^2.1.3", |
@@ -6,3 +6,3 @@ # argufy | ||
```sh | ||
yarn add -E argufy | ||
yarn add argufy | ||
``` | ||
@@ -22,2 +22,3 @@ | ||
* [Argufy Arguments](#argufy-arguments) | ||
* [Multiple Input Files](#multiple-input-files) | ||
- [API](#api) | ||
@@ -42,3 +43,3 @@ * [`argufy(config: Config, argv?: string[]): Object`](#argufyconfig-configargv-string-object) | ||
<arguments> | ||
<arg command name="input" default="types/arguments.xml"> | ||
<arg command multiple name="input" default="types/arguments.xml"> | ||
The location of the `arguments.xml` file. | ||
@@ -76,2 +77,3 @@ </arg> | ||
command: true, | ||
multiple: true, | ||
default: 'types/arguments.xml', | ||
@@ -99,3 +101,3 @@ }, | ||
*/ | ||
export const _input = /** @type {string} */ (args['input']) || 'types/arguments.xml' | ||
export const _input = /** @type {(!Array<string>|string)} */ (args['input'] || 'types/arguments.xml') | ||
@@ -180,2 +182,4 @@ /** | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/2.svg?sanitize=true" width="20"></a></p> | ||
### Argufy Arguments | ||
@@ -201,4 +205,74 @@ | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/2.svg?sanitize=true"></a></p> | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/3.svg?sanitize=true" width="20"></a></p> | ||
### Multiple Input Files | ||
Sometimes it might be desired to keep the arguments in multiple files, e.g., to split the program's arguments by different operations that it can perform. _Argufy_ is capable of reading multiple files and generating a single `get-args` file where each property arguments configuration is reduced in turns, so that the `_argv` is exhausted at the end. To enable this functionality, the `name` attribute should be set on the root `arguments` element of all xml files after the first one. The exported configs will have the name in form of `argsConfig{name}`. | ||
_For example, it is possible to join these 2 types together:_ | ||
<table> | ||
<tr><th><a href="example/multiple/1.xml">1.xml</a>, <em>anonymous</em></th><th><a href="example/multiple/2.xml">2.xml</a>, <em>Bundle</em></th></tr> | ||
<tr><td> | ||
```xml | ||
<arguments> | ||
<arg command name="source"> | ||
The path to the source code. | ||
</arg> | ||
</arguments> | ||
``` | ||
</td><td> | ||
```xml | ||
<arguments name="Bundle"> | ||
<arg boolean name="bundle"> | ||
Whether to bundle the source. | ||
</arg> | ||
</arguments> | ||
``` | ||
</td></tr> | ||
</table> | ||
``` | ||
$ argufy example/multiple/1.xml example/multiple/2.xml | ||
``` | ||
```js | ||
import argufy from 'argufy' | ||
export const argsConfig = { | ||
'source': { | ||
description: 'The path to the source code.', | ||
command: true, | ||
}, | ||
} | ||
const args = argufy(argsConfig) | ||
/** | ||
* The path to the source code. | ||
*/ | ||
export const _source = /** @type {string} */ (args['source']) | ||
export const argsConfigBundle = { | ||
'bundle': { | ||
description: 'Whether to bundle the source.', | ||
boolean: true, | ||
}, | ||
} | ||
const argsBundle = argufy(argsConfigBundle, [process.argv[0], process.argv[1], ...args._argv]) | ||
/** | ||
* Whether to bundle the source. | ||
*/ | ||
export const _bundle = /** @type {boolean} */ (argsBundle['bundle']) | ||
/** | ||
* The additional arguments passed to the program. | ||
*/ | ||
export const _argv = /** @type {!Array<string>} */ (argsBundle._argv) | ||
``` | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/4.svg?sanitize=true"></a></p> | ||
## API | ||
@@ -214,3 +288,3 @@ | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/3.svg?sanitize=true" width="20"></a></p> | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/5.svg?sanitize=true" width="20"></a></p> | ||
@@ -275,3 +349,3 @@ ### `argufy(`<br/> `config: Config,`<br/> `argv?: string[],`<br/>`): Object` | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/4.svg?sanitize=true" width="20"></a></p> | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/6.svg?sanitize=true" width="20"></a></p> | ||
@@ -295,3 +369,3 @@ ### `reduceUsage(`<br/> `config: Config,`<br/>`): Object` | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/5.svg?sanitize=true"></a></p> | ||
<p align="center"><a href="#table-of-contents"><img src=".documentary/section-breaks/7.svg?sanitize=true"></a></p> | ||
@@ -298,0 +372,0 @@ ## Copyright |
@@ -1,3 +0,2 @@ | ||
import read from '@wrote/read' | ||
import write from '@wrote/write' | ||
import { readFileSync, writeFileSync } from 'fs' | ||
import rexml from 'rexml' | ||
@@ -7,2 +6,3 @@ import usage from './usage' | ||
import { _input, _output, _help, _version, argsConfig } from './get-args' | ||
import { makeExports } from './lib' | ||
@@ -18,104 +18,72 @@ if (_help) { | ||
(async () => { | ||
try { | ||
if (!_input) | ||
throw new Error('Please specify the location of arguments.xml file.') | ||
const xml = await read(_input) | ||
const root = rexml('arguments', xml) | ||
if (!root.length) | ||
throw new Error('XML file should contain root arguments element.') | ||
/** | ||
* Read the arguments.xml file and return flags. | ||
* @param {string} input | ||
*/ | ||
const extract = (input) => { | ||
const xml = `${readFileSync(input)}` | ||
const root = rexml('arguments', xml) | ||
if (!root.length) | ||
throw new Error('XML file should contain root arguments element.') | ||
const [{ content }] = root | ||
const [{ content, props: { 'name': argumentsName } }] = root | ||
const allArgs = rexml('arg', content) | ||
const args = allArgs.map(({ content: description, props: { | ||
'command': command, | ||
'name': name, | ||
'boolean': boolean, | ||
'number': number, | ||
'multiple': multiple, | ||
'short': short, | ||
'default': def, | ||
} }) => { | ||
return { | ||
description: description.trim(), | ||
command, boolean, number, multiple, short, name, def, | ||
} | ||
}) | ||
const t = template(args) | ||
if (_output) { | ||
await write(_output, t) | ||
console.log('Output saved to %s', _output) | ||
} else console.log(t) | ||
} catch (err) { | ||
process.env.DEBUG ? console.log(err.stack) : console.log(err.message) | ||
} | ||
})() | ||
const template = (args) => { | ||
let obj = args.map(({ | ||
name, short, boolean, number, command, multiple, description, def, | ||
}) => { | ||
// let codes = {} | ||
const d = description | ||
// .replace(/`(.+)`/g, (m, code, i) => { | ||
// codes[i] = code | ||
// return `%%RESTREAM_REPLACE_${i}%%` | ||
// }) | ||
.replace(/'/g, '\\\'').replace(/\n\s*/g, '\\n') | ||
// .replace(/%%RESTREAM_REPLACE_(\d+)%%/g, (m, i) => { | ||
// return '`' + codes[i] + '`' | ||
// }) | ||
let s = [] | ||
if (description) s.push(`description: '${d}'`) | ||
if (command) s.push('command: true') | ||
if (multiple) s.push('multiple: true') | ||
if (boolean) s.push('boolean: true') | ||
if (number) s.push('number: true') | ||
if (def) s.push(`default: '${def}'`) | ||
if (!s.length && short) { | ||
return `'${name}': '${short}'` | ||
} else if (!s.length && !short) { | ||
return `'${name}': { }` | ||
} else if (short) { | ||
s.push(`short: '${short}'`) | ||
const allArgs = rexml('arg', content) | ||
/** @type {!Array<!_argufy.Flag>} */ | ||
const args = allArgs.map(({ content: description, props: { | ||
'command': command, | ||
'name': name, | ||
'boolean': boolean, | ||
'number': number, | ||
'multiple': multiple, | ||
'short': short, | ||
'default': def, | ||
} }) => { | ||
return { | ||
description: description.trim(), | ||
command, boolean, number, multiple, short, name, default: def, | ||
} | ||
return `'${name}': { | ||
${s.join(',\n ')}${s.length ? ',' : ''} | ||
}` | ||
}).join(',\n') | ||
if (obj) obj = `${obj},` | ||
obj = obj.replace(/^/mg, ' ') | ||
const argExports = args.map(makeExport) | ||
return `import argufy from 'argufy' | ||
export const argsConfig = { | ||
${obj} | ||
}) | ||
return { argumentsName, args } | ||
} | ||
const args = argufy(argsConfig) | ||
${argExports.join('\n\n')} | ||
/** | ||
* @param {string} allExports | ||
* @param {string} lastVarArgsName | ||
*/ | ||
const template = (allExports, lastVarArgsName) => { | ||
return `import argufy from 'argufy' | ||
${allExports} | ||
/** | ||
* The additional arguments passed to the program. | ||
*/ | ||
export const _argv = /** @type {!Array<string>} */ (args._argv)` | ||
export const _argv = /** @type {!Array<string>} */ (${lastVarArgsName}._argv)` | ||
} | ||
const makeExport = ({ name, number, boolean, description, def }) => { | ||
let type = 'string' | ||
if (number) type = 'number' | ||
if (boolean) type = 'boolean' | ||
const n = name.replace(/-(.)/g, (m, l) => l.toUpperCase()) | ||
let ddef = `'${def}'` | ||
if (number || boolean) ddef = def | ||
const hasDef = def !== undefined | ||
// const ddef = number ? def : | ||
return `/** | ||
* ${description}${hasDef ? ` Default \`${def}\`.` : ''} | ||
*/ | ||
export const _${n} = /** @type {${type}} */ (args['${name}'])${ | ||
hasDef ? ` || ${ddef}` : ''}` | ||
} | ||
try { | ||
const inputs = Array.isArray(_input) ? _input : [_input] | ||
let lastVarArgsName = '' | ||
const res = inputs.map((input) => { | ||
const e = extract(input) | ||
return e | ||
}).reduce((acc, { argumentsName = '', args }) => { | ||
const { string, varArgsName } = makeExports(args, lastVarArgsName, argumentsName) | ||
lastVarArgsName = varArgsName | ||
acc.push(string) | ||
return acc | ||
}, []) | ||
const allExports = res.join('') | ||
debugger | ||
const t = template(allExports, lastVarArgsName) | ||
if (_output) { | ||
writeFileSync(_output, t) | ||
console.log('Output saved to %s', _output) | ||
} else console.log(t) | ||
} catch (err) { | ||
process.env['DEBUG'] ? console.log(err.stack) : console.log(err.message) | ||
} | ||
/** | ||
* @suppress {nonStandardJsDocs} | ||
* @typedef {import('.').Flag} _argufy.Flag | ||
*/ |
@@ -7,2 +7,3 @@ import argufy from './' | ||
command: true, | ||
multiple: true, | ||
default: 'types/arguments.xml', | ||
@@ -30,3 +31,3 @@ }, | ||
*/ | ||
export const _input = /** @type {string} */ (args['input']) || 'types/arguments.xml' | ||
export const _input = /** @type {(!Array<string>|string)} */ (args['input'] || 'types/arguments.xml') | ||
@@ -33,0 +34,0 @@ /** |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
9
18
929
382
78476
4