claude-yes 1.15.1 → 1.16.1
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.
- package/README.md +8 -7
- package/dist/cli.js +11 -7
- package/dist/cli.js.map +170 -0
- package/dist/index.js +11 -7
- package/dist/index.js.map +128 -0
- package/index.ts +15 -11
- package/package.json +40 -40
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/unwind-array/src/index.js", "../node_modules/emoji-regex/index.js", "../node_modules/get-caller-file/index.js", "../node_modules/phpdie/dist/index.js", "../node_modules/polyfill-text-encoder-stream/dist/index.js", "../node_modules/rambda/dist/rambda.js", "../node_modules/web-streams-extensions/dist/esm/operators/map.js", "../node_modules/web-streams-extensions/dist/esm/_readable-like.js", "../node_modules/web-streams-extensions/dist/esm/from.js", "../node_modules/web-streams-extensions/dist/esm/operators/through.js", "../node_modules/web-streams-extensions/dist/esm/pipe.js", "../node_modules/web-streams-extensions/dist/esm/utils/signal.js", "../node_modules/web-streams-extensions/dist/esm/operators/schedule.js", "../node_modules/web-streams-extensions/dist/esm/operators/on.js", "../node_modules/web-streams-extensions/dist/esm/to-promise.js", "../node_modules/web-streams-extensions/dist/esm/operators/merge.js", "../node_modules/web-streams-extensions/dist/esm/to-array.js", "../node_modules/web-streams-extensions/dist/esm/_subscribable.js", "../node_modules/web-streams-extensions/dist/esm/subject.js", "../node_modules/string-replace-async/index.js", "../node_modules/sflow/dist/index.js", "../node_modules/d3-dispatch/src/dispatch.js", "../node_modules/d3-selection/src/namespaces.js", "../node_modules/d3-selection/src/namespace.js", "../node_modules/d3-selection/src/creator.js", "../node_modules/d3-selection/src/selector.js", "../node_modules/d3-selection/src/selection/select.js", "../node_modules/d3-selection/src/array.js", "../node_modules/d3-selection/src/selectorAll.js", "../node_modules/d3-selection/src/selection/selectAll.js", "../node_modules/d3-selection/src/matcher.js", "../node_modules/d3-selection/src/selection/selectChild.js", "../node_modules/d3-selection/src/selection/selectChildren.js", "../node_modules/d3-selection/src/selection/filter.js", "../node_modules/d3-selection/src/selection/sparse.js", "../node_modules/d3-selection/src/selection/enter.js", "../node_modules/d3-selection/src/constant.js", "../node_modules/d3-selection/src/selection/data.js", "../node_modules/d3-selection/src/selection/exit.js", "../node_modules/d3-selection/src/selection/join.js", "../node_modules/d3-selection/src/selection/merge.js", "../node_modules/d3-selection/src/selection/order.js", "../node_modules/d3-selection/src/selection/sort.js", "../node_modules/d3-selection/src/selection/call.js", "../node_modules/d3-selection/src/selection/nodes.js", "../node_modules/d3-selection/src/selection/node.js", "../node_modules/d3-selection/src/selection/size.js", "../node_modules/d3-selection/src/selection/empty.js", "../node_modules/d3-selection/src/selection/each.js", "../node_modules/d3-selection/src/selection/attr.js", "../node_modules/d3-selection/src/window.js", "../node_modules/d3-selection/src/selection/style.js", "../node_modules/d3-selection/src/selection/property.js", "../node_modules/d3-selection/src/selection/classed.js", "../node_modules/d3-selection/src/selection/text.js", "../node_modules/d3-selection/src/selection/html.js", "../node_modules/d3-selection/src/selection/raise.js", "../node_modules/d3-selection/src/selection/lower.js", "../node_modules/d3-selection/src/selection/append.js", "../node_modules/d3-selection/src/selection/insert.js", "../node_modules/d3-selection/src/selection/remove.js", "../node_modules/d3-selection/src/selection/clone.js", "../node_modules/d3-selection/src/selection/datum.js", "../node_modules/d3-selection/src/selection/on.js", "../node_modules/d3-selection/src/selection/dispatch.js", "../node_modules/d3-selection/src/selection/iterator.js", "../node_modules/d3-selection/src/selection/index.js", "../node_modules/d3-color/src/define.js", "../node_modules/d3-color/src/color.js", "../node_modules/d3-interpolate/src/basis.js", "../node_modules/d3-interpolate/src/basisClosed.js", "../node_modules/d3-interpolate/src/constant.js", "../node_modules/d3-interpolate/src/color.js", "../node_modules/d3-interpolate/src/rgb.js", "../node_modules/d3-interpolate/src/number.js", "../node_modules/d3-interpolate/src/string.js", "../node_modules/d3-interpolate/src/transform/decompose.js", "../node_modules/d3-interpolate/src/transform/parse.js", "../node_modules/d3-interpolate/src/transform/index.js", "../node_modules/d3-timer/src/timer.js", "../node_modules/d3-timer/src/timeout.js", "../node_modules/d3-transition/src/transition/schedule.js", "../node_modules/d3-transition/src/interrupt.js", "../node_modules/d3-transition/src/selection/interrupt.js", "../node_modules/d3-transition/src/transition/tween.js", "../node_modules/d3-transition/src/transition/interpolate.js", "../node_modules/d3-transition/src/transition/attr.js", "../node_modules/d3-transition/src/transition/attrTween.js", "../node_modules/d3-transition/src/transition/delay.js", "../node_modules/d3-transition/src/transition/duration.js", "../node_modules/d3-transition/src/transition/ease.js", "../node_modules/d3-transition/src/transition/easeVarying.js", "../node_modules/d3-transition/src/transition/filter.js", "../node_modules/d3-transition/src/transition/merge.js", "../node_modules/d3-transition/src/transition/on.js", "../node_modules/d3-transition/src/transition/remove.js", "../node_modules/d3-transition/src/transition/select.js", "../node_modules/d3-transition/src/transition/selectAll.js", "../node_modules/d3-transition/src/transition/selection.js", "../node_modules/d3-transition/src/transition/style.js", "../node_modules/d3-transition/src/transition/styleTween.js", "../node_modules/d3-transition/src/transition/text.js", "../node_modules/d3-transition/src/transition/textTween.js", "../node_modules/d3-transition/src/transition/transition.js", "../node_modules/d3-transition/src/transition/end.js", "../node_modules/d3-transition/src/transition/index.js", "../node_modules/d3-ease/src/cubic.js", "../node_modules/d3-transition/src/selection/transition.js", "../node_modules/d3-transition/src/selection/index.js", "../node_modules/d3-brush/src/brush.js", "../node_modules/d3-dsv/src/dsv.js", "../node_modules/d3-dsv/src/csv.js", "../node_modules/d3-dsv/src/tsv.js", "../node_modules/d3-zoom/src/transform.js", "../node_modules/polyfill-text-decoder-stream/dist/index.js", "../node_modules/from-node-stream/dist/index.js", "../createIdleWatcher.ts", "../removeControlCharacters.ts", "../utils.ts", "../node_modules/terminal-render/dist/index.js", "../index.ts", "../node_modules/enhanced-ms/dist/index.js", "../node_modules/yargs/lib/platform-shims/esm.mjs", "../node_modules/cliui/build/lib/index.js", "../node_modules/ansi-regex/index.js", "../node_modules/strip-ansi/index.js", "../node_modules/get-east-asian-width/lookup.js", "../node_modules/get-east-asian-width/index.js", "../node_modules/string-width/index.js", "../node_modules/wrap-ansi/node_modules/ansi-styles/index.js", "../node_modules/wrap-ansi/index.js", "../node_modules/cliui/index.mjs", "../node_modules/escalade/sync/index.mjs", "../node_modules/yargs-parser/build/lib/index.js", "../node_modules/yargs-parser/build/lib/string-utils.js", "../node_modules/yargs-parser/build/lib/tokenize-arg-string.js", "../node_modules/yargs-parser/build/lib/yargs-parser-types.js", "../node_modules/yargs-parser/build/lib/yargs-parser.js", "../node_modules/yargs/build/lib/utils/process-argv.js", "../node_modules/y18n/build/lib/platform-shims/node.js", "../node_modules/y18n/build/lib/index.js", "../node_modules/y18n/index.mjs", "../node_modules/yargs/build/lib/typings/common-types.js", "../node_modules/yargs/build/lib/utils/is-promise.js", "../node_modules/yargs/build/lib/yerror.js", "../node_modules/yargs/build/lib/parse-command.js", "../node_modules/yargs/build/lib/argsert.js", "../node_modules/yargs/build/lib/middleware.js", "../node_modules/yargs/build/lib/utils/maybe-async-result.js", "../node_modules/yargs/build/lib/command.js", "../node_modules/yargs/build/lib/utils/obj-filter.js", "../node_modules/yargs/build/lib/utils/set-blocking.js", "../node_modules/yargs/build/lib/usage.js", "../node_modules/yargs/build/lib/completion-templates.js", "../node_modules/yargs/build/lib/completion.js", "../node_modules/yargs/build/lib/utils/levenshtein.js", "../node_modules/yargs/build/lib/validation.js", "../node_modules/yargs/build/lib/utils/apply-extends.js", "../node_modules/yargs/build/lib/yargs-factory.js", "../node_modules/yargs/index.mjs", "../cli.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"const unwind = (dataObject, options) => {\n const unwindRecursive = (dataObject, path, currPath) => {\n const pathArr = path.split('.')\n if (!currPath) {\n currPath = pathArr[0]\n }\n const result = []\n let added = false\n const addObject = (objectTempUnwind, objectKey) => {\n Object.keys(objectTempUnwind).forEach(objectTempUnwindKey => {\n const newObjectCopy = {}\n Object.keys(dataObject).forEach(dataObjectKey => {\n newObjectCopy[dataObjectKey] = dataObject[dataObjectKey]\n })\n newObjectCopy[objectKey] = objectTempUnwind[objectTempUnwindKey]\n added = true\n result.push(newObjectCopy)\n })\n }\n Object.keys(dataObject).forEach(objectKey => {\n if (currPath === objectKey) {\n if (dataObject[objectKey] instanceof Array) {\n if (dataObject[objectKey].length === 0 && options.preserveEmptyArray !== true) {\n delete dataObject[objectKey]\n } else {\n Object.keys(dataObject[objectKey]).forEach(objectElementKey => {\n addObject(\n unwindRecursive(dataObject[objectKey][objectElementKey], path.replace(`${currPath}.`, '')),\n objectKey\n )\n })\n }\n } else {\n addObject(unwindRecursive(dataObject[objectKey], path.replace(`${currPath}.`, '')), objectKey)\n }\n }\n })\n if (!added) {\n result.push(dataObject)\n }\n return result\n }\n return unwindRecursive(dataObject, options.path)\n}\nmodule.exports = { unwind }\n",
|
|
6
|
+
"module.exports = () => {\n\t// https://mths.be/emoji\n\treturn /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\n",
|
|
7
|
+
"\"use strict\";\n// Call this function in a another function to find out the file from\n// which that function was called from. (Inspects the v8 stack trace)\n//\n// Inspired by http://stackoverflow.com/questions/13227489\nmodule.exports = function getCallerFile(position) {\n if (position === void 0) { position = 2; }\n if (position >= Error.stackTraceLimit) {\n throw new TypeError('getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `' + position + '` and Error.stackTraceLimit was: `' + Error.stackTraceLimit + '`');\n }\n var oldPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = function (_, stack) { return stack; };\n var stack = new Error().stack;\n Error.prepareStackTrace = oldPrepareStackTrace;\n if (stack !== null && typeof stack === 'object') {\n // stack[0] holds this file\n // stack[1] holds where this function was called\n // stack[2] holds the file we're interested in\n return stack[position] ? stack[position].getFileName() : undefined;\n }\n};\n//# sourceMappingURL=index.js.map",
|
|
8
|
+
"// catchArgs.ts\nfunction catchArgs(fn) {\n return (...args) => {\n try {\n const r = fn(...args);\n const isPromise = typeof r.then === \"function\";\n return !isPromise ? r : async function() {\n return await r;\n }().catch((error) => handleError(error, args));\n } catch (error) {\n handleError(error, args);\n }\n };\n}\nfunction handleError(error, args) {\n if (error instanceof Error) {\n throw Object.assign(error, {\n cause: {\n ...typeof error.cause === \"object\" && error.cause || null,\n ...typeof error.cause === \"string\" && { cause: error.cause } || null,\n args\n }\n });\n }\n}\n\n// index.ts\nvar phpdie_default = DIE;\nfunction DIEError(reason, ...slots) {\n throw new Error(stringifyError(reason, ...slots));\n}\nfunction DIE(reason, ...slots) {\n throw errorFormat(reason, ...slots);\n}\nvar DIEAlert = (...args) => {\n alert(stringifyError(...args));\n DIE(...args);\n};\nvar DIEProcess = (...args) => {\n console.error(stringifyError(...args));\n process.exit(1);\n};\nfunction errorFormat(reason, ...slots) {\n if (typeof reason === \"string\") {\n return reason.trim();\n }\n if (Array.isArray(reason)) {\n return reason.map((e, i) => e + (slots[i] ?? \"\")).join(\"\");\n }\n return reason;\n}\nfunction stringifyError(reason, ...slots) {\n if (typeof reason === \"string\") {\n return reason.trim();\n }\n if (Array.isArray(reason)) {\n return reason.map((e, i) => e + (slots[i]?.toString() ?? \"\")).join(\"\");\n }\n return String(reason instanceof Error && reason.message || reason);\n}\nexport {\n phpdie_default as default,\n catchArgs,\n DIEProcess,\n DIEError,\n DIEAlert,\n DIE\n};\n",
|
|
9
|
+
"// index.ts\nclass PolyfillTextEncoderStream {\n _encoder = new TextEncoder;\n _reader = null;\n ready = Promise.resolve();\n closed = false;\n readable = new ReadableStream({\n start: (controller) => {\n this._reader = controller;\n }\n });\n writable = new WritableStream({\n write: async (chunk) => {\n if (typeof chunk !== \"string\") {\n this._reader.enqueue(chunk);\n return;\n }\n if (chunk != null && this._reader) {\n const encoded = this._encoder.encode(chunk);\n this._reader.enqueue(encoded);\n }\n },\n close: () => {\n this._reader?.close();\n this.closed = true;\n },\n abort: (reason) => {\n this._reader?.error(reason);\n this.closed = true;\n }\n });\n}\nexport {\n PolyfillTextEncoderStream as default\n};\n",
|
|
10
|
+
"'use strict';\n\nfunction F() {\n return false;\n}\n\nfunction T() {\n return true;\n}\n\nfunction add(a, b) {\n if (arguments.length === 1) return _b => add(a, _b);\n return Number(a) + Number(b);\n}\n\nfunction _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n let idx;\n const len1 = set1.length;\n const len2 = set2.length;\n const result = [];\n idx = 0;\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n idx = 0;\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n return result;\n}\n\nfunction _arity(n, fn) {\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n case 1:\n return function (_1) {\n return fn.apply(this, arguments);\n };\n case 2:\n return function (_1, _2) {\n return fn.apply(this, arguments);\n };\n case 3:\n return function (_1, _2, _3) {\n return fn.apply(this, arguments);\n };\n case 4:\n return function (_1, _2, _3, _4) {\n return fn.apply(this, arguments);\n };\n case 5:\n return function (_1, _2, _3, _4, _5) {\n return fn.apply(this, arguments);\n };\n case 6:\n return function (_1, _2, _3, _4, _5, _6) {\n return fn.apply(this, arguments);\n };\n case 7:\n return function (_1, _2, _3, _4, _5, _6, _7) {\n return fn.apply(this, arguments);\n };\n case 8:\n return function (_1, _2, _3, _4, _5, _6, _7, _8) {\n return fn.apply(this, arguments);\n };\n case 9:\n return function (_1, _2, _3, _4, _5, _6, _7, _8, _9) {\n return fn.apply(this, arguments);\n };\n default:\n return function (_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) {\n return fn.apply(this, arguments);\n };\n }\n}\n\nfunction _curryN(n, cache, fn) {\n return function () {\n let ci = 0;\n let ai = 0;\n const cl = cache.length;\n const al = arguments.length;\n const args = new Array(cl + al);\n while (ci < cl) {\n args[ci] = cache[ci];\n ci++;\n }\n while (ai < al) {\n args[cl + ai] = arguments[ai];\n ai++;\n }\n const remaining = n - args.length;\n return args.length >= n ? fn.apply(this, args) : _arity(remaining, _curryN(n, args, fn));\n };\n}\nfunction curryN(n, fn) {\n if (arguments.length === 1) return _fn => curryN(n, _fn);\n if (n > 10) {\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n return _arity(n, _curryN(n, [], fn));\n}\n\nfunction addIndex(originalFunction, initialIndexFn = () => 0, loopIndexChange = x => x + 1) {\n return curryN(originalFunction.length, function () {\n const origFn = arguments[0];\n const list = arguments[arguments.length - 1];\n let idx = initialIndexFn(list.length);\n const args = Array.prototype.slice.call(arguments, 0);\n args[0] = function () {\n const result = origFn.apply(this, _concat(arguments, [idx, list]));\n idx = loopIndexChange(idx);\n return result;\n };\n return originalFunction.apply(this, args);\n });\n}\n\nfunction addIndexRight(originalFunction) {\n return addIndex(originalFunction, listLength => listLength - 1, x => x - 1);\n}\n\nconst cloneList = list => Array.prototype.slice.call(list);\n\nfunction curry(fn, args = []) {\n return (..._args) => (rest => rest.length >= fn.length ? fn(...rest) : curry(fn, rest))([...args, ..._args]);\n}\n\nfunction adjustFn(index, replaceFn, list) {\n const actualIndex = index < 0 ? list.length + index : index;\n if (index >= list.length || actualIndex < 0) return list;\n const clone = cloneList(list);\n clone[actualIndex] = replaceFn(clone[actualIndex]);\n return clone;\n}\nconst adjust = curry(adjustFn);\n\nfunction all(predicate, list) {\n if (arguments.length === 1) return _list => all(predicate, _list);\n for (let i = 0; i < list.length; i++) {\n if (!predicate(list[i])) return false;\n }\n return true;\n}\n\nfunction allPass(predicates) {\n return (...input) => {\n let counter = 0;\n while (counter < predicates.length) {\n if (!predicates[counter](...input)) {\n return false;\n }\n counter++;\n }\n return true;\n };\n}\n\nfunction always(x) {\n return _ => x;\n}\n\nfunction and(a, b) {\n if (arguments.length === 1) return _b => and(a, _b);\n return a && b;\n}\n\nfunction any(predicate, list) {\n if (arguments.length === 1) return _list => any(predicate, _list);\n let counter = 0;\n while (counter < list.length) {\n if (predicate(list[counter], counter)) {\n return true;\n }\n counter++;\n }\n return false;\n}\n\nfunction anyPass(predicates) {\n return (...input) => {\n let counter = 0;\n while (counter < predicates.length) {\n if (predicates[counter](...input)) {\n return true;\n }\n counter++;\n }\n return false;\n };\n}\n\nfunction ap(functions, input) {\n if (arguments.length === 1) {\n return _inputs => ap(functions, _inputs);\n }\n return functions.reduce((acc, fn) => [...acc, ...input.map(fn)], []);\n}\n\nfunction aperture(step, list) {\n if (arguments.length === 1) {\n return _list => aperture(step, _list);\n }\n if (step > list.length) return [];\n let idx = 0;\n const limit = list.length - (step - 1);\n const acc = new Array(limit);\n while (idx < limit) {\n acc[idx] = list.slice(idx, idx + step);\n idx += 1;\n }\n return acc;\n}\n\nfunction append(x, input) {\n if (arguments.length === 1) return _input => append(x, _input);\n if (typeof input === 'string') return input.split('').concat(x);\n const clone = cloneList(input);\n clone.push(x);\n return clone;\n}\n\nfunction apply(fn, args) {\n if (arguments.length === 1) {\n return _args => apply(fn, _args);\n }\n return fn.apply(this, args);\n}\n\nconst {\n isArray\n} = Array;\n\nfunction __findHighestArity(spec, max = 0) {\n for (const key in spec) {\n if (spec.hasOwnProperty(key) === false || key === 'constructor') continue;\n if (typeof spec[key] === 'object') {\n max = Math.max(max, __findHighestArity(spec[key]));\n }\n if (typeof spec[key] === 'function') {\n max = Math.max(max, spec[key].length);\n }\n }\n return max;\n}\nfunction __filterUndefined() {\n const defined = [];\n let i = 0;\n const l = arguments.length;\n while (i < l) {\n if (typeof arguments[i] === 'undefined') break;\n defined[i] = arguments[i];\n i++;\n }\n return defined;\n}\nfunction __applySpecWithArity(spec, arity, cache) {\n const remaining = arity - cache.length;\n if (remaining === 1) return x => __applySpecWithArity(spec, arity, __filterUndefined(...cache, x));\n if (remaining === 2) return (x, y) => __applySpecWithArity(spec, arity, __filterUndefined(...cache, x, y));\n if (remaining === 3) return (x, y, z) => __applySpecWithArity(spec, arity, __filterUndefined(...cache, x, y, z));\n if (remaining === 4) return (x, y, z, a) => __applySpecWithArity(spec, arity, __filterUndefined(...cache, x, y, z, a));\n if (remaining > 4) return (...args) => __applySpecWithArity(spec, arity, __filterUndefined(...cache, ...args));\n if (isArray(spec)) {\n const ret = [];\n let i = 0;\n const l = spec.length;\n for (; i < l; i++) {\n if (typeof spec[i] === 'object' || isArray(spec[i])) {\n ret[i] = __applySpecWithArity(spec[i], arity, cache);\n }\n if (typeof spec[i] === 'function') {\n ret[i] = spec[i](...cache);\n }\n }\n return ret;\n }\n const ret = {};\n for (const key in spec) {\n if (spec.hasOwnProperty(key) === false || key === 'constructor') continue;\n if (typeof spec[key] === 'object') {\n ret[key] = __applySpecWithArity(spec[key], arity, cache);\n continue;\n }\n if (typeof spec[key] === 'function') {\n ret[key] = spec[key](...cache);\n }\n }\n return ret;\n}\nfunction applySpec(spec, ...args) {\n const arity = __findHighestArity(spec);\n if (arity === 0) {\n return () => ({});\n }\n const toReturn = __applySpecWithArity(spec, arity, args);\n return toReturn;\n}\n\nfunction applyTo(input, fn) {\n if (arguments.length === 1) {\n return _fn => applyTo(input, _fn);\n }\n return fn(input);\n}\n\nfunction createCompareFunction(a, b, winner, loser) {\n if (a === b) return 0;\n return a < b ? winner : loser;\n}\nfunction ascend(getFunction, a, b) {\n if (arguments.length === 1) {\n return (_a, _b) => ascend(getFunction, _a, _b);\n }\n const aValue = getFunction(a);\n const bValue = getFunction(b);\n return createCompareFunction(aValue, bValue, -1, 1);\n}\n\nfunction assocFn(prop, newValue, obj) {\n return Object.assign({}, obj, {\n [prop]: newValue\n });\n}\nconst assoc = curry(assocFn);\n\nfunction _isInteger(n) {\n return n << 0 === n;\n}\nconst isInteger = Number.isInteger || _isInteger;\nconst isIndexInteger = index => Number.isInteger(Number(index));\n\nfunction createPath(path, delimiter = '.') {\n return typeof path === 'string' ? path.split(delimiter).map(x => isInteger(x) ? Number(x) : x) : path;\n}\n\nfunction assocPathFn(path, newValue, input) {\n const pathArrValue = createPath(path);\n if (pathArrValue.length === 0) return newValue;\n const index = pathArrValue[0];\n if (pathArrValue.length > 1) {\n const condition = typeof input !== 'object' || input === null || !input.hasOwnProperty(index);\n const nextInput = condition ? isIndexInteger(pathArrValue[1]) ? [] : {} : input[index];\n newValue = assocPathFn(Array.prototype.slice.call(pathArrValue, 1), newValue, nextInput);\n }\n if (isIndexInteger(index) && isArray(input)) {\n const arr = cloneList(input);\n arr[index] = newValue;\n return arr;\n }\n return assocFn(index, newValue, input);\n}\nconst assocPath = curry(assocPathFn);\n\nfunction binary(fn) {\n if (fn.length <= 2) return fn;\n return (a, b) => fn(a, b);\n}\n\nfunction bind(fn, thisObj) {\n if (arguments.length === 1) {\n return _thisObj => bind(fn, _thisObj);\n }\n return curryN(fn.length, (...args) => fn.apply(thisObj, args));\n}\n\nfunction both(f, g) {\n if (arguments.length === 1) return _g => both(f, _g);\n return (...input) => f(...input) && g(...input);\n}\n\nconst call = (fn, ...inputs) => fn(...inputs);\n\nfunction chain(fn, list) {\n if (arguments.length === 1) {\n return _list => chain(fn, _list);\n }\n return [].concat(...list.map(fn));\n}\n\nfunction clampFn(min, max, input) {\n if (min > max) {\n throw new Error('min must not be greater than max in clamp(min, max, value)');\n }\n if (input >= min && input <= max) return input;\n if (input > max) return max;\n if (input < min) return min;\n}\nconst clamp = curry(clampFn);\n\nfunction clone(input) {\n const out = isArray(input) ? Array(input.length) : {};\n if (input && input.getTime) return new Date(input.getTime());\n for (const key in input) {\n const v = input[key];\n out[key] = typeof v === 'object' && v !== null ? v.getTime ? new Date(v.getTime()) : clone(v) : v;\n }\n return out;\n}\n\nclass ReduceStopper {\n constructor(value) {\n this.value = value;\n }\n}\nfunction reduceFn(reducer, acc, list) {\n if (list == null) {\n return acc;\n }\n if (!isArray(list)) {\n throw new TypeError('reduce: list must be array or iterable');\n }\n let index = 0;\n const len = list.length;\n while (index < len) {\n acc = reducer(acc, list[index], index, list);\n if (acc instanceof ReduceStopper) {\n return acc.value;\n }\n index++;\n }\n return acc;\n}\nconst reduce = curry(reduceFn);\nconst reduceStopper = value => new ReduceStopper(value);\n\nfunction collectBy(fn, list) {\n if (arguments.length === 1) {\n return _list => collectBy(fn, _list);\n }\n const group = reduce((o, x) => {\n const tag = fn(x);\n if (o[tag] === undefined) {\n o[tag] = [];\n }\n o[tag].push(x);\n return o;\n }, {}, list);\n const newList = [];\n for (const tag in group) {\n newList.push(group[tag]);\n }\n return newList;\n}\n\nfunction comparator(fn) {\n return function (a, b) {\n return fn(a, b) ? -1 : fn(b, a) ? 1 : 0;\n };\n}\n\nfunction complement(fn) {\n return (...input) => !fn(...input);\n}\n\nfunction _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}\nfunction pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n return _arity(arguments[0].length, reduceFn(_pipe, arguments[0], Array.prototype.slice.call(arguments, 1, Infinity)));\n}\n\nfunction compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n return pipe.apply(this, Array.prototype.slice.call(arguments, 0).reverse());\n}\n\nfunction head(listOrString) {\n if (typeof listOrString === 'string') return listOrString[0] || '';\n return listOrString[0];\n}\n\nfunction identity(x) {\n return x;\n}\n\nfunction reverse(listOrString) {\n if (typeof listOrString === 'string') {\n return listOrString.split('').reverse().join('');\n }\n const clone = listOrString.slice();\n return clone.reverse();\n}\n\nfunction drop(howManyToDrop, listOrString) {\n if (arguments.length === 1) return _list => drop(howManyToDrop, _list);\n return listOrString.slice(howManyToDrop > 0 ? howManyToDrop : 0);\n}\n\nfunction tail(listOrString) {\n return drop(1, listOrString);\n}\n\nfunction pipeWith(xf, list) {\n if (list.length <= 0) {\n return identity;\n }\n const headList = head(list);\n const tailList = tail(list);\n return _arity(headList.length, function () {\n return reduce(function (result, f) {\n return xf.call(this, f, result);\n }, headList.apply(this, arguments), tailList);\n });\n}\nfunction composeWith(xf, list) {\n if (arguments.length === 1) return _list => composeWith(xf, _list);\n return pipeWith.apply(this, [xf, reverse(list)]);\n}\n\nfunction concat(x, y) {\n if (arguments.length === 1) return _y => concat(x, _y);\n return typeof x === 'string' ? `${x}${y}` : [...x, ...y];\n}\n\nfunction cond(conditions) {\n return (...input) => {\n let done = false;\n let toReturn;\n conditions.forEach(([predicate, getResult]) => {\n if (!done && predicate(...input)) {\n done = true;\n toReturn = getResult(...input);\n }\n });\n return toReturn;\n };\n}\n\nconst INCORRECT_ITERABLE_INPUT = 'Incorrect iterable input';\n\nconst {\n keys: keys$1\n} = Object;\n\nfunction mapArray(fn, list, isIndexed = false) {\n let index = 0;\n const willReturn = Array(list.length);\n while (index < list.length) {\n willReturn[index] = isIndexed ? fn(list[index], index) : fn(list[index]);\n index++;\n }\n return willReturn;\n}\nfunction mapObject(fn, obj) {\n if (arguments.length === 1) {\n return _obj => mapObject(fn, _obj);\n }\n let index = 0;\n const objKeys = keys$1(obj);\n const len = objKeys.length;\n const willReturn = {};\n while (index < len) {\n const key = objKeys[index];\n willReturn[key] = fn(obj[key], key, obj);\n index++;\n }\n return willReturn;\n}\nconst mapObjIndexed = mapObject;\nfunction map(fn, iterable) {\n if (arguments.length === 1) return _iterable => map(fn, _iterable);\n if (!iterable) {\n throw new Error(INCORRECT_ITERABLE_INPUT);\n }\n if (isArray(iterable)) return mapArray(fn, iterable);\n return mapObject(fn, iterable);\n}\n\nfunction max(x, y) {\n if (arguments.length === 1) return _y => max(x, _y);\n return y > x ? y : x;\n}\n\nfunction converge(fn, transformers) {\n if (arguments.length === 1) return _transformers => converge(fn, _transformers);\n const highestArity = reduce((a, b) => max(a, b.length), 0, transformers);\n return curryN(highestArity, function () {\n return fn.apply(this, map(g => g.apply(this, arguments), transformers));\n });\n}\n\nfunction count(predicate, list) {\n if (arguments.length === 1) {\n return _list => count(predicate, _list);\n }\n if (!isArray(list)) return 0;\n return list.filter(x => predicate(x)).length;\n}\n\nfunction countBy(fn, list) {\n if (arguments.length === 1) {\n return _list => countBy(fn, _list);\n }\n const willReturn = {};\n list.forEach(item => {\n const key = fn(item);\n if (!willReturn[key]) {\n willReturn[key] = 1;\n } else {\n willReturn[key]++;\n }\n });\n return willReturn;\n}\n\nconst dec = x => x - 1;\n\nfunction isFalsy(input) {\n return input === undefined || input === null || Number.isNaN(input) === true;\n}\nfunction defaultTo(defaultArgument, input) {\n if (arguments.length === 1) {\n return _input => defaultTo(defaultArgument, _input);\n }\n return isFalsy(input) ? defaultArgument : input;\n}\n\nfunction descend(getFunction, a, b) {\n if (arguments.length === 1) {\n return (_a, _b) => descend(getFunction, _a, _b);\n }\n const aValue = getFunction(a);\n const bValue = getFunction(b);\n return createCompareFunction(aValue, bValue, 1, -1);\n}\n\nfunction type(input) {\n if (input === null) {\n return 'Null';\n } else if (input === undefined) {\n return 'Undefined';\n } else if (Number.isNaN(input)) {\n return 'NaN';\n }\n const typeResult = Object.prototype.toString.call(input).slice(8, -1);\n return typeResult === 'AsyncFunction' ? 'Promise' : typeResult;\n}\n\nfunction _lastIndexOf(valueToFind, list) {\n if (!isArray(list)) throw new Error(`Cannot read property 'indexOf' of ${list}`);\n const typeOfValue = type(valueToFind);\n if (!['Array', 'NaN', 'Object', 'RegExp'].includes(typeOfValue)) return list.lastIndexOf(valueToFind);\n const {\n length\n } = list;\n let index = length;\n let foundIndex = -1;\n while (--index > -1 && foundIndex === -1) if (equals(list[index], valueToFind)) foundIndex = index;\n return foundIndex;\n}\nfunction _indexOf(valueToFind, list) {\n if (!isArray(list)) throw new Error(`Cannot read property 'indexOf' of ${list}`);\n const typeOfValue = type(valueToFind);\n if (!['Array', 'NaN', 'Object', 'RegExp'].includes(typeOfValue)) return list.indexOf(valueToFind);\n let index = -1;\n let foundIndex = -1;\n const {\n length\n } = list;\n while (++index < length && foundIndex === -1) if (equals(list[index], valueToFind)) foundIndex = index;\n return foundIndex;\n}\nfunction _arrayFromIterator(iter) {\n const list = [];\n let next;\n while (!(next = iter.next()).done) list.push(next.value);\n return list;\n}\nfunction _compareSets(a, b) {\n if (a.size !== b.size) return false;\n const aList = _arrayFromIterator(a.values());\n const bList = _arrayFromIterator(b.values());\n const filtered = aList.filter(aInstance => _indexOf(aInstance, bList) === -1);\n return filtered.length === 0;\n}\nfunction compareErrors(a, b) {\n if (a.message !== b.message) return false;\n if (a.toString !== b.toString) return false;\n return a.toString() === b.toString();\n}\nfunction parseDate(maybeDate) {\n if (!maybeDate.toDateString) return [false];\n return [true, maybeDate.getTime()];\n}\nfunction parseRegex(maybeRegex) {\n if (maybeRegex.constructor !== RegExp) return [false];\n return [true, maybeRegex.toString()];\n}\nfunction equals(a, b) {\n if (arguments.length === 1) return _b => equals(a, _b);\n if (Object.is(a, b)) return true;\n const aType = type(a);\n if (aType !== type(b)) return false;\n if (aType === 'Function') return a.name === undefined ? false : a.name === b.name;\n if (['NaN', 'Null', 'Undefined'].includes(aType)) return true;\n if (['BigInt', 'Number'].includes(aType)) {\n if (Object.is(-0, a) !== Object.is(-0, b)) return false;\n return a.toString() === b.toString();\n }\n if (['Boolean', 'String'].includes(aType)) return a.toString() === b.toString();\n if (aType === 'Array') {\n const aClone = Array.from(a);\n const bClone = Array.from(b);\n if (aClone.toString() !== bClone.toString()) return false;\n let loopArrayFlag = true;\n aClone.forEach((aCloneInstance, aCloneIndex) => {\n if (loopArrayFlag) if (aCloneInstance !== bClone[aCloneIndex] && !equals(aCloneInstance, bClone[aCloneIndex])) loopArrayFlag = false;\n });\n return loopArrayFlag;\n }\n const aRegex = parseRegex(a);\n const bRegex = parseRegex(b);\n if (aRegex[0]) return bRegex[0] ? aRegex[1] === bRegex[1] : false;else if (bRegex[0]) return false;\n const aDate = parseDate(a);\n const bDate = parseDate(b);\n if (aDate[0]) return bDate[0] ? aDate[1] === bDate[1] : false;else if (bDate[0]) return false;\n if (a instanceof Error) {\n if (!(b instanceof Error)) return false;\n return compareErrors(a, b);\n }\n if (aType === 'Set') return _compareSets(a, b);\n if (aType === 'Object') {\n const aKeys = Object.keys(a);\n if (aKeys.length !== Object.keys(b).length) return false;\n let loopObjectFlag = true;\n aKeys.forEach(aKeyInstance => {\n if (loopObjectFlag) {\n const aValue = a[aKeyInstance];\n const bValue = b[aKeyInstance];\n if (aValue !== bValue && !equals(aValue, bValue)) loopObjectFlag = false;\n }\n });\n return loopObjectFlag;\n }\n return false;\n}\n\nfunction includes$1(valueToFind, iterable) {\n if (arguments.length === 1) return _iterable => includes$1(valueToFind, _iterable);\n if (typeof iterable === 'string') {\n return iterable.includes(valueToFind);\n }\n if (!iterable) {\n throw new TypeError(`Cannot read property \\'indexOf\\' of ${iterable}`);\n }\n if (!isArray(iterable)) return false;\n return _indexOf(valueToFind, iterable) > -1;\n}\n\nclass _Set {\n constructor() {\n this.set = new Set();\n this.items = {};\n }\n checkUniqueness(item) {\n const type$1 = type(item);\n if (['Null', 'Undefined', 'NaN'].includes(type$1)) {\n if (type$1 in this.items) {\n return false;\n }\n this.items[type$1] = true;\n return true;\n }\n if (!['Object', 'Array'].includes(type$1)) {\n const prevSize = this.set.size;\n this.set.add(item);\n return this.set.size !== prevSize;\n }\n if (!(type$1 in this.items)) {\n this.items[type$1] = [item];\n return true;\n }\n if (_indexOf(item, this.items[type$1]) === -1) {\n this.items[type$1].push(item);\n return true;\n }\n return false;\n }\n}\n\nfunction uniq(list) {\n const set = new _Set();\n const willReturn = [];\n list.forEach(item => {\n if (set.checkUniqueness(item)) {\n willReturn.push(item);\n }\n });\n return willReturn;\n}\n\nfunction difference(a, b) {\n if (arguments.length === 1) return _b => difference(a, _b);\n return uniq(a).filter(aInstance => !includes$1(aInstance, b));\n}\n\nfunction differenceWithFn(fn, a, b) {\n const willReturn = [];\n const [first, second] = a.length >= b.length ? [a, b] : [b, a];\n first.forEach(item => {\n const hasItem = second.some(secondItem => fn(item, secondItem));\n if (!hasItem && _indexOf(item, willReturn) === -1) {\n willReturn.push(item);\n }\n });\n return willReturn;\n}\nconst differenceWith = curry(differenceWithFn);\n\nfunction dissoc(prop, obj) {\n if (arguments.length === 1) return _obj => dissoc(prop, _obj);\n if (obj === null || obj === undefined) return {};\n const willReturn = {};\n for (const p in obj) {\n willReturn[p] = obj[p];\n }\n delete willReturn[prop];\n return willReturn;\n}\n\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\n\nfunction compare(a, b) {\n return String(a) === String(b);\n}\n\nfunction includes(a, list) {\n let index = -1;\n const {\n length\n } = list;\n while (++index < length) if (compare(list[index], a)) return true;\n return false;\n}\n\nfunction omit(propsToOmit, obj) {\n if (arguments.length === 1) return _obj => omit(propsToOmit, _obj);\n if (obj === null || obj === undefined) return undefined;\n const propsToOmitValue = createPath(propsToOmit, ',');\n const willReturn = {};\n for (const key in obj) if (!includes(key, propsToOmitValue)) willReturn[key] = obj[key];\n return willReturn;\n}\n\nfunction pathFn(pathInput, obj) {\n let willReturn = obj;\n let counter = 0;\n const pathArrValue = createPath(pathInput);\n while (counter < pathArrValue.length) {\n if (willReturn === null || willReturn === undefined) {\n return undefined;\n }\n if (willReturn[pathArrValue[counter]] === null) return undefined;\n willReturn = willReturn[pathArrValue[counter]];\n counter++;\n }\n return willReturn;\n}\nfunction path(pathInput, obj) {\n if (arguments.length === 1) return _obj => path(pathInput, _obj);\n if (obj === null || obj === undefined) {\n return undefined;\n }\n return pathFn(pathInput, obj);\n}\n\nfunction removeIndex(index, list) {\n if (arguments.length === 1) return _list => removeIndex(index, _list);\n if (index <= 0) return list.slice(1);\n if (index >= list.length - 1) return list.slice(0, list.length - 1);\n return [...list.slice(0, index), ...list.slice(index + 1)];\n}\n\nfunction updateFn(index, newValue, list) {\n const clone = cloneList(list);\n if (index === -1) return clone.fill(newValue, index);\n return clone.fill(newValue, index, index + 1);\n}\nconst update = curry(updateFn);\n\nfunction dissocPath(pathInput, input) {\n if (arguments.length === 1) return _obj => dissocPath(pathInput, _obj);\n const pathArrValue = createPath(pathInput);\n if (pathArrValue.length === 0) return input;\n const pathResult = path(pathArrValue, input);\n if (pathResult === undefined) return input;\n const index = pathArrValue[0];\n const condition = typeof input !== 'object' || input === null || !input.hasOwnProperty(index);\n if (pathArrValue.length > 1) {\n const nextInput = condition ? isIndexInteger(pathArrValue[1]) ? [] : {} : input[index];\n const nextPathInput = Array.prototype.slice.call(pathArrValue, 1);\n const intermediateResult = dissocPath(nextPathInput, nextInput, input);\n if (isArray(input)) return update(index, intermediateResult, input);\n return _objectSpread2(_objectSpread2({}, input), {}, {\n [index]: intermediateResult\n });\n }\n if (isArray(input)) return removeIndex(index, input);\n return omit([index], input);\n}\n\nfunction divide(a, b) {\n if (arguments.length === 1) return _b => divide(a, _b);\n return a / b;\n}\n\nfunction dropLast(howManyToDrop, listOrString) {\n if (arguments.length === 1) {\n return _listOrString => dropLast(howManyToDrop, _listOrString);\n }\n return howManyToDrop > 0 ? listOrString.slice(0, -howManyToDrop) : listOrString.slice();\n}\n\nfunction dropLastWhile(predicate, iterable) {\n if (arguments.length === 1) {\n return _iterable => dropLastWhile(predicate, _iterable);\n }\n if (iterable.length === 0) return iterable;\n const isArray$1 = isArray(iterable);\n if (typeof predicate !== 'function') {\n throw new Error(`'predicate' is from wrong type ${typeof predicate}`);\n }\n if (!isArray$1 && typeof iterable !== 'string') {\n throw new Error(`'iterable' is from wrong type ${typeof iterable}`);\n }\n const toReturn = [];\n let counter = iterable.length;\n while (counter) {\n const item = iterable[--counter];\n if (!predicate(item)) {\n toReturn.push(item);\n break;\n }\n }\n while (counter) {\n toReturn.push(iterable[--counter]);\n }\n return isArray$1 ? toReturn.reverse() : toReturn.reverse().join('');\n}\n\nfunction dropRepeats(list) {\n if (!isArray(list)) {\n throw new Error(`${list} is not a list`);\n }\n const toReturn = [];\n list.reduce((prev, current) => {\n if (!equals(prev, current)) {\n toReturn.push(current);\n }\n return current;\n }, undefined);\n return toReturn;\n}\n\nfunction dropRepeatsBy(fn, list) {\n if (arguments.length === 1) return _list => dropRepeatsBy(fn, _list);\n let lastEvaluated = null;\n return list.slice().filter(item => {\n if (lastEvaluated === null) {\n lastEvaluated = fn(item);\n return true;\n }\n const evaluatedResult = fn(item);\n if (equals(lastEvaluated, evaluatedResult)) return false;\n lastEvaluated = evaluatedResult;\n return true;\n });\n}\n\nfunction dropRepeatsWith(predicate, list) {\n if (arguments.length === 1) {\n return _iterable => dropRepeatsWith(predicate, _iterable);\n }\n if (!isArray(list)) {\n throw new Error(`${list} is not a list`);\n }\n const toReturn = [];\n list.reduce((prev, current) => {\n if (prev === undefined) {\n toReturn.push(current);\n return current;\n }\n if (!predicate(prev, current)) {\n toReturn.push(current);\n }\n return current;\n }, undefined);\n return toReturn;\n}\n\nfunction dropWhile(predicate, iterable) {\n if (arguments.length === 1) {\n return _iterable => dropWhile(predicate, _iterable);\n }\n const isArray$1 = isArray(iterable);\n if (!isArray$1 && typeof iterable !== 'string') {\n throw new Error('`iterable` is neither list nor a string');\n }\n const toReturn = [];\n let counter = 0;\n while (counter < iterable.length) {\n const item = iterable[counter++];\n if (!predicate(item)) {\n toReturn.push(item);\n break;\n }\n }\n while (counter < iterable.length) {\n toReturn.push(iterable[counter++]);\n }\n return isArray$1 ? toReturn : toReturn.join('');\n}\n\nfunction either(firstPredicate, secondPredicate) {\n if (arguments.length === 1) {\n return _secondPredicate => either(firstPredicate, _secondPredicate);\n }\n return (...input) => Boolean(firstPredicate(...input) || secondPredicate(...input));\n}\n\nfunction empty(list) {\n if (typeof list === 'string') return '';\n if (Array.isArray(list)) {\n const {\n name\n } = list.constructor;\n if (name === 'Uint8Array') return Uint8Array.from('');\n if (name === 'Float32Array') return new Float32Array([]);\n return [];\n }\n if (type(list) === 'Object') return {};\n}\n\nfunction endsWith(target, iterable) {\n if (arguments.length === 1) return _iterable => endsWith(target, _iterable);\n if (typeof iterable === 'string') {\n return iterable.endsWith(target);\n }\n if (!isArray(target)) return false;\n const diff = iterable.length - target.length;\n let correct = true;\n const filtered = target.filter((x, index) => {\n if (!correct) return false;\n const result = equals(x, iterable[index + diff]);\n if (!result) correct = false;\n return result;\n });\n return filtered.length === target.length;\n}\n\nfunction eqByFn(fn, a, b) {\n return equals(fn(a), fn(b));\n}\nconst eqBy = curry(eqByFn);\n\nfunction propFn(searchProperty, obj) {\n if (!obj) return undefined;\n return obj[searchProperty];\n}\nfunction prop(searchProperty, obj) {\n if (arguments.length === 1) return _obj => prop(searchProperty, _obj);\n return propFn(searchProperty, obj);\n}\n\nfunction eqPropsFn(property, objA, objB) {\n return equals(prop(property, objA), prop(property, objB));\n}\nconst eqProps = curry(eqPropsFn);\n\nfunction evolveArray(rules, list) {\n return mapArray((x, i) => {\n if (type(rules[i]) === 'Function') {\n return rules[i](x);\n }\n return x;\n }, list, true);\n}\nfunction evolveObject(rules, iterable) {\n return mapObject((x, prop) => {\n if (type(x) === 'Object') {\n const typeRule = type(rules[prop]);\n if (typeRule === 'Function') {\n return rules[prop](x);\n }\n if (typeRule === 'Object') {\n return evolve(rules[prop], x);\n }\n return x;\n }\n if (type(rules[prop]) === 'Function') {\n return rules[prop](x);\n }\n return x;\n }, iterable);\n}\nfunction evolve(rules, iterable) {\n if (arguments.length === 1) {\n return _iterable => evolve(rules, _iterable);\n }\n const rulesType = type(rules);\n const iterableType = type(iterable);\n if (iterableType !== rulesType) {\n throw new Error('iterableType !== rulesType');\n }\n if (!['Object', 'Array'].includes(rulesType)) {\n throw new Error(`'iterable' and 'rules' are from wrong type ${rulesType}`);\n }\n if (iterableType === 'Object') {\n return evolveObject(rules, iterable);\n }\n return evolveArray(rules, iterable);\n}\n\nfunction filterObject(predicate, obj) {\n const willReturn = {};\n for (const prop in obj) {\n if (predicate(obj[prop], prop, obj)) {\n willReturn[prop] = obj[prop];\n }\n }\n return willReturn;\n}\nfunction filterArray(predicate, list, indexed = false) {\n let index = 0;\n const len = list.length;\n const willReturn = [];\n while (index < len) {\n const predicateResult = indexed ? predicate(list[index], index) : predicate(list[index]);\n if (predicateResult) {\n willReturn.push(list[index]);\n }\n index++;\n }\n return willReturn;\n}\nfunction filter(predicate, iterable) {\n if (arguments.length === 1) return _iterable => filter(predicate, _iterable);\n if (!iterable) {\n throw new Error('Incorrect iterable input');\n }\n if (isArray(iterable)) return filterArray(predicate, iterable, false);\n return filterObject(predicate, iterable);\n}\n\nfunction find(predicate, list) {\n if (arguments.length === 1) return _list => find(predicate, _list);\n let index = 0;\n const len = list.length;\n while (index < len) {\n const x = list[index];\n if (predicate(x)) {\n return x;\n }\n index++;\n }\n}\n\nfunction findIndex(predicate, list) {\n if (arguments.length === 1) return _list => findIndex(predicate, _list);\n const len = list.length;\n let index = -1;\n while (++index < len) {\n if (predicate(list[index])) {\n return index;\n }\n }\n return -1;\n}\n\nfunction findLast(predicate, list) {\n if (arguments.length === 1) return _list => findLast(predicate, _list);\n let index = list.length;\n while (--index >= 0) {\n if (predicate(list[index])) {\n return list[index];\n }\n }\n return undefined;\n}\n\nfunction findLastIndex(fn, list) {\n if (arguments.length === 1) return _list => findLastIndex(fn, _list);\n let index = list.length;\n while (--index >= 0) {\n if (fn(list[index])) {\n return index;\n }\n }\n return -1;\n}\n\nfunction flatten(list, input) {\n const willReturn = input === undefined ? [] : input;\n for (let i = 0; i < list.length; i++) {\n if (isArray(list[i])) {\n flatten(list[i], willReturn);\n } else {\n willReturn.push(list[i]);\n }\n }\n return willReturn;\n}\n\nfunction flipFn(fn) {\n return (...input) => {\n if (input.length === 1) {\n return holder => fn(holder, input[0]);\n } else if (input.length === 2) {\n return fn(input[1], input[0]);\n } else if (input.length === 3) {\n return fn(input[1], input[0], input[2]);\n } else if (input.length === 4) {\n return fn(input[1], input[0], input[2], input[3]);\n }\n throw new Error('R.flip doesn\\'t work with arity > 4');\n };\n}\nfunction flip(fn) {\n return flipFn(fn);\n}\n\nfunction forEachObjIndexedFn(fn, obj) {\n let index = 0;\n const listKeys = keys$1(obj);\n const len = listKeys.length;\n while (index < len) {\n const key = listKeys[index];\n fn(obj[key], key, obj);\n index++;\n }\n return obj;\n}\nfunction forEachObjIndexed(fn, list) {\n if (arguments.length === 1) return _list => forEachObjIndexed(fn, _list);\n if (list === undefined) return;\n return forEachObjIndexedFn(fn, list);\n}\n\nfunction forEach(fn, iterable) {\n if (arguments.length === 1) return _list => forEach(fn, _list);\n if (iterable === undefined) return;\n if (isArray(iterable)) {\n let index = 0;\n const len = iterable.length;\n while (index < len) {\n fn(iterable[index]);\n index++;\n }\n } else return forEachObjIndexedFn(fn, iterable);\n return iterable;\n}\n\nfunction fromPairs(listOfPairs) {\n const toReturn = {};\n listOfPairs.forEach(([prop, value]) => toReturn[prop] = value);\n return toReturn;\n}\n\nfunction groupBy(groupFn, list) {\n if (arguments.length === 1) return _list => groupBy(groupFn, _list);\n const result = {};\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n const key = groupFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n }\n return result;\n}\n\nfunction groupWith(compareFn, list) {\n if (!isArray(list)) throw new TypeError('list.reduce is not a function');\n const clone = cloneList(list);\n if (list.length === 1) return [clone];\n const toReturn = [];\n let holder = [];\n clone.reduce((prev, current, i) => {\n if (i === 0) return current;\n const okCompare = compareFn(prev, current);\n const holderIsEmpty = holder.length === 0;\n const lastCall = i === list.length - 1;\n if (okCompare) {\n if (holderIsEmpty) holder.push(prev);\n holder.push(current);\n if (lastCall) toReturn.push(holder);\n return current;\n }\n if (holderIsEmpty) {\n toReturn.push([prev]);\n if (lastCall) toReturn.push([current]);\n return current;\n }\n toReturn.push(holder);\n if (lastCall) toReturn.push([current]);\n holder = [];\n return current;\n }, undefined);\n return toReturn;\n}\n\nfunction gt(a, b) {\n if (arguments.length === 1) return _b => gt(a, _b);\n return a > b;\n}\n\nfunction gte(a, b) {\n if (arguments.length === 1) return _b => gte(a, _b);\n return a >= b;\n}\n\nfunction has(prop, obj) {\n if (arguments.length === 1) return _obj => has(prop, _obj);\n if (!obj) return false;\n return obj.hasOwnProperty(prop);\n}\n\nfunction hasIn(searchProperty, obj) {\n if (arguments.length === 1) {\n return _obj => hasIn(searchProperty, _obj);\n }\n return propFn(searchProperty, obj) !== undefined;\n}\n\nfunction hasPath(pathInput, obj) {\n if (arguments.length === 1) {\n return objHolder => hasPath(pathInput, objHolder);\n }\n return path(pathInput, obj) !== undefined;\n}\n\nfunction _objectIs(a, b) {\n if (a === b) {\n return a !== 0 || 1 / a === 1 / b;\n }\n return a !== a && b !== b;\n}\nconst objectIs = Object.is || _objectIs;\n\nfunction identical(a, b) {\n if (arguments.length === 1) return _b => identical(a, _b);\n return objectIs(a, b);\n}\n\nfunction ifElseFn(condition, onTrue, onFalse) {\n return (...input) => {\n const conditionResult = typeof condition === 'boolean' ? condition : condition(...input);\n if (Boolean(conditionResult)) {\n return onTrue(...input);\n }\n return onFalse(...input);\n };\n}\nconst ifElse = curry(ifElseFn);\n\nconst inc = x => x + 1;\n\nfunction indexByPath(pathInput, list) {\n const toReturn = {};\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n toReturn[path(pathInput, item)] = item;\n }\n return toReturn;\n}\nfunction indexBy(condition, list) {\n if (arguments.length === 1) {\n return _list => indexBy(condition, _list);\n }\n if (typeof condition === 'string') {\n return indexByPath(condition, list);\n }\n const toReturn = {};\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n toReturn[condition(item)] = item;\n }\n return toReturn;\n}\n\nfunction indexOf(valueToFind, list) {\n if (arguments.length === 1) {\n return _list => _indexOf(valueToFind, _list);\n }\n return _indexOf(valueToFind, list);\n}\n\nfunction baseSlice(array, start, end) {\n let index = -1;\n let {\n length\n } = array;\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : end - start >>> 0;\n start >>>= 0;\n const result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nfunction init(listOrString) {\n if (typeof listOrString === 'string') return listOrString.slice(0, -1);\n return listOrString.length ? baseSlice(listOrString, 0, -1) : [];\n}\n\nfunction _includesWith(pred, x, list) {\n let idx = 0;\n const len = list.length;\n while (idx < len) {\n if (pred(x, list[idx])) return true;\n idx += 1;\n }\n return false;\n}\nfunction _filter(fn, list) {\n let idx = 0;\n const len = list.length;\n const result = [];\n while (idx < len) {\n if (fn(list[idx])) result[result.length] = list[idx];\n idx += 1;\n }\n return result;\n}\nfunction innerJoinFn(pred, xs, ys) {\n return _filter(x => _includesWith(pred, x, ys), xs);\n}\nconst innerJoin = curry(innerJoinFn);\n\nfunction insertFn(indexToInsert, valueToInsert, array) {\n return [...array.slice(0, indexToInsert), valueToInsert, ...array.slice(indexToInsert)];\n}\nconst insert = curry(insertFn);\n\nfunction insertAllFn(index, listToInsert, list) {\n return [...list.slice(0, index), ...listToInsert, ...list.slice(index)];\n}\nconst insertAll = curry(insertAllFn);\n\nfunction intersection(listA, listB) {\n if (arguments.length === 1) return _list => intersection(listA, _list);\n return filter(x => includes$1(x, listA), listB);\n}\n\nfunction intersperse(separator, list) {\n if (arguments.length === 1) return _list => intersperse(separator, _list);\n let index = -1;\n const len = list.length;\n const willReturn = [];\n while (++index < len) {\n if (index === len - 1) {\n willReturn.push(list[index]);\n } else {\n willReturn.push(list[index], separator);\n }\n }\n return willReturn;\n}\n\nfunction is(targetPrototype, x) {\n if (arguments.length === 1) return _x => is(targetPrototype, _x);\n return x != null && x.constructor === targetPrototype || x instanceof targetPrototype;\n}\n\nfunction isEmpty(input) {\n const inputType = type(input);\n if (['Undefined', 'NaN', 'Number', 'Null'].includes(inputType)) return false;\n if (!input) return true;\n if (inputType === 'Object') {\n return Object.keys(input).length === 0;\n }\n if (inputType === 'Array') {\n return input.length === 0;\n }\n return false;\n}\n\nfunction isNil(x) {\n return x === undefined || x === null;\n}\n\nfunction isNotEmpty(input) {\n return !isEmpty(input);\n}\n\nfunction isNotNil(input) {\n return input != null;\n}\n\nfunction join(glue, list) {\n if (arguments.length === 1) return _list => join(glue, _list);\n return list.join(glue);\n}\n\nfunction juxt(listOfFunctions) {\n return (...args) => listOfFunctions.map(fn => fn(...args));\n}\n\nfunction keys(x) {\n return Object.keys(x);\n}\n\nfunction last(listOrString) {\n if (typeof listOrString === 'string') {\n return listOrString[listOrString.length - 1] || '';\n }\n return listOrString[listOrString.length - 1];\n}\n\nfunction lastIndexOf(valueToFind, list) {\n if (arguments.length === 1) {\n return _list => _lastIndexOf(valueToFind, _list);\n }\n return _lastIndexOf(valueToFind, list);\n}\n\nfunction length(x) {\n if (isArray(x)) return x.length;\n if (typeof x === 'string') return x.length;\n return NaN;\n}\n\nfunction lens(getter, setter) {\n return function (functor) {\n return function (target) {\n return functor(getter(target)).map(focus => setter(focus, target));\n };\n };\n}\n\nfunction nth(index, input) {\n if (arguments.length === 1) return _input => nth(index, _input);\n const idx = index < 0 ? input.length + index : index;\n return Object.prototype.toString.call(input) === '[object String]' ? input.charAt(idx) : input[idx];\n}\n\nfunction lensIndex(index) {\n return lens(nth(index), update(index));\n}\n\nfunction lensPath(key) {\n return lens(path(key), assocPath(key));\n}\n\nfunction lensProp(key) {\n return lens(prop(key), assoc(key));\n}\n\nfunction lt(a, b) {\n if (arguments.length === 1) return _b => lt(a, _b);\n return a < b;\n}\n\nfunction lte(a, b) {\n if (arguments.length === 1) return _b => lte(a, _b);\n return a <= b;\n}\n\nfunction match(pattern, input) {\n if (arguments.length === 1) return _input => match(pattern, _input);\n const willReturn = input.match(pattern);\n return willReturn === null ? [] : willReturn;\n}\n\nfunction mathMod(x, y) {\n if (arguments.length === 1) return _y => mathMod(x, _y);\n if (!isInteger(x) || !isInteger(y) || y < 1) return NaN;\n return (x % y + y) % y;\n}\n\nfunction maxByFn(compareFn, x, y) {\n return compareFn(y) > compareFn(x) ? y : x;\n}\nconst maxBy = curry(maxByFn);\n\nfunction sum(list) {\n return list.reduce((prev, current) => prev + current, 0);\n}\n\nfunction mean(list) {\n return sum(list) / list.length;\n}\n\nfunction median(list) {\n const len = list.length;\n if (len === 0) return NaN;\n const width = 2 - len % 2;\n const idx = (len - width) / 2;\n return mean(Array.prototype.slice.call(list, 0).sort((a, b) => {\n if (a === b) return 0;\n return a < b ? -1 : 1;\n }).slice(idx, idx + width));\n}\n\nfunction mergeRight(target, newProps) {\n if (arguments.length === 1) return _newProps => mergeRight(target, _newProps);\n return Object.assign({}, target || {}, newProps || {});\n}\n\nfunction mergeAll(arr) {\n let willReturn = {};\n map(val => {\n willReturn = mergeRight(willReturn, val);\n }, arr);\n return willReturn;\n}\n\nfunction mergeDeepRight(target, source) {\n if (arguments.length === 1) {\n return sourceHolder => mergeDeepRight(target, sourceHolder);\n }\n const willReturn = clone(target);\n Object.keys(source).forEach(key => {\n if (type(source[key]) === 'Object') {\n if (type(target[key]) === 'Object') {\n willReturn[key] = mergeDeepRight(target[key], source[key]);\n } else {\n willReturn[key] = source[key];\n }\n } else {\n willReturn[key] = source[key];\n }\n });\n return willReturn;\n}\n\nfunction mergeDeepLeft(newProps, target) {\n return mergeDeepRight(target, newProps);\n}\n\nfunction mergeLeft(x, y) {\n if (arguments.length === 1) return _y => mergeLeft(x, _y);\n return mergeRight(y, x);\n}\n\nfunction mergeWithFn(mergeFn, aInput, bInput) {\n const a = aInput !== null && aInput !== void 0 ? aInput : {};\n const b = bInput !== null && bInput !== void 0 ? bInput : {};\n const willReturn = {};\n Object.keys(a).forEach(key => {\n if (b[key] === undefined) willReturn[key] = a[key];else willReturn[key] = mergeFn(a[key], b[key]);\n });\n Object.keys(b).forEach(key => {\n if (willReturn[key] !== undefined) return;\n if (a[key] === undefined) willReturn[key] = b[key];else willReturn[key] = mergeFn(a[key], b[key]);\n });\n return willReturn;\n}\nconst mergeWith = curry(mergeWithFn);\n\nfunction min(x, y) {\n if (arguments.length === 1) return _y => min(x, _y);\n return y < x ? y : x;\n}\n\nfunction minByFn(compareFn, x, y) {\n return compareFn(y) < compareFn(x) ? y : x;\n}\nconst minBy = curry(minByFn);\n\nfunction isIterable(input) {\n return Array.isArray(input) || type(input) === 'Object';\n}\n\nfunction modifyFn(property, fn, iterable) {\n if (!isIterable(iterable)) return iterable;\n if (iterable[property] === undefined) return iterable;\n if (isArray(iterable)) {\n return updateFn(property, fn(iterable[property]), iterable);\n }\n return _objectSpread2(_objectSpread2({}, iterable), {}, {\n [property]: fn(iterable[property])\n });\n}\nconst modify = curry(modifyFn);\n\nfunction modifyPathFn(pathInput, fn, object) {\n const path$1 = createPath(pathInput);\n if (path$1.length === 1) {\n return _objectSpread2(_objectSpread2({}, object), {}, {\n [path$1[0]]: fn(object[path$1[0]])\n });\n }\n if (path(path$1, object) === undefined) return object;\n const val = modifyPath(Array.prototype.slice.call(path$1, 1), fn, object[path$1[0]]);\n if (val === object[path$1[0]]) {\n return object;\n }\n return assoc(path$1[0], val, object);\n}\nconst modifyPath = curry(modifyPathFn);\n\nfunction modulo(x, y) {\n if (arguments.length === 1) return _y => modulo(x, _y);\n return x % y;\n}\n\nfunction moveFn(fromIndex, toIndex, list) {\n if (fromIndex < 0 || toIndex < 0) {\n throw new Error('Rambda.move does not support negative indexes');\n }\n if (fromIndex > list.length - 1 || toIndex > list.length - 1) return list;\n const clone = cloneList(list);\n clone[fromIndex] = list[toIndex];\n clone[toIndex] = list[fromIndex];\n return clone;\n}\nconst move = curry(moveFn);\n\nfunction multiply(x, y) {\n if (arguments.length === 1) return _y => multiply(x, _y);\n return x * y;\n}\n\nfunction negate(x) {\n return -x;\n}\n\nfunction none(predicate, list) {\n if (arguments.length === 1) return _list => none(predicate, _list);\n for (let i = 0; i < list.length; i++) {\n if (predicate(list[i])) return false;\n }\n return true;\n}\n\nfunction not(input) {\n return !input;\n}\n\nfunction objOf(key, value) {\n if (arguments.length === 1) {\n return _value => objOf(key, _value);\n }\n return {\n [key]: value\n };\n}\n\nfunction of(value) {\n return [value];\n}\n\nfunction on(binaryFn, unaryFn, a, b) {\n if (arguments.length === 3) {\n return _b => on(binaryFn, unaryFn, a, _b);\n }\n if (arguments.length === 2) {\n return (_a, _b) => on(binaryFn, unaryFn, _a, _b);\n }\n return binaryFn(unaryFn(a), unaryFn(b));\n}\n\nfunction onceFn(fn, context) {\n let result;\n return function () {\n if (fn) {\n result = fn.apply(context || this, arguments);\n fn = null;\n }\n return result;\n };\n}\nfunction once(fn, context) {\n if (arguments.length === 1) {\n const wrap = onceFn(fn, context);\n return curry(wrap);\n }\n return onceFn(fn, context);\n}\n\nfunction or(a, b) {\n if (arguments.length === 1) return _b => or(a, _b);\n return a || b;\n}\n\nconst Identity = x => ({\n x,\n map: fn => Identity(fn(x))\n});\nfunction overFn(lens, fn, object) {\n return lens(x => Identity(fn(x)))(object).x;\n}\nconst over = curry(overFn);\n\nfunction partial(fn, ...args) {\n const len = fn.length;\n const argList = args.length === 1 && isArray(args[0]) ? args[0] : args;\n return (...rest) => {\n if (argList.length + rest.length >= len) {\n return fn(...argList, ...rest);\n }\n return partial(fn, ...[...argList, ...rest]);\n };\n}\n\nfunction partialObject(fn, input) {\n return nextInput => fn(mergeDeepRight(nextInput, input));\n}\n\nfunction partitionObject(predicate, iterable) {\n const yes = {};\n const no = {};\n Object.entries(iterable).forEach(([prop, value]) => {\n if (predicate(value, prop)) {\n yes[prop] = value;\n } else {\n no[prop] = value;\n }\n });\n return [yes, no];\n}\nfunction partitionArray(predicate, list, indexed = false) {\n const yes = [];\n const no = [];\n let counter = -1;\n while (counter++ < list.length - 1) {\n if (indexed ? predicate(list[counter], counter) : predicate(list[counter])) {\n yes.push(list[counter]);\n } else {\n no.push(list[counter]);\n }\n }\n return [yes, no];\n}\nfunction partition(predicate, iterable) {\n if (arguments.length === 1) {\n return listHolder => partition(predicate, listHolder);\n }\n if (!isArray(iterable)) return partitionObject(predicate, iterable);\n return partitionArray(predicate, iterable);\n}\n\nfunction pathEqFn(pathToSearch, target, input) {\n return equals(path(pathToSearch, input), target);\n}\nconst pathEq = curry(pathEqFn);\n\nfunction pathOrFn(defaultValue, pathInput, obj) {\n return defaultTo(defaultValue, path(pathInput, obj));\n}\nconst pathOr = curry(pathOrFn);\n\nfunction pathSatisfiesFn(fn, pathInput, obj) {\n if (pathInput.length === 0) throw new Error(\"R.pathSatisfies received an empty path\");\n return Boolean(fn(path(pathInput, obj)));\n}\nconst pathSatisfies = curry(pathSatisfiesFn);\n\nfunction paths(pathsToSearch, obj) {\n if (arguments.length === 1) {\n return _obj => paths(pathsToSearch, _obj);\n }\n return pathsToSearch.map(singlePath => path(singlePath, obj));\n}\n\nfunction pick(propsToPick, input) {\n if (arguments.length === 1) return _input => pick(propsToPick, _input);\n if (input === null || input === undefined) {\n return undefined;\n }\n const keys = createPath(propsToPick, ',');\n const willReturn = {};\n let counter = 0;\n while (counter < keys.length) {\n if (keys[counter] in input) {\n willReturn[keys[counter]] = input[keys[counter]];\n }\n counter++;\n }\n return willReturn;\n}\n\nfunction pickAll(propsToPick, obj) {\n if (arguments.length === 1) return _obj => pickAll(propsToPick, _obj);\n if (obj === null || obj === undefined) {\n return undefined;\n }\n const keysValue = createPath(propsToPick, ',');\n const willReturn = {};\n let counter = 0;\n while (counter < keysValue.length) {\n if (keysValue[counter] in obj) {\n willReturn[keysValue[counter]] = obj[keysValue[counter]];\n } else {\n willReturn[keysValue[counter]] = undefined;\n }\n counter++;\n }\n return willReturn;\n}\n\nfunction pickBy(predicate, obj) {\n if (arguments.length === 1) {\n return _obj => pickBy(predicate, _obj);\n }\n return Object.keys(obj).reduce((accum, key) => {\n if (predicate(obj[key], key, obj)) {\n accum[key] = obj[key];\n }\n return accum;\n }, {});\n}\n\nfunction pluck(property, list) {\n if (arguments.length === 1) return _list => pluck(property, _list);\n const willReturn = [];\n map(x => {\n if (x[property] !== undefined) {\n willReturn.push(x[property]);\n }\n }, list);\n return willReturn;\n}\n\nfunction prepend(x, input) {\n if (arguments.length === 1) return _input => prepend(x, _input);\n if (typeof input === 'string') return [x].concat(input.split(''));\n return [x].concat(input);\n}\n\nconst product = reduce(multiply, 1);\n\nfunction propEqFn(valueToMatch, propToFind, obj) {\n if (!obj) return false;\n return equals(valueToMatch, prop(propToFind, obj));\n}\nconst propEq = curry(propEqFn);\n\nfunction propIsFn(targetPrototype, property, obj) {\n return is(targetPrototype, obj[property]);\n}\nconst propIs = curry(propIsFn);\n\nfunction propOrFn(defaultValue, property, obj) {\n if (!obj) return defaultValue;\n return defaultTo(defaultValue, obj[property]);\n}\nconst propOr = curry(propOrFn);\n\nfunction propSatisfiesFn(predicate, property, obj) {\n return predicate(prop(property, obj));\n}\nconst propSatisfies = curry(propSatisfiesFn);\n\nfunction props(propsToPick, obj) {\n if (arguments.length === 1) {\n return _obj => props(propsToPick, _obj);\n }\n if (!isArray(propsToPick)) {\n throw new Error('propsToPick is not a list');\n }\n return mapArray(prop => obj[prop], propsToPick);\n}\n\nfunction range(start, end) {\n if (arguments.length === 1) return _end => range(start, _end);\n if (Number.isNaN(Number(start)) || Number.isNaN(Number(end))) {\n throw new TypeError('Both arguments to range must be numbers');\n }\n if (end < start) return [];\n const len = end - start;\n const willReturn = Array(len);\n for (let i = 0; i < len; i++) {\n willReturn[i] = start + i;\n }\n return willReturn;\n}\n\nfunction reduceByFunction(valueFn, valueAcc, keyFn, acc, elt) {\n const key = keyFn(elt);\n const value = valueFn(has(key, acc) ? acc[key] : clone(valueAcc), elt);\n acc[key] = value;\n return acc;\n}\nfunction reduceByFn(valueFn, valueAcc, keyFn, list) {\n return reduce((acc, elt) => reduceByFunction(valueFn, valueAcc, keyFn, acc, elt), {}, list);\n}\nconst reduceBy = curry(reduceByFn);\n\nfunction reject(predicate, list) {\n if (arguments.length === 1) return _list => reject(predicate, _list);\n return filter(x => !predicate(x), list);\n}\n\nfunction repeat(x, timesToRepeat) {\n if (arguments.length === 1) {\n return _timesToRepeat => repeat(x, _timesToRepeat);\n }\n return Array(timesToRepeat).fill(x);\n}\n\nfunction replaceFn(pattern, replacer, str) {\n return str.replace(pattern, replacer);\n}\nconst replace = curry(replaceFn);\n\nfunction setFn(lens, replacer, x) {\n return over(lens, always(replacer), x);\n}\nconst set = curry(setFn);\n\nfunction sliceFn(from, to, list) {\n return list.slice(from, to);\n}\nconst slice = curry(sliceFn);\n\nfunction sort(sortFn, list) {\n if (arguments.length === 1) return _list => sort(sortFn, _list);\n return cloneList(list).sort(sortFn);\n}\n\nfunction sortBy(sortFn, list) {\n if (arguments.length === 1) return _list => sortBy(sortFn, _list);\n const clone = cloneList(list);\n return clone.sort((a, b) => {\n const aSortResult = sortFn(a);\n const bSortResult = sortFn(b);\n if (aSortResult === bSortResult) return 0;\n return aSortResult < bSortResult ? -1 : 1;\n });\n}\n\nfunction sortHelper(a, b, listOfSortingFns) {\n let result = 0;\n let i = 0;\n while (result === 0 && i < listOfSortingFns.length) {\n result = listOfSortingFns[i](a, b);\n i += 1;\n }\n return result;\n}\nfunction sortWith(listOfSortingFns, list) {\n if (arguments.length === 1) return _list => sortWith(listOfSortingFns, _list);\n if (Array.isArray(list) === false) return [];\n const clone = list.slice();\n clone.sort((a, b) => sortHelper(a, b, listOfSortingFns));\n return clone;\n}\n\nfunction split(separator, str) {\n if (arguments.length === 1) return _str => split(separator, _str);\n return str.split(separator);\n}\n\nfunction maybe(ifRule, whenIf, whenElse) {\n const whenIfInput = ifRule && type(whenIf) === 'Function' ? whenIf() : whenIf;\n const whenElseInput = !ifRule && type(whenElse) === 'Function' ? whenElse() : whenElse;\n return ifRule ? whenIfInput : whenElseInput;\n}\n\nfunction take(howMany, listOrString) {\n if (arguments.length === 1) return _listOrString => take(howMany, _listOrString);\n if (howMany < 0) return listOrString.slice();\n if (typeof listOrString === 'string') return listOrString.slice(0, howMany);\n return baseSlice(listOrString, 0, howMany);\n}\n\nfunction splitAt(index, input) {\n if (arguments.length === 1) {\n return _list => splitAt(index, _list);\n }\n if (!input) throw new TypeError(`Cannot read property 'slice' of ${input}`);\n if (!isArray(input) && typeof input !== 'string') return [[], []];\n const correctIndex = maybe(index < 0, input.length + index < 0 ? 0 : input.length + index, index);\n return [take(correctIndex, input), drop(correctIndex, input)];\n}\n\nfunction splitEvery(sliceLength, listOrString) {\n if (arguments.length === 1) {\n return _listOrString => splitEvery(sliceLength, _listOrString);\n }\n if (sliceLength < 1) {\n throw new Error('First argument to splitEvery must be a positive integer');\n }\n const willReturn = [];\n let counter = 0;\n while (counter < listOrString.length) {\n willReturn.push(listOrString.slice(counter, counter += sliceLength));\n }\n return willReturn;\n}\n\nfunction splitWhen(predicate, input) {\n if (arguments.length === 1) {\n return _input => splitWhen(predicate, _input);\n }\n if (!input) throw new TypeError(`Cannot read property 'length' of ${input}`);\n const preFound = [];\n const postFound = [];\n let found = false;\n let counter = -1;\n while (counter++ < input.length - 1) {\n if (found) {\n postFound.push(input[counter]);\n } else if (predicate(input[counter])) {\n postFound.push(input[counter]);\n found = true;\n } else {\n preFound.push(input[counter]);\n }\n }\n return [preFound, postFound];\n}\n\nfunction startsWith(question, iterable) {\n if (arguments.length === 1) return _iterable => startsWith(question, _iterable);\n if (typeof iterable === 'string') {\n return iterable.startsWith(question);\n }\n if (!isArray(question)) return false;\n let correct = true;\n const filtered = question.filter((x, index) => {\n if (!correct) return false;\n const result = equals(x, iterable[index]);\n if (!result) correct = false;\n return result;\n });\n return filtered.length === question.length;\n}\n\nfunction subtract(a, b) {\n if (arguments.length === 1) return _b => subtract(a, _b);\n return a - b;\n}\n\nfunction swapArrayOrString(indexA, indexB, iterable) {\n const actualIndexA = indexA < 0 ? iterable.length + indexA : indexA;\n const actualIndexB = indexB < 0 ? iterable.length + indexB : indexB;\n if (actualIndexA === actualIndexB || Math.min(actualIndexA, actualIndexB) < 0 || Math.max(actualIndexA, actualIndexB) >= iterable.length) return iterable;\n if (typeof iterable === 'string') {\n return iterable.slice(0, actualIndexA) + iterable[actualIndexB] + iterable.slice(actualIndexA + 1, actualIndexB) + iterable[actualIndexA] + iterable.slice(actualIndexB + 1);\n }\n const clone = iterable.slice();\n const temp = clone[actualIndexA];\n clone[actualIndexA] = clone[actualIndexB];\n clone[actualIndexB] = temp;\n return clone;\n}\nfunction swapFn(indexA, indexB, iterable) {\n if (isArray(iterable) || typeof iterable === 'string') return swapArrayOrString(indexA, indexB, iterable);\n const aVal = iterable[indexA];\n const bVal = iterable[indexB];\n if (aVal === undefined || bVal === undefined) return iterable;\n return _objectSpread2(_objectSpread2({}, iterable), {}, {\n [indexA]: iterable[indexB],\n [indexB]: iterable[indexA]\n });\n}\nconst swap = curry(swapFn);\n\nfunction symmetricDifference(x, y) {\n if (arguments.length === 1) {\n return _y => symmetricDifference(x, _y);\n }\n return concat(filter(value => !includes$1(value, y), x), filter(value => !includes$1(value, x), y));\n}\n\nfunction takeLast(howMany, listOrString) {\n if (arguments.length === 1) return _listOrString => takeLast(howMany, _listOrString);\n const len = listOrString.length;\n if (howMany < 0) return listOrString.slice();\n let numValue = howMany > len ? len : howMany;\n if (typeof listOrString === 'string') return listOrString.slice(len - numValue);\n numValue = len - numValue;\n return baseSlice(listOrString, numValue, len);\n}\n\nfunction takeLastWhile(predicate, input) {\n if (arguments.length === 1) {\n return _input => takeLastWhile(predicate, _input);\n }\n if (input.length === 0) return input;\n const toReturn = [];\n let counter = input.length;\n while (counter) {\n const item = input[--counter];\n if (!predicate(item)) {\n break;\n }\n toReturn.push(item);\n }\n return isArray(input) ? toReturn.reverse() : toReturn.reverse().join('');\n}\n\nfunction takeWhile(predicate, iterable) {\n if (arguments.length === 1) {\n return _iterable => takeWhile(predicate, _iterable);\n }\n const isArray$1 = isArray(iterable);\n if (!isArray$1 && typeof iterable !== 'string') {\n throw new Error('`iterable` is neither list nor a string');\n }\n const toReturn = [];\n let counter = 0;\n while (counter < iterable.length) {\n const item = iterable[counter++];\n if (!predicate(item)) {\n break;\n }\n toReturn.push(item);\n }\n return isArray$1 ? toReturn : toReturn.join('');\n}\n\nfunction tap(fn, x) {\n if (arguments.length === 1) return _x => tap(fn, _x);\n fn(x);\n return x;\n}\n\nfunction test(pattern, str) {\n if (arguments.length === 1) return _str => test(pattern, _str);\n if (typeof pattern === 'string') {\n throw new TypeError(`R.test requires a value of type RegExp as its first argument; received \"${pattern}\"`);\n }\n return str.search(pattern) !== -1;\n}\n\nfunction times(fn, howMany) {\n if (arguments.length === 1) return _howMany => times(fn, _howMany);\n if (!isInteger(howMany) || howMany < 0) {\n throw new RangeError('n must be an integer');\n }\n return map(fn, range(0, howMany));\n}\n\nfunction toLower(str) {\n return str.toLowerCase();\n}\n\nfunction toPairs(obj) {\n return Object.entries(obj);\n}\n\nfunction toString(x) {\n return x.toString();\n}\n\nfunction toUpper(str) {\n return str.toUpperCase();\n}\n\nfunction transpose(array) {\n return array.reduce((acc, el) => {\n el.forEach((nestedEl, i) => isArray(acc[i]) ? acc[i].push(nestedEl) : acc.push([nestedEl]));\n return acc;\n }, []);\n}\n\nfunction trim(str) {\n return str.trim();\n}\n\nconst isFunction = x => ['Promise', 'Function'].includes(type(x));\nfunction tryCatch(fn, fallback) {\n if (!isFunction(fn)) {\n throw new Error(`R.tryCatch | fn '${fn}'`);\n }\n const passFallback = isFunction(fallback);\n return (...inputs) => {\n try {\n return fn(...inputs);\n } catch (e) {\n return passFallback ? fallback(e, ...inputs) : fallback;\n }\n };\n}\n\nfunction unapply(fn) {\n return function (...args) {\n return fn.call(this, args);\n };\n}\n\nfunction union(x, y) {\n if (arguments.length === 1) return _y => union(x, _y);\n const toReturn = cloneList(x);\n y.forEach(yInstance => {\n if (!includes$1(yInstance, x)) toReturn.push(yInstance);\n });\n return toReturn;\n}\n\nfunction uniqBy(fn, list) {\n if (arguments.length === 1) {\n return _list => uniqBy(fn, _list);\n }\n const set = new _Set();\n return list.filter(item => set.checkUniqueness(fn(item)));\n}\n\nfunction includesWith(predicate, target, list) {\n let willReturn = false;\n let index = -1;\n while (++index < list.length && !willReturn) {\n const value = list[index];\n if (predicate(target, value)) {\n willReturn = true;\n }\n }\n return willReturn;\n}\nfunction uniqWith(predicate, list) {\n if (arguments.length === 1) return _list => uniqWith(predicate, _list);\n let index = -1;\n const willReturn = [];\n while (++index < list.length) {\n const value = list[index];\n if (!includesWith(predicate, value, willReturn)) {\n willReturn.push(value);\n }\n }\n return willReturn;\n}\n\nfunction unlessFn(predicate, whenFalseFn, input) {\n if (predicate(input)) return input;\n return whenFalseFn(input);\n}\nconst unless = curry(unlessFn);\n\nfunction unnest(list) {\n return list.reduce((acc, item) => {\n if (Array.isArray(item)) {\n return [...acc, ...item];\n }\n return [...acc, item];\n }, []);\n}\n\nfunction unwind(property, obj) {\n if (arguments.length === 1) {\n return _obj => unwind(property, _obj);\n }\n if (!isArray(obj[property])) return [obj];\n return mapArray(x => _objectSpread2(_objectSpread2({}, obj), {}, {\n [property]: x\n }), obj[property]);\n}\n\nfunction values(obj) {\n if (type(obj) !== 'Object') return [];\n return Object.values(obj);\n}\n\nconst Const = x => ({\n x,\n map: fn => Const(x)\n});\nfunction view(lens, target) {\n if (arguments.length === 1) return _target => view(lens, _target);\n return lens(Const)(target).x;\n}\n\nfunction whenFn(predicate, whenTrueFn, input) {\n if (!predicate(input)) return input;\n return whenTrueFn(input);\n}\nconst when = curry(whenFn);\n\nfunction where(conditions, input) {\n if (input === undefined) {\n return _input => where(conditions, _input);\n }\n let flag = true;\n for (const prop in conditions) {\n if (!flag) continue;\n const result = conditions[prop](input[prop]);\n if (flag && result === false) {\n flag = false;\n }\n }\n return flag;\n}\n\nfunction whereAny(conditions, input) {\n if (input === undefined) {\n return _input => whereAny(conditions, _input);\n }\n for (const prop in conditions) {\n if (conditions[prop](input[prop])) {\n return true;\n }\n }\n return false;\n}\n\nfunction whereEq(condition, input) {\n if (arguments.length === 1) {\n return _input => whereEq(condition, _input);\n }\n const result = filter((conditionValue, conditionProp) => equals(conditionValue, input[conditionProp]), condition);\n return Object.keys(result).length === Object.keys(condition).length;\n}\n\nfunction without(matchAgainst, source) {\n if (source === undefined) {\n return _source => without(matchAgainst, _source);\n }\n return reduce((prev, current) => _indexOf(current, matchAgainst) > -1 ? prev : prev.concat(current), [], source);\n}\n\nfunction xor(a, b) {\n if (arguments.length === 1) return _b => xor(a, _b);\n return Boolean(a) && !b || Boolean(b) && !a;\n}\n\nfunction zip(left, right) {\n if (arguments.length === 1) return _right => zip(left, _right);\n const result = [];\n const length = Math.min(left.length, right.length);\n for (let i = 0; i < length; i++) {\n result[i] = [left[i], right[i]];\n }\n return result;\n}\n\nfunction zipObj(keys, values) {\n if (arguments.length === 1) return yHolder => zipObj(keys, yHolder);\n return take(values.length, keys).reduce((prev, xInstance, i) => {\n prev[xInstance] = values[i];\n return prev;\n }, {});\n}\n\nfunction zipWithFn(fn, x, y) {\n return take(x.length > y.length ? y.length : x.length, x).map((xInstance, i) => fn(xInstance, y[i]));\n}\nconst zipWith = curry(zipWithFn);\n\nexports.F = F;\nexports.T = T;\nexports.__findHighestArity = __findHighestArity;\nexports._indexOf = _indexOf;\nexports._lastIndexOf = _lastIndexOf;\nexports._pipe = _pipe;\nexports.add = add;\nexports.addIndex = addIndex;\nexports.addIndexRight = addIndexRight;\nexports.adjust = adjust;\nexports.all = all;\nexports.allPass = allPass;\nexports.always = always;\nexports.and = and;\nexports.any = any;\nexports.anyPass = anyPass;\nexports.ap = ap;\nexports.aperture = aperture;\nexports.append = append;\nexports.apply = apply;\nexports.applySpec = applySpec;\nexports.applyTo = applyTo;\nexports.ascend = ascend;\nexports.assoc = assoc;\nexports.assocFn = assocFn;\nexports.assocPath = assocPath;\nexports.assocPathFn = assocPathFn;\nexports.binary = binary;\nexports.bind = bind;\nexports.both = both;\nexports.call = call;\nexports.chain = chain;\nexports.clamp = clamp;\nexports.clone = clone;\nexports.collectBy = collectBy;\nexports.comparator = comparator;\nexports.complement = complement;\nexports.compose = compose;\nexports.composeWith = composeWith;\nexports.concat = concat;\nexports.cond = cond;\nexports.converge = converge;\nexports.count = count;\nexports.countBy = countBy;\nexports.createCompareFunction = createCompareFunction;\nexports.curry = curry;\nexports.curryN = curryN;\nexports.dec = dec;\nexports.defaultTo = defaultTo;\nexports.descend = descend;\nexports.difference = difference;\nexports.differenceWith = differenceWith;\nexports.differenceWithFn = differenceWithFn;\nexports.dissoc = dissoc;\nexports.dissocPath = dissocPath;\nexports.divide = divide;\nexports.drop = drop;\nexports.dropLast = dropLast;\nexports.dropLastWhile = dropLastWhile;\nexports.dropRepeats = dropRepeats;\nexports.dropRepeatsBy = dropRepeatsBy;\nexports.dropRepeatsWith = dropRepeatsWith;\nexports.dropWhile = dropWhile;\nexports.either = either;\nexports.empty = empty;\nexports.endsWith = endsWith;\nexports.eqBy = eqBy;\nexports.eqByFn = eqByFn;\nexports.eqProps = eqProps;\nexports.equals = equals;\nexports.evolve = evolve;\nexports.evolveArray = evolveArray;\nexports.evolveObject = evolveObject;\nexports.filter = filter;\nexports.filterArray = filterArray;\nexports.filterObject = filterObject;\nexports.find = find;\nexports.findIndex = findIndex;\nexports.findLast = findLast;\nexports.findLastIndex = findLastIndex;\nexports.flatten = flatten;\nexports.flip = flip;\nexports.forEach = forEach;\nexports.forEachObjIndexed = forEachObjIndexed;\nexports.forEachObjIndexedFn = forEachObjIndexedFn;\nexports.fromPairs = fromPairs;\nexports.groupBy = groupBy;\nexports.groupWith = groupWith;\nexports.gt = gt;\nexports.gte = gte;\nexports.has = has;\nexports.hasIn = hasIn;\nexports.hasPath = hasPath;\nexports.head = head;\nexports.identical = identical;\nexports.identity = identity;\nexports.ifElse = ifElse;\nexports.inc = inc;\nexports.includes = includes$1;\nexports.indexBy = indexBy;\nexports.indexOf = indexOf;\nexports.init = init;\nexports.innerJoin = innerJoin;\nexports.innerJoinFn = innerJoinFn;\nexports.insert = insert;\nexports.insertAll = insertAll;\nexports.insertAllFn = insertAllFn;\nexports.insertFn = insertFn;\nexports.intersection = intersection;\nexports.intersperse = intersperse;\nexports.is = is;\nexports.isEmpty = isEmpty;\nexports.isNil = isNil;\nexports.isNotEmpty = isNotEmpty;\nexports.isNotNil = isNotNil;\nexports.join = join;\nexports.juxt = juxt;\nexports.keys = keys;\nexports.last = last;\nexports.lastIndexOf = lastIndexOf;\nexports.length = length;\nexports.lens = lens;\nexports.lensIndex = lensIndex;\nexports.lensPath = lensPath;\nexports.lensProp = lensProp;\nexports.lt = lt;\nexports.lte = lte;\nexports.map = map;\nexports.mapArray = mapArray;\nexports.mapObjIndexed = mapObjIndexed;\nexports.mapObject = mapObject;\nexports.match = match;\nexports.mathMod = mathMod;\nexports.max = max;\nexports.maxBy = maxBy;\nexports.maxByFn = maxByFn;\nexports.mean = mean;\nexports.median = median;\nexports.merge = mergeRight;\nexports.mergeAll = mergeAll;\nexports.mergeDeepLeft = mergeDeepLeft;\nexports.mergeDeepRight = mergeDeepRight;\nexports.mergeLeft = mergeLeft;\nexports.mergeRight = mergeRight;\nexports.mergeWith = mergeWith;\nexports.mergeWithFn = mergeWithFn;\nexports.min = min;\nexports.minBy = minBy;\nexports.minByFn = minByFn;\nexports.modify = modify;\nexports.modifyPath = modifyPath;\nexports.modifyPathFn = modifyPathFn;\nexports.modulo = modulo;\nexports.move = move;\nexports.multiply = multiply;\nexports.negate = negate;\nexports.none = none;\nexports.not = not;\nexports.nth = nth;\nexports.objOf = objOf;\nexports.of = of;\nexports.omit = omit;\nexports.on = on;\nexports.once = once;\nexports.or = or;\nexports.over = over;\nexports.partial = partial;\nexports.partialObject = partialObject;\nexports.partition = partition;\nexports.partitionArray = partitionArray;\nexports.partitionObject = partitionObject;\nexports.path = path;\nexports.pathEq = pathEq;\nexports.pathFn = pathFn;\nexports.pathOr = pathOr;\nexports.pathSatisfies = pathSatisfies;\nexports.pathSatisfiesFn = pathSatisfiesFn;\nexports.paths = paths;\nexports.pick = pick;\nexports.pickAll = pickAll;\nexports.pickBy = pickBy;\nexports.pipe = pipe;\nexports.pipeWith = pipeWith;\nexports.pluck = pluck;\nexports.prepend = prepend;\nexports.product = product;\nexports.prop = prop;\nexports.propEq = propEq;\nexports.propFn = propFn;\nexports.propIs = propIs;\nexports.propOr = propOr;\nexports.propSatisfies = propSatisfies;\nexports.props = props;\nexports.range = range;\nexports.reduce = reduce;\nexports.reduceBy = reduceBy;\nexports.reduceByFn = reduceByFn;\nexports.reduceFn = reduceFn;\nexports.reduceStopper = reduceStopper;\nexports.reject = reject;\nexports.removeIndex = removeIndex;\nexports.repeat = repeat;\nexports.replace = replace;\nexports.reverse = reverse;\nexports.set = set;\nexports.slice = slice;\nexports.sort = sort;\nexports.sortBy = sortBy;\nexports.sortWith = sortWith;\nexports.split = split;\nexports.splitAt = splitAt;\nexports.splitEvery = splitEvery;\nexports.splitWhen = splitWhen;\nexports.startsWith = startsWith;\nexports.subtract = subtract;\nexports.sum = sum;\nexports.swap = swap;\nexports.symmetricDifference = symmetricDifference;\nexports.tail = tail;\nexports.take = take;\nexports.takeLast = takeLast;\nexports.takeLastWhile = takeLastWhile;\nexports.takeWhile = takeWhile;\nexports.tap = tap;\nexports.test = test;\nexports.times = times;\nexports.toLower = toLower;\nexports.toPairs = toPairs;\nexports.toString = toString;\nexports.toUpper = toUpper;\nexports.transpose = transpose;\nexports.trim = trim;\nexports.tryCatch = tryCatch;\nexports.type = type;\nexports.unapply = unapply;\nexports.union = union;\nexports.uniq = uniq;\nexports.uniqBy = uniqBy;\nexports.uniqWith = uniqWith;\nexports.unless = unless;\nexports.unnest = unnest;\nexports.unwind = unwind;\nexports.update = update;\nexports.updateFn = updateFn;\nexports.values = values;\nexports.view = view;\nexports.when = when;\nexports.where = where;\nexports.whereAny = whereAny;\nexports.whereEq = whereEq;\nexports.without = without;\nexports.xor = xor;\nexports.zip = zip;\nexports.zipObj = zipObj;\nexports.zipWith = zipWith;\n",
|
|
11
|
+
"export function map(select) {\n let reader = null;\n async function flush(controller) {\n try {\n while (controller.desiredSize > 0 && reader != null) {\n let next = await reader.read();\n if (next.done) {\n controller.close();\n reader = null;\n }\n else {\n let mapped = await select(next.value);\n if (mapped !== undefined)\n controller.enqueue(mapped);\n }\n }\n }\n catch (err) {\n controller.error(err);\n }\n }\n return function (src, opts) {\n return new ReadableStream({\n start(controller) {\n reader = src.getReader();\n return flush(controller);\n },\n pull(controller) {\n return flush(controller);\n },\n cancel(reason) {\n if (reader) {\n reader.cancel(reason);\n reader.releaseLock();\n reader = null;\n }\n }\n }, opts);\n };\n}\n",
|
|
12
|
+
"export function isReadableLike(obj) {\n return obj['readable'] != null;\n}\n",
|
|
13
|
+
"import { isReadableLike } from \"./_readable-like.js\";\nexport function from(src) {\n let it;\n async function flush(controller) {\n try {\n while (controller.desiredSize > 0 && it != null) {\n let next = await it.next();\n if (next.done) {\n it = null;\n controller.close();\n }\n else {\n controller.enqueue(next.value);\n }\n }\n }\n catch (err) {\n controller.error(err);\n }\n }\n if (isReadableLike(src)) {\n return src.readable;\n }\n return new ReadableStream({\n async start(controller) {\n let iterable;\n if (typeof src == \"function\") {\n src = src();\n }\n if (Symbol.asyncIterator && src[Symbol.asyncIterator])\n iterable = src[Symbol.asyncIterator].bind(src);\n else if (src[Symbol.iterator])\n iterable = src[Symbol.iterator].bind(src);\n else {\n let value = await Promise.resolve(src);\n controller.enqueue(value);\n controller.close();\n return;\n }\n it = iterable();\n return flush(controller);\n },\n async pull(controller) {\n return flush(controller);\n },\n async cancel(reason) {\n if (reason && it && it.throw) {\n it.throw(reason);\n }\n else if (it && it.return) {\n await it.return();\n }\n it = null;\n }\n });\n}\n",
|
|
14
|
+
"/**\n * given a stream of T, pipeThrough a TransformStream<T,R> and return a ReadableStream of R;\n */\nexport function through(dst) {\n return function (src) {\n return src.pipeThrough(dst);\n };\n}\n",
|
|
15
|
+
"import { isReadableLike } from \"./_readable-like.js\";\nimport { through } from \"./operators/through.js\";\nexport function pipe(src, ...ops) {\n if (isReadableLike(src)) {\n src = src.readable;\n }\n return ops\n .map(x => isTransform(x) ? through(x) : x)\n .reduce((p, c) => {\n return c(p, { highWaterMark: 1 });\n }, src);\n}\nfunction isTransform(x) {\n return x['readable'] != null && x['writable'] != null;\n}\n",
|
|
16
|
+
"export class Signal {\n _sub = [];\n async wait() {\n return new Promise(r => {\n let cb = () => {\n this._sub.splice(this._sub.indexOf(cb), 1);\n r();\n };\n this._sub.push(cb);\n });\n }\n signal() {\n for (let sub of this._sub) {\n sub();\n }\n }\n}\n/** concurrent gate */\nexport class Gate {\n _count;\n _queue = [];\n constructor(_count) {\n this._count = _count;\n }\n async wait() {\n if (this._count > 0) {\n --this._count;\n return Promise.resolve();\n }\n return new Promise(r => {\n let cb = () => {\n this._queue.splice(this._queue.indexOf(cb), 1);\n --this._count;\n r();\n };\n this._queue.push(cb);\n });\n }\n increment() {\n ++this._count;\n this.clearQueue();\n }\n setCount(count) {\n this._count = count;\n this.clearQueue();\n }\n clearQueue() {\n while (this._count > 0 && this._queue.length > 0) {\n (this._queue.shift())();\n }\n }\n}\nexport class BlockingQueue {\n _pushers = [];\n _pullers = [];\n constructor() { }\n async push(value) {\n return new Promise(r => {\n this._pushers.unshift(() => { r(); return value; });\n this.dequeue();\n });\n }\n async pull() {\n return new Promise(r => {\n this._pullers.unshift((value) => { r(value); });\n this.dequeue();\n });\n }\n dequeue() {\n while (this._pullers.length > 0 && this._pushers.length > 0) {\n let puller = this._pullers.pop();\n let pusher = this._pushers.pop();\n puller(pusher());\n }\n }\n}\n",
|
|
17
|
+
"/**\n * schedule enqueuing stream chunks via a scheduler.\n * @param scheduler operator to schedule pipe-through\n */\nexport function schedule(scheduler) {\n let reader = null;\n async function flush(controller) {\n try {\n while (controller.desiredSize > 0 && reader != null) {\n let next = await reader.read();\n if (next.done) {\n controller.close();\n reader = null;\n }\n else {\n await scheduler.nextTick();\n controller.enqueue(next.value);\n }\n }\n }\n catch (err) {\n controller.error(err);\n }\n }\n return function (src, opts) {\n return new ReadableStream({\n start(controller) {\n reader = src.getReader();\n return flush(controller);\n },\n pull(controller) {\n return flush(controller);\n },\n cancel(reason) {\n if (reader) {\n reader.cancel(reason);\n reader.releaseLock();\n reader = null;\n }\n }\n }, opts);\n };\n}\n",
|
|
18
|
+
"export function on(callbacks) {\n let reader = null;\n async function flush(controller) {\n try {\n while (controller.desiredSize > 0 && reader != null) {\n let next = await reader.read();\n if (next.done) {\n controller.close();\n reader = null;\n if (callbacks.complete)\n callbacks.complete();\n }\n else {\n controller.enqueue(next.value);\n }\n }\n }\n catch (err) {\n controller.error(err);\n if (callbacks.error)\n callbacks.error(err);\n }\n }\n return function (src, opts) {\n return new ReadableStream({\n start(controller) {\n reader = src.getReader();\n if (callbacks.start)\n callbacks.start();\n return flush(controller);\n },\n pull(controller) {\n return flush(controller);\n },\n cancel(reason) {\n if (reader) {\n reader.cancel(reason);\n reader.releaseLock();\n reader = null;\n if (callbacks.complete)\n callbacks.complete(reason);\n }\n }\n }, opts);\n };\n}\n",
|
|
19
|
+
"import { isReadableLike } from \"./_readable-like.js\";\nexport async function toPromise(src) {\n let res = undefined;\n if (isReadableLike(src)) {\n src = src.readable;\n }\n let reader = src.getReader();\n let done = false;\n while (done == false) {\n let next = await reader.read();\n done = next.done;\n if (!done)\n res = next.value;\n }\n return res;\n}\n",
|
|
20
|
+
"import { from } from \"../from.js\";\nimport { pipe } from \"../pipe.js\";\nimport { BlockingQueue, Gate } from \"../utils/signal.js\";\nimport { map } from \"./map.js\";\nimport { schedule } from \"./schedule.js\";\nimport { on } from \"./on.js\";\nimport { toPromise } from \"../to-promise.js\";\nexport function merge(concurrent = Infinity) {\n if (concurrent == 0)\n throw Error(\"zero is an invalid concurrency limit\");\n return function (src) {\n let outerGate = new Gate(concurrent);\n let innerQueue = new BlockingQueue();\n let subscription;\n let errored = null;\n return new ReadableStream({\n start(outerController) {\n let reading = [];\n let readingDone = false;\n toPromise(pipe(src, schedule({\n nextTick: async () => {\n await outerGate.wait();\n },\n }), map((innerStream) => {\n //wrap Promises as Streams\n if (!(innerStream instanceof ReadableStream)) {\n innerStream = from(innerStream);\n }\n reading.push(innerStream);\n pipe(innerStream, \n //\n map(async (value) => {\n await innerQueue.push({ done: false, value });\n }), \n //tap into complete lifecycle to track number of concurrent active streams\n on({\n error(err) {\n outerController.error(err);\n },\n complete() {\n outerGate.increment();\n reading.splice(reading.indexOf(innerStream), 1);\n if (reading.length == 0 && readingDone) {\n innerQueue.push({ done: true });\n }\n },\n }));\n }), on({\n error(err) {\n outerController.error(err);\n errored = err;\n },\n complete() {\n readingDone = true;\n }\n }))).catch((err) => {\n outerController.error(err);\n });\n },\n async pull(controller) {\n while (controller.desiredSize > 0) {\n let next = await innerQueue.pull();\n if (errored) {\n controller.error(errored);\n }\n if (next.done) {\n controller.close();\n }\n else {\n controller.enqueue(next.value);\n }\n }\n },\n cancel(reason) {\n if (subscription) {\n subscription.unsubscribe();\n subscription = null;\n }\n },\n });\n };\n}\n",
|
|
21
|
+
"import { isReadableLike } from \"./_readable-like.js\";\nexport async function toArray(src) {\n let res = [];\n if (isReadableLike(src)) {\n src = src.readable;\n }\n let reader = src.getReader();\n try {\n let done = false;\n while (done == false) {\n let next = await reader.read();\n done = next.done;\n if (!done)\n res.push(next.value);\n }\n }\n finally {\n reader.releaseLock();\n }\n return res;\n}\n",
|
|
22
|
+
"export class Subscribable {\n closed = false;\n subscribers = [];\n subscribe(cb) {\n let self = this;\n self.subscribers.push(cb);\n let _closed = false;\n return {\n get closed() { return _closed || self.closed; },\n unsubscribe() {\n let index = self.subscribers.findIndex(x => x === cb);\n if (index >= 0) {\n self.subscribers.splice(index, 1);\n }\n _closed = true;\n }\n };\n }\n next(value) {\n return Math.min(...this.subscribers.map(x => x.next(value)));\n }\n complete() {\n for (let sub of this.subscribers) {\n sub.complete();\n }\n this.subscribers = [];\n this.closed = true;\n }\n error(err) {\n for (let sub of this.subscribers) {\n sub.error(err);\n }\n this.subscribers = [];\n this.closed = true;\n }\n}\n",
|
|
23
|
+
"import { Subscribable } from \"./_subscribable.js\";\nexport class Subject {\n _subscribable = new Subscribable();\n _closingResolve;\n _closing = new Promise((r) => this._closingResolve = r);\n get closed() {\n return this._subscribable.closed;\n }\n /** create a new readable */\n get readable() {\n let self = this;\n let subscription;\n let cancelled = false;\n return new ReadableStream({\n async start(controller) {\n subscription = self.subscribe({\n next: (value) => {\n if (cancelled)\n return;\n controller.enqueue(value);\n return controller.desiredSize;\n },\n complete: () => {\n controller.close();\n },\n error: (err) => {\n controller.error(err);\n }\n });\n },\n cancel() {\n cancelled = true;\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n });\n }\n ;\n get writable() {\n const queuingStrategy = new CountQueuingStrategy({ highWaterMark: 1 });\n const self = this;\n let stream = new WritableStream({\n write(chunk, controller) {\n if (self.closed && controller.signal.aborted == false) {\n controller.error();\n return;\n }\n if (controller.signal.aborted) {\n self._error(controller.signal.reason);\n return;\n }\n self._next(chunk);\n },\n close() {\n self._complete();\n },\n abort(reason) {\n self._error(reason);\n }\n }, queuingStrategy);\n this._closing.then(_ => {\n if (stream.locked == false) {\n stream.close();\n }\n });\n return stream;\n }\n subscribe(cb) {\n let subscription = this._subscribable.subscribe(cb);\n return subscription;\n }\n _next(value) {\n return this._subscribable.next(value);\n }\n _complete() {\n this._subscribable.complete();\n }\n _error(err) {\n this._subscribable.error(err);\n }\n async next(value) {\n return this._next(value);\n }\n async complete() {\n this._closingResolve(void 0);\n return this._complete();\n }\n async error(err) {\n this._closingResolve(void 0);\n return this._error(err);\n }\n}\n",
|
|
24
|
+
"export default function replaceAsync(string, searchValue, replacer) {\n try {\n if (typeof replacer === \"function\") {\n // 1. Run fake pass of `replace`, collect values from `replacer` calls\n // 2. Resolve them with `Promise.all`\n // 3. Run `replace` with resolved values\n var values = [];\n String.prototype.replace.call(string, searchValue, function () {\n values.push(replacer.apply(undefined, arguments));\n return \"\";\n });\n return Promise.all(values).then(function (resolvedValues) {\n return String.prototype.replace.call(string, searchValue, function () {\n return resolvedValues.shift();\n });\n });\n } else {\n return Promise.resolve(\n String.prototype.replace.call(string, searchValue, replacer)\n );\n }\n } catch (error) {\n return Promise.reject(error);\n }\n}\n",
|
|
25
|
+
"// src/andIgnoreError.ts\nimport DIE from \"phpdie\";\nfunction andIgnoreError(regex) {\n return (error) => error?.message?.match(regex) ? null : DIE(error);\n}\n\n// src/sflow.ts\nimport DIE8 from \"phpdie\";\nimport PolyfillTextEncoderStream from \"polyfill-text-encoder-stream\";\n\n// src/asyncMaps.ts\nvar asyncMaps = (fn, options = {}) => {\n let i = 0;\n let tasks = new Map;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const id = i++;\n tasks.set(id, async function() {\n return fn(chunk, id);\n }().then((data) => ({ id, data })));\n if (tasks.size >= (options.concurrency ?? Infinity)) {\n const { id: id2, data } = await Promise.race(tasks.values());\n tasks.delete(id2);\n ctrl.enqueue(data);\n }\n },\n flush: async (ctrl) => {\n while (tasks.size) {\n const { id, data } = await Promise.race(tasks.values());\n tasks.delete(id);\n ctrl.enqueue(data);\n }\n }\n });\n};\n\n// src/cacheLists.ts\nimport DIE2 from \"phpdie\";\n\n// src/never.ts\nvar never = () => new Promise(() => null);\n\n// src/cacheLists.ts\nfunction cacheLists(store, _options) {\n const { key = new Error().stack ?? DIE2(\"missing cache key\") } = typeof _options === \"string\" ? { key: _options } : _options ?? {};\n const chunks = [];\n const cacheHitPromise = store.has?.(key) || store.get(key);\n let hitflag = false;\n return new TransformStream({\n start: async (ctrl) => {\n if (!await cacheHitPromise)\n return;\n const cached = await store.get(key);\n if (!cached)\n return;\n cached.map((c) => ctrl.enqueue(c));\n hitflag = true;\n },\n transform: async (chunk, ctrl) => {\n if (await cacheHitPromise || hitflag) {\n ctrl.terminate();\n return never();\n }\n chunks.push(chunk);\n ctrl.enqueue(chunk);\n },\n flush: async () => await store.set(key, chunks)\n });\n}\n\n// src/cacheSkips.ts\nimport DIE3 from \"phpdie\";\nfunction cacheSkips(store, _options) {\n const {\n key = new Error().stack ?? DIE3(\"missing cache key\"),\n windowSize = 1\n } = typeof _options === \"string\" ? { key: _options } : _options ?? {};\n const chunks = [];\n const cachePromise = store.get(key);\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const cache = await cachePromise;\n const chunked = JSON.stringify(chunk);\n const inf404 = (idx) => idx == null || idx < 0 ? Infinity : idx;\n const hitCache = (item) => JSON.stringify(item) === chunked;\n const cachedContents = cache?.slice(inf404(cache.findIndex(hitCache)));\n if (cachedContents?.length) {\n await store.set(key, [...chunks, ...cachedContents].slice(0, windowSize));\n ctrl.terminate();\n return await never();\n }\n chunks.push(chunk);\n ctrl.enqueue(chunk);\n },\n flush: async () => {\n await store.set(key, chunks.slice(0, windowSize));\n }\n });\n}\n\n// src/cacheTails.ts\nimport DIE4 from \"phpdie\";\nimport { equals } from \"rambda\";\nfunction cacheTails(store, _options) {\n const { key = new Error().stack ?? DIE4(\"missing cache key\") } = typeof _options === \"string\" ? { key: _options } : _options ?? {};\n const chunks = [];\n const cachePromise = Promise.withResolvers();\n const t = new TransformStream;\n const w = t.writable.getWriter();\n const writable = new WritableStream({\n start: async () => cachePromise.resolve(await store.get(key)),\n write: async (chunk, ctrl) => {\n const cache = await cachePromise.promise;\n if (cache && equals(chunk, cache[0])) {\n await store.set(key, [...chunks, ...cache]);\n for await (const item of cache)\n await w.write(item);\n await w.close();\n ctrl.error(new Error(\"cached\"));\n return await never();\n }\n chunks.push(chunk);\n await w.write(chunk);\n },\n close: async () => {\n await store.set(key, [...chunks]);\n await w.close();\n },\n abort: () => w.abort()\n });\n return { writable, readable: t.readable };\n}\n\n// src/chunkBys.ts\nfunction chunkBys(compareFn) {\n let chunks = [];\n let lastOrder;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const order = await compareFn(chunk);\n if (lastOrder && lastOrder !== order)\n ctrl.enqueue(chunks.splice(0, Infinity));\n chunks.push(chunk);\n lastOrder = order;\n },\n flush: async (ctrl) => void (chunks.length && ctrl.enqueue(chunks))\n });\n}\n\n// src/chunkIfs.ts\nfunction chunkIfs(predicate, { inclusive = false } = {}) {\n let chunks = [];\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const cond = await predicate(chunk, i++, chunks);\n if (!inclusive && !cond)\n chunks.length && ctrl.enqueue(chunks.splice(0, Infinity));\n chunks.push(chunk);\n if (!cond)\n ctrl.enqueue(chunks.splice(0, Infinity));\n },\n flush: async (ctrl) => void (chunks.length && ctrl.enqueue(chunks))\n });\n}\n\n// src/chunkIntervals.ts\nfunction chunkIntervals(interval = 0) {\n let chunks = [];\n let id = null;\n return new TransformStream({\n start: (ctrl) => {\n id = setInterval(() => ctrl.enqueue(chunks.splice(0, Infinity)), interval);\n },\n transform: async (chunk) => {\n chunks.push(chunk);\n },\n flush: async (ctrl) => {\n if (chunks.length)\n ctrl.enqueue(chunks.splice(0, Infinity));\n id !== null && clearInterval(id);\n }\n });\n}\n\n// src/chunks.ts\nfunction chunks(n = Infinity) {\n let chunks2 = [];\n if (n <= 0)\n throw new Error(\"Buffer size must be greater than 0\");\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n chunks2.push(chunk);\n if (chunks2.length >= n)\n ctrl.enqueue(chunks2.splice(0, Infinity));\n },\n flush: async (ctrl) => void (chunks2.length && ctrl.enqueue(chunks2))\n });\n}\n\n// src/wse.ts\nimport { toArray } from \"web-streams-extensions\";\nimport { toPromise } from \"web-streams-extensions\";\nimport { merge } from \"web-streams-extensions\";\nimport { from } from \"web-streams-extensions\";\n\n// src/froms.ts\nvar toStream = (src) => src instanceof ReadableStream ? src : from(src ?? []);\n\n// src/maps.ts\nfunction maps(fn) {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const ret = fn(chunk, i++);\n const val = ret instanceof Promise ? await ret : ret;\n ctrl.enqueue(val);\n }\n });\n}\n\n// src/nils.ts\nfunction nils() {\n return new WritableStream;\n}\nfunction nil() {\n return null;\n}\n\n// src/concats.ts\nvar concats = (srcs) => {\n if (!srcs)\n return new TransformStream;\n const upstream = new TransformStream;\n return {\n writable: upstream.writable,\n readable: concatStream([upstream.readable, concatStream(srcs)])\n };\n};\nvar concatStream = (srcs) => {\n if (!srcs)\n return new ReadableStream({ start: (c) => c.close() });\n const t = new TransformStream;\n const w = t.writable.getWriter();\n toStream(srcs).pipeThrough(maps(toStream)).pipeThrough(maps(async (s) => {\n const r = s.getReader();\n while (true) {\n const { value, done } = await r.read();\n if (done)\n break;\n await w.write(value);\n }\n })).pipeTo(nils()).then(() => w.close()).catch((reason) => w.abort(reason));\n return t.readable;\n};\n\n// src/confluences.ts\nimport DIE5 from \"phpdie\";\nvar confluences = ({\n order = \"breadth\"\n} = {}) => {\n const baseError = new Error;\n if (order !== \"breadth\")\n DIE5(\"not implemented\");\n const { writable, readable: sources } = new TransformStream;\n const srcsQueue = [];\n const readable = new ReadableStream({\n async pull(ctrl) {\n while (true) {\n const src = await async function() {\n const r2 = sources.getReader();\n const { done: done2, value: src2 } = await r2.read();\n r2.releaseLock();\n if (done2)\n return srcsQueue.shift();\n return src2;\n }();\n if (!src)\n return ctrl.close();\n const r = src.getReader();\n const { done, value } = await r.read();\n r.releaseLock();\n if (done)\n continue;\n srcsQueue.push(src);\n ctrl.enqueue(value);\n return;\n }\n }\n });\n return { writable, readable };\n};\n\n// src/convolves.ts\nfunction convolves(n) {\n const buffer = [];\n return new TransformStream({\n transform(chunk, controller) {\n buffer.push(chunk);\n if (buffer.length > n)\n buffer.shift();\n if (buffer.length === n)\n controller.enqueue([...buffer]);\n },\n flush(controller) {\n while (buffer.length > 1) {\n buffer.shift();\n if (buffer.length === n)\n controller.enqueue([...buffer]);\n }\n }\n });\n}\n\n// src/debounces.ts\nfunction debounces(t) {\n let id = null;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n if (id)\n clearTimeout(id);\n id = setTimeout(() => {\n ctrl.enqueue(chunk);\n id = null;\n }, t);\n },\n flush: async () => {\n while (id)\n await new Promise((r) => setTimeout(r, t / 2));\n }\n });\n}\n\n// src/filters.ts\nvar filters = (fn) => {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n if (fn) {\n const shouldEnqueue = await fn(chunk, i++);\n if (shouldEnqueue)\n ctrl.enqueue(chunk);\n } else {\n const isNull = chunk === undefined || chunk === null;\n if (!isNull)\n ctrl.enqueue(chunk);\n }\n }\n });\n};\n\n// src/flatMaps.ts\nfunction flatMaps(fn) {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const ret = fn(chunk, i++);\n const val = ret instanceof Promise ? await ret : ret;\n val.map((e) => ctrl.enqueue(e));\n }\n });\n}\n\n// src/flats.ts\nimport DIE6 from \"phpdie\";\nfunction flats() {\n const emptyError = new Error(\"Flatten for empty array [] in stream is not supported yet, To fix this error, you can add a .filter(array=>array.length) stage before flat\");\n return new TransformStream({\n transform: async (a, ctrl) => {\n a.length || DIE6(emptyError);\n a.map((e) => ctrl.enqueue(e));\n }\n });\n}\n\n// src/forEachs.ts\nfunction forEachs(fn) {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const ret = fn(chunk, i++);\n ret instanceof Promise && await ret;\n ctrl.enqueue(chunk);\n }\n });\n}\n\n// src/heads.ts\nfunction heads(n = 1) {\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n return n-- > 0 ? ctrl.enqueue(chunk) : await never();\n }\n });\n}\n\n// src/limits.ts\nfunction limits(n, { terminate = true } = {}) {\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n ctrl.enqueue(chunk);\n if (--n === 0) {\n terminate && ctrl.terminate();\n return never();\n }\n },\n flush: () => {}\n }, { highWaterMark: 1 }, { highWaterMark: 0 });\n}\n\n// src/throughs.ts\nvar throughs = (arg) => {\n if (!arg)\n return new TransformStream;\n if (typeof arg !== \"function\")\n return throughs((s) => s.pipeThrough(arg));\n const fn = arg;\n const { writable, readable } = new TransformStream;\n return { writable, readable: fn(readable) };\n};\n\n// src/lines.ts\nvar lines = ({ EOL = \"KEEP\" } = {}) => {\n const CRLFMap = {\n KEEP: \"$1\",\n LF: `\n`,\n CRLF: `\\r\n`,\n NONE: \"\"\n };\n return throughs((r) => r.pipeThrough(flatMaps((s) => s.split(/(?<=\\n)/g))).pipeThrough(chunkIfs((ch) => ch.indexOf(`\n`) === -1, { inclusive: true })).pipeThrough(maps((chunks2) => chunks2.join(\"\").replace(/(\\r?\\n?)$/, CRLFMap[EOL]))));\n};\n\n// src/unpromises.ts\nfunction unpromises(promise) {\n const tr = new TransformStream;\n (async function() {\n const s = await promise;\n await s.pipeTo(tr.writable);\n })().catch((error) => {\n tr.readable.cancel(error).catch(() => {\n throw error;\n });\n }).then();\n return tr.readable;\n}\n\n// src/bys.ts\nfunction bys(arg) {\n if (!arg)\n return new TransformStream;\n if (typeof arg !== \"function\")\n return bys((s) => s.pipeThrough(arg));\n const fn = arg;\n const { writable, readable } = new TransformStream;\n return { writable, readable: unpromises(fn(readable)) };\n}\n\n// src/peeks.ts\nfunction peeks(fn) {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n ctrl.enqueue(chunk);\n const ret = fn(chunk, i++);\n const val = ret instanceof Promise ? await ret : ret;\n }\n });\n}\n\n// src/logs.ts\nfunction logs(mapFn = (s, i) => s) {\n return bys(peeks(async (e, i) => {\n const ret = mapFn(e, i);\n const val = ret instanceof Promise ? await ret : ret;\n console.log(typeof val === \"string\" ? val.replace(/\\n$/, \"\") : val);\n }));\n}\n\n// src/mapAddFields.ts\nfunction mapAddFields(key, fn) {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => ctrl.enqueue({ ...chunk, [key]: await fn(chunk, i++) })\n });\n}\n\n// src/wseMerges.ts\nvar wseMerges = merge;\n\n// src/parallels.ts\nvar parallels = (...srcs) => wseMerges()(from(srcs));\n\n// src/merges.ts\nvar merges = (...srcs) => {\n if (!srcs.length)\n return new TransformStream;\n const upstream = new TransformStream;\n return {\n writable: upstream.writable,\n readable: parallels(upstream.readable, ...srcs.map(toStream))\n };\n};\n\n// src/streamAsyncIterator.ts\nasync function* streamAsyncIterator() {\n const reader = this.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\n// src/mergeStream.ts\nvar mergeStream = (...srcs) => {\n if (!srcs.length)\n return new ReadableStream({ start: (c) => c.close() });\n if (srcs.length === 1)\n return toStream(srcs[0]);\n const t = new TransformStream;\n const w = t.writable.getWriter();\n const streams = srcs.map(toStream);\n Promise.all(streams.map(async (s) => {\n for await (const chunk of Object.assign(s, {\n [Symbol.asyncIterator]: streamAsyncIterator\n }))\n await w.write(chunk);\n })).then(async () => w.close()).catch((error) => {\n console.error(error);\n return Promise.all([\n t.writable.abort(error),\n ...streams.map((e) => e.cancel(error))\n ]);\n });\n return t.readable;\n};\n\n// src/mergeStreamsBy.ts\nimport DIE7 from \"phpdie\";\nimport { sortBy } from \"rambda\";\n\n// src/emptyStream.ts\nvar emptyStream = () => new ReadableStream({ start: (c) => c.close() });\n\n// src/mergeStreamsBy.ts\nfunction mergeStreamsBy(transform, sources) {\n if (!sources)\n return (srcs) => mergeStreamsBy(transform, srcs);\n if (!sources.length)\n return emptyStream();\n const streams = sources.map((s) => toStream(s));\n const readers = streams.map((stream) => stream.getReader());\n let slots = streams.map(() => null);\n return new ReadableStream({\n pull: async (ctrl) => {\n const results = await Promise.all(readers.map(async (reader, i) => slots[i] ??= await reader.read()));\n slots = await transform([...slots], ctrl);\n if (slots.length !== streams.length)\n DIE7(\"slot length mismatch\");\n }\n });\n}\nfunction mergeStreamsByAscend(ordFn, sources) {\n if (!sources)\n return (sources2) => mergeStreamsByAscend(ordFn, sources2);\n let lastEmit = null;\n return mergeStreamsBy(async (slots, ctrl) => {\n const cands = slots.filter((e) => e?.done === false).map((e) => e.value);\n if (!cands.length) {\n ctrl.close();\n return [];\n }\n const peak = sortBy(ordFn, cands)[0];\n const index = slots.findIndex((e) => e?.done === false && e?.value === peak);\n if (lastEmit && lastEmit.value !== sortBy(ordFn, [lastEmit.value, peak])[0] && ordFn(lastEmit.value) !== ordFn(peak))\n DIE7(new Error(\"MergeStreamError: one of sources is not ordered by ascending\", {\n cause: {\n prevOrd: ordFn(lastEmit.value),\n currOrd: ordFn(peak),\n prev: lastEmit.value,\n curr: peak\n }\n }));\n lastEmit = { value: peak };\n ctrl.enqueue(peak);\n return slots.toSpliced(index, 1, null);\n }, sources);\n}\nfunction mergeStreamsByDescend(ordFn, sources) {\n if (!sources)\n return (srcs) => mergeStreamsByDescend(ordFn, srcs);\n let lastEmit = null;\n return mergeStreamsBy(async (slots, ctrl) => {\n const cands = slots.filter((e) => e?.done === false).map((e) => e.value);\n if (!cands.length) {\n ctrl.close();\n return [];\n }\n const peak = sortBy(ordFn, cands).toReversed()[0];\n const index = slots.findIndex((e) => e?.done === false && e?.value === peak);\n if (lastEmit && lastEmit.value !== sortBy(ordFn, [lastEmit.value, peak]).toReversed()[0] && ordFn(lastEmit.value) !== ordFn(peak))\n DIE7(new Error(\"MergeStreamError: one of sources is not ordered by descending\", {\n cause: {\n prevOrd: ordFn(lastEmit.value),\n currOrd: ordFn(peak),\n prev: lastEmit.value,\n curr: peak\n }\n }));\n lastEmit = { value: peak };\n ctrl.enqueue(peak);\n return slots.toSpliced(index, 1, null);\n }, sources);\n}\n\n// src/pMaps.ts\nvar pMaps = (fn, options = {}) => {\n let i = 0;\n let promises = [];\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n promises.push(fn(chunk, i++));\n if (promises.length >= (options.concurrency ?? Infinity))\n ctrl.enqueue(await promises.shift());\n },\n flush: async (ctrl) => {\n while (promises.length)\n ctrl.enqueue(await promises.shift());\n }\n });\n};\n\n// src/portals.ts\nvar portals = (arg) => {\n if (!arg)\n return new TransformStream;\n if (typeof arg !== \"function\")\n return throughs((s) => s.pipeThrough(arg));\n const fn = arg;\n const { writable, readable } = new TransformStream;\n return { writable, readable: fn(readable) };\n};\n\n// src/reduceEmits.ts\nvar reduceEmits = (fn, _state) => {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const { next, emit } = await fn(_state, chunk, i++);\n _state = next;\n ctrl.enqueue(emit);\n }\n });\n};\n\n// src/reduces.ts\nvar reduces = (fn, state) => {\n let i = 0;\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n const ret = fn(state, chunk, i++);\n const val = ret instanceof Promise ? await ret : ret;\n state = await val;\n ctrl.enqueue(state);\n }\n });\n};\n\n// src/riffles.ts\nfunction riffles(sep) {\n let last;\n return new TransformStream({\n transform: (chunk, ctrl) => {\n if (last !== undefined) {\n ctrl.enqueue(last);\n ctrl.enqueue(sep);\n }\n last = chunk;\n },\n flush: (ctrl) => ctrl.enqueue(last)\n });\n}\n\n// src/skips.ts\nfunction skips(n = 1) {\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n if (n <= 0)\n ctrl.enqueue(chunk);\n else\n n--;\n }\n });\n}\n\n// src/slices.ts\nfunction slices(start = 0, end = Infinity) {\n const count = end - start;\n const { readable, writable } = new TransformStream;\n return {\n writable,\n readable: readable.pipeThrough(skips(start)).pipeThrough(limits(count))\n };\n}\n\n// src/strings.ts\nimport replaceAsync from \"string-replace-async\";\nvar matchs = (matcher) => {\n return new TransformStream({\n transform: (chunk, ctrl) => ctrl.enqueue(chunk.match(matcher))\n });\n};\nvar matchAlls = (matcher) => {\n return new TransformStream({\n transform: (chunk, ctrl) => ctrl.enqueue(chunk.matchAll(matcher))\n });\n};\nvar replaces = (searchValue, replacement) => {\n return maps((s) => typeof replacement === \"string\" ? s.replace(searchValue, replacement) : replaceAsync(s, searchValue, replacement));\n};\nvar replaceAlls = (searchValue, replacement) => {\n return maps((s) => typeof replacement === \"string\" ? s.replaceAll(searchValue, replacement) : replaceAsync(s, searchValue, replacement));\n};\n\n// src/tails.ts\nfunction tails(n = 1) {\n let chunks2 = [];\n return new TransformStream({\n transform: (chunk) => {\n chunks2.push(chunk);\n if (chunks2.length > n)\n chunks2.shift();\n },\n flush: (ctrl) => {\n chunks2.map((e) => ctrl.enqueue(e));\n }\n });\n}\n\n// src/tees.ts\nvar tees = (arg) => {\n if (!arg)\n return new TransformStream;\n if (arg instanceof WritableStream)\n return tees((s) => s.pipeTo(arg));\n const fn = arg;\n const { writable, readable } = new TransformStream;\n const [a, b] = readable.tee();\n fn(a);\n return { writable, readable: b };\n};\n\n// src/terminates.ts\nfunction terminates(signal) {\n return throughs((r) => r.pipeThrough(new TransformStream, { signal }));\n}\n\n// src/throttles.ts\nfunction throttles(interval, { drop = false, keepLast = true } = {}) {\n let timerId = null;\n let cdPromise = Promise.withResolvers();\n let lasts = [];\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n if (timerId) {\n if (keepLast)\n lasts = [chunk];\n if (drop)\n return;\n await cdPromise.promise;\n }\n lasts = [];\n ctrl.enqueue(chunk);\n [cdPromise, timerId] = [\n Promise.withResolvers(),\n setTimeout(() => {\n timerId = null;\n cdPromise.resolve();\n }, interval)\n ];\n },\n flush: async (ctrl) => {\n while (timerId)\n await new Promise((r) => setTimeout(r, interval / 2));\n lasts.map((e) => ctrl.enqueue(e));\n }\n });\n}\n\n// src/uniqs.ts\nvar uniqs = () => {\n const set = new Set;\n return throughs((s) => s.pipeThrough(filters((x) => {\n if (set.has(x))\n return false;\n set.add(x);\n return true;\n })));\n};\nvar uniqBys = (keyFn) => {\n const set = new Set;\n return throughs((s) => s.pipeThrough(filters(async (x) => {\n const key = await keyFn(x);\n if (set.has(key))\n return false;\n set.add(key);\n return true;\n })));\n};\n\n// src/unwinds.ts\nimport { unwind } from \"unwind-array\";\nfunction unwinds(key) {\n return flatMaps((e) => unwind(e, { path: key }));\n}\n\n// src/xsvStreams.ts\nimport { csvFormatBody, csvParse, tsvFormatBody, tsvParse } from \"d3\";\nfunction csvFormats(header) {\n const _header = typeof header === \"string\" ? header.split(\",\") : header;\n return new TransformStream({\n start: (ctrl) => ctrl.enqueue(_header.join(\",\") + `\n`),\n transform: (chunk, ctrl) => ctrl.enqueue(csvFormatBody([chunk], _header) + `\n`)\n });\n}\nfunction csvParses(header) {\n const _header = typeof header === \"string\" ? header.split(\",\") : header;\n let i = 0;\n return throughs((r) => r.pipeThrough(lines({ EOL: \"LF\" })).pipeThrough(skips(1)).pipeThrough(maps((line) => csvParse(_header + `\n` + line)[0])));\n}\nfunction tsvFormats(header) {\n const sep = \"\\t\";\n const _header = typeof header === \"string\" ? header.split(sep) : header;\n return new TransformStream({\n start: (ctrl) => ctrl.enqueue(_header.join(sep) + `\n`),\n transform: (chunk, ctrl) => ctrl.enqueue(tsvFormatBody([chunk], _header) + `\n`)\n });\n}\nfunction tsvParses(header) {\n const _header = typeof header === \"string\" ? header.split(\"\\t\") : header;\n let i = 0;\n return throughs((r) => r.pipeThrough(lines({ EOL: \"LF\" })).pipeThrough(skips(1)).pipeThrough(maps((line) => tsvParse(_header + `\n` + line)[0])));\n}\n\n// src/sflow.ts\nfunction sflow(...srcs) {\n let r = srcs.length === 1 ? toStream(srcs[0]) : concatStream(srcs);\n return Object.assign(r, {\n _type: null,\n get readable() {\n return r;\n },\n portal: (...args) => sflow(r.pipeThrough(portals(...args))),\n through: (...args) => sflow(r.pipeThrough(_throughs(...args))),\n by: (...args) => sflow(r.pipeThrough(_throughs(...args))),\n byLazy: (t) => _byLazy(r, t),\n mapAddField: (...args) => sflow(r.pipeThrough(mapAddFields(...args))),\n cacheSkip: (...args) => sflow(r).byLazy(cacheSkips(...args)),\n cacheList: (...args) => sflow(r).byLazy(cacheLists(...args)),\n cacheTail: (...args) => sflow(r).byLazy(cacheTails(...args)),\n chunkBy: (...args) => sflow(r.pipeThrough(chunkBys(...args))),\n chunkIf: (...args) => sflow(r.pipeThrough(chunkIfs(...args))),\n buffer: (...args) => sflow(r.pipeThrough(chunks(...args))),\n chunk: (...args) => sflow(r.pipeThrough(chunks(...args))),\n convolve: (...args) => sflow(r.pipeThrough(convolves(...args))),\n abort: (...args) => sflow(r.pipeThrough(terminates(...args))),\n chunkInterval: (...args) => sflow(r.pipeThrough(chunkIntervals(...args))),\n interval: (...args) => sflow(r.pipeThrough(chunkIntervals(...args))),\n debounce: (...args) => sflow(r.pipeThrough(debounces(...args))),\n filter: (...args) => sflow(r.pipeThrough(filters(...args))),\n flatMap: (...args) => sflow(r.pipeThrough(flatMaps(...args))),\n flat: (...args) => sflow(r).byLazy(flats(...args)),\n join: (...args) => sflow(r.pipeThrough(riffles(...args))),\n match: (...args) => sflow(r.pipeThrough(matchs(...args))),\n matchAll: (...args) => sflow(r.pipeThrough(matchAlls(...args))),\n replace: (...args) => sflow(r.pipeThrough(replaces(...args))),\n replaceAll: (...args) => sflow(r.pipeThrough(replaceAlls(...args))),\n merge: (...args) => sflow(r.pipeThrough(merges(...args))),\n concat: (srcs2) => sflow(r.pipeThrough(concats(srcs2))),\n confluence: (...args) => sflow(r.pipeThrough(confluences(...args))),\n confluenceByZip: () => sflow(r).by(confluences()),\n confluenceByConcat: () => sflow(r).by((srcs2) => concatStream(srcs2)),\n confluenceByParallel: () => sflow(r).by((srcs2) => sflow(srcs2).toArray().then((srcs3) => mergeStream(...srcs3))).confluence(),\n confluenceByAscend: (ordFn) => sflow(r).chunk().map((srcs2) => mergeStreamsByAscend(ordFn, srcs2)).confluence(),\n confluenceByDescend: (ordFn) => sflow(r).chunk().map((srcs2) => mergeStreamsByDescend(ordFn, srcs2)).confluence(),\n limit: (...args) => sflow(r).byLazy(limits(...args)),\n head: (...args) => sflow(r.pipeThrough(heads(...args))),\n map: (...args) => sflow(r.pipeThrough(maps(...args))),\n log: (...args) => sflow(r.pipeThrough(logs(...args))),\n uniq: (...args) => sflow(r.pipeThrough(uniqs(...args))),\n uniqBy: (...args) => sflow(r.pipeThrough(uniqBys(...args))),\n unwind: (...args) => sflow(r.pipeThrough(unwinds(...args))),\n asyncMap: (...args) => sflow(r.pipeThrough(asyncMaps(...args))),\n pMap: (...args) => sflow(r.pipeThrough(pMaps(...args))),\n peek: (...args) => sflow(r.pipeThrough(peeks(...args))),\n riffle: (...args) => sflow(r.pipeThrough(riffles(...args))),\n forEach: (...args) => sflow(r.pipeThrough(forEachs(...args))),\n reduce: (...args) => sflow(r.pipeThrough(reduces(...args))),\n reduceEmit: (...args) => sflow(r.pipeThrough(reduceEmits(...args))),\n skip: (...args) => sflow(r.pipeThrough(skips(...args))),\n slice: (...args) => sflow(r.pipeThrough(slices(...args))),\n tail: (...args) => sflow(r.pipeThrough(tails(...args))),\n tees: (...args) => sflow(r.pipeThrough(_tees(...args))),\n forkTo: (...args) => sflow(r.pipeThrough(_tees(...args))),\n fork: () => {\n let b;\n [r, b] = r.tee();\n return sflow(b);\n },\n throttle: (...args) => sflow(r.pipeThrough(throttles(...args))),\n csvFormat: (...args) => sflow(r.pipeThrough(csvFormats(...args))),\n tsvFormat: (...args) => sflow(r.pipeThrough(tsvFormats(...args))),\n csvParse: (...args) => sflow(r.pipeThrough(csvParses(...args))),\n tsvParse: (...args) => sflow(r.pipeThrough(tsvParses(...args))),\n preventAbort: () => sflow(r.pipeThrough(throughs(), { preventAbort: true })),\n preventClose: () => sflow(r.pipeThrough(throughs(), { preventClose: true })),\n preventCancel: () => sflow(r.pipeThrough(throughs(), { preventCancel: true })),\n onStart: (start) => sflow(r).by(new TransformStream({ start })),\n onTransform: (transform) => sflow(r).by(new TransformStream({ transform })),\n onFlush: (flush) => sflow(r).by(new TransformStream({ flush })),\n done: () => r.pipeTo(nils()),\n end: (dst = nils()) => r.pipeTo(dst),\n to: (dst = nils()) => r.pipeTo(dst),\n run: () => r.pipeTo(nils()),\n toEnd: () => r.pipeTo(nils()),\n toNil: () => r.pipeTo(nils()),\n toArray: () => toArray(r),\n toCount: async () => {\n let i = 0;\n const d = r.getReader();\n while (!(await d.read()).done)\n i++;\n return i;\n },\n toFirst: () => toPromise(sflow(r).limit(1, { terminate: true })),\n toLast: () => toPromise(sflow(r).tail(1)),\n toExactlyOne: async () => {\n const a = await toArray(r);\n a.length !== 1 || DIE8(`Expect exactly 1 Item, but got ${a.length}`);\n return a[0];\n },\n toOne: async () => {\n const a = await toArray(r);\n if (a.length > 1)\n DIE8(`Expect only 1 Item, but got ${a.length}`);\n return a[0];\n },\n toAtLeastOne: async () => {\n const a = await toArray(r);\n if (a.length > 1)\n DIE8(`Expect only 1 Item, but got ${a.length}`);\n if (a.length < 1)\n DIE8(`Expect at least 1 Item, but got ${a.length}`);\n return a[0];\n },\n toLog: (...args) => sflow(r.pipeThrough(logs(...args))).done(),\n lines: (...args) => sflow(r.pipeThrough(lines(...args))),\n toResponse: (init) => new Response(r, init),\n text: (init) => new Response(r.pipeThrough(new PolyfillTextEncoderStream), init).text(),\n json: (init) => new Response(r.pipeThrough(new PolyfillTextEncoderStream), init).json(),\n blob: (init) => new Response(sflow(r), init).blob(),\n arrayBuffer: (init) => new Response(r, init).arrayBuffer(),\n [Symbol.asyncIterator]: streamAsyncIterator\n });\n}\nvar _tees = (arg) => {\n if (!arg)\n return new TransformStream;\n if (arg instanceof WritableStream)\n return tees((s) => s.pipeTo(arg));\n const fn = arg;\n const { writable, readable } = new TransformStream;\n const [a, b] = readable.tee();\n fn(sflow(a));\n return { writable, readable: b };\n};\nvar _throughs = (arg) => {\n if (!arg)\n return new TransformStream;\n if (typeof arg !== \"function\")\n return throughs((s) => s.pipeThrough(arg));\n const fn = arg;\n const { writable, readable } = new TransformStream;\n return { writable, readable: sflow(fn(sflow(readable))) };\n};\nfunction _byLazy(r, t) {\n const reader = r.getReader();\n const tw = t.writable.getWriter();\n const tr = t.readable.getReader();\n return sflow(new ReadableStream({\n start: async (ctrl) => {\n (async function() {\n while (true) {\n const { done, value } = await tr.read();\n if (done)\n return ctrl.close();\n ctrl.enqueue(value);\n }\n })();\n },\n pull: async (ctrl) => {\n const { done, value } = await reader.read();\n if (done)\n return tw.close();\n await tw.write(value);\n },\n cancel: async (r2) => {\n reader.cancel(r2);\n tr.cancel(r2);\n }\n }, { highWaterMark: 0 }));\n}\n\n// src/index.ts\nimport { default as default2 } from \"polyfill-text-decoder-stream\";\nimport { default as default3 } from \"polyfill-text-encoder-stream\";\n\n// src/chunkOverlaps.ts\nfunction chunkOverlaps({\n step,\n overlap\n}) {\n let chunks2 = [];\n if (step <= 0)\n throw new Error(\"step must be greater than 0\");\n if (overlap < 0)\n throw new Error(\"overlap must be greater than or equal to 0\");\n return new TransformStream({\n transform: async (chunk, ctrl) => {\n chunks2.push(chunk);\n if (chunks2.length >= step + overlap)\n ctrl.enqueue([...chunks2.splice(0, step), ...chunks2.slice(0, overlap)]);\n },\n flush: async (ctrl) => void (chunks2.length && ctrl.enqueue(chunks2))\n });\n}\n// src/chunkTransforms.ts\nfunction chunkTransforms(options) {\n let chunks2 = [];\n const { start, transform, flush } = options;\n return new TransformStream({\n start: async (ctrl) => {\n if (start)\n chunks2 = await start(chunks2, ctrl);\n },\n transform: async (chunk, ctrl) => {\n chunks2.push(chunk);\n if (transform)\n chunks2 = await transform(chunks2, ctrl);\n },\n flush: async (ctrl) => {\n if (flush)\n chunks2 = await flush(chunks2, ctrl);\n }\n });\n}\n// src/distributeBys.ts\nvar distributeBys = (groupFn) => {\n const streams = new Map;\n const { writable: srcs, readable } = new TransformStream;\n const { writable, readable: chunks2 } = new TransformStream;\n const w = srcs.getWriter();\n chunks2.pipeThrough(pMaps(async (chunk) => {\n const ord = await groupFn(chunk);\n if (!streams.has(ord))\n await async function() {\n const t2 = new TransformStream;\n await w.write(t2.readable);\n const r = { ...t2, writer: t2.writable.getWriter() };\n streams.set(ord, r);\n return r;\n }();\n const t = streams.get(ord);\n await t.writer.write(chunk);\n })).pipeTo(nils()).finally(() => {\n w.close();\n [...streams.values()].map((e) => e.writer.close());\n });\n return { writable, readable };\n};\n// src/sfTemplate.ts\nfunction sfTemplate(tsa, ...args) {\n return sflow(...tsa.map((str) => [sflow([str]), args.shift() || []]).flat());\n}\nvar sfT = sfTemplate;\n// src/mergeAscends.ts\nimport DIE9 from \"phpdie\";\nimport { sortBy as sortBy2 } from \"rambda\";\nvar mergeAscends = (ordFn, _srcs) => {\n if (!_srcs)\n return (srcs) => mergeAscends(ordFn, srcs);\n return sflow(new ReadableStream({\n pull: async (ctrl) => {\n const srcs = await sflow(_srcs).toArray();\n const slots = srcs.map(() => {\n return;\n });\n const pendingSlotRemoval = srcs.map(() => {\n return;\n });\n const drains = srcs.map(() => false);\n let lastMinValue = undefined;\n await Promise.all(srcs.map(async (src, i) => {\n for await (const value of sflow(src)) {\n while (slots[i] !== undefined) {\n if (shiftMinValueIfFull())\n continue;\n pendingSlotRemoval[i] = Promise.withResolvers();\n await pendingSlotRemoval[i].promise;\n }\n slots[i] = { value };\n shiftMinValueIfFull();\n }\n drains[i] = true;\n pendingSlotRemoval.map((e) => e?.resolve());\n await Promise.all(pendingSlotRemoval.map((e) => e?.promise));\n const allDrain = drains.every(Boolean);\n if (allDrain) {\n while (slots.some((e) => e !== undefined))\n shiftMinValueIfFull();\n ctrl.close();\n }\n function shiftMinValueIfFull() {\n const isFull = slots.every((slot, i2) => slot !== undefined || drains[i2]);\n if (!isFull)\n return false;\n const fullSlots = slots.flatMap((e) => e !== undefined ? [e] : []).map((e) => e.value);\n const minValue = sortBy2(ordFn, fullSlots)[0];\n const minIndex = slots.findIndex((e) => e?.value === minValue);\n if (lastMinValue !== undefined) {\n const ordered = sortBy2(ordFn, [lastMinValue, minValue]);\n ordered[0] === lastMinValue && ordered[1] === minValue || DIE9(`\nMergeAscendError: one of source stream is not ascending ordered.\n\nstream index: ${minIndex}\n\nprev: ${ordFn(lastMinValue)}\nprev: ${JSON.stringify(lastMinValue)}\n\ncurr: ${ordFn(minValue)}\ncurr: ${JSON.stringify(minValue)}\n`);\n }\n lastMinValue = minValue;\n ctrl.enqueue(minValue);\n slots[minIndex] = undefined;\n pendingSlotRemoval[minIndex]?.resolve();\n pendingSlotRemoval[minIndex] = undefined;\n return true;\n }\n }));\n }\n }, { highWaterMark: 0 }));\n};\nvar mergeDescends = (ordFn, _srcs) => {\n if (!_srcs)\n return (srcs) => mergeDescends(ordFn, srcs);\n return toStream(new ReadableStream({\n pull: async (ctrl) => {\n const srcs = await sflow(_srcs).toArray();\n const slots = srcs.map(() => {\n return;\n });\n const pendingSlotRemoval = srcs.map(() => {\n return;\n });\n const drains = srcs.map(() => false);\n let lastMaxValue = undefined;\n await Promise.all(srcs.map(async (src, i) => {\n for await (const value of toStream(src)) {\n while (slots[i] !== undefined) {\n if (shiftMaxValueIfFull())\n continue;\n pendingSlotRemoval[i] = Promise.withResolvers();\n await pendingSlotRemoval[i].promise;\n }\n slots[i] = { value };\n shiftMaxValueIfFull();\n }\n drains[i] = true;\n pendingSlotRemoval.map((e) => e?.resolve());\n await Promise.all(pendingSlotRemoval.map((e) => e?.promise));\n const allDrain = drains.every(Boolean);\n if (allDrain) {\n while (slots.some((e) => e !== undefined))\n shiftMaxValueIfFull();\n ctrl.close();\n }\n function shiftMaxValueIfFull() {\n const isFull = slots.every((slot, i2) => slot !== undefined || drains[i2]);\n if (!isFull)\n return false;\n const fullSlots = slots.flatMap((e) => e !== undefined ? [e] : []).map((e) => e.value);\n const maxValue = sortBy2(ordFn, fullSlots).toReversed()[0];\n const maxIndex = slots.findIndex((e) => e?.value === maxValue);\n if (lastMaxValue !== undefined) {\n const ordered = sortBy2(ordFn, [maxValue, lastMaxValue]);\n ordered[0] === maxValue && ordered[1] === lastMaxValue || DIE9(`\nMergeDescendError: one of source stream is not descending ordered.\n\nstream index: ${maxIndex}\n\nprev: ${ordFn(lastMaxValue)}\nprev: ${JSON.stringify(lastMaxValue)}\n\ncurr: ${ordFn(maxValue)}\ncurr: ${JSON.stringify(maxValue)}\n`);\n }\n lastMaxValue = maxValue;\n ctrl.enqueue(maxValue);\n slots[maxIndex] = undefined;\n pendingSlotRemoval[maxIndex]?.resolve();\n pendingSlotRemoval[maxIndex] = undefined;\n return true;\n }\n }));\n }\n }, { highWaterMark: 0 }));\n};\n// src/pageStream.ts\nfunction pageStream(initialQuery, fetcher) {\n let query = null;\n return new ReadableStream({\n pull: async (ctrl) => {\n if (query === null)\n query = { value: await initialQuery };\n const ret = fetcher(query.value);\n const val = ret instanceof Promise ? await ret : ret;\n const { data, next } = val;\n if (data !== undefined)\n ctrl.enqueue(data);\n if (next == null)\n return ctrl.close();\n query.value = next;\n }\n }, { highWaterMark: 0 });\n}\n\n// src/pageFlow.ts\nfunction pageFlow(initialCursor, fetcher) {\n return sflow(pageStream(initialCursor, fetcher));\n}\n// src/rangeStream.ts\nfunction rangeStream(...args) {\n const [min, max] = args[1] != null ? [args[0], args[1]] : [0, args[0]];\n let i = min;\n return new ReadableStream({\n pull: (ctrl) => {\n ctrl.enqueue(i);\n if (++i >= max)\n ctrl.close();\n }\n }, { highWaterMark: 0 });\n}\nfunction rangeFlow(...args) {\n return sflow(rangeStream(...args));\n}\n// src/svector.ts\nvar svector = (...src) => sflow(src);\n// src/index.ts\nvar src_default = sflow;\nexport {\n unwinds,\n unpromises,\n uniqs,\n uniqBys,\n throughs,\n throttles,\n tees,\n tails,\n svector,\n svector as sv,\n streamAsyncIterator,\n sflow as snoflow,\n slices,\n skips,\n sflow,\n sfTemplate,\n sfT,\n sflow as sf,\n replaces,\n replaceAlls,\n reduces,\n rangeStream,\n rangeFlow,\n portals,\n peeks,\n pageStream,\n pageFlow,\n pMaps,\n nils,\n nil,\n merges,\n mergeStreamsByDescend,\n mergeStreamsByAscend,\n mergeStreamsBy,\n mergeStream,\n mergeDescends,\n mergeAscends,\n matchs,\n matchAlls,\n maps,\n mapAddFields,\n logs,\n lines,\n merges as joins,\n chunkIntervals as intervals,\n forEachs,\n flats,\n flatMaps,\n filters,\n distributeBys as distributesBy,\n src_default as default,\n debounces,\n confluences,\n concats,\n concatStream,\n chunks,\n chunkTransforms,\n chunkOverlaps,\n chunkIntervals,\n chunkIfs,\n chunkBys,\n cacheTails,\n cacheSkips,\n cacheLists,\n bys,\n chunks as buffers,\n andIgnoreError,\n terminates as aborts,\n default3 as TextEncoderStream,\n default2 as TextDecoderStream\n};\n\n//# debugId=9604DD319586FBBF64756E2164756E21\n",
|
|
26
|
+
"var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n",
|
|
27
|
+
"export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n",
|
|
28
|
+
"import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n",
|
|
29
|
+
"import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n",
|
|
30
|
+
"function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n",
|
|
31
|
+
"import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n",
|
|
32
|
+
"// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n",
|
|
33
|
+
"function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n",
|
|
34
|
+
"import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n",
|
|
35
|
+
"export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n",
|
|
36
|
+
"import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n",
|
|
37
|
+
"import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n",
|
|
38
|
+
"import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n",
|
|
39
|
+
"export default function(update) {\n return new Array(update.length);\n}\n",
|
|
40
|
+
"import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n",
|
|
41
|
+
"export default function(x) {\n return function() {\n return x;\n };\n}\n",
|
|
42
|
+
"import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n",
|
|
43
|
+
"import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n",
|
|
44
|
+
"export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n",
|
|
45
|
+
"import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n",
|
|
46
|
+
"export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n",
|
|
47
|
+
"import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n",
|
|
48
|
+
"export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n",
|
|
49
|
+
"export default function() {\n return Array.from(this);\n}\n",
|
|
50
|
+
"export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n",
|
|
51
|
+
"export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n",
|
|
52
|
+
"export default function() {\n return !this.node();\n}\n",
|
|
53
|
+
"export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n",
|
|
54
|
+
"import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n",
|
|
55
|
+
"export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n",
|
|
56
|
+
"import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n",
|
|
57
|
+
"function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n",
|
|
58
|
+
"function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n",
|
|
59
|
+
"function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n",
|
|
60
|
+
"function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n",
|
|
61
|
+
"function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n",
|
|
62
|
+
"function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n",
|
|
63
|
+
"import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n",
|
|
64
|
+
"import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n",
|
|
65
|
+
"function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n",
|
|
66
|
+
"function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n",
|
|
67
|
+
"export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n",
|
|
68
|
+
"function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n",
|
|
69
|
+
"import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n",
|
|
70
|
+
"export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n",
|
|
71
|
+
"import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n",
|
|
72
|
+
"export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n",
|
|
73
|
+
"import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n",
|
|
74
|
+
"export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n",
|
|
75
|
+
"import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n",
|
|
76
|
+
"export default x => () => x;\n",
|
|
77
|
+
"import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n",
|
|
78
|
+
"import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n",
|
|
79
|
+
"export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n",
|
|
80
|
+
"import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n",
|
|
81
|
+
"var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n",
|
|
82
|
+
"import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n",
|
|
83
|
+
"import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n",
|
|
84
|
+
"var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n",
|
|
85
|
+
"import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n",
|
|
86
|
+
"import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n",
|
|
87
|
+
"import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n",
|
|
88
|
+
"import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n",
|
|
89
|
+
"import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n",
|
|
90
|
+
"import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n",
|
|
91
|
+
"import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n",
|
|
92
|
+
"import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n",
|
|
93
|
+
"import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n",
|
|
94
|
+
"import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n",
|
|
95
|
+
"import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n",
|
|
96
|
+
"import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n",
|
|
97
|
+
"import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n",
|
|
98
|
+
"import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n",
|
|
99
|
+
"import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n",
|
|
100
|
+
"function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n",
|
|
101
|
+
"import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n",
|
|
102
|
+
"import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n",
|
|
103
|
+
"import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n",
|
|
104
|
+
"import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n",
|
|
105
|
+
"function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n",
|
|
106
|
+
"import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n",
|
|
107
|
+
"function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n",
|
|
108
|
+
"import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n",
|
|
109
|
+
"import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n",
|
|
110
|
+
"import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n",
|
|
111
|
+
"export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n",
|
|
112
|
+
"import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n",
|
|
113
|
+
"import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n",
|
|
114
|
+
"import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection, event) {\n if (group.tween) {\n group\n .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start(event).brush(event).end(event);\n });\n }\n };\n\n brush.clear = function(group, event) {\n brush.move(group, null, event);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n else this.emit(\"brush\", event);\n return this;\n },\n brush: function(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[\n w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n ], [\n e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n ]];\n if (points.length > 1) move(event);\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points)\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n lockY = true;\n else\n lockX = true;\n }\n for (const point of points)\n if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n const point = points[0], point0 = point.point0;\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move(event);\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move(event);\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move(event);\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n",
|
|
115
|
+
"var EOL = {},\n EOF = {},\n QUOTE = 34,\n NEWLINE = 10,\n RETURN = 13;\n\nfunction objectConverter(columns) {\n return new Function(\"d\", \"return {\" + columns.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"] || \\\"\\\"\";\n }).join(\",\") + \"}\");\n}\n\nfunction customConverter(columns, f) {\n var object = objectConverter(columns);\n return function(row, i) {\n return f(object(row), i, columns);\n };\n}\n\n// Compute unique columns in order of discovery.\nfunction inferColumns(rows) {\n var columnSet = Object.create(null),\n columns = [];\n\n rows.forEach(function(row) {\n for (var column in row) {\n if (!(column in columnSet)) {\n columns.push(columnSet[column] = column);\n }\n }\n });\n\n return columns;\n}\n\nfunction pad(value, width) {\n var s = value + \"\", length = s.length;\n return length < width ? new Array(width - length + 1).join(0) + s : s;\n}\n\nfunction formatYear(year) {\n return year < 0 ? \"-\" + pad(-year, 6)\n : year > 9999 ? \"+\" + pad(year, 6)\n : pad(year, 4);\n}\n\nfunction formatDate(date) {\n var hours = date.getUTCHours(),\n minutes = date.getUTCMinutes(),\n seconds = date.getUTCSeconds(),\n milliseconds = date.getUTCMilliseconds();\n return isNaN(date) ? \"Invalid Date\"\n : formatYear(date.getUTCFullYear(), 4) + \"-\" + pad(date.getUTCMonth() + 1, 2) + \"-\" + pad(date.getUTCDate(), 2)\n + (milliseconds ? \"T\" + pad(hours, 2) + \":\" + pad(minutes, 2) + \":\" + pad(seconds, 2) + \".\" + pad(milliseconds, 3) + \"Z\"\n : seconds ? \"T\" + pad(hours, 2) + \":\" + pad(minutes, 2) + \":\" + pad(seconds, 2) + \"Z\"\n : minutes || hours ? \"T\" + pad(hours, 2) + \":\" + pad(minutes, 2) + \"Z\"\n : \"\");\n}\n\nexport default function(delimiter) {\n var reFormat = new RegExp(\"[\\\"\" + delimiter + \"\\n\\r]\"),\n DELIMITER = delimiter.charCodeAt(0);\n\n function parse(text, f) {\n var convert, columns, rows = parseRows(text, function(row, i) {\n if (convert) return convert(row, i - 1);\n columns = row, convert = f ? customConverter(row, f) : objectConverter(row);\n });\n rows.columns = columns || [];\n return rows;\n }\n\n function parseRows(text, f) {\n var rows = [], // output rows\n N = text.length,\n I = 0, // current character index\n n = 0, // current line number\n t, // current token\n eof = N <= 0, // current token followed by EOF?\n eol = false; // current token followed by EOL?\n\n // Strip the trailing newline.\n if (text.charCodeAt(N - 1) === NEWLINE) --N;\n if (text.charCodeAt(N - 1) === RETURN) --N;\n\n function token() {\n if (eof) return EOF;\n if (eol) return eol = false, EOL;\n\n // Unescape quotes.\n var i, j = I, c;\n if (text.charCodeAt(j) === QUOTE) {\n while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);\n if ((i = I) >= N) eof = true;\n else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n return text.slice(j + 1, i - 1).replace(/\"\"/g, \"\\\"\");\n }\n\n // Find next delimiter or newline.\n while (I < N) {\n if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true;\n else if (c === RETURN) { eol = true; if (text.charCodeAt(I) === NEWLINE) ++I; }\n else if (c !== DELIMITER) continue;\n return text.slice(j, i);\n }\n\n // Return last token before EOF.\n return eof = true, text.slice(j, N);\n }\n\n while ((t = token()) !== EOF) {\n var row = [];\n while (t !== EOL && t !== EOF) row.push(t), t = token();\n if (f && (row = f(row, n++)) == null) continue;\n rows.push(row);\n }\n\n return rows;\n }\n\n function preformatBody(rows, columns) {\n return rows.map(function(row) {\n return columns.map(function(column) {\n return formatValue(row[column]);\n }).join(delimiter);\n });\n }\n\n function format(rows, columns) {\n if (columns == null) columns = inferColumns(rows);\n return [columns.map(formatValue).join(delimiter)].concat(preformatBody(rows, columns)).join(\"\\n\");\n }\n\n function formatBody(rows, columns) {\n if (columns == null) columns = inferColumns(rows);\n return preformatBody(rows, columns).join(\"\\n\");\n }\n\n function formatRows(rows) {\n return rows.map(formatRow).join(\"\\n\");\n }\n\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n\n function formatValue(value) {\n return value == null ? \"\"\n : value instanceof Date ? formatDate(value)\n : reFormat.test(value += \"\") ? \"\\\"\" + value.replace(/\"/g, \"\\\"\\\"\") + \"\\\"\"\n : value;\n }\n\n return {\n parse: parse,\n parseRows: parseRows,\n format: format,\n formatBody: formatBody,\n formatRows: formatRows,\n formatRow: formatRow,\n formatValue: formatValue\n };\n}\n",
|
|
116
|
+
"import dsv from \"./dsv.js\";\n\nvar csv = dsv(\",\");\n\nexport var csvParse = csv.parse;\nexport var csvParseRows = csv.parseRows;\nexport var csvFormat = csv.format;\nexport var csvFormatBody = csv.formatBody;\nexport var csvFormatRows = csv.formatRows;\nexport var csvFormatRow = csv.formatRow;\nexport var csvFormatValue = csv.formatValue;\n",
|
|
117
|
+
"import dsv from \"./dsv.js\";\n\nvar tsv = dsv(\"\\t\");\n\nexport var tsvParse = tsv.parse;\nexport var tsvParseRows = tsv.parseRows;\nexport var tsvFormat = tsv.format;\nexport var tsvFormatBody = tsv.formatBody;\nexport var tsvFormatRows = tsv.formatRows;\nexport var tsvFormatRow = tsv.formatRow;\nexport var tsvFormatValue = tsv.formatValue;\n",
|
|
118
|
+
"export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n",
|
|
119
|
+
"// index.ts\nclass PolyfillTextDecoderStream extends TransformStream {\n encoding;\n fatal;\n ignoreBOM;\n constructor(encoding = \"utf-8\", {\n fatal = false,\n ignoreBOM = false\n } = {}) {\n const decoder = new TextDecoder(encoding, { fatal, ignoreBOM });\n super({\n transform(chunk, controller) {\n if (typeof chunk === \"string\") {\n controller.enqueue(chunk);\n return;\n }\n const decoded = decoder.decode(chunk);\n if (decoded.length > 0) {\n controller.enqueue(decoded);\n }\n },\n flush(controller) {\n const output = decoder.decode();\n if (output.length > 0) {\n controller.enqueue(output);\n }\n }\n });\n this.encoding = encoding;\n this.fatal = fatal;\n this.ignoreBOM = ignoreBOM;\n }\n}\nexport {\n PolyfillTextDecoderStream as default\n};\n",
|
|
120
|
+
"// index.ts\nimport { mergeStream } from \"sflow\";\n\n// fromReadable.ts\nfunction fromReadable(i) {\n return new ReadableStream({\n start: (c) => {\n i.on(\"data\", (data) => c.enqueue(data));\n i.on(\"close\", () => c.close());\n i.on(\"error\", (err) => c.error(err));\n },\n cancel: (reason) => (i.destroy?.(reason), undefined)\n });\n}\n\n// fromWritable.ts\nfunction fromWritable(i) {\n return new WritableStream({\n start: (c) => (i.on(\"error\", (err) => c.error(err)), undefined),\n abort: (reason) => (i.destroy?.(reason), undefined),\n write: (data, c) => (i.write(data), undefined),\n close: () => (i.end(), undefined)\n });\n}\n\n// index.ts\nfunction fromStdioDropErr(p) {\n return {\n writable: fromWritable(p.stdin),\n readable: fromReadable(p.stdout)\n };\n}\nfunction fromStdioMergeError(p) {\n const stdin = fromWritable(p.stdin);\n const stdout = fromReadable(p.stdout);\n const stderr = fromReadable(p.stderr);\n return {\n writable: stdin,\n readable: mergeStream(stdout, stderr)\n };\n}\nfunction fromStdio(p, {\n stderr\n} = {}) {\n if (p.stderr?.pipe && stderr?.pipe)\n fromReadable(p.stderr).pipeTo(fromWritable(stderr), {\n preventClose: true\n });\n if (stderr === undefined) {\n return fromStdioMergeError(p);\n } else {\n return fromStdioDropErr(p);\n }\n}\nexport {\n fromWritable,\n fromStdioMergeError,\n fromStdioDropErr,\n fromStdio,\n fromReadable\n};\n\n//# debugId=14BF211E607D71C964756E2164756E21\n",
|
|
121
|
+
"export function createIdleWatcher(\n onIdle: () => void,\n idleTimeout: number\n): { ping: () => void; getLastActiveTime: () => Date } {\n let lastActiveTime = new Date();\n let idleTimeoutId: NodeJS.Timeout | null = null;\n\n return {\n ping: () => {\n if (idleTimeoutId) clearTimeout(idleTimeoutId);\n\n lastActiveTime = new Date();\n idleTimeoutId = setTimeout(() => {\n clearTimeout(idleTimeoutId!);\n onIdle();\n }, idleTimeout);\n },\n getLastActiveTime: () => lastActiveTime,\n };\n}\n",
|
|
122
|
+
"export function removeControlCharacters(str: string): string {\n // Matches control characters in the C0 and C1 ranges, including Delete (U+007F)\n return str.replace(/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');\n}\n",
|
|
123
|
+
"export function sleepms(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n",
|
|
124
|
+
"// index.ts\nfunction createTerminalLogManager() {\n return new TerminalTextRender;\n}\n\nclass TerminalTextRender {\n lines = [\"\"];\n cursorRow = 0;\n cursorCol = 0;\n savedCursorRow = 0;\n savedCursorCol = 0;\n isAtRestoredPosition = false;\n write(data) {\n for (let i = 0;i < data.length; i++) {\n const char = data[i];\n switch (char) {\n case \"\\r\":\n this.cursorCol = 0;\n break;\n case `\n`:\n this.cursorRow++;\n this.cursorCol = 0;\n while (this.lines.length <= this.cursorRow) {\n this.lines.push(\"\");\n }\n break;\n case \"\\b\":\n if (this.cursorCol > 0) {\n this.cursorCol--;\n }\n break;\n case \"\\t\":\n this.cursorCol = Math.floor((this.cursorCol + 8) / 8) * 8;\n break;\n default:\n if (char === \"\\x1B\") {\n if (this.isEraseSequence(data, i)) {\n i = this.handleEraseSequence(data, i) - 1;\n } else if (i + 1 < data.length && data[i + 1] === \"[\") {\n const escapeStart = i;\n i += 2;\n let escapeEnd = i;\n while (escapeEnd < data.length && !/[a-zA-Z]/.test(data[escapeEnd])) {\n escapeEnd++;\n }\n if (escapeEnd < data.length) {\n const escapeCode = data.slice(escapeStart + 2, escapeEnd);\n const command = data[escapeEnd];\n this.handleAnsiEscape(escapeCode, command);\n i = escapeEnd;\n }\n } else if (i + 1 < data.length && data[i + 1] === \"c\") {\n this.lines = [\"\"];\n this.cursorRow = 0;\n this.cursorCol = 0;\n this.savedCursorRow = 0;\n this.savedCursorCol = 0;\n i++;\n }\n } else {\n this.ensureLine(this.cursorRow);\n const line = this.lines[this.cursorRow];\n if (this.isAtRestoredPosition && this.cursorCol < line.length) {\n this.lines[this.cursorRow] = line.substring(0, this.cursorCol) + char + line.substring(this.cursorCol);\n this.isAtRestoredPosition = false;\n } else if (this.cursorCol >= line.length) {\n this.lines[this.cursorRow] = line + \" \".repeat(this.cursorCol - line.length) + char;\n } else {\n this.lines[this.cursorRow] = line.substring(0, this.cursorCol) + char + line.substring(this.cursorCol + 1);\n }\n this.cursorCol++;\n }\n break;\n }\n }\n return this;\n }\n ensureLine(row) {\n while (this.lines.length <= row) {\n this.lines.push(\"\");\n }\n }\n handleAnsiEscape(escapeCode, command) {\n switch (command) {\n case \"A\": {\n const upLines = parseInt(escapeCode) || 1;\n this.cursorRow = Math.max(0, this.cursorRow - upLines);\n break;\n }\n case \"B\": {\n const downLines = parseInt(escapeCode) || 1;\n const originalRow = this.cursorRow;\n this.cursorRow += downLines;\n if (this.cursorRow > originalRow + 1) {\n this.cursorCol = 0;\n }\n this.ensureLine(this.cursorRow);\n break;\n }\n case \"C\": {\n const forwardCols = parseInt(escapeCode) || 1;\n this.cursorCol += forwardCols;\n break;\n }\n case \"D\": {\n const backwardCols = parseInt(escapeCode) || 1;\n this.cursorCol = Math.max(0, this.cursorCol - backwardCols);\n break;\n }\n case \"E\": {\n const nextLines = parseInt(escapeCode) || 1;\n this.cursorRow += nextLines;\n this.cursorCol = 0;\n this.ensureLine(this.cursorRow);\n break;\n }\n case \"F\": {\n const prevLines = parseInt(escapeCode) || 1;\n this.cursorRow = Math.max(0, this.cursorRow - prevLines);\n this.cursorCol = 0;\n break;\n }\n case \"G\": {\n if (escapeCode === \"\") {\n const currentLine = this.lines[this.cursorRow] || \"\";\n if (this.cursorRow === 0 && this.lines.length === 1 && this.cursorCol === currentLine.length && currentLine.length > 0) {\n this.cursorCol = Math.max(0, this.cursorCol - 1);\n } else {\n this.cursorCol = 0;\n }\n } else {\n const col = parseInt(escapeCode) || 1;\n this.cursorCol = Math.max(0, col - 1);\n }\n break;\n }\n case \"H\":\n case \"f\": {\n const parts = escapeCode.split(\";\");\n this.cursorRow = Math.max(0, (parseInt(parts[0]) || 1) - 1);\n this.cursorCol = Math.max(0, (parseInt(parts[1]) || 1) - 1);\n this.isAtRestoredPosition = false;\n this.ensureLine(this.cursorRow);\n break;\n }\n case \"J\":\n if (escapeCode === \"2\") {\n this.lines = [\"\"];\n this.cursorRow = 0;\n this.cursorCol = 0;\n }\n break;\n case \"K\":\n if (escapeCode === \"\" || escapeCode === \"0\") {\n this.ensureLine(this.cursorRow);\n this.lines[this.cursorRow] = this.lines[this.cursorRow].substring(0, this.cursorCol);\n } else if (escapeCode === \"1\") {\n this.ensureLine(this.cursorRow);\n this.lines[this.cursorRow] = \" \".repeat(this.cursorCol) + this.lines[this.cursorRow].substring(this.cursorCol);\n } else if (escapeCode === \"2\") {\n this.ensureLine(this.cursorRow);\n this.lines[this.cursorRow] = \"\";\n }\n break;\n case \"s\":\n this.savedCursorRow = this.cursorRow;\n this.savedCursorCol = this.cursorCol;\n break;\n case \"u\":\n this.cursorRow = this.savedCursorRow;\n this.cursorCol = this.savedCursorCol;\n this.isAtRestoredPosition = true;\n this.ensureLine(this.cursorRow);\n break;\n }\n }\n render() {\n const trimmedLines = [...this.lines];\n while (trimmedLines.length > 1 && trimmedLines[trimmedLines.length - 1] === \"\") {\n trimmedLines.pop();\n }\n return trimmedLines.join(`\n`);\n }\n clear() {\n this.lines = [\"\"];\n this.cursorRow = 0;\n this.cursorCol = 0;\n this.savedCursorRow = 0;\n this.savedCursorCol = 0;\n }\n isEraseSequence(data, i) {\n const remaining = data.slice(i);\n if (!remaining.startsWith(\"\\x1B[2K\")) {\n return false;\n }\n let pos = 4;\n while (pos < remaining.length && remaining.slice(pos, pos + 8) === \"\\x1B[1A\\x1B[2K\") {\n pos += 8;\n }\n return pos < remaining.length && remaining.slice(pos, pos + 3) === \"\\x1B[G\";\n }\n handleEraseSequence(data, i) {\n const remaining = data.slice(i);\n if (!remaining.startsWith(\"\\x1B[2K\")) {\n return i;\n }\n let pos = 4;\n let linesToClear = 1;\n while (pos < remaining.length && remaining.slice(pos, pos + 8) === \"\\x1B[1A\\x1B[2K\") {\n pos += 8;\n linesToClear++;\n }\n if (pos >= remaining.length || remaining.slice(pos, pos + 3) !== \"\\x1B[G\") {\n return i;\n }\n pos += 3;\n const currentRow = this.cursorRow;\n if (linesToClear === 2 && remaining === \"\\x1B[2K\\x1B[1A\\x1B[2K\\x1B[G\") {\n for (let i2 = 0;i2 < 2 && currentRow + i2 < this.lines.length; i2++) {\n this.lines[currentRow + i2] = \"\";\n }\n this.cursorCol = 0;\n } else {\n const startRow = Math.max(0, currentRow - linesToClear + 1);\n for (let row = startRow;row <= currentRow && row < this.lines.length; row++) {\n this.lines[row] = \"\";\n }\n this.cursorRow = startRow;\n this.cursorCol = 0;\n }\n return i + pos;\n }\n}\nexport {\n createTerminalLogManager,\n TerminalTextRender\n};\n",
|
|
125
|
+
"import { fromReadable, fromWritable } from 'from-node-stream';\nimport sflow from 'sflow';\nimport { createIdleWatcher } from './createIdleWatcher';\nimport { removeControlCharacters } from './removeControlCharacters';\nimport { sleepms } from './utils';\nimport { TerminalTextRender } from 'terminal-render';\nimport { writeFile } from 'fs/promises';\nimport path from 'path';\nimport { mkdir } from 'fs/promises';\n\n/**\n * Main function to run Claude with automatic yes/no respojnses\n * @param options Configuration options\n * @param options.continueOnCrash - If true, automatically restart Claude when it crashes:\n * 1. Shows message 'Claude crashed, restarting..'\n * 2. Spawns a new 'claude --continue' process\n * 3. Re-attaches the new process to the shell stdio (pipes new process stdin/stdout)\n * 4. If it crashes with \"No conversation found to continue\", exits the process\n * @param options.exitOnIdle - Exit when Claude is idle. Boolean or timeout in milliseconds\n * @param options.claudeArgs - Additional arguments to pass to the Claude CLI\n * @param options.removeControlCharactersFromStdout - Remove ANSI control characters from stdout. Defaults to !process.stdout.isTTY\n */\nexport default async function claudeYes({\n claudeArgs = [],\n continueOnCrash,\n cwd = process.cwd(),\n env = process.env as Record<string, string>,\n exitOnIdle,\n logFile,\n removeControlCharactersFromStdout = false, // = !process.stdout.isTTY,\n verbose = false,\n}: {\n claudeArgs?: string[];\n continueOnCrash?: boolean;\n cwd?: string;\n env?: Record<string, string>;\n exitOnIdle?: number;\n logFile?: string;\n removeControlCharactersFromStdout?: boolean;\n verbose?: boolean;\n} = {}) {\n if (verbose) {\n console.log('calling claudeYes: ', {\n continueOnCrash,\n exitOnIdle,\n claudeArgs,\n cwd,\n removeControlCharactersFromStdout,\n logFile,\n verbose,\n });\n }\n console.log(\n '⭐ Starting claude, automatically responding to yes/no prompts...'\n );\n console.log(\n '⚠️ Important Security Warning: Only run this on trusted repositories. This tool automatically responds to prompts and can execute commands without user confirmation. Be aware of potential prompt injection attacks where malicious code or instructions could be embedded in files or user inputs to manipulate the automated responses.'\n );\n\n process.stdin.setRawMode?.(true); //must be called any stdout/stdin usage\n const prefix = ''; // \"YESC|\"\n const PREFIXLENGTH = prefix.length;\n let errorNoConversation = false; // match 'No conversation found to continue'\n\n const shellOutputStream = new TransformStream<string, string>();\n const outputWriter = shellOutputStream.writable.getWriter();\n // const pty = await import('node-pty');\n\n // recommened to use bun pty in windows\n const pty = process.versions.bun\n ? await import('bun-pty')\n : await import('node-pty');\n let shell = pty.spawn('claude', claudeArgs, {\n name: 'xterm-color',\n cols: process.stdout.columns - PREFIXLENGTH,\n rows: process.stdout.rows,\n cwd,\n env,\n });\n let pendingExitCode = Promise.withResolvers<number | null>();\n // TODO handle error if claude is not installed, show msg:\n // npm install -g @anthropic-ai/claude-code\n\n async function onData(data: string) {\n // append data to the buffer, so we can process it later\n await outputWriter.write(data);\n }\n shell.onData(onData);\n // when claude process exits, exit the main process with the same exit code\n shell.onExit(function onExit({ exitCode }) {\n if (continueOnCrash && exitCode !== 0) {\n if (errorNoConversation) {\n console.log(\n 'Claude crashed with \"No conversation found to continue\", exiting...'\n );\n return pendingExitCode.resolve(exitCode);\n }\n console.log('Claude crashed, restarting...');\n shell = pty.spawn('claude', ['--continue', 'continue'], {\n name: 'xterm-color',\n cols: process.stdout.columns - PREFIXLENGTH,\n rows: process.stdout.rows,\n cwd,\n env,\n });\n shell.onData(onData);\n shell.onExit(onExit);\n return;\n }\n return pendingExitCode.resolve(exitCode);\n });\n\n const exitClaudeCode = async () => {\n // send exit command to the shell, must sleep a bit to avoid claude treat it as pasted input\n await sflow(['\\r', '/exit', '\\r'])\n .forEach(async (e) => {\n await sleepms(200);\n shell.write(e);\n })\n .run();\n\n // wait for shell to exit or kill it with a timeout\n let exited = false;\n await Promise.race([\n new Promise<void>((resolve) =>\n shell.onExit(() => {\n resolve();\n exited = true;\n })\n ), // resolve when shell exits\n // if shell doesn't exit in 5 seconds, kill it\n new Promise<void>((resolve) =>\n setTimeout(() => {\n if (exited) return; // if shell already exited, do nothing\n shell.kill(); // kill the shell process if it doesn't exit in time\n resolve();\n }, 5000)\n ), // 5 seconds timeout\n ]);\n };\n\n // when current tty resized, resize the pty\n process.stdout.on('resize', () => {\n const { columns, rows } = process.stdout;\n shell.resize(columns - PREFIXLENGTH, rows);\n });\n\n const shellStdio = {\n writable: new WritableStream<string>({\n write: (data) => shell.write(data),\n close: () => {},\n }),\n readable: shellOutputStream.readable,\n };\n\n const ttr = new TerminalTextRender();\n const idleWatcher = !exitOnIdle\n ? null\n : createIdleWatcher(async () => {\n if (\n ttr\n .render()\n .replace(/\\s+/g, ' ')\n .match(/esc to interrupt|to run in background/)\n ) {\n console.log(\n '[claude-yes] Claude is idle, but seems still working, not exiting yet'\n );\n } else {\n console.log('[claude-yes] Claude is idle, exiting...');\n await exitClaudeCode();\n }\n }, exitOnIdle);\n const confirm = async () => {\n await sleepms(200);\n shell.write('\\r');\n };\n\n sflow(fromReadable<Buffer>(process.stdin))\n .map((buffer) => buffer.toString())\n // .forEach(e => appendFile('.cache/io.log', \"input |\" + JSON.stringify(e) + '\\n')) // for debugging\n .by(shellStdio)\n // handle ttr render\n .forEach((text) => ttr.write(text))\n\n // handle idle\n .forEach(() => idleWatcher?.ping()) // ping the idle watcher on output for last active time to keep track of claude status\n // auto-response\n .forkTo((e) =>\n e\n .map((e) => removeControlCharacters(e as string))\n .map((e) => e.replaceAll('\\r', '')) // remove carriage return\n .forEach(async (e) => {\n if (e.match(/❯ 1. Yes/)) return await confirm();\n if (e.match(/❯ 1. Dark mode✔|Press Enter to continue…/))\n return await confirm();\n if (e.match(/No conversation found to continue/)) {\n errorNoConversation = true; // set flag to true if error message is found\n return;\n }\n })\n // .forEach(e => appendFile('.cache/io.log', \"output|\" + JSON.stringify(e) + '\\n')) // for debugging\n .run()\n )\n .replaceAll(/.*(?:\\r\\n?|\\r?\\n)/g, (line) => prefix + line) // add prefix\n .map((e) =>\n removeControlCharactersFromStdout ? removeControlCharacters(e) : e\n )\n .to(fromWritable(process.stdout));\n\n const exitCode = await pendingExitCode.promise; // wait for the shell to exit\n verbose && console.log(`[claude-yes] claude exited with code ${exitCode}`);\n\n if (logFile) {\n verbose && console.log(`[claude-yes] Writing rendered logs to ${logFile}`);\n const logFilePath = path.resolve(logFile);\n await mkdir(path.dirname(logFilePath), { recursive: true }).catch(\n () => null\n );\n await writeFile(logFilePath, ttr.render());\n }\n\n return { exitCode, logs: ttr.render() };\n}\n\nexport { removeControlCharacters };\n",
|
|
126
|
+
"// src/time.ts\nvar Time = {\n Nanosecond: 1e-6,\n Microsecond: 1e-3,\n Millisecond: 1,\n Second: 1e3,\n Minute: 6e4,\n Hour: 36e5,\n Day: 864e5,\n // 24 hours\n Week: 6048e5,\n // 7 days\n Month: 2628e6,\n // 28 days\n Year: 31536e6,\n // 365 days\n Decade: 31536e7,\n // 10 years\n Century: 31536e8,\n // 100 years\n Millennium: 31536e9\n // 1000 years\n};\nvar units = {\n nanosecond: 1e-6,\n microsecond: 1e-3,\n millisecond: 1,\n second: 1e3,\n minute: 6e4,\n hour: 36e5,\n day: 864e5,\n // 24 hours\n week: 6048e5,\n // 7 days\n month: 2628e6,\n // 28 days\n year: 31536e6,\n // 365 days\n decade: 31536e7,\n // 10 years\n century: 31536e8,\n // 100 years\n millennium: 31536e9\n // 1000 years\n};\n\n// src/languages/de.ts\nvar de_default = {\n decimal: \",\",\n and: \"und\",\n units: {\n nanosecond: {\n name: (c) => c === 1 ? \"Nanosekunde\" : \"Nanosekunden\",\n abbreviation: \"ns\",\n matches: [\"ns\", \"nanos\", \"nanosekunde\", \"nanosekunden\"]\n },\n microsecond: {\n name: (c) => c === 1 ? \"Mikrosekunde\" : \"Mikrosekunden\",\n abbreviation: \"\\u03BCs\",\n matches: [\"us\", \"mk\", \"mikrosekunde\", \"mikrosekunden\", \"mikros\"]\n },\n millisecond: {\n name: (c) => c === 1 ? \"Millisekunde\" : \"Millisekunden\",\n abbreviation: \"ms\",\n matches: [\"ms\", \"ml\", \"mi\", \"millisekunde\", \"millisekunden\", \"millis\"]\n },\n second: {\n name: (c) => c === 1 ? \"Sekunde\" : \"Sekunden\",\n abbreviation: \"Sek.\",\n matches: [\"s\", \"sekunde\", \"sekunden\", \"sek\", \"seks\"]\n },\n minute: {\n name: (c) => c === 1 ? \"Minute\" : \"Minuten\",\n abbreviation: \"Min.\",\n matches: [\"m\", \"minute\", \"minuten\", \"min\", \"mins\"]\n },\n hour: {\n name: (c) => c === 1 ? \"Stunde\" : \"Stunden\",\n abbreviation: \"Std.\",\n matches: [\"h\", \"stunde\", \"stunden\", \"st\"]\n },\n day: {\n name: (c) => c === 1 ? \"Tag\" : \"Tage\",\n abbreviation: \"T.\",\n matches: [\"d\", \"t\", \"tag\", \"tage\"]\n },\n week: {\n name: (c) => c === 1 ? \"Woche\" : \"Wochen\",\n abbreviation: \"W.\",\n matches: [\"w\", \"wo\", \"woche\", \"wochen\"]\n },\n month: {\n name: (c) => c === 1 ? \"Monat\" : \"Monate\",\n abbreviation: \"M.\",\n matches: [\"mo\", \"monat\", \"monate\"]\n },\n year: {\n name: (c) => c === 1 ? \"Jahr\" : \"Jahre\",\n abbreviation: \"J.\",\n matches: [\"y\", \"a\", \"j\", \"jahr\", \"jahre\"]\n },\n decade: {\n name: (c) => c === 1 ? \"Jahrzehnt\" : \"Jahrzehnte\",\n abbreviation: \"Jz.\",\n matches: [\"jz\", \"jahrzehnt\", \"jahrzehnte\"]\n },\n century: {\n name: (c) => c === 1 ? \"Jahrhundert\" : \"Jahrhunderte\",\n abbreviation: \"Jh.\",\n matches: [\"c\", \"jh\", \"jhd\", \"jahrhundert\", \"jahrhunderte\"]\n },\n millennium: {\n name: (c) => c === 1 ? \"Jahrtausend\" : \"Jahrtausende\",\n abbreviation: \"Jt.\",\n matches: [\"jt\", \"jtd\", \"jtsd\", \"jahrt\", \"jahrtausend\", \"jahrtausende\"]\n }\n }\n};\n\n// src/languages/en.ts\nvar en_default = {\n decimal: \".\",\n and: \"and\",\n units: {\n nanosecond: {\n name: (c) => c === 1 ? \"nanosecond\" : \"nanoseconds\",\n abbreviation: \"ns\",\n matches: [\"nanosecond\", \"nanoseconds\", \"ns\"]\n },\n microsecond: {\n name: (c) => c === 1 ? \"microsecond\" : \"microseconds\",\n abbreviation: \"\\u03BCs\",\n matches: [\"microsecond\", \"microseconds\", \"\\u03BCs\"]\n },\n millisecond: {\n name: (c) => c === 1 ? \"millisecond\" : \"milliseconds\",\n abbreviation: \"ms\",\n matches: [\"millisecond\", \"milliseconds\", \"ms\"]\n },\n second: {\n name: (c) => c === 1 ? \"second\" : \"seconds\",\n abbreviation: \"s\",\n matches: [\"second\", \"seconds\", \"s\"]\n },\n minute: {\n name: (c) => c === 1 ? \"minute\" : \"minutes\",\n abbreviation: \"m\",\n matches: [\"minute\", \"minutes\", \"m\"]\n },\n hour: {\n name: (c) => c === 1 ? \"hour\" : \"hours\",\n abbreviation: \"h\",\n matches: [\"hour\", \"hours\", \"h\"]\n },\n day: {\n name: (c) => c === 1 ? \"day\" : \"days\",\n abbreviation: \"d\",\n matches: [\"day\", \"days\", \"d\"]\n },\n week: {\n name: (c) => c === 1 ? \"week\" : \"weeks\",\n abbreviation: \"w\",\n matches: [\"week\", \"weeks\", \"w\"]\n },\n month: {\n name: (c) => c === 1 ? \"month\" : \"months\",\n abbreviation: \"mo\",\n matches: [\"month\", \"months\", \"mo\"]\n },\n year: {\n name: (c) => c === 1 ? \"year\" : \"years\",\n abbreviation: \"y\",\n matches: [\"year\", \"years\", \"y\"]\n },\n decade: {\n name: (c) => c === 1 ? \"decade\" : \"decades\",\n abbreviation: \"dec\",\n matches: [\"decade\", \"decades\", \"dec\"]\n },\n century: {\n name: (c) => c === 1 ? \"century\" : \"centuries\",\n abbreviation: \"c\",\n matches: [\"century\", \"centuries\", \"c\"]\n },\n millennium: {\n name: (c) => c === 1 ? \"millennium\" : \"millennia\",\n abbreviation: \"mil\",\n matches: [\"millennium\", \"millennia\", \"mil\"]\n }\n }\n};\n\n// src/languages/es.ts\nvar es_default = {\n decimal: \",\",\n and: \"y\",\n units: {\n nanosecond: {\n name: (c) => c === 1 ? \"nanosegundo\" : \"nanosegundos\",\n abbreviation: \"ns\",\n matches: [\"nanosegundo\", \"nanosegundos\", \"ns\"]\n },\n microsecond: {\n name: (c) => c === 1 ? \"microsegundo\" : \"microsegundos\",\n abbreviation: \"\\u03BCs\",\n matches: [\"microsegundo\", \"microsegundos\", \"\\u03BCs\"]\n },\n millisecond: {\n name: (c) => c === 1 ? \"milisegundo\" : \"milisegundos\",\n abbreviation: \"ms\",\n matches: [\"milisegundo\", \"milisegundos\", \"ms\"]\n },\n second: {\n name: (c) => c === 1 ? \"segundo\" : \"segundos\",\n abbreviation: \"s\",\n matches: [\"segundo\", \"segundos\", \"s\"]\n },\n minute: {\n name: (c) => c === 1 ? \"minuto\" : \"minutos\",\n abbreviation: \"min\",\n matches: [\"minuto\", \"minutos\", \"min\"]\n },\n hour: {\n name: (c) => c === 1 ? \"hora\" : \"horas\",\n abbreviation: \"h\",\n matches: [\"hora\", \"horas\", \"h\"]\n },\n day: {\n name: (c) => c === 1 ? \"d\\xEDa\" : \"d\\xEDas\",\n abbreviation: \"d\",\n matches: [\"d\\xEDa\", \"d\\xEDas\", \"d\"]\n },\n week: {\n name: (c) => c === 1 ? \"semana\" : \"semanas\",\n abbreviation: \"sem\",\n matches: [\"semana\", \"semanas\", \"sem\"]\n },\n month: {\n name: (c) => c === 1 ? \"mes\" : \"meses\",\n abbreviation: \"mes\",\n matches: [\"mes\", \"meses\", \"mes\"]\n },\n year: {\n name: (c) => c === 1 ? \"a\\xF1o\" : \"a\\xF1os\",\n abbreviation: \"a\",\n matches: [\"a\\xF1o\", \"a\\xF1os\", \"a\"]\n },\n decade: {\n name: (c) => c === 1 ? \"d\\xE9cada\" : \"d\\xE9cadas\",\n abbreviation: \"d\\xE9c\",\n matches: [\"d\\xE9cada\", \"d\\xE9cadas\", \"d\\xE9c\"]\n },\n century: {\n name: (c) => c === 1 ? \"siglo\" : \"siglos\",\n abbreviation: \"sig\",\n matches: [\"siglo\", \"siglos\", \"sig\"]\n },\n millennium: {\n name: (c) => c === 1 ? \"milenio\" : \"milenios\",\n abbreviation: \"mil\",\n matches: [\"milenio\", \"milenios\", \"mil\"]\n }\n }\n};\n\n// src/languages/fr.ts\nvar fr_default = {\n decimal: \",\",\n and: \"et\",\n units: {\n nanosecond: {\n name: (c) => c === 1 ? \"nanoseconde\" : \"nanosecondes\",\n abbreviation: \"ns\",\n matches: [\"nanoseconde\", \"nanosecondes\", \"ns\"]\n },\n microsecond: {\n name: (c) => c === 1 ? \"microseconde\" : \"microsecondes\",\n abbreviation: \"\\u03BCs\",\n matches: [\"microseconde\", \"microsecondes\", \"\\u03BCs\"]\n },\n millisecond: {\n name: (c) => c === 1 ? \"milliseconde\" : \"millisecondes\",\n abbreviation: \"ms\",\n matches: [\"milliseconde\", \"millisecondes\", \"ms\"]\n },\n second: {\n name: (c) => c === 1 ? \"seconde\" : \"secondes\",\n abbreviation: \"s\",\n matches: [\"seconde\", \"secondes\", \"s\"]\n },\n minute: {\n name: (c) => c === 1 ? \"minute\" : \"minutes\",\n abbreviation: \"min\",\n matches: [\"minute\", \"minutes\", \"min\"]\n },\n hour: {\n name: (c) => c === 1 ? \"heure\" : \"heures\",\n abbreviation: \"h\",\n matches: [\"heure\", \"heures\", \"h\"]\n },\n day: {\n name: (c) => c === 1 ? \"jour\" : \"jours\",\n abbreviation: \"j\",\n matches: [\"jour\", \"jours\", \"j\"]\n },\n week: {\n name: (c) => c === 1 ? \"semaine\" : \"semaines\",\n abbreviation: \"sem\",\n matches: [\"semaine\", \"semaines\", \"sem\"]\n },\n month: {\n name: (_c) => \"mois\",\n // In French, the singular and plural form is identical.\n abbreviation: \"mo\",\n matches: [\"mois\", \"mo\"]\n },\n year: {\n name: (c) => c === 1 ? \"an\" : \"ans\",\n abbreviation: \"an\",\n matches: [\"an\", \"ans\"]\n },\n decade: {\n name: (c) => c === 1 ? \"d\\xE9cennie\" : \"d\\xE9cennies\",\n abbreviation: \"dec\",\n matches: [\"d\\xE9cennie\", \"d\\xE9cennies\", \"dec\"]\n },\n century: {\n name: (c) => c === 1 ? \"si\\xE8cle\" : \"si\\xE8cles\",\n abbreviation: \"si\\xE8\",\n matches: [\"si\\xE8cle\", \"si\\xE8cles\", \"si\\xE8\"]\n },\n millennium: {\n name: (c) => c === 1 ? \"mill\\xE9naire\" : \"mill\\xE9naires\",\n abbreviation: \"mil\",\n matches: [\"mill\\xE9naire\", \"mill\\xE9naires\", \"mil\"]\n }\n }\n};\n\n// src/languages/it.ts\nvar it_default = {\n decimal: \",\",\n and: \"e\",\n units: {\n nanosecond: {\n name: (c) => c === 1 ? \"nanosecondo\" : \"nanosecondi\",\n abbreviation: \"ns\",\n matches: [\"nanosecondo\", \"nanosecondi\", \"ns\"]\n },\n microsecond: {\n name: (c) => c === 1 ? \"microsecondo\" : \"microsecondi\",\n abbreviation: \"\\u03BCs\",\n matches: [\"microsecondo\", \"microsecondi\", \"\\u03BCs\"]\n },\n millisecond: {\n name: (c) => c === 1 ? \"millisecondo\" : \"millisecondi\",\n abbreviation: \"ms\",\n matches: [\"millisecondo\", \"millisecondi\", \"ms\"]\n },\n second: {\n name: (c) => c === 1 ? \"secondo\" : \"secondi\",\n abbreviation: \"s\",\n matches: [\"secondo\", \"secondi\", \"s\"]\n },\n minute: {\n name: (c) => c === 1 ? \"minuto\" : \"minuti\",\n abbreviation: \"min\",\n matches: [\"minuto\", \"minuti\", \"min\"]\n },\n hour: {\n name: (c) => c === 1 ? \"ora\" : \"ore\",\n abbreviation: \"h\",\n matches: [\"ora\", \"ore\", \"h\"]\n },\n day: {\n name: (c) => c === 1 ? \"giorno\" : \"giorni\",\n abbreviation: \"g\",\n matches: [\"giorno\", \"giorni\", \"g\"]\n },\n week: {\n name: (c) => c === 1 ? \"settimana\" : \"settimane\",\n abbreviation: \"sett\",\n matches: [\"settimana\", \"settimane\", \"sett\"]\n },\n month: {\n name: (c) => c === 1 ? \"mese\" : \"mesi\",\n abbreviation: \"mes\",\n matches: [\"mese\", \"mesi\", \"mes\"]\n },\n year: {\n name: (c) => c === 1 ? \"anno\" : \"anni\",\n abbreviation: \"a\",\n matches: [\"anno\", \"anni\", \"a\"]\n },\n decade: {\n name: (c) => c === 1 ? \"decennio\" : \"decenni\",\n abbreviation: \"dec\",\n matches: [\"decennio\", \"decenni\", \"dec\"]\n },\n century: {\n name: (c) => c === 1 ? \"secolo\" : \"secoli\",\n abbreviation: \"sc\",\n matches: [\"secolo\", \"secoli\", \"sc\"]\n },\n millennium: {\n name: (c) => c === 1 ? \"millennio\" : \"millenni\",\n abbreviation: \"mil\",\n matches: [\"millennio\", \"millenni\", \"mil\"]\n }\n }\n};\n\n// src/languages/mi.ts\nvar mi_default = {\n decimal: \".\",\n and: \"me te\",\n units: {\n nanosecond: {\n name: \"h\\u0113kona nanomiri\",\n matches: [\n \"h\\u0113kona nanomiri\",\n \"h\\u0113konananomiri\",\n \"hekona nanomiri\",\n \"hekonananomiri\"\n ]\n },\n microsecond: {\n name: \"h\\u0113kona miriona\",\n matches: [\n \"h\\u0113kona miriona\",\n \"h\\u0113konamiriona\",\n \"hekona miriona\",\n \"hekonamiriona\"\n ]\n },\n millisecond: {\n name: \"h\\u0113kona miri\",\n matches: [\"h\\u0113kona miri\", \"k\\u0101konamiri\", \"hekona miri\", \"hekonamiri\"]\n },\n second: {\n name: \"h\\u0113kona\",\n matches: [\"h\\u0113kona\", \"hekona\"]\n },\n minute: {\n name: \"meneti\",\n matches: [\"meneti\"]\n },\n hour: {\n name: \"h\\u0101ora\",\n matches: [\"h\\u0101ora\", \"haora\"]\n },\n day: {\n name: \"r\\u0101\",\n matches: [\"r\\u0101\", \"ra\"]\n },\n week: {\n name: \"wiki\",\n matches: [\"wiki\"]\n },\n month: {\n name: \"marama\",\n matches: [\"marama\"]\n },\n year: {\n name: \"tau\",\n matches: [\"tau\", \"houanga\"]\n },\n decade: {\n name: \"tekau tau\",\n matches: [\"tekautau\", \"tekau tau\"]\n },\n century: {\n name: \"rau tau\",\n matches: [\"rautau\", \"rau tau\"]\n },\n millennium: {\n name: \"mano tau\",\n matches: [\"manotau\", \"mano tau\"]\n }\n }\n};\n\n// src/languages/nl.ts\nvar nl_default = {\n decimal: \",\",\n and: \"en\",\n units: {\n nanosecond: {\n name: (c) => c === 1 ? \"nanoseconde\" : \"nanoseconden\",\n abbreviation: \"ns\",\n matches: [\"nanoseconde\", \"nanoseconden\", \"ns\"]\n },\n microsecond: {\n name: (c) => c === 1 ? \"microseconde\" : \"microseconden\",\n abbreviation: \"\\u03BCs\",\n matches: [\"microseconde\", \"microseconden\", \"\\u03BCs\"]\n },\n millisecond: {\n name: (c) => c === 1 ? \"milliseconde\" : \"milliseconden\",\n abbreviation: \"ms\",\n matches: [\"milliseconde\", \"milliseconden\", \"ms\"]\n },\n second: {\n name: (c) => c === 1 ? \"seconde\" : \"seconden\",\n abbreviation: \"s\",\n matches: [\"seconde\", \"seconden\", \"s\"]\n },\n minute: {\n name: (c) => c === 1 ? \"minuut\" : \"minuten\",\n abbreviation: \"min\",\n matches: [\"minuut\", \"minuten\", \"min\"]\n },\n hour: {\n name: (c) => c === 1 ? \"uur\" : \"uren\",\n abbreviation: \"h\",\n matches: [\"uur\", \"uren\", \"h\"]\n },\n day: {\n name: (c) => c === 1 ? \"dag\" : \"dagen\",\n abbreviation: \"d\",\n matches: [\"dag\", \"dagen\", \"d\"]\n },\n week: {\n name: (c) => c === 1 ? \"week\" : \"weken\",\n abbreviation: \"w\",\n matches: [\"week\", \"weken\", \"w\"]\n },\n month: {\n name: (c) => c === 1 ? \"maand\" : \"maanden\",\n abbreviation: \"mnd\",\n matches: [\"maand\", \"maanden\", \"mnd\"]\n },\n year: {\n name: (c) => c === 1 ? \"jaar\" : \"jaren\",\n abbreviation: \"jr\",\n matches: [\"jaar\", \"jaren\", \"jr\"]\n },\n decade: {\n name: (c) => c === 1 ? \"decennium\" : \"decennia\",\n abbreviation: \"dec\",\n matches: [\"decennium\", \"decennia\", \"dec\"]\n },\n century: {\n name: (c) => c === 1 ? \"eeuw\" : \"eeuwen\",\n abbreviation: \"eeuw\",\n matches: [\"eeuw\", \"eeuwen\"]\n },\n millennium: {\n name: (c) => c === 1 ? \"millennium\" : \"millennia\",\n abbreviation: \"mil\",\n matches: [\"millennium\", \"millennia\", \"mil\"]\n }\n }\n};\n\n// src/languages/ru.ts\nvar UnitsMap = {\n \\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B: [\"\\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", \"\\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\"],\n \\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B: [\"\\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", \"\\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\"],\n \\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B: [\"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\"],\n \\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B: [\"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\"],\n \\u043C\\u0438\\u043D\\u0443\\u0442\\u044B: [\"\\u043C\\u0438\\u043D\\u0443\\u0442\\u0430\", \"\\u043C\\u0438\\u043D\\u0443\\u0442\\u044B\", \"\\u043C\\u0438\\u043D\\u0443\\u0442\"],\n \\u0447\\u0430\\u0441\\u044B: [\"\\u0447\\u0430\\u0441\", \"\\u0447\\u0430\\u0441\\u0430\", \"\\u0447\\u0430\\u0441\\u043E\\u0432\"],\n \\u0434\\u043D\\u0438: [\"\\u0434\\u0435\\u043D\\u044C\", \"\\u0434\\u043D\\u044F\", \"\\u0434\\u043D\\u0435\\u0439\"],\n \\u043D\\u0435\\u0434\\u0435\\u043B\\u0438: [\"\\u043D\\u0435\\u0434\\u0435\\u043B\\u044F\", \"\\u043D\\u0435\\u0434\\u0435\\u043B\\u0438\", \"\\u043D\\u0435\\u0434\\u0435\\u043B\\u044C\"],\n \\u043C\\u0435\\u0441\\u044F\\u0446\\u044B: [\"\\u043C\\u0435\\u0441\\u044F\\u0446\", \"\\u043C\\u0435\\u0441\\u044F\\u0446\\u0430\", \"\\u043C\\u0435\\u0441\\u044F\\u0446\\u0435\\u0432\"],\n \\u0433\\u043E\\u0434\\u044B: [\"\\u0433\\u043E\\u0434\", \"\\u0433\\u043E\\u0434\\u0430\", \"\\u043B\\u0435\\u0442\"],\n \\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u044F: [\"\\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u0435\", \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u044F\", \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u0439\"],\n \\u0432\\u0435\\u043A\\u0430: [\"\\u0432\\u0435\\u043A\", \"\\u0432\\u0435\\u043A\\u0430\", \"\\u0432\\u0435\\u043A\\u043E\\u0432\"],\n \\u0442\\u044B\\u0441\\u044F\\u0447\\u0435\\u043B\\u0435\\u0442\\u0438\\u044F: [\"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0435\\u043B\\u0435\\u0442\\u0438\\u0435\", \"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0435\\u043B\\u0435\\u0442\\u0438\\u044F\", \"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0435\\u043B\\u0435\\u0442\\u0438\\u0439\"]\n};\nfunction formatTime(unit, count) {\n const words = UnitsMap[unit];\n const lastDigit = count % 10;\n const lastTwoDigits = count % 100;\n let word;\n if (lastTwoDigits >= 11 && lastTwoDigits <= 19) word = words[2];\n else if (lastDigit === 1) word = words[0];\n else if (lastDigit >= 2 && lastDigit <= 4) word = words[1];\n else word = words[2];\n return word || \"\";\n}\nvar ru_default = {\n decimal: \".\",\n and: \"\\u0438\",\n units: {\n nanosecond: {\n name: (c) => formatTime(\"\\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", c),\n abbreviation: \"\\u043D\\u0441\",\n matches: [\"\\u043D\\u0441\", \"\\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", \"\\u043D\\u0430\\u043D\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\"]\n },\n microsecond: {\n name: (c) => formatTime(\"\\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", c),\n abbreviation: \"\\u043C\\u043A\\u0441\",\n matches: [\"\\u043C\\u043A\\u0441\", \"\\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", \"\\u043C\\u0438\\u043A\\u0440\\u043E\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\"]\n },\n millisecond: {\n name: (c) => formatTime(\"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", c),\n abbreviation: \"\\u043C\\u0441\",\n matches: [\"\\u043C\\u0441\", \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", \"\\u043C\\u0438\\u043B\\u043B\\u0438\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", \"\\u043C\\u0441\\u0435\\u043A\"]\n },\n second: {\n name: (c) => formatTime(\"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", c),\n abbreviation: \"\\u0441\",\n matches: [\"\\u0441\", \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u0430\", \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\", \"\\u0441\\u0435\\u043A\\u0443\\u043D\\u0434\\u044B\", \"\\u0441\\u0435\\u043A\"]\n },\n minute: {\n name: (c) => formatTime(\"\\u043C\\u0438\\u043D\\u0443\\u0442\\u044B\", c),\n abbreviation: \"\\u043C\",\n matches: [\"\\u043C\", \"\\u043C\\u0438\\u043D\\u0443\\u0442\\u0430\", \"\\u043C\\u0438\\u043D\\u0443\\u0442\\u044B\", \"\\u043C\\u0438\\u043D\\u0443\\u0442\", \"\\u043C\\u0438\\u043D\"]\n },\n hour: {\n name: (c) => formatTime(\"\\u0447\\u0430\\u0441\\u044B\", c),\n abbreviation: \"\\u0447\",\n matches: [\"\\u0447\", \"\\u0447\\u0430\\u0441\", \"\\u0447\\u0430\\u0441\\u0430\", \"\\u0447\\u0430\\u0441\\u043E\\u0432\"]\n },\n day: {\n name: (c) => formatTime(\"\\u0434\\u043D\\u0438\", c),\n abbreviation: \"\\u0434\",\n matches: [\"\\u0434\", \"\\u0434\\u0435\\u043D\\u044C\", \"\\u0434\\u043D\\u044F\", \"\\u0434\\u043D\\u0435\\u0439\"]\n },\n week: {\n name: (c) => formatTime(\"\\u043D\\u0435\\u0434\\u0435\\u043B\\u0438\", c),\n abbreviation: \"\\u043D\",\n matches: [\"\\u043D\", \"\\u043D\\u0435\\u0434\\u0435\\u043B\\u044F\", \"\\u043D\\u0435\\u0434\\u0435\\u043B\\u0438\", \"\\u043D\\u0435\\u0434\\u0435\\u043B\\u044C\"]\n },\n month: {\n name: (c) => formatTime(\"\\u043C\\u0435\\u0441\\u044F\\u0446\\u044B\", c),\n abbreviation: \"\\u043C\\u0435\\u0441\",\n matches: [\"\\u043C\\u0435\\u0441\", \"\\u043C\\u0435\\u0441\\u044F\\u0446\", \"\\u043C\\u0435\\u0441\\u044F\\u0446\\u0430\", \"\\u043C\\u0435\\u0441\\u044F\\u0446\\u0435\\u0432\"]\n },\n year: {\n name: (c) => formatTime(\"\\u0433\\u043E\\u0434\\u044B\", c),\n abbreviation: \"\\u0433\",\n matches: [\"\\u0433\", \"\\u0433\\u043E\\u0434\", \"\\u0433\\u043E\\u0434\\u0430\", \"\\u043B\\u0435\\u0442\", \"\\u043B\"]\n },\n decade: {\n name: (c) => formatTime(\"\\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u044F\", c),\n abbreviation: \"\\u0434\\u0441\\u043B\",\n matches: [\n \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u0435\",\n \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u044F\",\n \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u0438\\u043B\\u0435\\u0442\\u0438\\u0439\",\n \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u043A\\u043E\\u0432 \\u043B\\u0435\\u0442\",\n \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u043A\\u0430 \\u043B\\u0435\\u0442\",\n \"\\u0434\\u0435\\u0441\\u044F\\u0442\\u043E\\u043A \\u043B\\u0435\\u0442\"\n ]\n },\n century: {\n name: (c) => formatTime(\"\\u0432\\u0435\\u043A\\u0430\", c),\n abbreviation: \"\\u0432\\u043A\",\n matches: [\"\\u0432\\u0435\\u043A\", \"\\u0432\\u0435\\u043A\\u0430\", \"\\u0432\\u0435\\u043A\\u043E\\u0432\"]\n },\n millennium: {\n name: (c) => formatTime(\"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0435\\u043B\\u0435\\u0442\\u0438\\u044F\", c),\n abbreviation: \"\\u0442\\u044B\\u0441\",\n matches: [\n \"\\u0442\\u044B\\u0441\",\n \"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0435\\u043B\\u0435\\u0442\\u0438\\u0435\",\n \"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0430\\u043B\\u0435\\u0442\\u0438\\u044F\",\n \"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0430\\u043B\\u0435\\u0442\\u0438\\u0439\",\n \"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0430 \\u043B\\u0435\\u0442\",\n \"\\u0442\\u044B\\u0441\\u044F\\u0447\\u0438 \\u043B\\u0435\\u0442\",\n \"\\u0442\\u044B\\u0441\\u044F\\u0447 \\u043B\\u0435\\u0442\"\n ]\n }\n }\n};\n\n// src/languages/index.ts\nvar languages = { de: de_default, en: en_default, es: es_default, fr: fr_default, it: it_default, mi: mi_default, nl: nl_default, ru: ru_default };\n\n// src/languages/helpers/make-language.ts\nfunction makeLanguage(languageDefinition) {\n const decimalSeparator = languageDefinition.decimal;\n const thousandSeparator = decimalSeparator === \".\" ? \",\" : \".\";\n const matcherRegex = new RegExp(\n // biome-ignore lint/style/useTemplate: Better readability\n `(?![${decimalSeparator}${thousandSeparator}])[\\\\d${decimalSeparator}${thousandSeparator}]+|(?<=\\\\s|\\\\d)((?:-)?(` + // Units\n Object.values(languageDefinition.units).flatMap(({ matches }) => matches).sort((a, b) => b.length - a.length).join(\"|\") + \"))\",\n \"gi\"\n );\n const timeUnits = Object.fromEntries(\n Object.entries(languageDefinition.units).flatMap(\n ([unit, definition]) => [unit, ...definition.matches].map((m) => [\n m,\n { ...definition, ms: units[unit] }\n ])\n )\n );\n return {\n andValue: languageDefinition.and,\n decimalSeparator,\n thousandSeparator,\n matcherRegex,\n timeUnits,\n supportsAbbreviations: Object.values(timeUnits).every((u) => u.abbreviation)\n };\n}\nvar languageCache = /* @__PURE__ */ new Map();\nfunction getLanguage(localeOrLanguageDefinition) {\n const languageDefinition = typeof localeOrLanguageDefinition === \"string\" ? languages[localeOrLanguageDefinition] : localeOrLanguageDefinition;\n if (!languageDefinition) throw new Error(\"Invalid language\");\n const key = JSON.stringify(languageDefinition);\n if (languageCache.has(key)) return languageCache.get(key);\n const language = makeLanguage(languageDefinition);\n languageCache.set(key, language);\n return language;\n}\n\n// src/format/helpers/format-unit.ts\nfunction formatUnit(unit, count, options) {\n const { useAbbreviations, hideUnitNames, minimumDigits } = options;\n const amount = count.toString().padStart(minimumDigits, \"0\");\n if (hideUnitNames) return amount;\n const name = pluraliseUnit(unit, count, options);\n return `${amount}${useAbbreviations ? \"\" : \" \"}${name}`;\n}\nfunction pluraliseUnit(unit, count, options) {\n const { useAbbreviations } = options;\n const factory = useAbbreviations && unit.abbreviation ? unit.abbreviation : unit.name;\n return typeof factory === \"function\" ? factory(Math.abs(count)) : factory;\n}\n\n// src/format/helpers/parse-milliseconds.ts\nvar parseUnits = {\n year: units.year,\n day: units.day,\n hour: units.hour,\n minute: units.minute,\n second: units.second,\n millisecond: units.millisecond,\n microsecond: units.microsecond,\n nanosecond: units.nanosecond\n};\nfunction parseMilliseconds(milliseconds, includedUnits = Object.keys(parseUnits)) {\n let remainingMs = milliseconds;\n const parsed = {};\n for (const key in parseUnits) {\n const unit = key;\n if (includedUnits.includes(unit)) {\n parsed[unit] = Math.trunc(remainingMs / parseUnits[unit]);\n remainingMs %= parseUnits[unit];\n } else {\n parsed[unit] = null;\n }\n }\n return parsed;\n}\n\n// src/format/helpers/resolve-options.ts\nvar defaultFormatOptions = {\n hideUnitNames: false,\n useAbbreviations: false,\n includeZero: false,\n includeMs: false,\n includeSubMs: false,\n includedUnits: [\"year\", \"day\", \"hour\", \"minute\", \"second\"],\n unitLimit: -1,\n unitSeparator: \" \",\n minimumDigits: 0\n};\nfunction resolveFormatOptions(options) {\n let {\n hideUnitNames = defaultFormatOptions.hideUnitNames,\n useAbbreviations = defaultFormatOptions.useAbbreviations,\n includeZero = defaultFormatOptions.includeZero,\n includeMs = defaultFormatOptions.includeMs,\n includeSubMs = defaultFormatOptions.includeSubMs,\n includedUnits = [...defaultFormatOptions.includedUnits],\n unitLimit = defaultFormatOptions.unitLimit,\n unitSeparator = defaultFormatOptions.unitSeparator,\n minimumDigits = defaultFormatOptions.minimumDigits\n } = options;\n if (typeof includeMs !== \"boolean\")\n throw new Error(\"Invalid includeMs option\");\n if (typeof includeSubMs !== \"boolean\")\n throw new Error(\"Invalid includeSubMs option\");\n if (typeof hideUnitNames !== \"boolean\")\n throw new Error(\"Invalid hideUnitNames option\");\n if (typeof useAbbreviations !== \"boolean\")\n throw new Error(\"Invalid useAbbreviations option\");\n if (typeof includeZero !== \"boolean\")\n throw new Error(\"Invalid includeZero option\");\n if (!Array.isArray(includedUnits))\n throw new Error(\"Invalid includedUnits option\");\n if (typeof unitLimit !== \"number\")\n throw new Error(\"Invalid unitLimit option\");\n if (typeof unitSeparator !== \"string\")\n throw new Error(\"Invalid unitSeparator option\");\n if (typeof minimumDigits !== \"number\")\n throw new Error(\"Invalid minimumDigits option\");\n if (includeSubMs) {\n if (includeMs === false)\n throw new Error(\n \"Conflicting options: `includeSubMs` is true while `includeMs` is false.\"\n );\n includeMs = true;\n }\n if (includeMs) includedUnits.push(\"millisecond\");\n if (includeSubMs) includedUnits.push(\"microsecond\", \"nanosecond\");\n return {\n hideUnitNames,\n useAbbreviations,\n includeZero,\n includedUnits,\n unitLimit,\n unitSeparator,\n minimumDigits,\n __transformDuration__: options.__transformDuration__\n };\n}\nvar formatOptionsPresets = {\n short: {\n useAbbreviations: true,\n unitLimit: 2\n },\n fullPrecision: {\n includeMs: true,\n includeSubMs: true\n },\n colonNotation: {\n hideUnitNames: true,\n unitLimit: 3,\n includeZero: true,\n includedUnits: [\"hour\", \"minute\", \"second\"],\n unitSeparator: \":\",\n minimumDigits: 2,\n // I couldn't think of an option that would be better than this\n __transformDuration__: (duration) => duration.replace(/^00:/, \"\")\n }\n};\nfunction resolveFormatPresetOptions(options = {}) {\n if (typeof options === \"string\") options = { extends: options };\n return {\n ...options.extends && formatOptionsPresets[options.extends],\n ...options,\n preset: void 0\n };\n}\n\n// src/format/index.ts\nfunction formatMilliseconds(milliseconds, language = getLanguage(\"en\"), options = {}) {\n const presetOptions = resolveFormatPresetOptions(options);\n const resolvedOptions = resolveFormatOptions(presetOptions);\n const { includedUnits } = resolvedOptions;\n const time = parseMilliseconds(milliseconds, includedUnits);\n const entries = [];\n for (const key in time) {\n const unit = key;\n const value = time[unit];\n entries.push({ unit: language.timeUnits[unit], amount: value });\n }\n const { includeZero } = resolvedOptions;\n const filtered = entries.filter((entry) => {\n if (entry.amount === null) return false;\n if (entry.amount === 0) return includeZero;\n return true;\n });\n const { unitLimit } = resolvedOptions;\n const formatted = [];\n for (let i = 0; i < filtered.length; i++) {\n const entry = filtered.at(i);\n if (unitLimit !== -1 && formatted.length >= unitLimit) break;\n const format = formatUnit(entry.unit, entry.amount, resolvedOptions);\n formatted.push(format);\n }\n const { unitSeparator, __transformDuration__ } = resolvedOptions;\n const duration = formatted.join(unitSeparator) || null;\n return duration && __transformDuration__ ? __transformDuration__(duration) : duration;\n}\n\n// src/parse/index.ts\nfunction parseDuration(duration, language = getLanguage(\"en\")) {\n const matches = duration.toLowerCase().match(language.matcherRegex);\n if (!matches || matches.length === 0) return 0;\n let total = 0;\n for (let i = 0; i < matches.length; i += 2) {\n const [amount, unit] = matches.slice(i, i + 2);\n const ms2 = language.timeUnits[unit]?.ms;\n if (ms2) total += Number(amount) * ms2;\n }\n return total;\n}\n\n// src/factory.ts\nfunction createMs(options = {}) {\n const language = getLanguage(options.language ?? \"en\");\n const defaultFormatOptions2 = (\n //\n resolveFormatPresetOptions(options.formatOptions)\n );\n function ms2(...args) {\n switch (typeof args[0]) {\n case \"number\": {\n const [milliseconds, additionalOptions] = args;\n if (Number.isNaN(milliseconds) || !Number.isFinite(milliseconds))\n throw new TypeError(\"Expected a finite number\");\n if (milliseconds < 0) throw new TypeError(\"Expected a positive number\");\n const presetOptions = resolveFormatPresetOptions(additionalOptions);\n const formatOptions = { ...defaultFormatOptions2, ...presetOptions };\n return formatMilliseconds(milliseconds, language, formatOptions);\n }\n case \"string\": {\n const [duration] = args;\n return parseDuration(duration, language) ?? 0;\n }\n default:\n throw new TypeError(\"Expected a finite number or a string\");\n }\n }\n return ms2;\n}\n\n// src/index.ts\nvar ms = createMs({ language: \"en\" });\nvar index_default = ms;\nexport {\n Time,\n createMs,\n index_default as default,\n formatMilliseconds,\n getLanguage,\n languages,\n ms,\n parseDuration,\n parseMilliseconds,\n parseUnits,\n units\n};\n",
|
|
127
|
+
"'use strict'\n\nimport { notStrictEqual, strictEqual } from 'assert'\nimport cliui from 'cliui'\nimport escalade from 'escalade/sync'\nimport { inspect } from 'util'\nimport { fileURLToPath } from 'url';\nimport Parser from 'yargs-parser'\nimport { basename, dirname, extname, relative, resolve, join } from 'path'\nimport { getProcessArgvBin } from '../../build/lib/utils/process-argv.js'\nimport stringWidth from 'string-width';\nimport y18n from 'y18n'\nimport { createRequire } from 'node:module';\nimport getCallerFile from 'get-caller-file';\nimport { readFileSync, readdirSync } from 'node:fs'\n\nconst __dirname = fileURLToPath(import.meta.url);\nconst mainFilename = __dirname.substring(0, __dirname.lastIndexOf('node_modules'));\nconst require = createRequire(import.meta.url);\n\nexport default {\n assert: {\n notStrictEqual,\n strictEqual\n },\n cliui,\n findUp: escalade,\n getEnv: (key) => {\n return process.env[key]\n },\n inspect,\n getProcessArgvBin,\n mainFilename: mainFilename || process.cwd(),\n Parser,\n path: {\n basename,\n dirname,\n extname,\n relative,\n resolve,\n join\n },\n process: {\n argv: () => process.argv,\n cwd: process.cwd,\n emitWarning: (warning, type) => process.emitWarning(warning, type),\n execPath: () => process.execPath,\n exit: (code) => {\n // eslint-disable-next-line n/no-process-exit\n process.exit(code);\n },\n nextTick: process.nextTick,\n stdColumns: typeof process.stdout.columns !== 'undefined' ? process.stdout.columns : null\n },\n readFileSync,\n readdirSync,\n require,\n getCallerFile: () => {\n const callerFile = getCallerFile(3);\n return callerFile.match(/^file:\\/\\//) ? fileURLToPath(callerFile) : callerFile;\n },\n stringWidth,\n y18n: y18n({\n directory: resolve(__dirname, '../../../locales'),\n updateFiles: false\n })\n}\n",
|
|
128
|
+
"'use strict';\nconst align = {\n right: alignRight,\n center: alignCenter\n};\nconst top = 0;\nconst right = 1;\nconst bottom = 2;\nconst left = 3;\nexport class UI {\n constructor(opts) {\n var _a;\n this.width = opts.width;\n this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;\n this.rows = [];\n }\n span(...args) {\n const cols = this.div(...args);\n cols.span = true;\n }\n resetOutput() {\n this.rows = [];\n }\n div(...args) {\n if (args.length === 0) {\n this.div('');\n }\n if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {\n return this.applyLayoutDSL(args[0]);\n }\n const cols = args.map(arg => {\n if (typeof arg === 'string') {\n return this.colFromString(arg);\n }\n return arg;\n });\n this.rows.push(cols);\n return cols;\n }\n shouldApplyLayoutDSL(...args) {\n return args.length === 1 && typeof args[0] === 'string' &&\n /[\\t\\n]/.test(args[0]);\n }\n applyLayoutDSL(str) {\n const rows = str.split('\\n').map(row => row.split('\\t'));\n let leftColumnWidth = 0;\n // simple heuristic for layout, make sure the\n // second column lines up along the left-hand.\n // don't allow the first column to take up more\n // than 50% of the screen.\n rows.forEach(columns => {\n if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {\n leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));\n }\n });\n // generate a table:\n // replacing ' ' with padding calculations.\n // using the algorithmically generated width.\n rows.forEach(columns => {\n this.div(...columns.map((r, i) => {\n return {\n text: r.trim(),\n padding: this.measurePadding(r),\n width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined\n };\n }));\n });\n return this.rows[this.rows.length - 1];\n }\n colFromString(text) {\n return {\n text,\n padding: this.measurePadding(text)\n };\n }\n measurePadding(str) {\n // measure padding without ansi escape codes\n const noAnsi = mixin.stripAnsi(str);\n return [0, noAnsi.match(/\\s*$/)[0].length, 0, noAnsi.match(/^\\s*/)[0].length];\n }\n toString() {\n const lines = [];\n this.rows.forEach(row => {\n this.rowToString(row, lines);\n });\n // don't display any lines with the\n // hidden flag set.\n return lines\n .filter(line => !line.hidden)\n .map(line => line.text)\n .join('\\n');\n }\n rowToString(row, lines) {\n this.rasterize(row).forEach((rrow, r) => {\n let str = '';\n rrow.forEach((col, c) => {\n const { width } = row[c]; // the width with padding.\n const wrapWidth = this.negatePadding(row[c]); // the width without padding.\n let ts = col; // temporary string used during alignment/padding.\n if (wrapWidth > mixin.stringWidth(col)) {\n ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));\n }\n // align the string within its column.\n if (row[c].align && row[c].align !== 'left' && this.wrap) {\n const fn = align[row[c].align];\n ts = fn(ts, wrapWidth);\n if (mixin.stringWidth(ts) < wrapWidth) {\n ts += ' '.repeat((width || 0) - mixin.stringWidth(ts) - 1);\n }\n }\n // apply border and padding to string.\n const padding = row[c].padding || [0, 0, 0, 0];\n if (padding[left]) {\n str += ' '.repeat(padding[left]);\n }\n str += addBorder(row[c], ts, '| ');\n str += ts;\n str += addBorder(row[c], ts, ' |');\n if (padding[right]) {\n str += ' '.repeat(padding[right]);\n }\n // if prior row is span, try to render the\n // current row on the prior line.\n if (r === 0 && lines.length > 0) {\n str = this.renderInline(str, lines[lines.length - 1]);\n }\n });\n // remove trailing whitespace.\n lines.push({\n text: str.replace(/ +$/, ''),\n span: row.span\n });\n });\n return lines;\n }\n // if the full 'source' can render in\n // the target line, do so.\n renderInline(source, previousLine) {\n const match = source.match(/^ */);\n const leadingWhitespace = match ? match[0].length : 0;\n const target = previousLine.text;\n const targetTextWidth = mixin.stringWidth(target.trimRight());\n if (!previousLine.span) {\n return source;\n }\n // if we're not applying wrapping logic,\n // just always append to the span.\n if (!this.wrap) {\n previousLine.hidden = true;\n return target + source;\n }\n if (leadingWhitespace < targetTextWidth) {\n return source;\n }\n previousLine.hidden = true;\n return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft();\n }\n rasterize(row) {\n const rrows = [];\n const widths = this.columnWidths(row);\n let wrapped;\n // word wrap all columns, and create\n // a data-structure that is easy to rasterize.\n row.forEach((col, c) => {\n // leave room for left and right padding.\n col.width = widths[c];\n if (this.wrap) {\n wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\\n');\n }\n else {\n wrapped = col.text.split('\\n');\n }\n if (col.border) {\n wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');\n wrapped.push(\"'\" + '-'.repeat(this.negatePadding(col) + 2) + \"'\");\n }\n // add top and bottom padding.\n if (col.padding) {\n wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));\n wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));\n }\n wrapped.forEach((str, r) => {\n if (!rrows[r]) {\n rrows.push([]);\n }\n const rrow = rrows[r];\n for (let i = 0; i < c; i++) {\n if (rrow[i] === undefined) {\n rrow.push('');\n }\n }\n rrow.push(str);\n });\n });\n return rrows;\n }\n negatePadding(col) {\n let wrapWidth = col.width || 0;\n if (col.padding) {\n wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);\n }\n if (col.border) {\n wrapWidth -= 4;\n }\n return wrapWidth;\n }\n columnWidths(row) {\n if (!this.wrap) {\n return row.map(col => {\n return col.width || mixin.stringWidth(col.text);\n });\n }\n let unset = row.length;\n let remainingWidth = this.width;\n // column widths can be set in config.\n const widths = row.map(col => {\n if (col.width) {\n unset--;\n remainingWidth -= col.width;\n return col.width;\n }\n return undefined;\n });\n // any unset widths should be calculated.\n const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;\n return widths.map((w, i) => {\n if (w === undefined) {\n return Math.max(unsetWidth, _minWidth(row[i]));\n }\n return w;\n });\n }\n}\nfunction addBorder(col, ts, style) {\n if (col.border) {\n if (/[.']-+[.']/.test(ts)) {\n return '';\n }\n if (ts.trim().length !== 0) {\n return style;\n }\n return ' ';\n }\n return '';\n}\n// calculates the minimum width of\n// a column, based on padding preferences.\nfunction _minWidth(col) {\n const padding = col.padding || [];\n const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);\n if (col.border) {\n return minWidth + 4;\n }\n return minWidth;\n}\nfunction getWindowWidth() {\n /* c8 ignore next 5: depends on terminal */\n if (typeof process === 'object' && process.stdout && process.stdout.columns) {\n return process.stdout.columns;\n }\n return 80;\n}\nfunction alignRight(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n if (strWidth < width) {\n return ' '.repeat(width - strWidth) + str;\n }\n return str;\n}\nfunction alignCenter(str, width) {\n str = str.trim();\n const strWidth = mixin.stringWidth(str);\n /* c8 ignore next 3 */\n if (strWidth >= width) {\n return str;\n }\n return ' '.repeat((width - strWidth) >> 1) + str;\n}\nlet mixin;\nexport function cliui(opts, _mixin) {\n mixin = _mixin;\n return new UI({\n width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),\n wrap: opts === null || opts === void 0 ? void 0 : opts.wrap\n });\n}\n",
|
|
129
|
+
"export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\tconst pattern = [\n\t\t`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`,\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))',\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n",
|
|
130
|
+
"import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n",
|
|
131
|
+
"// Generated code.\n\nfunction isAmbiguous(x) {\n\treturn x === 0xA1\n\t\t|| x === 0xA4\n\t\t|| x === 0xA7\n\t\t|| x === 0xA8\n\t\t|| x === 0xAA\n\t\t|| x === 0xAD\n\t\t|| x === 0xAE\n\t\t|| x >= 0xB0 && x <= 0xB4\n\t\t|| x >= 0xB6 && x <= 0xBA\n\t\t|| x >= 0xBC && x <= 0xBF\n\t\t|| x === 0xC6\n\t\t|| x === 0xD0\n\t\t|| x === 0xD7\n\t\t|| x === 0xD8\n\t\t|| x >= 0xDE && x <= 0xE1\n\t\t|| x === 0xE6\n\t\t|| x >= 0xE8 && x <= 0xEA\n\t\t|| x === 0xEC\n\t\t|| x === 0xED\n\t\t|| x === 0xF0\n\t\t|| x === 0xF2\n\t\t|| x === 0xF3\n\t\t|| x >= 0xF7 && x <= 0xFA\n\t\t|| x === 0xFC\n\t\t|| x === 0xFE\n\t\t|| x === 0x101\n\t\t|| x === 0x111\n\t\t|| x === 0x113\n\t\t|| x === 0x11B\n\t\t|| x === 0x126\n\t\t|| x === 0x127\n\t\t|| x === 0x12B\n\t\t|| x >= 0x131 && x <= 0x133\n\t\t|| x === 0x138\n\t\t|| x >= 0x13F && x <= 0x142\n\t\t|| x === 0x144\n\t\t|| x >= 0x148 && x <= 0x14B\n\t\t|| x === 0x14D\n\t\t|| x === 0x152\n\t\t|| x === 0x153\n\t\t|| x === 0x166\n\t\t|| x === 0x167\n\t\t|| x === 0x16B\n\t\t|| x === 0x1CE\n\t\t|| x === 0x1D0\n\t\t|| x === 0x1D2\n\t\t|| x === 0x1D4\n\t\t|| x === 0x1D6\n\t\t|| x === 0x1D8\n\t\t|| x === 0x1DA\n\t\t|| x === 0x1DC\n\t\t|| x === 0x251\n\t\t|| x === 0x261\n\t\t|| x === 0x2C4\n\t\t|| x === 0x2C7\n\t\t|| x >= 0x2C9 && x <= 0x2CB\n\t\t|| x === 0x2CD\n\t\t|| x === 0x2D0\n\t\t|| x >= 0x2D8 && x <= 0x2DB\n\t\t|| x === 0x2DD\n\t\t|| x === 0x2DF\n\t\t|| x >= 0x300 && x <= 0x36F\n\t\t|| x >= 0x391 && x <= 0x3A1\n\t\t|| x >= 0x3A3 && x <= 0x3A9\n\t\t|| x >= 0x3B1 && x <= 0x3C1\n\t\t|| x >= 0x3C3 && x <= 0x3C9\n\t\t|| x === 0x401\n\t\t|| x >= 0x410 && x <= 0x44F\n\t\t|| x === 0x451\n\t\t|| x === 0x2010\n\t\t|| x >= 0x2013 && x <= 0x2016\n\t\t|| x === 0x2018\n\t\t|| x === 0x2019\n\t\t|| x === 0x201C\n\t\t|| x === 0x201D\n\t\t|| x >= 0x2020 && x <= 0x2022\n\t\t|| x >= 0x2024 && x <= 0x2027\n\t\t|| x === 0x2030\n\t\t|| x === 0x2032\n\t\t|| x === 0x2033\n\t\t|| x === 0x2035\n\t\t|| x === 0x203B\n\t\t|| x === 0x203E\n\t\t|| x === 0x2074\n\t\t|| x === 0x207F\n\t\t|| x >= 0x2081 && x <= 0x2084\n\t\t|| x === 0x20AC\n\t\t|| x === 0x2103\n\t\t|| x === 0x2105\n\t\t|| x === 0x2109\n\t\t|| x === 0x2113\n\t\t|| x === 0x2116\n\t\t|| x === 0x2121\n\t\t|| x === 0x2122\n\t\t|| x === 0x2126\n\t\t|| x === 0x212B\n\t\t|| x === 0x2153\n\t\t|| x === 0x2154\n\t\t|| x >= 0x215B && x <= 0x215E\n\t\t|| x >= 0x2160 && x <= 0x216B\n\t\t|| x >= 0x2170 && x <= 0x2179\n\t\t|| x === 0x2189\n\t\t|| x >= 0x2190 && x <= 0x2199\n\t\t|| x === 0x21B8\n\t\t|| x === 0x21B9\n\t\t|| x === 0x21D2\n\t\t|| x === 0x21D4\n\t\t|| x === 0x21E7\n\t\t|| x === 0x2200\n\t\t|| x === 0x2202\n\t\t|| x === 0x2203\n\t\t|| x === 0x2207\n\t\t|| x === 0x2208\n\t\t|| x === 0x220B\n\t\t|| x === 0x220F\n\t\t|| x === 0x2211\n\t\t|| x === 0x2215\n\t\t|| x === 0x221A\n\t\t|| x >= 0x221D && x <= 0x2220\n\t\t|| x === 0x2223\n\t\t|| x === 0x2225\n\t\t|| x >= 0x2227 && x <= 0x222C\n\t\t|| x === 0x222E\n\t\t|| x >= 0x2234 && x <= 0x2237\n\t\t|| x === 0x223C\n\t\t|| x === 0x223D\n\t\t|| x === 0x2248\n\t\t|| x === 0x224C\n\t\t|| x === 0x2252\n\t\t|| x === 0x2260\n\t\t|| x === 0x2261\n\t\t|| x >= 0x2264 && x <= 0x2267\n\t\t|| x === 0x226A\n\t\t|| x === 0x226B\n\t\t|| x === 0x226E\n\t\t|| x === 0x226F\n\t\t|| x === 0x2282\n\t\t|| x === 0x2283\n\t\t|| x === 0x2286\n\t\t|| x === 0x2287\n\t\t|| x === 0x2295\n\t\t|| x === 0x2299\n\t\t|| x === 0x22A5\n\t\t|| x === 0x22BF\n\t\t|| x === 0x2312\n\t\t|| x >= 0x2460 && x <= 0x24E9\n\t\t|| x >= 0x24EB && x <= 0x254B\n\t\t|| x >= 0x2550 && x <= 0x2573\n\t\t|| x >= 0x2580 && x <= 0x258F\n\t\t|| x >= 0x2592 && x <= 0x2595\n\t\t|| x === 0x25A0\n\t\t|| x === 0x25A1\n\t\t|| x >= 0x25A3 && x <= 0x25A9\n\t\t|| x === 0x25B2\n\t\t|| x === 0x25B3\n\t\t|| x === 0x25B6\n\t\t|| x === 0x25B7\n\t\t|| x === 0x25BC\n\t\t|| x === 0x25BD\n\t\t|| x === 0x25C0\n\t\t|| x === 0x25C1\n\t\t|| x >= 0x25C6 && x <= 0x25C8\n\t\t|| x === 0x25CB\n\t\t|| x >= 0x25CE && x <= 0x25D1\n\t\t|| x >= 0x25E2 && x <= 0x25E5\n\t\t|| x === 0x25EF\n\t\t|| x === 0x2605\n\t\t|| x === 0x2606\n\t\t|| x === 0x2609\n\t\t|| x === 0x260E\n\t\t|| x === 0x260F\n\t\t|| x === 0x261C\n\t\t|| x === 0x261E\n\t\t|| x === 0x2640\n\t\t|| x === 0x2642\n\t\t|| x === 0x2660\n\t\t|| x === 0x2661\n\t\t|| x >= 0x2663 && x <= 0x2665\n\t\t|| x >= 0x2667 && x <= 0x266A\n\t\t|| x === 0x266C\n\t\t|| x === 0x266D\n\t\t|| x === 0x266F\n\t\t|| x === 0x269E\n\t\t|| x === 0x269F\n\t\t|| x === 0x26BF\n\t\t|| x >= 0x26C6 && x <= 0x26CD\n\t\t|| x >= 0x26CF && x <= 0x26D3\n\t\t|| x >= 0x26D5 && x <= 0x26E1\n\t\t|| x === 0x26E3\n\t\t|| x === 0x26E8\n\t\t|| x === 0x26E9\n\t\t|| x >= 0x26EB && x <= 0x26F1\n\t\t|| x === 0x26F4\n\t\t|| x >= 0x26F6 && x <= 0x26F9\n\t\t|| x === 0x26FB\n\t\t|| x === 0x26FC\n\t\t|| x === 0x26FE\n\t\t|| x === 0x26FF\n\t\t|| x === 0x273D\n\t\t|| x >= 0x2776 && x <= 0x277F\n\t\t|| x >= 0x2B56 && x <= 0x2B59\n\t\t|| x >= 0x3248 && x <= 0x324F\n\t\t|| x >= 0xE000 && x <= 0xF8FF\n\t\t|| x >= 0xFE00 && x <= 0xFE0F\n\t\t|| x === 0xFFFD\n\t\t|| x >= 0x1F100 && x <= 0x1F10A\n\t\t|| x >= 0x1F110 && x <= 0x1F12D\n\t\t|| x >= 0x1F130 && x <= 0x1F169\n\t\t|| x >= 0x1F170 && x <= 0x1F18D\n\t\t|| x === 0x1F18F\n\t\t|| x === 0x1F190\n\t\t|| x >= 0x1F19B && x <= 0x1F1AC\n\t\t|| x >= 0xE0100 && x <= 0xE01EF\n\t\t|| x >= 0xF0000 && x <= 0xFFFFD\n\t\t|| x >= 0x100000 && x <= 0x10FFFD;\n}\n\nfunction isFullWidth(x) {\n\treturn x === 0x3000\n\t\t|| x >= 0xFF01 && x <= 0xFF60\n\t\t|| x >= 0xFFE0 && x <= 0xFFE6;\n}\n\nfunction isWide(x) {\n\treturn x >= 0x1100 && x <= 0x115F\n\t\t|| x === 0x231A\n\t\t|| x === 0x231B\n\t\t|| x === 0x2329\n\t\t|| x === 0x232A\n\t\t|| x >= 0x23E9 && x <= 0x23EC\n\t\t|| x === 0x23F0\n\t\t|| x === 0x23F3\n\t\t|| x === 0x25FD\n\t\t|| x === 0x25FE\n\t\t|| x === 0x2614\n\t\t|| x === 0x2615\n\t\t|| x >= 0x2630 && x <= 0x2637\n\t\t|| x >= 0x2648 && x <= 0x2653\n\t\t|| x === 0x267F\n\t\t|| x >= 0x268A && x <= 0x268F\n\t\t|| x === 0x2693\n\t\t|| x === 0x26A1\n\t\t|| x === 0x26AA\n\t\t|| x === 0x26AB\n\t\t|| x === 0x26BD\n\t\t|| x === 0x26BE\n\t\t|| x === 0x26C4\n\t\t|| x === 0x26C5\n\t\t|| x === 0x26CE\n\t\t|| x === 0x26D4\n\t\t|| x === 0x26EA\n\t\t|| x === 0x26F2\n\t\t|| x === 0x26F3\n\t\t|| x === 0x26F5\n\t\t|| x === 0x26FA\n\t\t|| x === 0x26FD\n\t\t|| x === 0x2705\n\t\t|| x === 0x270A\n\t\t|| x === 0x270B\n\t\t|| x === 0x2728\n\t\t|| x === 0x274C\n\t\t|| x === 0x274E\n\t\t|| x >= 0x2753 && x <= 0x2755\n\t\t|| x === 0x2757\n\t\t|| x >= 0x2795 && x <= 0x2797\n\t\t|| x === 0x27B0\n\t\t|| x === 0x27BF\n\t\t|| x === 0x2B1B\n\t\t|| x === 0x2B1C\n\t\t|| x === 0x2B50\n\t\t|| x === 0x2B55\n\t\t|| x >= 0x2E80 && x <= 0x2E99\n\t\t|| x >= 0x2E9B && x <= 0x2EF3\n\t\t|| x >= 0x2F00 && x <= 0x2FD5\n\t\t|| x >= 0x2FF0 && x <= 0x2FFF\n\t\t|| x >= 0x3001 && x <= 0x303E\n\t\t|| x >= 0x3041 && x <= 0x3096\n\t\t|| x >= 0x3099 && x <= 0x30FF\n\t\t|| x >= 0x3105 && x <= 0x312F\n\t\t|| x >= 0x3131 && x <= 0x318E\n\t\t|| x >= 0x3190 && x <= 0x31E5\n\t\t|| x >= 0x31EF && x <= 0x321E\n\t\t|| x >= 0x3220 && x <= 0x3247\n\t\t|| x >= 0x3250 && x <= 0xA48C\n\t\t|| x >= 0xA490 && x <= 0xA4C6\n\t\t|| x >= 0xA960 && x <= 0xA97C\n\t\t|| x >= 0xAC00 && x <= 0xD7A3\n\t\t|| x >= 0xF900 && x <= 0xFAFF\n\t\t|| x >= 0xFE10 && x <= 0xFE19\n\t\t|| x >= 0xFE30 && x <= 0xFE52\n\t\t|| x >= 0xFE54 && x <= 0xFE66\n\t\t|| x >= 0xFE68 && x <= 0xFE6B\n\t\t|| x >= 0x16FE0 && x <= 0x16FE4\n\t\t|| x === 0x16FF0\n\t\t|| x === 0x16FF1\n\t\t|| x >= 0x17000 && x <= 0x187F7\n\t\t|| x >= 0x18800 && x <= 0x18CD5\n\t\t|| x >= 0x18CFF && x <= 0x18D08\n\t\t|| x >= 0x1AFF0 && x <= 0x1AFF3\n\t\t|| x >= 0x1AFF5 && x <= 0x1AFFB\n\t\t|| x === 0x1AFFD\n\t\t|| x === 0x1AFFE\n\t\t|| x >= 0x1B000 && x <= 0x1B122\n\t\t|| x === 0x1B132\n\t\t|| x >= 0x1B150 && x <= 0x1B152\n\t\t|| x === 0x1B155\n\t\t|| x >= 0x1B164 && x <= 0x1B167\n\t\t|| x >= 0x1B170 && x <= 0x1B2FB\n\t\t|| x >= 0x1D300 && x <= 0x1D356\n\t\t|| x >= 0x1D360 && x <= 0x1D376\n\t\t|| x === 0x1F004\n\t\t|| x === 0x1F0CF\n\t\t|| x === 0x1F18E\n\t\t|| x >= 0x1F191 && x <= 0x1F19A\n\t\t|| x >= 0x1F200 && x <= 0x1F202\n\t\t|| x >= 0x1F210 && x <= 0x1F23B\n\t\t|| x >= 0x1F240 && x <= 0x1F248\n\t\t|| x === 0x1F250\n\t\t|| x === 0x1F251\n\t\t|| x >= 0x1F260 && x <= 0x1F265\n\t\t|| x >= 0x1F300 && x <= 0x1F320\n\t\t|| x >= 0x1F32D && x <= 0x1F335\n\t\t|| x >= 0x1F337 && x <= 0x1F37C\n\t\t|| x >= 0x1F37E && x <= 0x1F393\n\t\t|| x >= 0x1F3A0 && x <= 0x1F3CA\n\t\t|| x >= 0x1F3CF && x <= 0x1F3D3\n\t\t|| x >= 0x1F3E0 && x <= 0x1F3F0\n\t\t|| x === 0x1F3F4\n\t\t|| x >= 0x1F3F8 && x <= 0x1F43E\n\t\t|| x === 0x1F440\n\t\t|| x >= 0x1F442 && x <= 0x1F4FC\n\t\t|| x >= 0x1F4FF && x <= 0x1F53D\n\t\t|| x >= 0x1F54B && x <= 0x1F54E\n\t\t|| x >= 0x1F550 && x <= 0x1F567\n\t\t|| x === 0x1F57A\n\t\t|| x === 0x1F595\n\t\t|| x === 0x1F596\n\t\t|| x === 0x1F5A4\n\t\t|| x >= 0x1F5FB && x <= 0x1F64F\n\t\t|| x >= 0x1F680 && x <= 0x1F6C5\n\t\t|| x === 0x1F6CC\n\t\t|| x >= 0x1F6D0 && x <= 0x1F6D2\n\t\t|| x >= 0x1F6D5 && x <= 0x1F6D7\n\t\t|| x >= 0x1F6DC && x <= 0x1F6DF\n\t\t|| x === 0x1F6EB\n\t\t|| x === 0x1F6EC\n\t\t|| x >= 0x1F6F4 && x <= 0x1F6FC\n\t\t|| x >= 0x1F7E0 && x <= 0x1F7EB\n\t\t|| x === 0x1F7F0\n\t\t|| x >= 0x1F90C && x <= 0x1F93A\n\t\t|| x >= 0x1F93C && x <= 0x1F945\n\t\t|| x >= 0x1F947 && x <= 0x1F9FF\n\t\t|| x >= 0x1FA70 && x <= 0x1FA7C\n\t\t|| x >= 0x1FA80 && x <= 0x1FA89\n\t\t|| x >= 0x1FA8F && x <= 0x1FAC6\n\t\t|| x >= 0x1FACE && x <= 0x1FADC\n\t\t|| x >= 0x1FADF && x <= 0x1FAE9\n\t\t|| x >= 0x1FAF0 && x <= 0x1FAF8\n\t\t|| x >= 0x20000 && x <= 0x2FFFD\n\t\t|| x >= 0x30000 && x <= 0x3FFFD;\n}\n\nfunction getCategory(x) {\n\tif (isAmbiguous(x)) return 'ambiguous';\n\n\tif (isFullWidth(x)) return 'fullwidth';\n\n\tif (\n\t\tx === 0x20A9\n\t\t|| x >= 0xFF61 && x <= 0xFFBE\n\t\t|| x >= 0xFFC2 && x <= 0xFFC7\n\t\t|| x >= 0xFFCA && x <= 0xFFCF\n\t\t|| x >= 0xFFD2 && x <= 0xFFD7\n\t\t|| x >= 0xFFDA && x <= 0xFFDC\n\t\t|| x >= 0xFFE8 && x <= 0xFFEE\n\t) {\n\t\treturn 'halfwidth';\n\t}\n\n\tif (\n\t\tx >= 0x20 && x <= 0x7E\n\t\t|| x === 0xA2\n\t\t|| x === 0xA3\n\t\t|| x === 0xA5\n\t\t|| x === 0xA6\n\t\t|| x === 0xAC\n\t\t|| x === 0xAF\n\t\t|| x >= 0x27E6 && x <= 0x27ED\n\t\t|| x === 0x2985\n\t\t|| x === 0x2986\n\t) {\n\t\treturn 'narrow';\n\t}\n\n\tif (isWide(x)) return 'wide';\n\n\treturn 'neutral';\n}\n\nexport {isAmbiguous, isFullWidth, isWide, getCategory};\n",
|
|
132
|
+
"import {getCategory, isAmbiguous, isFullWidth, isWide} from './lookup.js';\n\nfunction validate(codePoint) {\n\tif (!Number.isSafeInteger(codePoint)) {\n\t\tthrow new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n\t}\n}\n\nexport function eastAsianWidthType(codePoint) {\n\tvalidate(codePoint);\n\n\treturn getCategory(codePoint);\n}\n\nexport function eastAsianWidth(codePoint, {ambiguousAsWide = false} = {}) {\n\tvalidate(codePoint);\n\n\tif (\n\t\tisFullWidth(codePoint)\n\t\t|| isWide(codePoint)\n\t\t|| (ambiguousAsWide && isAmbiguous(codePoint))\n\t) {\n\t\treturn 2;\n\t}\n\n\treturn 1;\n}\n\n// For Prettier. This doesn't count \"ambiguous\" characters or check for valid input.\n// https://github.com/sindresorhus/get-east-asian-width/pull/6\nexport const _isNarrowWidth = codePoint => !(isFullWidth(codePoint) || isWide(codePoint));\n",
|
|
133
|
+
"import stripAnsi from 'strip-ansi';\nimport {eastAsianWidth} from 'get-east-asian-width';\nimport emojiRegex from 'emoji-regex';\n\nconst segmenter = new Intl.Segmenter();\n\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\n\nexport default function stringWidth(string, options = {}) {\n\tif (typeof string !== 'string' || string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tconst {\n\t\tambiguousIsNarrow = true,\n\t\tcountAnsiEscapeCodes = false,\n\t} = options;\n\n\tif (!countAnsiEscapeCodes) {\n\t\tstring = stripAnsi(string);\n\t}\n\n\tif (string.length === 0) {\n\t\treturn 0;\n\t}\n\n\tlet width = 0;\n\tconst eastAsianWidthOptions = {ambiguousAsWide: !ambiguousIsNarrow};\n\n\tfor (const {segment: character} of segmenter.segment(string)) {\n\t\tconst codePoint = character.codePointAt(0);\n\n\t\t// Ignore control characters\n\t\tif (codePoint <= 0x1F || (codePoint >= 0x7F && codePoint <= 0x9F)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore zero-width characters\n\t\tif (\n\t\t\t(codePoint >= 0x20_0B && codePoint <= 0x20_0F) // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n\t\t\t|| codePoint === 0xFE_FF // Zero-width no-break space\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore combining characters\n\t\tif (\n\t\t\t(codePoint >= 0x3_00 && codePoint <= 0x3_6F) // Combining diacritical marks\n\t\t\t|| (codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF) // Combining diacritical marks extended\n\t\t\t|| (codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF) // Combining diacritical marks supplement\n\t\t\t|| (codePoint >= 0x20_D0 && codePoint <= 0x20_FF) // Combining diacritical marks for symbols\n\t\t\t|| (codePoint >= 0xFE_20 && codePoint <= 0xFE_2F) // Combining half marks\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore surrogate pairs\n\t\tif (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Ignore variation selectors\n\t\tif (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// This covers some of the above cases, but we still keep them for performance reasons.\n\t\tif (defaultIgnorableCodePointRegex.test(character)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n\t\tif (emojiRegex().test(character)) {\n\t\t\twidth += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\twidth += eastAsianWidth(codePoint, eastAsianWidthOptions);\n\t}\n\n\treturn width;\n}\n",
|
|
134
|
+
"const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue: (red, green, blue) => {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue: hex => {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue: code => {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n",
|
|
135
|
+
"import stringWidth from 'string-width';\nimport stripAnsi from 'strip-ansi';\nimport ansiStyles from 'ansi-styles';\n\nconst ESCAPES = new Set([\n\t'\\u001B',\n\t'\\u009B',\n]);\n\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\n\nconst wrapAnsiCode = code => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = url => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\n\n// Calculate the length of words split on ' ', ignoring\n// the extra characters added by ansi escape codes\nconst wordLengths = string => string.split(' ').map(character => stringWidth(character));\n\n// Wrap a long word across multiple rows\n// Ansi escape codes do not count towards length\nconst wrapWord = (rows, word, columns) => {\n\tconst characters = [...word];\n\n\tlet isInsideEscape = false;\n\tlet isInsideLinkEscape = false;\n\tlet visible = stringWidth(stripAnsi(rows.at(-1)));\n\n\tfor (const [index, character] of characters.entries()) {\n\t\tconst characterLength = stringWidth(character);\n\n\t\tif (visible + characterLength <= columns) {\n\t\t\trows[rows.length - 1] += character;\n\t\t} else {\n\t\t\trows.push(character);\n\t\t\tvisible = 0;\n\t\t}\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tisInsideEscape = true;\n\n\t\t\tconst ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join('');\n\t\t\tisInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;\n\t\t}\n\n\t\tif (isInsideEscape) {\n\t\t\tif (isInsideLinkEscape) {\n\t\t\t\tif (character === ANSI_ESCAPE_BELL) {\n\t\t\t\t\tisInsideEscape = false;\n\t\t\t\t\tisInsideLinkEscape = false;\n\t\t\t\t}\n\t\t\t} else if (character === ANSI_SGR_TERMINATOR) {\n\t\t\t\tisInsideEscape = false;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvisible += characterLength;\n\n\t\tif (visible === columns && index < characters.length - 1) {\n\t\t\trows.push('');\n\t\t\tvisible = 0;\n\t\t}\n\t}\n\n\t// It's possible that the last row we copy over is only\n\t// ansi escape characters, handle this edge-case\n\tif (!visible && rows.at(-1).length > 0 && rows.length > 1) {\n\t\trows[rows.length - 2] += rows.pop();\n\t}\n};\n\n// Trims spaces from a string ignoring invisible sequences\nconst stringVisibleTrimSpacesRight = string => {\n\tconst words = string.split(' ');\n\tlet last = words.length;\n\n\twhile (last > 0) {\n\t\tif (stringWidth(words[last - 1]) > 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlast--;\n\t}\n\n\tif (last === words.length) {\n\t\treturn string;\n\t}\n\n\treturn words.slice(0, last).join(' ') + words.slice(last).join('');\n};\n\n// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode.\n//\n// 'hard' will never allow a string to take up more than columns characters.\n//\n// 'soft' allows long words to expand past the column length.\nconst exec = (string, columns, options = {}) => {\n\tif (options.trim !== false && string.trim() === '') {\n\t\treturn '';\n\t}\n\n\tlet returnValue = '';\n\tlet escapeCode;\n\tlet escapeUrl;\n\n\tconst lengths = wordLengths(string);\n\tlet rows = [''];\n\n\tfor (const [index, word] of string.split(' ').entries()) {\n\t\tif (options.trim !== false) {\n\t\t\trows[rows.length - 1] = rows.at(-1).trimStart();\n\t\t}\n\n\t\tlet rowLength = stringWidth(rows.at(-1));\n\n\t\tif (index !== 0) {\n\t\t\tif (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {\n\t\t\t\t// If we start with a new word but the current row length equals the length of the columns, add a new row\n\t\t\t\trows.push('');\n\t\t\t\trowLength = 0;\n\t\t\t}\n\n\t\t\tif (rowLength > 0 || options.trim === false) {\n\t\t\t\trows[rows.length - 1] += ' ';\n\t\t\t\trowLength++;\n\t\t\t}\n\t\t}\n\n\t\t// In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'\n\t\tif (options.hard && lengths[index] > columns) {\n\t\t\tconst remainingColumns = (columns - rowLength);\n\t\t\tconst breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);\n\t\t\tconst breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);\n\t\t\tif (breaksStartingNextLine < breaksStartingThisLine) {\n\t\t\t\trows.push('');\n\t\t\t}\n\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {\n\t\t\tif (options.wordWrap === false && rowLength < columns) {\n\t\t\t\twrapWord(rows, word, columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\trows.push('');\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && options.wordWrap === false) {\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\trows[rows.length - 1] += word;\n\t}\n\n\tif (options.trim !== false) {\n\t\trows = rows.map(row => stringVisibleTrimSpacesRight(row));\n\t}\n\n\tconst preString = rows.join('\\n');\n\tconst pre = [...preString];\n\n\t// We need to keep a separate index as `String#slice()` works on Unicode code units, while `pre` is an array of codepoints.\n\tlet preStringIndex = 0;\n\n\tfor (const [index, character] of pre.entries()) {\n\t\treturnValue += character;\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tconst {groups} = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || {groups: {}};\n\t\t\tif (groups.code !== undefined) {\n\t\t\t\tconst code = Number.parseFloat(groups.code);\n\t\t\t\tescapeCode = code === END_CODE ? undefined : code;\n\t\t\t} else if (groups.uri !== undefined) {\n\t\t\t\tescapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n\t\t\t}\n\t\t}\n\n\t\tconst code = ansiStyles.codes.get(Number(escapeCode));\n\n\t\tif (pre[index + 1] === '\\n') {\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink('');\n\t\t\t}\n\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(code);\n\t\t\t}\n\t\t} else if (character === '\\n') {\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(escapeCode);\n\t\t\t}\n\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink(escapeUrl);\n\t\t\t}\n\t\t}\n\n\t\tpreStringIndex += character.length;\n\t}\n\n\treturn returnValue;\n};\n\n// For each newline, invoke the method separately\nexport default function wrapAnsi(string, columns, options) {\n\treturn String(string)\n\t\t.normalize()\n\t\t.replaceAll('\\r\\n', '\\n')\n\t\t.split('\\n')\n\t\t.map(line => exec(line, columns, options))\n\t\t.join('\\n');\n}\n",
|
|
136
|
+
"// Bootstrap cliui with CommonJS dependencies:\nimport { cliui } from './build/lib/index.js'\nimport stringWidth from 'string-width'\nimport stripAnsi from 'strip-ansi'\nimport wrapAnsi from 'wrap-ansi'\n\nexport default function ui (opts) {\n return cliui(opts, {\n stringWidth,\n stripAnsi,\n wrap: wrapAnsi\n })\n}\n\nexport {ui as 'module.exports'};\n",
|
|
137
|
+
"import { dirname, resolve } from 'path';\nimport { readdirSync, statSync } from 'fs';\n\nexport default function (start, callback) {\n\tlet dir = resolve('.', start);\n\tlet tmp, stats = statSync(dir);\n\n\tif (!stats.isDirectory()) {\n\t\tdir = dirname(dir);\n\t}\n\n\twhile (true) {\n\t\ttmp = callback(dir, readdirSync(dir));\n\t\tif (tmp) return resolve(dir, tmp);\n\t\tdir = dirname(tmp = dir);\n\t\tif (tmp === dir) break;\n\t}\n}\n",
|
|
138
|
+
"/**\n * @fileoverview Main entrypoint for libraries using yargs-parser in Node.js\n *\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nvar _a, _b, _c;\n/* eslint-disable n/no-unpublished-import */\nimport { format } from 'util';\nimport { normalize, resolve } from 'path';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nimport { YargsParser } from './yargs-parser.js';\nimport { readFileSync } from 'fs';\nimport { createRequire } from 'node:module';\n// See https://github.com/yargs/yargs-parser#supported-nodejs-versions for our\n// version support policy. The YARGS_MIN_NODE_VERSION is used for testing only.\nconst minNodeVersion = (process && process.env && process.env.YARGS_MIN_NODE_VERSION)\n ? Number(process.env.YARGS_MIN_NODE_VERSION)\n : 20;\nconst nodeVersion = (_b = (_a = process === null || process === void 0 ? void 0 : process.versions) === null || _a === void 0 ? void 0 : _a.node) !== null && _b !== void 0 ? _b : (_c = process === null || process === void 0 ? void 0 : process.version) === null || _c === void 0 ? void 0 : _c.slice(1);\nif (nodeVersion) {\n const major = Number(nodeVersion.match(/^([^.]+)/)[1]);\n if (major < minNodeVersion) {\n throw Error(`yargs parser supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);\n }\n}\n// Creates a yargs-parser instance using Node.js standard libraries:\nconst env = process ? process.env : {};\nconst require = createRequire ? createRequire(import.meta.url) : undefined;\nconst parser = new YargsParser({\n cwd: process.cwd,\n env: () => {\n return env;\n },\n format,\n normalize,\n resolve,\n require: (path) => {\n if (typeof require !== 'undefined') {\n return require(path);\n }\n else if (path.match(/\\.json$/)) {\n // Addresses: https://github.com/yargs/yargs/issues/2040\n return JSON.parse(readFileSync(path, 'utf8'));\n }\n else {\n throw Error('only .json config files are supported in ESM');\n }\n }\n});\nconst yargsParser = function Parser(args, opts) {\n const result = parser.parse(args.slice(), opts);\n return result.argv;\n};\nyargsParser.detailed = function (args, opts) {\n return parser.parse(args.slice(), opts);\n};\nyargsParser.camelCase = camelCase;\nyargsParser.decamelize = decamelize;\nyargsParser.looksLikeNumber = looksLikeNumber;\nexport default yargsParser;\n// special syntax to allow unqualified default export from CommonJS\nexport { yargsParser as 'module.exports' };\n",
|
|
139
|
+
"/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport function camelCase(str) {\n // Handle the case where an argument is provided as camel case, e.g., fooBar.\n // by ensuring that the string isn't already mixed case:\n const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();\n if (!isCamelCase) {\n str = str.toLowerCase();\n }\n if (str.indexOf('-') === -1 && str.indexOf('_') === -1) {\n return str;\n }\n else {\n let camelcase = '';\n let nextChrUpper = false;\n const leadingHyphens = str.match(/^-+/);\n for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) {\n let chr = str.charAt(i);\n if (nextChrUpper) {\n nextChrUpper = false;\n chr = chr.toUpperCase();\n }\n if (i !== 0 && (chr === '-' || chr === '_')) {\n nextChrUpper = true;\n }\n else if (chr !== '-' && chr !== '_') {\n camelcase += chr;\n }\n }\n return camelcase;\n }\n}\nexport function decamelize(str, joinString) {\n const lowercase = str.toLowerCase();\n joinString = joinString || '-';\n let notCamelcase = '';\n for (let i = 0; i < str.length; i++) {\n const chrLower = lowercase.charAt(i);\n const chrString = str.charAt(i);\n if (chrLower !== chrString && i > 0) {\n notCamelcase += `${joinString}${lowercase.charAt(i)}`;\n }\n else {\n notCamelcase += chrString;\n }\n }\n return notCamelcase;\n}\nexport function looksLikeNumber(x) {\n if (x === null || x === undefined)\n return false;\n // if loaded from config, may already be a number.\n if (typeof x === 'number')\n return true;\n // hexadecimal.\n if (/^0x[0-9a-f]+$/i.test(x))\n return true;\n // don't treat 0123 as a number; as it drops the leading '0'.\n if (/^0[^.]/.test(x))\n return false;\n return /^[-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/.test(x);\n}\n",
|
|
140
|
+
"/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n// take an un-split argv string and tokenize it.\nexport function tokenizeArgString(argString) {\n if (Array.isArray(argString)) {\n return argString.map(e => typeof e !== 'string' ? e + '' : e);\n }\n argString = argString.trim();\n let i = 0;\n let prevC = null;\n let c = null;\n let opening = null;\n const args = [];\n for (let ii = 0; ii < argString.length; ii++) {\n prevC = c;\n c = argString.charAt(ii);\n // split on spaces unless we're in quotes.\n if (c === ' ' && !opening) {\n if (!(prevC === ' ')) {\n i++;\n }\n continue;\n }\n // don't split the string if we're in matching\n // opening or closing single and double quotes.\n if (c === opening) {\n opening = null;\n }\n else if ((c === \"'\" || c === '\"') && !opening) {\n opening = c;\n }\n if (!args[i])\n args[i] = '';\n args[i] += c;\n }\n return args;\n}\n",
|
|
141
|
+
"/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\nexport var DefaultValuesForTypeKey;\n(function (DefaultValuesForTypeKey) {\n DefaultValuesForTypeKey[\"BOOLEAN\"] = \"boolean\";\n DefaultValuesForTypeKey[\"STRING\"] = \"string\";\n DefaultValuesForTypeKey[\"NUMBER\"] = \"number\";\n DefaultValuesForTypeKey[\"ARRAY\"] = \"array\";\n})(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));\n",
|
|
142
|
+
"/**\n * @license\n * Copyright (c) 2016, Contributors\n * SPDX-License-Identifier: ISC\n */\n/* eslint-disable prefer-arrow-callback */\nimport { tokenizeArgString } from './tokenize-arg-string.js';\nimport { DefaultValuesForTypeKey } from './yargs-parser-types.js';\nimport { camelCase, decamelize, looksLikeNumber } from './string-utils.js';\nlet mixin;\nexport class YargsParser {\n constructor(_mixin) {\n mixin = _mixin;\n }\n parse(argsInput, options) {\n const opts = Object.assign({\n alias: undefined,\n array: undefined,\n boolean: undefined,\n config: undefined,\n configObjects: undefined,\n configuration: undefined,\n coerce: undefined,\n count: undefined,\n default: undefined,\n envPrefix: undefined,\n narg: undefined,\n normalize: undefined,\n string: undefined,\n number: undefined,\n __: undefined,\n key: undefined\n }, options);\n // allow a string argument to be passed in rather\n // than an argv array.\n const args = tokenizeArgString(argsInput);\n // tokenizeArgString adds extra quotes to args if argsInput is a string\n // only strip those extra quotes in processValue if argsInput is a string\n const inputIsString = typeof argsInput === 'string';\n // aliases might have transitive relationships, normalize this.\n const aliases = combineAliases(Object.assign(Object.create(null), opts.alias));\n const configuration = Object.assign({\n 'boolean-negation': true,\n 'camel-case-expansion': true,\n 'combine-arrays': false,\n 'dot-notation': true,\n 'duplicate-arguments-array': true,\n 'flatten-duplicate-arrays': true,\n 'greedy-arrays': true,\n 'halt-at-non-option': false,\n 'nargs-eats-options': false,\n 'negation-prefix': 'no-',\n 'parse-numbers': true,\n 'parse-positional-numbers': true,\n 'populate--': false,\n 'set-placeholder-key': false,\n 'short-option-groups': true,\n 'strip-aliased': false,\n 'strip-dashed': false,\n 'unknown-options-as-args': false\n }, opts.configuration);\n const defaults = Object.assign(Object.create(null), opts.default);\n const configObjects = opts.configObjects || [];\n const envPrefix = opts.envPrefix;\n const notFlagsOption = configuration['populate--'];\n const notFlagsArgv = notFlagsOption ? '--' : '_';\n const newAliases = Object.create(null);\n const defaulted = Object.create(null);\n // allow a i18n handler to be passed in, default to a fake one (util.format).\n const __ = opts.__ || mixin.format;\n const flags = {\n aliases: Object.create(null),\n arrays: Object.create(null),\n bools: Object.create(null),\n strings: Object.create(null),\n numbers: Object.create(null),\n counts: Object.create(null),\n normalize: Object.create(null),\n configs: Object.create(null),\n nargs: Object.create(null),\n coercions: Object.create(null),\n keys: []\n };\n const negative = /^-([0-9]+(\\.[0-9]+)?|\\.[0-9]+)$/;\n const negatedBoolean = new RegExp('^--' + configuration['negation-prefix'] + '(.+)');\n [].concat(opts.array || []).filter(Boolean).forEach(function (opt) {\n const key = typeof opt === 'object' ? opt.key : opt;\n // assign to flags[bools|strings|numbers]\n const assignment = Object.keys(opt).map(function (key) {\n const arrayFlagKeys = {\n boolean: 'bools',\n string: 'strings',\n number: 'numbers'\n };\n return arrayFlagKeys[key];\n }).filter(Boolean).pop();\n // assign key to be coerced\n if (assignment) {\n flags[assignment][key] = true;\n }\n flags.arrays[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.boolean || []).filter(Boolean).forEach(function (key) {\n flags.bools[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.string || []).filter(Boolean).forEach(function (key) {\n flags.strings[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.number || []).filter(Boolean).forEach(function (key) {\n flags.numbers[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.count || []).filter(Boolean).forEach(function (key) {\n flags.counts[key] = true;\n flags.keys.push(key);\n });\n [].concat(opts.normalize || []).filter(Boolean).forEach(function (key) {\n flags.normalize[key] = true;\n flags.keys.push(key);\n });\n if (typeof opts.narg === 'object') {\n Object.entries(opts.narg).forEach(([key, value]) => {\n if (typeof value === 'number') {\n flags.nargs[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.coerce === 'object') {\n Object.entries(opts.coerce).forEach(([key, value]) => {\n if (typeof value === 'function') {\n flags.coercions[key] = value;\n flags.keys.push(key);\n }\n });\n }\n if (typeof opts.config !== 'undefined') {\n if (Array.isArray(opts.config) || typeof opts.config === 'string') {\n ;\n [].concat(opts.config).filter(Boolean).forEach(function (key) {\n flags.configs[key] = true;\n });\n }\n else if (typeof opts.config === 'object') {\n Object.entries(opts.config).forEach(([key, value]) => {\n if (typeof value === 'boolean' || typeof value === 'function') {\n flags.configs[key] = value;\n }\n });\n }\n }\n // create a lookup table that takes into account all\n // combinations of aliases: {f: ['foo'], foo: ['f']}\n extendAliases(opts.key, aliases, opts.default, flags.arrays);\n // apply default values to all aliases.\n Object.keys(defaults).forEach(function (key) {\n (flags.aliases[key] || []).forEach(function (alias) {\n defaults[alias] = defaults[key];\n });\n });\n let error = null;\n checkConfiguration();\n let notFlags = [];\n const argv = Object.assign(Object.create(null), { _: [] });\n // TODO(bcoe): for the first pass at removing object prototype we didn't\n // remove all prototypes from objects returned by this API, we might want\n // to gradually move towards doing so.\n const argvReturn = {};\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n const truncatedArg = arg.replace(/^-{3,}/, '---');\n let broken;\n let key;\n let letters;\n let m;\n let next;\n let value;\n // any unknown option (except for end-of-options, \"--\")\n if (arg !== '--' && /^-/.test(arg) && isUnknownOptionAsArg(arg)) {\n pushPositional(arg);\n // ---, ---=, ----, etc,\n }\n else if (truncatedArg.match(/^---+(=|$)/)) {\n // options without key name are invalid.\n pushPositional(arg);\n continue;\n // -- separated by =\n }\n else if (arg.match(/^--.+=/) || (!configuration['short-option-groups'] && arg.match(/^-.+=/))) {\n // Using [\\s\\S] instead of . because js doesn't support the\n // 'dotall' regex modifier. See:\n // http://stackoverflow.com/a/1068308/13216\n m = arg.match(/^--?([^=]+)=([\\s\\S]*)$/);\n // arrays format = '--f=a b c'\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n if (checkAllAliases(m[1], flags.arrays)) {\n i = eatArray(i, m[1], args, m[2]);\n }\n else if (checkAllAliases(m[1], flags.nargs) !== false) {\n // nargs format = '--f=monkey washing cat'\n i = eatNargs(i, m[1], args, m[2]);\n }\n else {\n setArg(m[1], m[2], true);\n }\n }\n }\n else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {\n m = arg.match(negatedBoolean);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n setArg(key, checkAllAliases(key, flags.arrays) ? [false] : false);\n }\n // -- separated by space.\n }\n else if (arg.match(/^--.+/) || (!configuration['short-option-groups'] && arg.match(/^-[^-]+/))) {\n m = arg.match(/^--?(.+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '--foo a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '--foo a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!next.match(/^-/) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n // dot-notation flag separated by '='.\n }\n else if (arg.match(/^-.\\..+=/)) {\n m = arg.match(/^-([^=]+)=([\\s\\S]*)$/);\n if (m !== null && Array.isArray(m) && m.length >= 3) {\n setArg(m[1], m[2]);\n }\n // dot-notation flag separated by space.\n }\n else if (arg.match(/^-.\\..+/) && !arg.match(negative)) {\n next = args[i + 1];\n m = arg.match(/^-(.\\..+)/);\n if (m !== null && Array.isArray(m) && m.length >= 2) {\n key = m[1];\n if (next !== undefined && !next.match(/^-/) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n else if (arg.match(/^-[^-]+/) && !arg.match(negative)) {\n letters = arg.slice(1, -1).split('');\n broken = false;\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (letters[j + 1] && letters[j + 1] === '=') {\n value = arg.slice(j + 3);\n key = letters[j];\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f=a b c'\n i = eatArray(i, key, args, value);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f=monkey washing cat'\n i = eatNargs(i, key, args, value);\n }\n else {\n setArg(key, value);\n }\n broken = true;\n break;\n }\n if (next === '-') {\n setArg(letters[j], next);\n continue;\n }\n // current letter is an alphabetic character and next value is a number\n if (/[A-Za-z]/.test(letters[j]) &&\n /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next) &&\n checkAllAliases(next, flags.bools) === false) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n if (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n setArg(letters[j], next);\n broken = true;\n break;\n }\n else {\n setArg(letters[j], defaultValue(letters[j]));\n }\n }\n key = arg.slice(-1)[0];\n if (!broken && key !== '-') {\n if (checkAllAliases(key, flags.arrays)) {\n // array format = '-f a b c'\n i = eatArray(i, key, args);\n }\n else if (checkAllAliases(key, flags.nargs) !== false) {\n // nargs format = '-f a b c'\n // should be truthy even if: flags.nargs[key] === 0\n i = eatNargs(i, key, args);\n }\n else {\n next = args[i + 1];\n if (next !== undefined && (!/^(-|--)[^-]/.test(next) ||\n next.match(negative)) &&\n !checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts)) {\n setArg(key, next);\n i++;\n }\n else if (/^(true|false)$/.test(next)) {\n setArg(key, next);\n i++;\n }\n else {\n setArg(key, defaultValue(key));\n }\n }\n }\n }\n else if (arg.match(/^-[0-9]$/) &&\n arg.match(negative) &&\n checkAllAliases(arg.slice(1), flags.bools)) {\n // single-digit boolean alias, e.g: xargs -0\n key = arg.slice(1);\n setArg(key, defaultValue(key));\n }\n else if (arg === '--') {\n notFlags = args.slice(i + 1);\n break;\n }\n else if (configuration['halt-at-non-option']) {\n notFlags = args.slice(i);\n break;\n }\n else {\n pushPositional(arg);\n }\n }\n // order of precedence:\n // 1. command line arg\n // 2. value from env var\n // 3. value from config file\n // 4. value from config objects\n // 5. configured default value\n applyEnvVars(argv, true); // special case: check env vars that point to config file\n applyEnvVars(argv, false);\n setConfig(argv);\n setConfigObjects();\n applyDefaultsAndAliases(argv, flags.aliases, defaults, true);\n applyCoercions(argv);\n if (configuration['set-placeholder-key'])\n setPlaceholderKeys(argv);\n // for any counts either not in args or without an explicit default, set to 0\n Object.keys(flags.counts).forEach(function (key) {\n if (!hasKey(argv, key.split('.')))\n setArg(key, 0);\n });\n // '--' defaults to undefined.\n if (notFlagsOption && notFlags.length)\n argv[notFlagsArgv] = [];\n notFlags.forEach(function (key) {\n argv[notFlagsArgv].push(key);\n });\n if (configuration['camel-case-expansion'] && configuration['strip-dashed']) {\n Object.keys(argv).filter(key => key !== '--' && key.includes('-')).forEach(key => {\n delete argv[key];\n });\n }\n if (configuration['strip-aliased']) {\n ;\n [].concat(...Object.keys(aliases).map(k => aliases[k])).forEach(alias => {\n if (configuration['camel-case-expansion'] && alias.includes('-')) {\n delete argv[alias.split('.').map(prop => camelCase(prop)).join('.')];\n }\n delete argv[alias];\n });\n }\n // Push argument into positional array, applying numeric coercion:\n function pushPositional(arg) {\n const maybeCoercedNumber = maybeCoerceNumber('_', arg);\n if (typeof maybeCoercedNumber === 'string' || typeof maybeCoercedNumber === 'number') {\n argv._.push(maybeCoercedNumber);\n }\n }\n // how many arguments should we consume, based\n // on the nargs option?\n function eatNargs(i, key, args, argAfterEqualSign) {\n let ii;\n let toEat = checkAllAliases(key, flags.nargs);\n // NaN has a special meaning for the array type, indicating that one or\n // more values are expected.\n toEat = typeof toEat !== 'number' || isNaN(toEat) ? 1 : toEat;\n if (toEat === 0) {\n if (!isUndefined(argAfterEqualSign)) {\n error = Error(__('Argument unexpected for: %s', key));\n }\n setArg(key, defaultValue(key));\n return i;\n }\n let available = isUndefined(argAfterEqualSign) ? 0 : 1;\n if (configuration['nargs-eats-options']) {\n // classic behavior, yargs eats positional and dash arguments.\n if (args.length - (i + 1) + available < toEat) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n available = toEat;\n }\n else {\n // nargs will not consume flag arguments, e.g., -abc, --foo,\n // and terminates when one is observed.\n for (ii = i + 1; ii < args.length; ii++) {\n if (!args[ii].match(/^-[^0-9]/) || args[ii].match(negative) || isUnknownOptionAsArg(args[ii]))\n available++;\n else\n break;\n }\n if (available < toEat)\n error = Error(__('Not enough arguments following: %s', key));\n }\n let consumed = Math.min(available, toEat);\n if (!isUndefined(argAfterEqualSign) && consumed > 0) {\n setArg(key, argAfterEqualSign);\n consumed--;\n }\n for (ii = i + 1; ii < (consumed + i + 1); ii++) {\n setArg(key, args[ii]);\n }\n return (i + consumed);\n }\n // if an option is an array, eat all non-hyphenated arguments\n // following it... YUM!\n // e.g., --foo apple banana cat becomes [\"apple\", \"banana\", \"cat\"]\n function eatArray(i, key, args, argAfterEqualSign) {\n let argsToSet = [];\n let next = argAfterEqualSign || args[i + 1];\n // If both array and nargs are configured, enforce the nargs count:\n const nargsCount = checkAllAliases(key, flags.nargs);\n if (checkAllAliases(key, flags.bools) && !(/^(true|false)$/.test(next))) {\n argsToSet.push(true);\n }\n else if (isUndefined(next) ||\n (isUndefined(argAfterEqualSign) && /^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))) {\n // for keys without value ==> argsToSet remains an empty []\n // set user default value, if available\n if (defaults[key] !== undefined) {\n const defVal = defaults[key];\n argsToSet = Array.isArray(defVal) ? defVal : [defVal];\n }\n }\n else {\n // value in --option=value is eaten as is\n if (!isUndefined(argAfterEqualSign)) {\n argsToSet.push(processValue(key, argAfterEqualSign, true));\n }\n for (let ii = i + 1; ii < args.length; ii++) {\n if ((!configuration['greedy-arrays'] && argsToSet.length > 0) ||\n (nargsCount && typeof nargsCount === 'number' && argsToSet.length >= nargsCount))\n break;\n next = args[ii];\n if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))\n break;\n i = ii;\n argsToSet.push(processValue(key, next, inputIsString));\n }\n }\n // If both array and nargs are configured, create an error if less than\n // nargs positionals were found. NaN has special meaning, indicating\n // that at least one value is required (more are okay).\n if (typeof nargsCount === 'number' && ((nargsCount && argsToSet.length < nargsCount) ||\n (isNaN(nargsCount) && argsToSet.length === 0))) {\n error = Error(__('Not enough arguments following: %s', key));\n }\n setArg(key, argsToSet);\n return i;\n }\n function setArg(key, val, shouldStripQuotes = inputIsString) {\n if (/-/.test(key) && configuration['camel-case-expansion']) {\n const alias = key.split('.').map(function (prop) {\n return camelCase(prop);\n }).join('.');\n addNewAlias(key, alias);\n }\n const value = processValue(key, val, shouldStripQuotes);\n const splitKey = key.split('.');\n setKey(argv, splitKey, value);\n // handle populating aliases of the full key\n if (flags.aliases[key]) {\n flags.aliases[key].forEach(function (x) {\n const keyProperties = x.split('.');\n setKey(argv, keyProperties, value);\n });\n }\n // handle populating aliases of the first element of the dot-notation key\n if (splitKey.length > 1 && configuration['dot-notation']) {\n ;\n (flags.aliases[splitKey[0]] || []).forEach(function (x) {\n let keyProperties = x.split('.');\n // expand alias with nested objects in key\n const a = [].concat(splitKey);\n a.shift(); // nuke the old key.\n keyProperties = keyProperties.concat(a);\n // populate alias only if is not already an alias of the full key\n // (already populated above)\n if (!(flags.aliases[key] || []).includes(keyProperties.join('.'))) {\n setKey(argv, keyProperties, value);\n }\n });\n }\n // Set normalize getter and setter when key is in 'normalize' but isn't an array\n if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {\n const keys = [key].concat(flags.aliases[key] || []);\n keys.forEach(function (key) {\n Object.defineProperty(argvReturn, key, {\n enumerable: true,\n get() {\n return val;\n },\n set(value) {\n val = typeof value === 'string' ? mixin.normalize(value) : value;\n }\n });\n });\n }\n }\n function addNewAlias(key, alias) {\n if (!(flags.aliases[key] && flags.aliases[key].length)) {\n flags.aliases[key] = [alias];\n newAliases[alias] = true;\n }\n if (!(flags.aliases[alias] && flags.aliases[alias].length)) {\n addNewAlias(alias, key);\n }\n }\n function processValue(key, val, shouldStripQuotes) {\n // strings may be quoted, clean this up as we assign values.\n if (shouldStripQuotes) {\n val = stripQuotes(val);\n }\n // handle parsing boolean arguments --foo=true --bar false.\n if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {\n if (typeof val === 'string')\n val = val === 'true';\n }\n let value = Array.isArray(val)\n ? val.map(function (v) { return maybeCoerceNumber(key, v); })\n : maybeCoerceNumber(key, val);\n // increment a count given as arg (either no value or value parsed as boolean)\n if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {\n value = increment();\n }\n // Set normalized value when key is in 'normalize' and in 'arrays'\n if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {\n if (Array.isArray(val))\n value = val.map((val) => { return mixin.normalize(val); });\n else\n value = mixin.normalize(val);\n }\n return value;\n }\n function maybeCoerceNumber(key, value) {\n if (!configuration['parse-positional-numbers'] && key === '_')\n return value;\n if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.bools) && !Array.isArray(value)) {\n const shouldCoerceNumber = looksLikeNumber(value) && configuration['parse-numbers'] && (Number.isSafeInteger(Math.floor(parseFloat(`${value}`))));\n if (shouldCoerceNumber || (!isUndefined(value) && checkAllAliases(key, flags.numbers))) {\n value = Number(value);\n }\n }\n return value;\n }\n // set args from config.json file, this should be\n // applied last so that defaults can be applied.\n function setConfig(argv) {\n const configLookup = Object.create(null);\n // expand defaults/aliases, in-case any happen to reference\n // the config.json file.\n applyDefaultsAndAliases(configLookup, flags.aliases, defaults);\n Object.keys(flags.configs).forEach(function (configKey) {\n const configPath = argv[configKey] || configLookup[configKey];\n if (configPath) {\n try {\n let config = null;\n const resolvedConfigPath = mixin.resolve(mixin.cwd(), configPath);\n const resolveConfig = flags.configs[configKey];\n if (typeof resolveConfig === 'function') {\n try {\n config = resolveConfig(resolvedConfigPath);\n }\n catch (e) {\n config = e;\n }\n if (config instanceof Error) {\n error = config;\n return;\n }\n }\n else {\n config = mixin.require(resolvedConfigPath);\n }\n setConfigObject(config);\n }\n catch (ex) {\n // Deno will receive a PermissionDenied error if an attempt is\n // made to load config without the --allow-read flag:\n if (ex.name === 'PermissionDenied')\n error = ex;\n else if (argv[configKey])\n error = Error(__('Invalid JSON config file: %s', configPath));\n }\n }\n });\n }\n // set args from config object.\n // it recursively checks nested objects.\n function setConfigObject(config, prev) {\n Object.keys(config).forEach(function (key) {\n const value = config[key];\n const fullKey = prev ? prev + '.' + key : key;\n // if the value is an inner object and we have dot-notation\n // enabled, treat inner objects in config the same as\n // heavily nested dot notations (foo.bar.apple).\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && configuration['dot-notation']) {\n // if the value is an object but not an array, check nested object\n setConfigObject(value, fullKey);\n }\n else {\n // setting arguments via CLI takes precedence over\n // values within the config file.\n if (!hasKey(argv, fullKey.split('.')) || (checkAllAliases(fullKey, flags.arrays) && configuration['combine-arrays'])) {\n setArg(fullKey, value);\n }\n }\n });\n }\n // set all config objects passed in opts\n function setConfigObjects() {\n if (typeof configObjects !== 'undefined') {\n configObjects.forEach(function (configObject) {\n setConfigObject(configObject);\n });\n }\n }\n function applyEnvVars(argv, configOnly) {\n if (typeof envPrefix === 'undefined')\n return;\n const prefix = typeof envPrefix === 'string' ? envPrefix : '';\n const env = mixin.env();\n Object.keys(env).forEach(function (envVar) {\n if (prefix === '' || envVar.lastIndexOf(prefix, 0) === 0) {\n // get array of nested keys and convert them to camel case\n const keys = envVar.split('__').map(function (key, i) {\n if (i === 0) {\n key = key.substring(prefix.length);\n }\n return camelCase(key);\n });\n if (((configOnly && flags.configs[keys.join('.')]) || !configOnly) && !hasKey(argv, keys)) {\n setArg(keys.join('.'), env[envVar]);\n }\n }\n });\n }\n function applyCoercions(argv) {\n let coerce;\n const applied = new Set();\n Object.keys(argv).forEach(function (key) {\n if (!applied.has(key)) { // If we haven't already coerced this option via one of its aliases\n coerce = checkAllAliases(key, flags.coercions);\n if (typeof coerce === 'function') {\n try {\n const value = maybeCoerceNumber(key, coerce(argv[key]));\n ([].concat(flags.aliases[key] || [], key)).forEach(ali => {\n applied.add(ali);\n argv[ali] = value;\n });\n }\n catch (err) {\n error = err;\n }\n }\n }\n });\n }\n function setPlaceholderKeys(argv) {\n flags.keys.forEach((key) => {\n // don't set placeholder keys for dot notation options 'foo.bar'.\n if (~key.indexOf('.'))\n return;\n if (typeof argv[key] === 'undefined')\n argv[key] = undefined;\n });\n return argv;\n }\n function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {\n Object.keys(defaults).forEach(function (key) {\n if (!hasKey(obj, key.split('.'))) {\n setKey(obj, key.split('.'), defaults[key]);\n if (canLog)\n defaulted[key] = true;\n (aliases[key] || []).forEach(function (x) {\n if (hasKey(obj, x.split('.')))\n return;\n setKey(obj, x.split('.'), defaults[key]);\n });\n }\n });\n }\n function hasKey(obj, keys) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n o = (o[key] || {});\n });\n const key = keys[keys.length - 1];\n if (typeof o !== 'object')\n return false;\n else\n return key in o;\n }\n function setKey(obj, keys, value) {\n let o = obj;\n if (!configuration['dot-notation'])\n keys = [keys.join('.')];\n keys.slice(0, -1).forEach(function (key) {\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n key = sanitizeKey(key);\n if (typeof o === 'object' && o[key] === undefined) {\n o[key] = {};\n }\n if (typeof o[key] !== 'object' || Array.isArray(o[key])) {\n // ensure that o[key] is an array, and that the last item is an empty object.\n if (Array.isArray(o[key])) {\n o[key].push({});\n }\n else {\n o[key] = [o[key], {}];\n }\n // we want to update the empty object at the end of the o[key] array, so set o to that object\n o = o[key][o[key].length - 1];\n }\n else {\n o = o[key];\n }\n });\n // TODO(bcoe): in the next major version of yargs, switch to\n // Object.create(null) for dot notation:\n const key = sanitizeKey(keys[keys.length - 1]);\n const isTypeArray = checkAllAliases(keys.join('.'), flags.arrays);\n const isValueArray = Array.isArray(value);\n let duplicate = configuration['duplicate-arguments-array'];\n // nargs has higher priority than duplicate\n if (!duplicate && checkAllAliases(key, flags.nargs)) {\n duplicate = true;\n if ((!isUndefined(o[key]) && flags.nargs[key] === 1) || (Array.isArray(o[key]) && o[key].length === flags.nargs[key])) {\n o[key] = undefined;\n }\n }\n if (value === increment()) {\n o[key] = increment(o[key]);\n }\n else if (Array.isArray(o[key])) {\n if (duplicate && isTypeArray && isValueArray) {\n o[key] = configuration['flatten-duplicate-arrays'] ? o[key].concat(value) : (Array.isArray(o[key][0]) ? o[key] : [o[key]]).concat([value]);\n }\n else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) {\n o[key] = value;\n }\n else {\n o[key] = o[key].concat([value]);\n }\n }\n else if (o[key] === undefined && isTypeArray) {\n o[key] = isValueArray ? value : [value];\n }\n else if (duplicate && !(o[key] === undefined ||\n checkAllAliases(key, flags.counts) ||\n checkAllAliases(key, flags.bools))) {\n o[key] = [o[key], value];\n }\n else {\n o[key] = value;\n }\n }\n // extend the aliases list with inferred aliases.\n function extendAliases(...args) {\n args.forEach(function (obj) {\n Object.keys(obj || {}).forEach(function (key) {\n // short-circuit if we've already added a key\n // to the aliases array, for example it might\n // exist in both 'opts.default' and 'opts.key'.\n if (flags.aliases[key])\n return;\n flags.aliases[key] = [].concat(aliases[key] || []);\n // For \"--option-name\", also set argv.optionName\n flags.aliases[key].concat(key).forEach(function (x) {\n if (/-/.test(x) && configuration['camel-case-expansion']) {\n const c = camelCase(x);\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n // For \"--optionName\", also set argv['option-name']\n flags.aliases[key].concat(key).forEach(function (x) {\n if (x.length > 1 && /[A-Z]/.test(x) && configuration['camel-case-expansion']) {\n const c = decamelize(x, '-');\n if (c !== key && flags.aliases[key].indexOf(c) === -1) {\n flags.aliases[key].push(c);\n newAliases[c] = true;\n }\n }\n });\n flags.aliases[key].forEach(function (x) {\n flags.aliases[x] = [key].concat(flags.aliases[key].filter(function (y) {\n return x !== y;\n }));\n });\n });\n });\n }\n function checkAllAliases(key, flag) {\n const toCheck = [].concat(flags.aliases[key] || [], key);\n const keys = Object.keys(flag);\n const setAlias = toCheck.find(key => keys.includes(key));\n return setAlias ? flag[setAlias] : false;\n }\n function hasAnyFlag(key) {\n const flagsKeys = Object.keys(flags);\n const toCheck = [].concat(flagsKeys.map(k => flags[k]));\n return toCheck.some(function (flag) {\n return Array.isArray(flag) ? flag.includes(key) : flag[key];\n });\n }\n function hasFlagsMatching(arg, ...patterns) {\n const toCheck = [].concat(...patterns);\n return toCheck.some(function (pattern) {\n const match = arg.match(pattern);\n return match && hasAnyFlag(match[1]);\n });\n }\n // based on a simplified version of the short flag group parsing logic\n function hasAllShortFlags(arg) {\n // if this is a negative number, or doesn't start with a single hyphen, it's not a short flag group\n if (arg.match(negative) || !arg.match(/^-[^-]+/)) {\n return false;\n }\n let hasAllFlags = true;\n let next;\n const letters = arg.slice(1).split('');\n for (let j = 0; j < letters.length; j++) {\n next = arg.slice(j + 2);\n if (!hasAnyFlag(letters[j])) {\n hasAllFlags = false;\n break;\n }\n if ((letters[j + 1] && letters[j + 1] === '=') ||\n next === '-' ||\n (/[A-Za-z]/.test(letters[j]) && /^-?\\d+(\\.\\d*)?(e-?\\d+)?$/.test(next)) ||\n (letters[j + 1] && letters[j + 1].match(/\\W/))) {\n break;\n }\n }\n return hasAllFlags;\n }\n function isUnknownOptionAsArg(arg) {\n return configuration['unknown-options-as-args'] && isUnknownOption(arg);\n }\n function isUnknownOption(arg) {\n arg = arg.replace(/^-{3,}/, '--');\n // ignore negative numbers\n if (arg.match(negative)) {\n return false;\n }\n // if this is a short option group and all of them are configured, it isn't unknown\n if (hasAllShortFlags(arg)) {\n return false;\n }\n // e.g. '--count=2'\n const flagWithEquals = /^-+([^=]+?)=[\\s\\S]*$/;\n // e.g. '-a' or '--arg'\n const normalFlag = /^-+([^=]+?)$/;\n // e.g. '-a-'\n const flagEndingInHyphen = /^-+([^=]+?)-$/;\n // e.g. '-abc123'\n const flagEndingInDigits = /^-+([^=]+?\\d+)$/;\n // e.g. '-a/usr/local'\n const flagEndingInNonWordCharacters = /^-+([^=]+?)\\W+.*$/;\n // check the different types of flag styles, including negatedBoolean, a pattern defined near the start of the parse method\n return !hasFlagsMatching(arg, flagWithEquals, negatedBoolean, normalFlag, flagEndingInHyphen, flagEndingInDigits, flagEndingInNonWordCharacters);\n }\n // make a best effort to pick a default value\n // for an option based on name and type.\n function defaultValue(key) {\n if (!checkAllAliases(key, flags.bools) &&\n !checkAllAliases(key, flags.counts) &&\n `${key}` in defaults) {\n return defaults[key];\n }\n else {\n return defaultForType(guessType(key));\n }\n }\n // return a default value, given the type of a flag.,\n function defaultForType(type) {\n const def = {\n [DefaultValuesForTypeKey.BOOLEAN]: true,\n [DefaultValuesForTypeKey.STRING]: '',\n [DefaultValuesForTypeKey.NUMBER]: undefined,\n [DefaultValuesForTypeKey.ARRAY]: []\n };\n return def[type];\n }\n // given a flag, enforce a default type.\n function guessType(key) {\n let type = DefaultValuesForTypeKey.BOOLEAN;\n if (checkAllAliases(key, flags.strings))\n type = DefaultValuesForTypeKey.STRING;\n else if (checkAllAliases(key, flags.numbers))\n type = DefaultValuesForTypeKey.NUMBER;\n else if (checkAllAliases(key, flags.bools))\n type = DefaultValuesForTypeKey.BOOLEAN;\n else if (checkAllAliases(key, flags.arrays))\n type = DefaultValuesForTypeKey.ARRAY;\n return type;\n }\n function isUndefined(num) {\n return num === undefined;\n }\n // check user configuration settings for inconsistencies\n function checkConfiguration() {\n // count keys should not be set as array/narg\n Object.keys(flags.counts).find(key => {\n if (checkAllAliases(key, flags.arrays)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.array.', key));\n return true;\n }\n else if (checkAllAliases(key, flags.nargs)) {\n error = Error(__('Invalid configuration: %s, opts.count excludes opts.narg.', key));\n return true;\n }\n return false;\n });\n }\n return {\n aliases: Object.assign({}, flags.aliases),\n argv: Object.assign(argvReturn, argv),\n configuration: configuration,\n defaulted: Object.assign({}, defaulted),\n error: error,\n newAliases: Object.assign({}, newAliases)\n };\n }\n}\n// if any aliases reference each other, we should\n// merge them together.\nfunction combineAliases(aliases) {\n const aliasArrays = [];\n const combined = Object.create(null);\n let change = true;\n // turn alias lookup hash {key: ['alias1', 'alias2']} into\n // a simple array ['key', 'alias1', 'alias2']\n Object.keys(aliases).forEach(function (key) {\n aliasArrays.push([].concat(aliases[key], key));\n });\n // combine arrays until zero changes are\n // made in an iteration.\n while (change) {\n change = false;\n for (let i = 0; i < aliasArrays.length; i++) {\n for (let ii = i + 1; ii < aliasArrays.length; ii++) {\n const intersect = aliasArrays[i].filter(function (v) {\n return aliasArrays[ii].indexOf(v) !== -1;\n });\n if (intersect.length) {\n aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]);\n aliasArrays.splice(ii, 1);\n change = true;\n break;\n }\n }\n }\n }\n // map arrays back to the hash-lookup (de-dupe while\n // we're at it).\n aliasArrays.forEach(function (aliasArray) {\n aliasArray = aliasArray.filter(function (v, i, self) {\n return self.indexOf(v) === i;\n });\n const lastAlias = aliasArray.pop();\n if (lastAlias !== undefined && typeof lastAlias === 'string') {\n combined[lastAlias] = aliasArray;\n }\n });\n return combined;\n}\n// this function should only be called when a count is given as an arg\n// it is NOT called to set a default value\n// thus we can start the count at 1 instead of 0\nfunction increment(orig) {\n return orig !== undefined ? orig + 1 : 1;\n}\n// TODO(bcoe): in the next major version of yargs, switch to\n// Object.create(null) for dot notation:\nfunction sanitizeKey(key) {\n if (key === '__proto__')\n return '___proto___';\n return key;\n}\nfunction stripQuotes(val) {\n return (typeof val === 'string' &&\n (val[0] === \"'\" || val[0] === '\"') &&\n val[val.length - 1] === val[0])\n ? val.substring(1, val.length - 1)\n : val;\n}\n",
|
|
143
|
+
"function getProcessArgvBinIndex() {\n if (isBundledElectronApp())\n return 0;\n return 1;\n}\nfunction isBundledElectronApp() {\n return isElectronApp() && !process.defaultApp;\n}\nfunction isElectronApp() {\n return !!process.versions.electron;\n}\nexport function hideBin(argv) {\n return argv.slice(getProcessArgvBinIndex() + 1);\n}\nexport function getProcessArgvBin() {\n return process.argv[getProcessArgvBinIndex()];\n}\n",
|
|
144
|
+
"import { readFileSync, statSync, writeFile } from 'fs';\nimport { format } from 'util';\nimport { resolve } from 'path';\nexport default {\n fs: {\n readFileSync,\n writeFile\n },\n format,\n resolve,\n exists: (file) => {\n try {\n return statSync(file).isFile();\n }\n catch (err) {\n return false;\n }\n }\n};\n",
|
|
145
|
+
"let shim;\nclass Y18N {\n constructor(opts) {\n // configurable options.\n opts = opts || {};\n this.directory = opts.directory || './locales';\n this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true;\n this.locale = opts.locale || 'en';\n this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true;\n // internal stuff.\n this.cache = Object.create(null);\n this.writeQueue = [];\n }\n __(...args) {\n if (typeof arguments[0] !== 'string') {\n return this._taggedLiteral(arguments[0], ...arguments);\n }\n const str = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n cb = cb || function () { }; // noop.\n if (!this.cache[this.locale])\n this._readLocaleFile();\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][str] && this.updateFiles) {\n this.cache[this.locale][str] = str;\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n return shim.format.apply(shim.format, [this.cache[this.locale][str] || str].concat(args));\n }\n __n() {\n const args = Array.prototype.slice.call(arguments);\n const singular = args.shift();\n const plural = args.shift();\n const quantity = args.shift();\n let cb = function () { }; // start with noop.\n if (typeof args[args.length - 1] === 'function')\n cb = args.pop();\n if (!this.cache[this.locale])\n this._readLocaleFile();\n let str = quantity === 1 ? singular : plural;\n if (this.cache[this.locale][singular]) {\n const entry = this.cache[this.locale][singular];\n str = entry[quantity === 1 ? 'one' : 'other'];\n }\n // we've observed a new string, update the language file.\n if (!this.cache[this.locale][singular] && this.updateFiles) {\n this.cache[this.locale][singular] = {\n one: singular,\n other: plural\n };\n // include the current directory and locale,\n // since these values could change before the\n // write is performed.\n this._enqueueWrite({\n directory: this.directory,\n locale: this.locale,\n cb\n });\n }\n else {\n cb();\n }\n // if a %d placeholder is provided, add quantity\n // to the arguments expanded by util.format.\n const values = [str];\n if (~str.indexOf('%d'))\n values.push(quantity);\n return shim.format.apply(shim.format, values.concat(args));\n }\n setLocale(locale) {\n this.locale = locale;\n }\n getLocale() {\n return this.locale;\n }\n updateLocale(obj) {\n if (!this.cache[this.locale])\n this._readLocaleFile();\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n this.cache[this.locale][key] = obj[key];\n }\n }\n }\n _taggedLiteral(parts, ...args) {\n let str = '';\n parts.forEach(function (part, i) {\n const arg = args[i + 1];\n str += part;\n if (typeof arg !== 'undefined') {\n str += '%s';\n }\n });\n return this.__.apply(this, [str].concat([].slice.call(args, 1)));\n }\n _enqueueWrite(work) {\n this.writeQueue.push(work);\n if (this.writeQueue.length === 1)\n this._processWriteQueue();\n }\n _processWriteQueue() {\n const _this = this;\n const work = this.writeQueue[0];\n // destructure the enqueued work.\n const directory = work.directory;\n const locale = work.locale;\n const cb = work.cb;\n const languageFile = this._resolveLocaleFile(directory, locale);\n const serializedLocale = JSON.stringify(this.cache[locale], null, 2);\n shim.fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) {\n _this.writeQueue.shift();\n if (_this.writeQueue.length > 0)\n _this._processWriteQueue();\n cb(err);\n });\n }\n _readLocaleFile() {\n let localeLookup = {};\n const languageFile = this._resolveLocaleFile(this.directory, this.locale);\n try {\n // When using a bundler such as webpack, readFileSync may not be defined:\n if (shim.fs.readFileSync) {\n localeLookup = JSON.parse(shim.fs.readFileSync(languageFile, 'utf-8'));\n }\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n err.message = 'syntax error in ' + languageFile;\n }\n if (err.code === 'ENOENT')\n localeLookup = {};\n else\n throw err;\n }\n this.cache[this.locale] = localeLookup;\n }\n _resolveLocaleFile(directory, locale) {\n let file = shim.resolve(directory, './', locale + '.json');\n if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) {\n // attempt fallback to language only\n const languageFile = shim.resolve(directory, './', locale.split('_')[0] + '.json');\n if (this._fileExistsSync(languageFile))\n file = languageFile;\n }\n return file;\n }\n _fileExistsSync(file) {\n return shim.exists(file);\n }\n}\nexport function y18n(opts, _shim) {\n shim = _shim;\n const y18n = new Y18N(opts);\n return {\n __: y18n.__.bind(y18n),\n __n: y18n.__n.bind(y18n),\n setLocale: y18n.setLocale.bind(y18n),\n getLocale: y18n.getLocale.bind(y18n),\n updateLocale: y18n.updateLocale.bind(y18n),\n locale: y18n.locale\n };\n}\n",
|
|
146
|
+
"import shim from './build/lib/platform-shims/node.js'\nimport { y18n as _y18n } from './build/lib/index.js'\n\nconst y18n = (opts) => {\n return _y18n(opts, shim)\n}\n\nexport default y18n\n",
|
|
147
|
+
"export function assertNotStrictEqual(actual, expected, shim, message) {\n shim.assert.notStrictEqual(actual, expected, message);\n}\nexport function assertSingleKey(actual, shim) {\n shim.assert.strictEqual(typeof actual, 'string');\n}\nexport function objectKeys(object) {\n return Object.keys(object);\n}\n",
|
|
148
|
+
"export function isPromise(maybePromise) {\n return (!!maybePromise &&\n !!maybePromise.then &&\n typeof maybePromise.then === 'function');\n}\n",
|
|
149
|
+
"export class YError extends Error {\n constructor(msg) {\n super(msg || 'yargs error');\n this.name = 'YError';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, YError);\n }\n }\n}\n",
|
|
150
|
+
"export function parseCommand(cmd) {\n const extraSpacesStrippedCommand = cmd.replace(/\\s{2,}/g, ' ');\n const splitCommand = extraSpacesStrippedCommand.split(/\\s+(?![^[]*]|[^<]*>)/);\n const bregex = /\\.*[\\][<>]/g;\n const firstCommand = splitCommand.shift();\n if (!firstCommand)\n throw new Error(`No command found in: ${cmd}`);\n const parsedCommand = {\n cmd: firstCommand.replace(bregex, ''),\n demanded: [],\n optional: [],\n };\n splitCommand.forEach((cmd, i) => {\n let variadic = false;\n cmd = cmd.replace(/\\s/g, '');\n if (/\\.+[\\]>]/.test(cmd) && i === splitCommand.length - 1)\n variadic = true;\n if (/^\\[/.test(cmd)) {\n parsedCommand.optional.push({\n cmd: cmd.replace(bregex, '').split('|'),\n variadic,\n });\n }\n else {\n parsedCommand.demanded.push({\n cmd: cmd.replace(bregex, '').split('|'),\n variadic,\n });\n }\n });\n return parsedCommand;\n}\n",
|
|
151
|
+
"import { YError } from './yerror.js';\nimport { parseCommand } from './parse-command.js';\nconst positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth'];\nexport function argsert(arg1, arg2, arg3) {\n function parseArgs() {\n return typeof arg1 === 'object'\n ? [{ demanded: [], optional: [] }, arg1, arg2]\n : [\n parseCommand(`cmd ${arg1}`),\n arg2,\n arg3,\n ];\n }\n try {\n let position = 0;\n const [parsed, callerArguments, _length] = parseArgs();\n const args = [].slice.call(callerArguments);\n while (args.length && args[args.length - 1] === undefined)\n args.pop();\n const length = _length || args.length;\n if (length < parsed.demanded.length) {\n throw new YError(`Not enough arguments provided. Expected ${parsed.demanded.length} but received ${args.length}.`);\n }\n const totalCommands = parsed.demanded.length + parsed.optional.length;\n if (length > totalCommands) {\n throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`);\n }\n parsed.demanded.forEach(demanded => {\n const arg = args.shift();\n const observedType = guessType(arg);\n const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*');\n if (matchingTypes.length === 0)\n argumentTypeError(observedType, demanded.cmd, position);\n position += 1;\n });\n parsed.optional.forEach(optional => {\n if (args.length === 0)\n return;\n const arg = args.shift();\n const observedType = guessType(arg);\n const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*');\n if (matchingTypes.length === 0)\n argumentTypeError(observedType, optional.cmd, position);\n position += 1;\n });\n }\n catch (err) {\n console.warn(err.stack);\n }\n}\nfunction guessType(arg) {\n if (Array.isArray(arg)) {\n return 'array';\n }\n else if (arg === null) {\n return 'null';\n }\n return typeof arg;\n}\nfunction argumentTypeError(observedType, allowedTypes, position) {\n throw new YError(`Invalid ${positionName[position] || 'manyith'} argument. Expected ${allowedTypes.join(' or ')} but received ${observedType}.`);\n}\n",
|
|
152
|
+
"import { argsert } from './argsert.js';\nimport { isPromise } from './utils/is-promise.js';\nexport class GlobalMiddleware {\n constructor(yargs) {\n this.globalMiddleware = [];\n this.frozens = [];\n this.yargs = yargs;\n }\n addMiddleware(callback, applyBeforeValidation, global = true, mutates = false) {\n argsert('<array|function> [boolean] [boolean] [boolean]', [callback, applyBeforeValidation, global], arguments.length);\n if (Array.isArray(callback)) {\n for (let i = 0; i < callback.length; i++) {\n if (typeof callback[i] !== 'function') {\n throw Error('middleware must be a function');\n }\n const m = callback[i];\n m.applyBeforeValidation = applyBeforeValidation;\n m.global = global;\n }\n Array.prototype.push.apply(this.globalMiddleware, callback);\n }\n else if (typeof callback === 'function') {\n const m = callback;\n m.applyBeforeValidation = applyBeforeValidation;\n m.global = global;\n m.mutates = mutates;\n this.globalMiddleware.push(callback);\n }\n return this.yargs;\n }\n addCoerceMiddleware(callback, option) {\n const aliases = this.yargs.getAliases();\n this.globalMiddleware = this.globalMiddleware.filter(m => {\n const toCheck = [...(aliases[option] || []), option];\n if (!m.option)\n return true;\n else\n return !toCheck.includes(m.option);\n });\n callback.option = option;\n return this.addMiddleware(callback, true, true, true);\n }\n getMiddleware() {\n return this.globalMiddleware;\n }\n freeze() {\n this.frozens.push([...this.globalMiddleware]);\n }\n unfreeze() {\n const frozen = this.frozens.pop();\n if (frozen !== undefined)\n this.globalMiddleware = frozen;\n }\n reset() {\n this.globalMiddleware = this.globalMiddleware.filter(m => m.global);\n }\n}\nexport function commandMiddlewareFactory(commandMiddleware) {\n if (!commandMiddleware)\n return [];\n return commandMiddleware.map(middleware => {\n middleware.applyBeforeValidation = false;\n return middleware;\n });\n}\nexport function applyMiddleware(argv, yargs, middlewares, beforeValidation) {\n return middlewares.reduce((acc, middleware) => {\n if (middleware.applyBeforeValidation !== beforeValidation) {\n return acc;\n }\n if (middleware.mutates) {\n if (middleware.applied)\n return acc;\n middleware.applied = true;\n }\n if (isPromise(acc)) {\n return acc\n .then(initialObj => Promise.all([initialObj, middleware(initialObj, yargs)]))\n .then(([initialObj, middlewareObj]) => Object.assign(initialObj, middlewareObj));\n }\n else {\n const result = middleware(acc, yargs);\n return isPromise(result)\n ? result.then(middlewareObj => Object.assign(acc, middlewareObj))\n : Object.assign(acc, result);\n }\n }, argv);\n}\n",
|
|
153
|
+
"import { isPromise } from './is-promise.js';\nexport function maybeAsyncResult(getResult, resultHandler, errorHandler = (err) => {\n throw err;\n}) {\n try {\n const result = isFunction(getResult) ? getResult() : getResult;\n return isPromise(result)\n ? result.then((result) => resultHandler(result))\n : resultHandler(result);\n }\n catch (err) {\n return errorHandler(err);\n }\n}\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n",
|
|
154
|
+
"import { assertNotStrictEqual, } from './typings/common-types.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { applyMiddleware, commandMiddlewareFactory, } from './middleware.js';\nimport { parseCommand } from './parse-command.js';\nimport { isYargsInstance, } from './yargs-factory.js';\nimport { maybeAsyncResult } from './utils/maybe-async-result.js';\nconst DEFAULT_MARKER = /(^\\*)|(^\\$0)/;\nexport class CommandInstance {\n constructor(usage, validation, globalMiddleware, shim) {\n this.requireCache = new Set();\n this.handlers = {};\n this.aliasMap = {};\n this.frozens = [];\n this.shim = shim;\n this.usage = usage;\n this.globalMiddleware = globalMiddleware;\n this.validation = validation;\n }\n addDirectory(dir, req, callerFile, opts) {\n opts = opts || {};\n this.requireCache.add(callerFile);\n const fullDirPath = this.shim.path.resolve(this.shim.path.dirname(callerFile), dir);\n const files = this.shim.readdirSync(fullDirPath, {\n recursive: opts.recurse ? true : false,\n });\n if (!Array.isArray(opts.extensions))\n opts.extensions = ['js'];\n const visit = typeof opts.visit === 'function' ? opts.visit : (o) => o;\n for (const fileb of files) {\n const file = fileb.toString();\n if (opts.exclude) {\n let exclude = false;\n if (typeof opts.exclude === 'function') {\n exclude = opts.exclude(file);\n }\n else {\n exclude = opts.exclude.test(file);\n }\n if (exclude)\n continue;\n }\n if (opts.include) {\n let include = false;\n if (typeof opts.include === 'function') {\n include = opts.include(file);\n }\n else {\n include = opts.include.test(file);\n }\n if (!include)\n continue;\n }\n let supportedExtension = false;\n for (const ext of opts.extensions) {\n if (file.endsWith(ext))\n supportedExtension = true;\n }\n if (supportedExtension) {\n const joined = this.shim.path.join(fullDirPath, file);\n const module = req(joined);\n const extendableModule = Object.create(null, Object.getOwnPropertyDescriptors({ ...module }));\n const visited = visit(extendableModule, joined, file);\n if (visited) {\n if (this.requireCache.has(joined))\n continue;\n else\n this.requireCache.add(joined);\n if (!extendableModule.command) {\n extendableModule.command = this.shim.path.basename(joined, this.shim.path.extname(joined));\n }\n this.addHandler(extendableModule);\n }\n }\n }\n }\n addHandler(cmd, description, builder, handler, commandMiddleware, deprecated) {\n let aliases = [];\n const middlewares = commandMiddlewareFactory(commandMiddleware);\n handler = handler || (() => { });\n if (Array.isArray(cmd)) {\n if (isCommandAndAliases(cmd)) {\n [cmd, ...aliases] = cmd;\n }\n else {\n for (const command of cmd) {\n this.addHandler(command);\n }\n }\n }\n else if (isCommandHandlerDefinition(cmd)) {\n let command = Array.isArray(cmd.command) || typeof cmd.command === 'string'\n ? cmd.command\n : null;\n if (command === null) {\n throw new Error(`No command name given for module: ${this.shim.inspect(cmd)}`);\n }\n if (cmd.aliases)\n command = [].concat(command).concat(cmd.aliases);\n this.addHandler(command, this.extractDesc(cmd), cmd.builder, cmd.handler, cmd.middlewares, cmd.deprecated);\n return;\n }\n else if (isCommandBuilderDefinition(builder)) {\n this.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler, builder.middlewares, builder.deprecated);\n return;\n }\n if (typeof cmd === 'string') {\n const parsedCommand = parseCommand(cmd);\n aliases = aliases.map(alias => parseCommand(alias).cmd);\n let isDefault = false;\n const parsedAliases = [parsedCommand.cmd].concat(aliases).filter(c => {\n if (DEFAULT_MARKER.test(c)) {\n isDefault = true;\n return false;\n }\n return true;\n });\n if (parsedAliases.length === 0 && isDefault)\n parsedAliases.push('$0');\n if (isDefault) {\n parsedCommand.cmd = parsedAliases[0];\n aliases = parsedAliases.slice(1);\n cmd = cmd.replace(DEFAULT_MARKER, parsedCommand.cmd);\n }\n aliases.forEach(alias => {\n this.aliasMap[alias] = parsedCommand.cmd;\n });\n if (description !== false) {\n this.usage.command(cmd, description, isDefault, aliases, deprecated);\n }\n this.handlers[parsedCommand.cmd] = {\n original: cmd,\n description,\n handler,\n builder: builder || {},\n middlewares,\n deprecated,\n demanded: parsedCommand.demanded,\n optional: parsedCommand.optional,\n };\n if (isDefault)\n this.defaultCommand = this.handlers[parsedCommand.cmd];\n }\n }\n getCommandHandlers() {\n return this.handlers;\n }\n getCommands() {\n return Object.keys(this.handlers).concat(Object.keys(this.aliasMap));\n }\n hasDefaultCommand() {\n return !!this.defaultCommand;\n }\n runCommand(command, yargs, parsed, commandIndex, helpOnly, helpOrVersionSet) {\n const commandHandler = this.handlers[command] ||\n this.handlers[this.aliasMap[command]] ||\n this.defaultCommand;\n const currentContext = yargs.getInternalMethods().getContext();\n const parentCommands = currentContext.commands.slice();\n const isDefaultCommand = !command;\n if (command) {\n currentContext.commands.push(command);\n currentContext.fullCommands.push(commandHandler.original);\n }\n const builderResult = this.applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, parsed.aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet);\n return isPromise(builderResult)\n ? builderResult.then(result => this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, result.innerArgv, currentContext, helpOnly, result.aliases, yargs))\n : this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, builderResult.innerArgv, currentContext, helpOnly, builderResult.aliases, yargs);\n }\n applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet) {\n const builder = commandHandler.builder;\n let innerYargs = yargs;\n if (isCommandBuilderCallback(builder)) {\n yargs.getInternalMethods().getUsageInstance().freeze();\n const builderOutput = builder(yargs.getInternalMethods().reset(aliases), helpOrVersionSet);\n if (isPromise(builderOutput)) {\n return builderOutput.then(output => {\n innerYargs = isYargsInstance(output) ? output : yargs;\n return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);\n });\n }\n }\n else if (isCommandBuilderOptionDefinitions(builder)) {\n yargs.getInternalMethods().getUsageInstance().freeze();\n innerYargs = yargs.getInternalMethods().reset(aliases);\n Object.keys(commandHandler.builder).forEach(key => {\n innerYargs.option(key, builder[key]);\n });\n }\n return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);\n }\n parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly) {\n if (isDefaultCommand)\n innerYargs.getInternalMethods().getUsageInstance().unfreeze(true);\n if (this.shouldUpdateUsage(innerYargs)) {\n innerYargs\n .getInternalMethods()\n .getUsageInstance()\n .usage(this.usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);\n }\n const innerArgv = innerYargs\n .getInternalMethods()\n .runYargsParserAndExecuteCommands(null, undefined, true, commandIndex, helpOnly);\n return isPromise(innerArgv)\n ? innerArgv.then(argv => ({\n aliases: innerYargs.parsed.aliases,\n innerArgv: argv,\n }))\n : {\n aliases: innerYargs.parsed.aliases,\n innerArgv: innerArgv,\n };\n }\n shouldUpdateUsage(yargs) {\n return (!yargs.getInternalMethods().getUsageInstance().getUsageDisabled() &&\n yargs.getInternalMethods().getUsageInstance().getUsage().length === 0);\n }\n usageFromParentCommandsCommandHandler(parentCommands, commandHandler) {\n const c = DEFAULT_MARKER.test(commandHandler.original)\n ? commandHandler.original.replace(DEFAULT_MARKER, '').trim()\n : commandHandler.original;\n const pc = parentCommands.filter(c => {\n return !DEFAULT_MARKER.test(c);\n });\n pc.push(c);\n return `$0 ${pc.join(' ')}`;\n }\n handleValidationAndGetResult(isDefaultCommand, commandHandler, innerArgv, currentContext, aliases, yargs, middlewares, positionalMap) {\n if (!yargs.getInternalMethods().getHasOutput()) {\n const validation = yargs\n .getInternalMethods()\n .runValidation(aliases, positionalMap, yargs.parsed.error, isDefaultCommand);\n innerArgv = maybeAsyncResult(innerArgv, result => {\n validation(result);\n return result;\n });\n }\n if (commandHandler.handler && !yargs.getInternalMethods().getHasOutput()) {\n yargs.getInternalMethods().setHasOutput();\n const populateDoubleDash = !!yargs.getOptions().configuration['populate--'];\n yargs\n .getInternalMethods()\n .postProcess(innerArgv, populateDoubleDash, false, false);\n innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false);\n innerArgv = maybeAsyncResult(innerArgv, result => {\n const handlerResult = commandHandler.handler(result);\n return isPromise(handlerResult)\n ? handlerResult.then(() => result)\n : result;\n });\n if (!isDefaultCommand) {\n yargs.getInternalMethods().getUsageInstance().cacheHelpMessage();\n }\n if (isPromise(innerArgv) &&\n !yargs.getInternalMethods().hasParseCallback()) {\n innerArgv.catch(error => {\n try {\n yargs.getInternalMethods().getUsageInstance().fail(null, error);\n }\n catch (_err) {\n }\n });\n }\n }\n if (!isDefaultCommand) {\n currentContext.commands.pop();\n currentContext.fullCommands.pop();\n }\n return innerArgv;\n }\n applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, innerArgv, currentContext, helpOnly, aliases, yargs) {\n let positionalMap = {};\n if (helpOnly)\n return innerArgv;\n if (!yargs.getInternalMethods().getHasOutput()) {\n positionalMap = this.populatePositionals(commandHandler, innerArgv, currentContext, yargs);\n }\n const middlewares = this.globalMiddleware\n .getMiddleware()\n .slice(0)\n .concat(commandHandler.middlewares);\n const maybePromiseArgv = applyMiddleware(innerArgv, yargs, middlewares, true);\n return isPromise(maybePromiseArgv)\n ? maybePromiseArgv.then(resolvedInnerArgv => this.handleValidationAndGetResult(isDefaultCommand, commandHandler, resolvedInnerArgv, currentContext, aliases, yargs, middlewares, positionalMap))\n : this.handleValidationAndGetResult(isDefaultCommand, commandHandler, maybePromiseArgv, currentContext, aliases, yargs, middlewares, positionalMap);\n }\n populatePositionals(commandHandler, argv, context, yargs) {\n argv._ = argv._.slice(context.commands.length);\n const demanded = commandHandler.demanded.slice(0);\n const optional = commandHandler.optional.slice(0);\n const positionalMap = {};\n this.validation.positionalCount(demanded.length, argv._.length);\n while (demanded.length) {\n const demand = demanded.shift();\n this.populatePositional(demand, argv, positionalMap);\n }\n while (optional.length) {\n const maybe = optional.shift();\n this.populatePositional(maybe, argv, positionalMap);\n }\n argv._ = context.commands.concat(argv._.map(a => '' + a));\n this.postProcessPositionals(argv, positionalMap, this.cmdToParseOptions(commandHandler.original), yargs);\n return positionalMap;\n }\n populatePositional(positional, argv, positionalMap) {\n const cmd = positional.cmd[0];\n if (positional.variadic) {\n positionalMap[cmd] = argv._.splice(0).map(String);\n }\n else {\n if (argv._.length)\n positionalMap[cmd] = [String(argv._.shift())];\n }\n }\n cmdToParseOptions(cmdString) {\n const parseOptions = {\n array: [],\n default: {},\n alias: {},\n demand: {},\n };\n const parsed = parseCommand(cmdString);\n parsed.demanded.forEach(d => {\n const [cmd, ...aliases] = d.cmd;\n if (d.variadic) {\n parseOptions.array.push(cmd);\n parseOptions.default[cmd] = [];\n }\n parseOptions.alias[cmd] = aliases;\n parseOptions.demand[cmd] = true;\n });\n parsed.optional.forEach(o => {\n const [cmd, ...aliases] = o.cmd;\n if (o.variadic) {\n parseOptions.array.push(cmd);\n parseOptions.default[cmd] = [];\n }\n parseOptions.alias[cmd] = aliases;\n });\n return parseOptions;\n }\n postProcessPositionals(argv, positionalMap, parseOptions, yargs) {\n const options = Object.assign({}, yargs.getOptions());\n options.default = Object.assign(parseOptions.default, options.default);\n for (const key of Object.keys(parseOptions.alias)) {\n options.alias[key] = (options.alias[key] || []).concat(parseOptions.alias[key]);\n }\n options.array = options.array.concat(parseOptions.array);\n options.config = {};\n const unparsed = [];\n Object.keys(positionalMap).forEach(key => {\n positionalMap[key].map(value => {\n if (options.configuration['unknown-options-as-args'])\n options.key[key] = true;\n unparsed.push(`--${key}`);\n unparsed.push(value);\n });\n });\n if (!unparsed.length)\n return;\n const config = Object.assign({}, options.configuration, {\n 'populate--': false,\n });\n const parsed = this.shim.Parser.detailed(unparsed, Object.assign({}, options, {\n configuration: config,\n }));\n if (parsed.error) {\n yargs\n .getInternalMethods()\n .getUsageInstance()\n .fail(parsed.error.message, parsed.error);\n }\n else {\n const positionalKeys = Object.keys(positionalMap);\n Object.keys(positionalMap).forEach(key => {\n positionalKeys.push(...parsed.aliases[key]);\n });\n Object.keys(parsed.argv).forEach(key => {\n if (positionalKeys.includes(key)) {\n if (!positionalMap[key])\n positionalMap[key] = parsed.argv[key];\n if (!this.isInConfigs(yargs, key) &&\n !this.isDefaulted(yargs, key) &&\n Object.prototype.hasOwnProperty.call(argv, key) &&\n Object.prototype.hasOwnProperty.call(parsed.argv, key) &&\n (Array.isArray(argv[key]) || Array.isArray(parsed.argv[key]))) {\n argv[key] = [].concat(argv[key], parsed.argv[key]);\n }\n else {\n argv[key] = parsed.argv[key];\n }\n }\n });\n }\n }\n isDefaulted(yargs, key) {\n const { default: defaults } = yargs.getOptions();\n return (Object.prototype.hasOwnProperty.call(defaults, key) ||\n Object.prototype.hasOwnProperty.call(defaults, this.shim.Parser.camelCase(key)));\n }\n isInConfigs(yargs, key) {\n const { configObjects } = yargs.getOptions();\n return (configObjects.some(c => Object.prototype.hasOwnProperty.call(c, key)) ||\n configObjects.some(c => Object.prototype.hasOwnProperty.call(c, this.shim.Parser.camelCase(key))));\n }\n runDefaultBuilderOn(yargs) {\n if (!this.defaultCommand)\n return;\n if (this.shouldUpdateUsage(yargs)) {\n const commandString = DEFAULT_MARKER.test(this.defaultCommand.original)\n ? this.defaultCommand.original\n : this.defaultCommand.original.replace(/^[^[\\]<>]*/, '$0 ');\n yargs\n .getInternalMethods()\n .getUsageInstance()\n .usage(commandString, this.defaultCommand.description);\n }\n const builder = this.defaultCommand.builder;\n if (isCommandBuilderCallback(builder)) {\n return builder(yargs, true);\n }\n else if (!isCommandBuilderDefinition(builder)) {\n Object.keys(builder).forEach(key => {\n yargs.option(key, builder[key]);\n });\n }\n return undefined;\n }\n extractDesc({ describe, description, desc }) {\n for (const test of [describe, description, desc]) {\n if (typeof test === 'string' || test === false)\n return test;\n assertNotStrictEqual(test, true, this.shim);\n }\n return false;\n }\n freeze() {\n this.frozens.push({\n handlers: this.handlers,\n aliasMap: this.aliasMap,\n defaultCommand: this.defaultCommand,\n });\n }\n unfreeze() {\n const frozen = this.frozens.pop();\n assertNotStrictEqual(frozen, undefined, this.shim);\n ({\n handlers: this.handlers,\n aliasMap: this.aliasMap,\n defaultCommand: this.defaultCommand,\n } = frozen);\n }\n reset() {\n this.handlers = {};\n this.aliasMap = {};\n this.defaultCommand = undefined;\n this.requireCache = new Set();\n return this;\n }\n}\nexport function command(usage, validation, globalMiddleware, shim) {\n return new CommandInstance(usage, validation, globalMiddleware, shim);\n}\nexport function isCommandBuilderDefinition(builder) {\n return (typeof builder === 'object' &&\n !!builder.builder &&\n typeof builder.handler === 'function');\n}\nfunction isCommandAndAliases(cmd) {\n return cmd.every(c => typeof c === 'string');\n}\nexport function isCommandBuilderCallback(builder) {\n return typeof builder === 'function';\n}\nfunction isCommandBuilderOptionDefinitions(builder) {\n return typeof builder === 'object';\n}\nexport function isCommandHandlerDefinition(cmd) {\n return typeof cmd === 'object' && !Array.isArray(cmd);\n}\n",
|
|
155
|
+
"import { objectKeys } from '../typings/common-types.js';\nexport function objFilter(original = {}, filter = () => true) {\n const obj = {};\n objectKeys(original).forEach(key => {\n if (filter(key, original[key])) {\n obj[key] = original[key];\n }\n });\n return obj;\n}\n",
|
|
156
|
+
"export default function setBlocking(blocking) {\n if (typeof process === 'undefined')\n return;\n [process.stdout, process.stderr].forEach(_stream => {\n const stream = _stream;\n if (stream._handle &&\n stream.isTTY &&\n typeof stream._handle.setBlocking === 'function') {\n stream._handle.setBlocking(blocking);\n }\n });\n}\n",
|
|
157
|
+
"import { objFilter } from './utils/obj-filter.js';\nimport { YError } from './yerror.js';\nimport setBlocking from './utils/set-blocking.js';\nfunction isBoolean(fail) {\n return typeof fail === 'boolean';\n}\nexport function usage(yargs, shim) {\n const __ = shim.y18n.__;\n const self = {};\n const fails = [];\n self.failFn = function failFn(f) {\n fails.push(f);\n };\n let failMessage = null;\n let globalFailMessage = null;\n let showHelpOnFail = true;\n self.showHelpOnFail = function showHelpOnFailFn(arg1 = true, arg2) {\n const [enabled, message] = typeof arg1 === 'string' ? [true, arg1] : [arg1, arg2];\n if (yargs.getInternalMethods().isGlobalContext()) {\n globalFailMessage = message;\n }\n failMessage = message;\n showHelpOnFail = enabled;\n return self;\n };\n let failureOutput = false;\n self.fail = function fail(msg, err) {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (fails.length) {\n for (let i = fails.length - 1; i >= 0; --i) {\n const fail = fails[i];\n if (isBoolean(fail)) {\n if (err)\n throw err;\n else if (msg)\n throw Error(msg);\n }\n else {\n fail(msg, err, self);\n }\n }\n }\n else {\n if (yargs.getExitProcess())\n setBlocking(true);\n if (!failureOutput) {\n failureOutput = true;\n if (showHelpOnFail) {\n yargs.showHelp('error');\n logger.error();\n }\n if (msg || err)\n logger.error(msg || err);\n const globalOrCommandFailMessage = failMessage || globalFailMessage;\n if (globalOrCommandFailMessage) {\n if (msg || err)\n logger.error('');\n logger.error(globalOrCommandFailMessage);\n }\n }\n err = err || new YError(msg);\n if (yargs.getExitProcess()) {\n return yargs.exit(1);\n }\n else if (yargs.getInternalMethods().hasParseCallback()) {\n return yargs.exit(1, err);\n }\n else {\n throw err;\n }\n }\n };\n let usages = [];\n let usageDisabled = false;\n self.usage = (msg, description) => {\n if (msg === null) {\n usageDisabled = true;\n usages = [];\n return self;\n }\n usageDisabled = false;\n usages.push([msg, description || '']);\n return self;\n };\n self.getUsage = () => {\n return usages;\n };\n self.getUsageDisabled = () => {\n return usageDisabled;\n };\n self.getPositionalGroupName = () => {\n return __('Positionals:');\n };\n let examples = [];\n self.example = (cmd, description) => {\n examples.push([cmd, description || '']);\n };\n let commands = [];\n self.command = function command(cmd, description, isDefault, aliases, deprecated = false) {\n if (isDefault) {\n commands = commands.map(cmdArray => {\n cmdArray[2] = false;\n return cmdArray;\n });\n }\n commands.push([cmd, description || '', isDefault, aliases, deprecated]);\n };\n self.getCommands = () => commands;\n let descriptions = {};\n self.describe = function describe(keyOrKeys, desc) {\n if (Array.isArray(keyOrKeys)) {\n keyOrKeys.forEach(k => {\n self.describe(k, desc);\n });\n }\n else if (typeof keyOrKeys === 'object') {\n Object.keys(keyOrKeys).forEach(k => {\n self.describe(k, keyOrKeys[k]);\n });\n }\n else {\n descriptions[keyOrKeys] = desc;\n }\n };\n self.getDescriptions = () => descriptions;\n let epilogs = [];\n self.epilog = msg => {\n epilogs.push(msg);\n };\n let wrapSet = false;\n let wrap;\n self.wrap = cols => {\n wrapSet = true;\n wrap = cols;\n };\n self.getWrap = () => {\n if (shim.getEnv('YARGS_DISABLE_WRAP')) {\n return null;\n }\n if (!wrapSet) {\n wrap = windowWidth();\n wrapSet = true;\n }\n return wrap;\n };\n const deferY18nLookupPrefix = '__yargsString__:';\n self.deferY18nLookup = str => deferY18nLookupPrefix + str;\n self.help = function help() {\n if (cachedHelpMessage)\n return cachedHelpMessage;\n normalizeAliases();\n const base$0 = yargs.customScriptName\n ? yargs.$0\n : shim.path.basename(yargs.$0);\n const demandedOptions = yargs.getDemandedOptions();\n const demandedCommands = yargs.getDemandedCommands();\n const deprecatedOptions = yargs.getDeprecatedOptions();\n const groups = yargs.getGroups();\n const options = yargs.getOptions();\n let keys = [];\n keys = keys.concat(Object.keys(descriptions));\n keys = keys.concat(Object.keys(demandedOptions));\n keys = keys.concat(Object.keys(demandedCommands));\n keys = keys.concat(Object.keys(options.default));\n keys = keys.filter(filterHiddenOptions);\n keys = Object.keys(keys.reduce((acc, key) => {\n if (key !== '_')\n acc[key] = true;\n return acc;\n }, {}));\n const theWrap = self.getWrap();\n const ui = shim.cliui({\n width: theWrap,\n wrap: !!theWrap,\n });\n if (!usageDisabled) {\n if (usages.length) {\n usages.forEach(usage => {\n ui.div({ text: `${usage[0].replace(/\\$0/g, base$0)}` });\n if (usage[1]) {\n ui.div({ text: `${usage[1]}`, padding: [1, 0, 0, 0] });\n }\n });\n ui.div();\n }\n else if (commands.length) {\n let u = null;\n if (demandedCommands._) {\n u = `${base$0} <${__('command')}>\\n`;\n }\n else {\n u = `${base$0} [${__('command')}]\\n`;\n }\n ui.div(`${u}`);\n }\n }\n if (commands.length > 1 || (commands.length === 1 && !commands[0][2])) {\n ui.div(__('Commands:'));\n const context = yargs.getInternalMethods().getContext();\n const parentCommands = context.commands.length\n ? `${context.commands.join(' ')} `\n : '';\n if (yargs.getInternalMethods().getParserConfiguration()['sort-commands'] ===\n true) {\n commands = commands.sort((a, b) => a[0].localeCompare(b[0]));\n }\n const prefix = base$0 ? `${base$0} ` : '';\n commands.forEach(command => {\n const commandString = `${prefix}${parentCommands}${command[0].replace(/^\\$0 ?/, '')}`;\n ui.span({\n text: commandString,\n padding: [0, 2, 0, 2],\n width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4,\n }, { text: command[1] });\n const hints = [];\n if (command[2])\n hints.push(`[${__('default')}]`);\n if (command[3] && command[3].length) {\n hints.push(`[${__('aliases:')} ${command[3].join(', ')}]`);\n }\n if (command[4]) {\n if (typeof command[4] === 'string') {\n hints.push(`[${__('deprecated: %s', command[4])}]`);\n }\n else {\n hints.push(`[${__('deprecated')}]`);\n }\n }\n if (hints.length) {\n ui.div({\n text: hints.join(' '),\n padding: [0, 0, 0, 2],\n align: 'right',\n });\n }\n else {\n ui.div();\n }\n });\n ui.div();\n }\n const aliasKeys = (Object.keys(options.alias) || []).concat(Object.keys(yargs.parsed.newAliases) || []);\n keys = keys.filter(key => !yargs.parsed.newAliases[key] &&\n aliasKeys.every(alias => (options.alias[alias] || []).indexOf(key) === -1));\n const defaultGroup = __('Options:');\n if (!groups[defaultGroup])\n groups[defaultGroup] = [];\n addUngroupedKeys(keys, options.alias, groups, defaultGroup);\n const isLongSwitch = (sw) => /^--/.test(getText(sw));\n const displayedGroups = Object.keys(groups)\n .filter(groupName => groups[groupName].length > 0)\n .map(groupName => {\n const normalizedKeys = groups[groupName]\n .filter(filterHiddenOptions)\n .map(key => {\n if (aliasKeys.includes(key))\n return key;\n for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {\n if ((options.alias[aliasKey] || []).includes(key))\n return aliasKey;\n }\n return key;\n });\n return { groupName, normalizedKeys };\n })\n .filter(({ normalizedKeys }) => normalizedKeys.length > 0)\n .map(({ groupName, normalizedKeys }) => {\n const switches = normalizedKeys.reduce((acc, key) => {\n acc[key] = [key]\n .concat(options.alias[key] || [])\n .map(sw => {\n if (groupName === self.getPositionalGroupName())\n return sw;\n else {\n return ((/^[0-9]$/.test(sw)\n ? options.boolean.includes(key)\n ? '-'\n : '--'\n : sw.length > 1\n ? '--'\n : '-') + sw);\n }\n })\n .sort((sw1, sw2) => isLongSwitch(sw1) === isLongSwitch(sw2)\n ? 0\n : isLongSwitch(sw1)\n ? 1\n : -1)\n .join(', ');\n return acc;\n }, {});\n return { groupName, normalizedKeys, switches };\n });\n const shortSwitchesUsed = displayedGroups\n .filter(({ groupName }) => groupName !== self.getPositionalGroupName())\n .some(({ normalizedKeys, switches }) => !normalizedKeys.every(key => isLongSwitch(switches[key])));\n if (shortSwitchesUsed) {\n displayedGroups\n .filter(({ groupName }) => groupName !== self.getPositionalGroupName())\n .forEach(({ normalizedKeys, switches }) => {\n normalizedKeys.forEach(key => {\n if (isLongSwitch(switches[key])) {\n switches[key] = addIndentation(switches[key], '-x, '.length);\n }\n });\n });\n }\n displayedGroups.forEach(({ groupName, normalizedKeys, switches }) => {\n ui.div(groupName);\n normalizedKeys.forEach(key => {\n const kswitch = switches[key];\n let desc = descriptions[key] || '';\n let type = null;\n if (desc.includes(deferY18nLookupPrefix))\n desc = __(desc.substring(deferY18nLookupPrefix.length));\n if (options.boolean.includes(key))\n type = `[${__('boolean')}]`;\n if (options.count.includes(key))\n type = `[${__('count')}]`;\n if (options.string.includes(key))\n type = `[${__('string')}]`;\n if (options.normalize.includes(key))\n type = `[${__('string')}]`;\n if (options.array.includes(key))\n type = `[${__('array')}]`;\n if (options.number.includes(key))\n type = `[${__('number')}]`;\n const deprecatedExtra = (deprecated) => typeof deprecated === 'string'\n ? `[${__('deprecated: %s', deprecated)}]`\n : `[${__('deprecated')}]`;\n const extra = [\n key in deprecatedOptions\n ? deprecatedExtra(deprecatedOptions[key])\n : null,\n type,\n key in demandedOptions ? `[${__('required')}]` : null,\n options.choices && options.choices[key]\n ? `[${__('choices:')} ${self.stringifiedValues(options.choices[key])}]`\n : null,\n defaultString(options.default[key], options.defaultDescription[key]),\n ]\n .filter(Boolean)\n .join(' ');\n ui.span({\n text: getText(kswitch),\n padding: [0, 2, 0, 2 + getIndentation(kswitch)],\n width: maxWidth(switches, theWrap) + 4,\n }, desc);\n const shouldHideOptionExtras = yargs.getInternalMethods().getUsageConfiguration()['hide-types'] ===\n true;\n if (extra && !shouldHideOptionExtras)\n ui.div({ text: extra, padding: [0, 0, 0, 2], align: 'right' });\n else\n ui.div();\n });\n ui.div();\n });\n if (examples.length) {\n ui.div(__('Examples:'));\n examples.forEach(example => {\n example[0] = example[0].replace(/\\$0/g, base$0);\n });\n examples.forEach(example => {\n if (example[1] === '') {\n ui.div({\n text: example[0],\n padding: [0, 2, 0, 2],\n });\n }\n else {\n ui.div({\n text: example[0],\n padding: [0, 2, 0, 2],\n width: maxWidth(examples, theWrap) + 4,\n }, {\n text: example[1],\n });\n }\n });\n ui.div();\n }\n if (epilogs.length > 0) {\n const e = epilogs\n .map(epilog => epilog.replace(/\\$0/g, base$0))\n .join('\\n');\n ui.div(`${e}\\n`);\n }\n return ui.toString().replace(/\\s*$/, '');\n };\n function maxWidth(table, theWrap, modifier) {\n let width = 0;\n if (!Array.isArray(table)) {\n table = Object.values(table).map(v => [v]);\n }\n table.forEach(v => {\n width = Math.max(shim.stringWidth(modifier ? `${modifier} ${getText(v[0])}` : getText(v[0])) + getIndentation(v[0]), width);\n });\n if (theWrap)\n width = Math.min(width, parseInt((theWrap * 0.5).toString(), 10));\n return width;\n }\n function normalizeAliases() {\n const demandedOptions = yargs.getDemandedOptions();\n const options = yargs.getOptions();\n (Object.keys(options.alias) || []).forEach(key => {\n options.alias[key].forEach(alias => {\n if (descriptions[alias])\n self.describe(key, descriptions[alias]);\n if (alias in demandedOptions)\n yargs.demandOption(key, demandedOptions[alias]);\n if (options.boolean.includes(alias))\n yargs.boolean(key);\n if (options.count.includes(alias))\n yargs.count(key);\n if (options.string.includes(alias))\n yargs.string(key);\n if (options.normalize.includes(alias))\n yargs.normalize(key);\n if (options.array.includes(alias))\n yargs.array(key);\n if (options.number.includes(alias))\n yargs.number(key);\n });\n });\n }\n let cachedHelpMessage;\n self.cacheHelpMessage = function () {\n cachedHelpMessage = this.help();\n };\n self.clearCachedHelpMessage = function () {\n cachedHelpMessage = undefined;\n };\n self.hasCachedHelpMessage = function () {\n return !!cachedHelpMessage;\n };\n function addUngroupedKeys(keys, aliases, groups, defaultGroup) {\n let groupedKeys = [];\n let toCheck = null;\n Object.keys(groups).forEach(group => {\n groupedKeys = groupedKeys.concat(groups[group]);\n });\n keys.forEach(key => {\n toCheck = [key].concat(aliases[key]);\n if (!toCheck.some(k => groupedKeys.indexOf(k) !== -1)) {\n groups[defaultGroup].push(key);\n }\n });\n return groupedKeys;\n }\n function filterHiddenOptions(key) {\n return (yargs.getOptions().hiddenOptions.indexOf(key) < 0 ||\n yargs.parsed.argv[yargs.getOptions().showHiddenOpt]);\n }\n self.showHelp = (level) => {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (!level)\n level = 'error';\n const emit = typeof level === 'function' ? level : logger[level];\n emit(self.help());\n };\n self.functionDescription = fn => {\n const description = fn.name\n ? shim.Parser.decamelize(fn.name, '-')\n : __('generated-value');\n return ['(', description, ')'].join('');\n };\n self.stringifiedValues = function stringifiedValues(values, separator) {\n let string = '';\n const sep = separator || ', ';\n const array = [].concat(values);\n if (!values || !array.length)\n return string;\n array.forEach(value => {\n if (string.length)\n string += sep;\n string += JSON.stringify(value);\n });\n return string;\n };\n function defaultString(value, defaultDescription) {\n let string = `[${__('default:')} `;\n if (value === undefined && !defaultDescription)\n return null;\n if (defaultDescription) {\n string += defaultDescription;\n }\n else {\n switch (typeof value) {\n case 'string':\n string += `\"${value}\"`;\n break;\n case 'object':\n string += JSON.stringify(value);\n break;\n default:\n string += value;\n }\n }\n return `${string}]`;\n }\n function windowWidth() {\n const maxWidth = 80;\n if (shim.process.stdColumns) {\n return Math.min(maxWidth, shim.process.stdColumns);\n }\n else {\n return maxWidth;\n }\n }\n let version = null;\n self.version = ver => {\n version = ver;\n };\n self.showVersion = level => {\n const logger = yargs.getInternalMethods().getLoggerInstance();\n if (!level)\n level = 'error';\n const emit = typeof level === 'function' ? level : logger[level];\n emit(version);\n };\n self.reset = function reset(localLookup) {\n failMessage = null;\n failureOutput = false;\n usages = [];\n usageDisabled = false;\n epilogs = [];\n examples = [];\n commands = [];\n descriptions = objFilter(descriptions, k => !localLookup[k]);\n return self;\n };\n const frozens = [];\n self.freeze = function freeze() {\n frozens.push({\n failMessage,\n failureOutput,\n usages,\n usageDisabled,\n epilogs,\n examples,\n commands,\n descriptions,\n });\n };\n self.unfreeze = function unfreeze(defaultCommand = false) {\n const frozen = frozens.pop();\n if (!frozen)\n return;\n if (defaultCommand) {\n descriptions = { ...frozen.descriptions, ...descriptions };\n commands = [...frozen.commands, ...commands];\n usages = [...frozen.usages, ...usages];\n examples = [...frozen.examples, ...examples];\n epilogs = [...frozen.epilogs, ...epilogs];\n }\n else {\n ({\n failMessage,\n failureOutput,\n usages,\n usageDisabled,\n epilogs,\n examples,\n commands,\n descriptions,\n } = frozen);\n }\n };\n return self;\n}\nfunction isIndentedText(text) {\n return typeof text === 'object';\n}\nfunction addIndentation(text, indent) {\n return isIndentedText(text)\n ? { text: text.text, indentation: text.indentation + indent }\n : { text, indentation: indent };\n}\nfunction getIndentation(text) {\n return isIndentedText(text) ? text.indentation : 0;\n}\nfunction getText(text) {\n return isIndentedText(text) ? text.text : text;\n}\n",
|
|
158
|
+
"export const completionShTemplate = `###-begin-{{app_name}}-completions-###\n#\n# yargs command completion script\n#\n# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc\n# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.\n#\n_{{app_name}}_yargs_completions()\n{\n local cur_word args type_list\n\n cur_word=\"\\${COMP_WORDS[COMP_CWORD]}\"\n args=(\"\\${COMP_WORDS[@]}\")\n\n # ask yargs to generate completions.\n # see https://stackoverflow.com/a/40944195/7080036 for the spaces-handling awk\n mapfile -t type_list < <({{app_path}} --get-yargs-completions \"\\${args[@]}\")\n mapfile -t COMPREPLY < <(compgen -W \"$( printf '%q ' \"\\${type_list[@]}\" )\" -- \"\\${cur_word}\" |\n awk '/ / { print \"\\\\\"\"$0\"\\\\\"\" } /^[^ ]+$/ { print $0 }')\n\n # if no match was found, fall back to filename completion\n if [ \\${#COMPREPLY[@]} -eq 0 ]; then\n COMPREPLY=()\n fi\n\n return 0\n}\ncomplete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}}\n###-end-{{app_name}}-completions-###\n`;\nexport const completionZshTemplate = `#compdef {{app_name}}\n###-begin-{{app_name}}-completions-###\n#\n# yargs command completion script\n#\n# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc\n# or {{app_path}} {{completion_command}} >> ~/.zprofile on OSX.\n#\n_{{app_name}}_yargs_completions()\n{\n local reply\n local si=$IFS\n IFS=$'\\n' reply=($(COMP_CWORD=\"$((CURRENT-1))\" COMP_LINE=\"$BUFFER\" COMP_POINT=\"$CURSOR\" {{app_path}} --get-yargs-completions \"\\${words[@]}\"))\n IFS=$si\n if [[ \\${#reply} -gt 0 ]]; then\n _describe 'values' reply\n else\n _default\n fi\n}\nif [[ \"'\\${zsh_eval_context[-1]}\" == \"loadautofunc\" ]]; then\n _{{app_name}}_yargs_completions \"$@\"\nelse\n compdef _{{app_name}}_yargs_completions {{app_name}}\nfi\n###-end-{{app_name}}-completions-###\n`;\n",
|
|
159
|
+
"import { isCommandBuilderCallback } from './command.js';\nimport { assertNotStrictEqual } from './typings/common-types.js';\nimport * as templates from './completion-templates.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { parseCommand } from './parse-command.js';\nexport class Completion {\n constructor(yargs, usage, command, shim) {\n var _a, _b, _c;\n this.yargs = yargs;\n this.usage = usage;\n this.command = command;\n this.shim = shim;\n this.completionKey = 'get-yargs-completions';\n this.aliases = null;\n this.customCompletionFunction = null;\n this.indexAfterLastReset = 0;\n this.zshShell =\n (_c = (((_a = this.shim.getEnv('SHELL')) === null || _a === void 0 ? void 0 : _a.includes('zsh')) ||\n ((_b = this.shim.getEnv('ZSH_NAME')) === null || _b === void 0 ? void 0 : _b.includes('zsh')))) !== null && _c !== void 0 ? _c : false;\n }\n defaultCompletion(args, argv, current, done) {\n const handlers = this.command.getCommandHandlers();\n for (let i = 0, ii = args.length; i < ii; ++i) {\n if (handlers[args[i]] && handlers[args[i]].builder) {\n const builder = handlers[args[i]].builder;\n if (isCommandBuilderCallback(builder)) {\n this.indexAfterLastReset = i + 1;\n const y = this.yargs.getInternalMethods().reset();\n builder(y, true);\n return y.argv;\n }\n }\n }\n const completions = [];\n this.commandCompletions(completions, args, current);\n this.optionCompletions(completions, args, argv, current);\n this.choicesFromOptionsCompletions(completions, args, argv, current);\n this.choicesFromPositionalsCompletions(completions, args, argv, current);\n done(null, completions);\n }\n commandCompletions(completions, args, current) {\n const parentCommands = this.yargs\n .getInternalMethods()\n .getContext().commands;\n if (!current.match(/^-/) &&\n parentCommands[parentCommands.length - 1] !== current &&\n !this.previousArgHasChoices(args)) {\n this.usage.getCommands().forEach(usageCommand => {\n const commandName = parseCommand(usageCommand[0]).cmd;\n if (args.indexOf(commandName) === -1) {\n if (!this.zshShell) {\n completions.push(commandName);\n }\n else {\n const desc = usageCommand[1] || '';\n completions.push(commandName.replace(/:/g, '\\\\:') + ':' + desc);\n }\n }\n });\n }\n }\n optionCompletions(completions, args, argv, current) {\n if ((current.match(/^-/) || (current === '' && completions.length === 0)) &&\n !this.previousArgHasChoices(args)) {\n const options = this.yargs.getOptions();\n const positionalKeys = this.yargs.getGroups()[this.usage.getPositionalGroupName()] || [];\n Object.keys(options.key).forEach(key => {\n const negable = !!options.configuration['boolean-negation'] &&\n options.boolean.includes(key);\n const isPositionalKey = positionalKeys.includes(key);\n if (!isPositionalKey &&\n !options.hiddenOptions.includes(key) &&\n !this.argsContainKey(args, key, negable)) {\n this.completeOptionKey(key, completions, current, negable && !!options.default[key]);\n }\n });\n }\n }\n choicesFromOptionsCompletions(completions, args, argv, current) {\n if (this.previousArgHasChoices(args)) {\n const choices = this.getPreviousArgChoices(args);\n if (choices && choices.length > 0) {\n completions.push(...choices.map(c => c.replace(/:/g, '\\\\:')));\n }\n }\n }\n choicesFromPositionalsCompletions(completions, args, argv, current) {\n if (current === '' &&\n completions.length > 0 &&\n this.previousArgHasChoices(args)) {\n return;\n }\n const positionalKeys = this.yargs.getGroups()[this.usage.getPositionalGroupName()] || [];\n const offset = Math.max(this.indexAfterLastReset, this.yargs.getInternalMethods().getContext().commands.length +\n 1);\n const positionalKey = positionalKeys[argv._.length - offset - 1];\n if (!positionalKey) {\n return;\n }\n const choices = this.yargs.getOptions().choices[positionalKey] || [];\n for (const choice of choices) {\n if (choice.startsWith(current)) {\n completions.push(choice.replace(/:/g, '\\\\:'));\n }\n }\n }\n getPreviousArgChoices(args) {\n if (args.length < 1)\n return;\n let previousArg = args[args.length - 1];\n let filter = '';\n if (!previousArg.startsWith('-') && args.length > 1) {\n filter = previousArg;\n previousArg = args[args.length - 2];\n }\n if (!previousArg.startsWith('-'))\n return;\n const previousArgKey = previousArg.replace(/^-+/, '');\n const options = this.yargs.getOptions();\n const possibleAliases = [\n previousArgKey,\n ...(this.yargs.getAliases()[previousArgKey] || []),\n ];\n let choices;\n for (const possibleAlias of possibleAliases) {\n if (Object.prototype.hasOwnProperty.call(options.key, possibleAlias) &&\n Array.isArray(options.choices[possibleAlias])) {\n choices = options.choices[possibleAlias];\n break;\n }\n }\n if (choices) {\n return choices.filter(choice => !filter || choice.startsWith(filter));\n }\n }\n previousArgHasChoices(args) {\n const choices = this.getPreviousArgChoices(args);\n return choices !== undefined && choices.length > 0;\n }\n argsContainKey(args, key, negable) {\n const argsContains = (s) => args.indexOf((/^[^0-9]$/.test(s) ? '-' : '--') + s) !== -1;\n if (argsContains(key))\n return true;\n if (negable && argsContains(`no-${key}`))\n return true;\n if (this.aliases) {\n for (const alias of this.aliases[key]) {\n if (argsContains(alias))\n return true;\n }\n }\n return false;\n }\n completeOptionKey(key, completions, current, negable) {\n var _a, _b, _c, _d;\n let keyWithDesc = key;\n if (this.zshShell) {\n const descs = this.usage.getDescriptions();\n const aliasKey = (_b = (_a = this === null || this === void 0 ? void 0 : this.aliases) === null || _a === void 0 ? void 0 : _a[key]) === null || _b === void 0 ? void 0 : _b.find(alias => {\n const desc = descs[alias];\n return typeof desc === 'string' && desc.length > 0;\n });\n const descFromAlias = aliasKey ? descs[aliasKey] : undefined;\n const desc = (_d = (_c = descs[key]) !== null && _c !== void 0 ? _c : descFromAlias) !== null && _d !== void 0 ? _d : '';\n keyWithDesc = `${key.replace(/:/g, '\\\\:')}:${desc\n .replace('__yargsString__:', '')\n .replace(/(\\r\\n|\\n|\\r)/gm, ' ')}`;\n }\n const startsByTwoDashes = (s) => /^--/.test(s);\n const isShortOption = (s) => /^[^0-9]$/.test(s);\n const dashes = !startsByTwoDashes(current) && isShortOption(key) ? '-' : '--';\n completions.push(dashes + keyWithDesc);\n if (negable) {\n completions.push(dashes + 'no-' + keyWithDesc);\n }\n }\n customCompletion(args, argv, current, done) {\n assertNotStrictEqual(this.customCompletionFunction, null, this.shim);\n if (isSyncCompletionFunction(this.customCompletionFunction)) {\n const result = this.customCompletionFunction(current, argv);\n if (isPromise(result)) {\n return result\n .then(list => {\n this.shim.process.nextTick(() => {\n done(null, list);\n });\n })\n .catch(err => {\n this.shim.process.nextTick(() => {\n done(err, undefined);\n });\n });\n }\n return done(null, result);\n }\n else if (isFallbackCompletionFunction(this.customCompletionFunction)) {\n return this.customCompletionFunction(current, argv, (onCompleted = done) => this.defaultCompletion(args, argv, current, onCompleted), completions => {\n done(null, completions);\n });\n }\n else {\n return this.customCompletionFunction(current, argv, completions => {\n done(null, completions);\n });\n }\n }\n getCompletion(args, done) {\n const current = args.length ? args[args.length - 1] : '';\n const argv = this.yargs.parse(args, true);\n const completionFunction = this.customCompletionFunction\n ? (argv) => this.customCompletion(args, argv, current, done)\n : (argv) => this.defaultCompletion(args, argv, current, done);\n return isPromise(argv)\n ? argv.then(completionFunction)\n : completionFunction(argv);\n }\n generateCompletionScript($0, cmd) {\n let script = this.zshShell\n ? templates.completionZshTemplate\n : templates.completionShTemplate;\n const name = this.shim.path.basename($0);\n if ($0.match(/\\.js$/))\n $0 = `./${$0}`;\n script = script.replace(/{{app_name}}/g, name);\n script = script.replace(/{{completion_command}}/g, cmd);\n return script.replace(/{{app_path}}/g, $0);\n }\n registerFunction(fn) {\n this.customCompletionFunction = fn;\n }\n setParsed(parsed) {\n this.aliases = parsed.aliases;\n }\n}\nexport function completion(yargs, usage, command, shim) {\n return new Completion(yargs, usage, command, shim);\n}\nfunction isSyncCompletionFunction(completionFunction) {\n return completionFunction.length < 3;\n}\nfunction isFallbackCompletionFunction(completionFunction) {\n return completionFunction.length > 3;\n}\n",
|
|
160
|
+
"export function levenshtein(a, b) {\n if (a.length === 0)\n return b.length;\n if (b.length === 0)\n return a.length;\n const matrix = [];\n let i;\n for (i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n let j;\n for (j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n for (i = 1; i <= b.length; i++) {\n for (j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n }\n else {\n if (i > 1 &&\n j > 1 &&\n b.charAt(i - 2) === a.charAt(j - 1) &&\n b.charAt(i - 1) === a.charAt(j - 2)) {\n matrix[i][j] = matrix[i - 2][j - 2] + 1;\n }\n else {\n matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1));\n }\n }\n }\n }\n return matrix[b.length][a.length];\n}\n",
|
|
161
|
+
"import { argsert } from './argsert.js';\nimport { assertNotStrictEqual, } from './typings/common-types.js';\nimport { levenshtein as distance } from './utils/levenshtein.js';\nimport { objFilter } from './utils/obj-filter.js';\nconst specialKeys = ['$0', '--', '_'];\nexport function validation(yargs, usage, shim) {\n const __ = shim.y18n.__;\n const __n = shim.y18n.__n;\n const self = {};\n self.nonOptionCount = function nonOptionCount(argv) {\n const demandedCommands = yargs.getDemandedCommands();\n const positionalCount = argv._.length + (argv['--'] ? argv['--'].length : 0);\n const _s = positionalCount - yargs.getInternalMethods().getContext().commands.length;\n if (demandedCommands._ &&\n (_s < demandedCommands._.min || _s > demandedCommands._.max)) {\n if (_s < demandedCommands._.min) {\n if (demandedCommands._.minMsg !== undefined) {\n usage.fail(demandedCommands._.minMsg\n ? demandedCommands._.minMsg\n .replace(/\\$0/g, _s.toString())\n .replace(/\\$1/, demandedCommands._.min.toString())\n : null);\n }\n else {\n usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', _s, _s.toString(), demandedCommands._.min.toString()));\n }\n }\n else if (_s > demandedCommands._.max) {\n if (demandedCommands._.maxMsg !== undefined) {\n usage.fail(demandedCommands._.maxMsg\n ? demandedCommands._.maxMsg\n .replace(/\\$0/g, _s.toString())\n .replace(/\\$1/, demandedCommands._.max.toString())\n : null);\n }\n else {\n usage.fail(__n('Too many non-option arguments: got %s, maximum of %s', 'Too many non-option arguments: got %s, maximum of %s', _s, _s.toString(), demandedCommands._.max.toString()));\n }\n }\n }\n };\n self.positionalCount = function positionalCount(required, observed) {\n if (observed < required) {\n usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', observed, observed + '', required + ''));\n }\n };\n self.requiredArguments = function requiredArguments(argv, demandedOptions) {\n let missing = null;\n for (const key of Object.keys(demandedOptions)) {\n if (!Object.prototype.hasOwnProperty.call(argv, key) ||\n typeof argv[key] === 'undefined') {\n missing = missing || {};\n missing[key] = demandedOptions[key];\n }\n }\n if (missing) {\n const customMsgs = [];\n for (const key of Object.keys(missing)) {\n const msg = missing[key];\n if (msg && customMsgs.indexOf(msg) < 0) {\n customMsgs.push(msg);\n }\n }\n const customMsg = customMsgs.length ? `\\n${customMsgs.join('\\n')}` : '';\n usage.fail(__n('Missing required argument: %s', 'Missing required arguments: %s', Object.keys(missing).length, Object.keys(missing).join(', ') + customMsg));\n }\n };\n self.unknownArguments = function unknownArguments(argv, aliases, positionalMap, isDefaultCommand, checkPositionals = true) {\n var _a;\n const commandKeys = yargs\n .getInternalMethods()\n .getCommandInstance()\n .getCommands();\n const unknown = [];\n const currentContext = yargs.getInternalMethods().getContext();\n Object.keys(argv).forEach(key => {\n if (!specialKeys.includes(key) &&\n !Object.prototype.hasOwnProperty.call(positionalMap, key) &&\n !Object.prototype.hasOwnProperty.call(yargs.getInternalMethods().getParseContext(), key) &&\n !self.isValidAndSomeAliasIsNotNew(key, aliases)) {\n unknown.push(key);\n }\n });\n if (checkPositionals &&\n (currentContext.commands.length > 0 ||\n commandKeys.length > 0 ||\n isDefaultCommand)) {\n argv._.slice(currentContext.commands.length).forEach(key => {\n if (!commandKeys.includes('' + key)) {\n unknown.push('' + key);\n }\n });\n }\n if (checkPositionals) {\n const demandedCommands = yargs.getDemandedCommands();\n const maxNonOptDemanded = ((_a = demandedCommands._) === null || _a === void 0 ? void 0 : _a.max) || 0;\n const expected = currentContext.commands.length + maxNonOptDemanded;\n if (expected < argv._.length) {\n argv._.slice(expected).forEach(key => {\n key = String(key);\n if (!currentContext.commands.includes(key) &&\n !unknown.includes(key)) {\n unknown.push(key);\n }\n });\n }\n }\n if (unknown.length) {\n usage.fail(__n('Unknown argument: %s', 'Unknown arguments: %s', unknown.length, unknown.map(s => (s.trim() ? s : `\"${s}\"`)).join(', ')));\n }\n };\n self.unknownCommands = function unknownCommands(argv) {\n const commandKeys = yargs\n .getInternalMethods()\n .getCommandInstance()\n .getCommands();\n const unknown = [];\n const currentContext = yargs.getInternalMethods().getContext();\n if (currentContext.commands.length > 0 || commandKeys.length > 0) {\n argv._.slice(currentContext.commands.length).forEach(key => {\n if (!commandKeys.includes('' + key)) {\n unknown.push('' + key);\n }\n });\n }\n if (unknown.length > 0) {\n usage.fail(__n('Unknown command: %s', 'Unknown commands: %s', unknown.length, unknown.join(', ')));\n return true;\n }\n else {\n return false;\n }\n };\n self.isValidAndSomeAliasIsNotNew = function isValidAndSomeAliasIsNotNew(key, aliases) {\n if (!Object.prototype.hasOwnProperty.call(aliases, key)) {\n return false;\n }\n const newAliases = yargs.parsed.newAliases;\n return [key, ...aliases[key]].some(a => !Object.prototype.hasOwnProperty.call(newAliases, a) || !newAliases[key]);\n };\n self.limitedChoices = function limitedChoices(argv) {\n const options = yargs.getOptions();\n const invalid = {};\n if (!Object.keys(options.choices).length)\n return;\n Object.keys(argv).forEach(key => {\n if (specialKeys.indexOf(key) === -1 &&\n Object.prototype.hasOwnProperty.call(options.choices, key)) {\n [].concat(argv[key]).forEach(value => {\n if (options.choices[key].indexOf(value) === -1 &&\n value !== undefined) {\n invalid[key] = (invalid[key] || []).concat(value);\n }\n });\n }\n });\n const invalidKeys = Object.keys(invalid);\n if (!invalidKeys.length)\n return;\n let msg = __('Invalid values:');\n invalidKeys.forEach(key => {\n msg += `\\n ${__('Argument: %s, Given: %s, Choices: %s', key, usage.stringifiedValues(invalid[key]), usage.stringifiedValues(options.choices[key]))}`;\n });\n usage.fail(msg);\n };\n let implied = {};\n self.implies = function implies(key, value) {\n argsert('<string|object> [array|number|string]', [key, value], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n self.implies(k, key[k]);\n });\n }\n else {\n yargs.global(key);\n if (!implied[key]) {\n implied[key] = [];\n }\n if (Array.isArray(value)) {\n value.forEach(i => self.implies(key, i));\n }\n else {\n assertNotStrictEqual(value, undefined, shim);\n implied[key].push(value);\n }\n }\n };\n self.getImplied = function getImplied() {\n return implied;\n };\n function keyExists(argv, val) {\n const num = Number(val);\n val = isNaN(num) ? val : num;\n if (typeof val === 'number') {\n val = argv._.length >= val;\n }\n else if (val.match(/^--no-.+/)) {\n val = val.match(/^--no-(.+)/)[1];\n val = !Object.prototype.hasOwnProperty.call(argv, val);\n }\n else {\n val = Object.prototype.hasOwnProperty.call(argv, val);\n }\n return val;\n }\n self.implications = function implications(argv) {\n const implyFail = [];\n Object.keys(implied).forEach(key => {\n const origKey = key;\n (implied[key] || []).forEach(value => {\n let key = origKey;\n const origValue = value;\n key = keyExists(argv, key);\n value = keyExists(argv, value);\n if (key && !value) {\n implyFail.push(` ${origKey} -> ${origValue}`);\n }\n });\n });\n if (implyFail.length) {\n let msg = `${__('Implications failed:')}\\n`;\n implyFail.forEach(value => {\n msg += value;\n });\n usage.fail(msg);\n }\n };\n let conflicting = {};\n self.conflicts = function conflicts(key, value) {\n argsert('<string|object> [array|string]', [key, value], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n self.conflicts(k, key[k]);\n });\n }\n else {\n yargs.global(key);\n if (!conflicting[key]) {\n conflicting[key] = [];\n }\n if (Array.isArray(value)) {\n value.forEach(i => self.conflicts(key, i));\n }\n else {\n conflicting[key].push(value);\n }\n }\n };\n self.getConflicting = () => conflicting;\n self.conflicting = function conflictingFn(argv) {\n Object.keys(argv).forEach(key => {\n if (conflicting[key]) {\n conflicting[key].forEach(value => {\n if (value && argv[key] !== undefined && argv[value] !== undefined) {\n usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));\n }\n });\n }\n });\n if (yargs.getInternalMethods().getParserConfiguration()['strip-dashed']) {\n Object.keys(conflicting).forEach(key => {\n conflicting[key].forEach(value => {\n if (value &&\n argv[shim.Parser.camelCase(key)] !== undefined &&\n argv[shim.Parser.camelCase(value)] !== undefined) {\n usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));\n }\n });\n });\n }\n };\n self.recommendCommands = function recommendCommands(cmd, potentialCommands) {\n const threshold = 3;\n potentialCommands = potentialCommands.sort((a, b) => b.length - a.length);\n let recommended = null;\n let bestDistance = Infinity;\n for (let i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {\n const d = distance(cmd, candidate);\n if (d <= threshold && d < bestDistance) {\n bestDistance = d;\n recommended = candidate;\n }\n }\n if (recommended)\n usage.fail(__('Did you mean %s?', recommended));\n };\n self.reset = function reset(localLookup) {\n implied = objFilter(implied, k => !localLookup[k]);\n conflicting = objFilter(conflicting, k => !localLookup[k]);\n return self;\n };\n const frozens = [];\n self.freeze = function freeze() {\n frozens.push({\n implied,\n conflicting,\n });\n };\n self.unfreeze = function unfreeze() {\n const frozen = frozens.pop();\n assertNotStrictEqual(frozen, undefined, shim);\n ({ implied, conflicting } = frozen);\n };\n return self;\n}\n",
|
|
162
|
+
"import { YError } from '../yerror.js';\nlet previouslyVisitedConfigs = [];\nlet shim;\nexport function applyExtends(config, cwd, mergeExtends, _shim) {\n shim = _shim;\n let defaultConfig = {};\n if (Object.prototype.hasOwnProperty.call(config, 'extends')) {\n if (typeof config.extends !== 'string')\n return defaultConfig;\n const isPath = /\\.json|\\..*rc$/.test(config.extends);\n let pathToDefault = null;\n if (!isPath) {\n try {\n pathToDefault = import.meta.resolve(config.extends);\n }\n catch (_err) {\n return config;\n }\n }\n else {\n pathToDefault = getPathToDefaultConfig(cwd, config.extends);\n }\n checkForCircularExtends(pathToDefault);\n previouslyVisitedConfigs.push(pathToDefault);\n defaultConfig = isPath\n ? JSON.parse(shim.readFileSync(pathToDefault, 'utf8'))\n : _shim.require(config.extends);\n delete config.extends;\n defaultConfig = applyExtends(defaultConfig, shim.path.dirname(pathToDefault), mergeExtends, shim);\n }\n previouslyVisitedConfigs = [];\n return mergeExtends\n ? mergeDeep(defaultConfig, config)\n : Object.assign({}, defaultConfig, config);\n}\nfunction checkForCircularExtends(cfgPath) {\n if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {\n throw new YError(`Circular extended configurations: '${cfgPath}'.`);\n }\n}\nfunction getPathToDefaultConfig(cwd, pathToExtend) {\n return shim.path.resolve(cwd, pathToExtend);\n}\nfunction mergeDeep(config1, config2) {\n const target = {};\n function isObject(obj) {\n return obj && typeof obj === 'object' && !Array.isArray(obj);\n }\n Object.assign(target, config1);\n for (const key of Object.keys(config2)) {\n if (isObject(config2[key]) && isObject(target[key])) {\n target[key] = mergeDeep(config1[key], config2[key]);\n }\n else {\n target[key] = config2[key];\n }\n }\n return target;\n}\n",
|
|
163
|
+
"var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _YargsInstance_command, _YargsInstance_cwd, _YargsInstance_context, _YargsInstance_completion, _YargsInstance_completionCommand, _YargsInstance_defaultShowHiddenOpt, _YargsInstance_exitError, _YargsInstance_detectLocale, _YargsInstance_emittedWarnings, _YargsInstance_exitProcess, _YargsInstance_frozens, _YargsInstance_globalMiddleware, _YargsInstance_groups, _YargsInstance_hasOutput, _YargsInstance_helpOpt, _YargsInstance_isGlobalContext, _YargsInstance_logger, _YargsInstance_output, _YargsInstance_options, _YargsInstance_parentRequire, _YargsInstance_parserConfig, _YargsInstance_parseFn, _YargsInstance_parseContext, _YargsInstance_pkgs, _YargsInstance_preservedGroups, _YargsInstance_processArgs, _YargsInstance_recommendCommands, _YargsInstance_shim, _YargsInstance_strict, _YargsInstance_strictCommands, _YargsInstance_strictOptions, _YargsInstance_usage, _YargsInstance_usageConfig, _YargsInstance_versionOpt, _YargsInstance_validation;\nimport { command as Command, } from './command.js';\nimport { assertNotStrictEqual, assertSingleKey, objectKeys, } from './typings/common-types.js';\nimport { YError } from './yerror.js';\nimport { usage as Usage } from './usage.js';\nimport { argsert } from './argsert.js';\nimport { completion as Completion, } from './completion.js';\nimport { validation as Validation, } from './validation.js';\nimport { objFilter } from './utils/obj-filter.js';\nimport { applyExtends } from './utils/apply-extends.js';\nimport { applyMiddleware, GlobalMiddleware, } from './middleware.js';\nimport { isPromise } from './utils/is-promise.js';\nimport { maybeAsyncResult } from './utils/maybe-async-result.js';\nimport setBlocking from './utils/set-blocking.js';\nexport function YargsFactory(_shim) {\n return (processArgs = [], cwd = _shim.process.cwd(), parentRequire) => {\n const yargs = new YargsInstance(processArgs, cwd, parentRequire, _shim);\n Object.defineProperty(yargs, 'argv', {\n get: () => {\n return yargs.parse();\n },\n enumerable: true,\n });\n yargs.help();\n yargs.version();\n return yargs;\n };\n}\nconst kCopyDoubleDash = Symbol('copyDoubleDash');\nconst kCreateLogger = Symbol('copyDoubleDash');\nconst kDeleteFromParserHintObject = Symbol('deleteFromParserHintObject');\nconst kEmitWarning = Symbol('emitWarning');\nconst kFreeze = Symbol('freeze');\nconst kGetDollarZero = Symbol('getDollarZero');\nconst kGetParserConfiguration = Symbol('getParserConfiguration');\nconst kGetUsageConfiguration = Symbol('getUsageConfiguration');\nconst kGuessLocale = Symbol('guessLocale');\nconst kGuessVersion = Symbol('guessVersion');\nconst kParsePositionalNumbers = Symbol('parsePositionalNumbers');\nconst kPkgUp = Symbol('pkgUp');\nconst kPopulateParserHintArray = Symbol('populateParserHintArray');\nconst kPopulateParserHintSingleValueDictionary = Symbol('populateParserHintSingleValueDictionary');\nconst kPopulateParserHintArrayDictionary = Symbol('populateParserHintArrayDictionary');\nconst kPopulateParserHintDictionary = Symbol('populateParserHintDictionary');\nconst kSanitizeKey = Symbol('sanitizeKey');\nconst kSetKey = Symbol('setKey');\nconst kUnfreeze = Symbol('unfreeze');\nconst kValidateAsync = Symbol('validateAsync');\nconst kGetCommandInstance = Symbol('getCommandInstance');\nconst kGetContext = Symbol('getContext');\nconst kGetHasOutput = Symbol('getHasOutput');\nconst kGetLoggerInstance = Symbol('getLoggerInstance');\nconst kGetParseContext = Symbol('getParseContext');\nconst kGetUsageInstance = Symbol('getUsageInstance');\nconst kGetValidationInstance = Symbol('getValidationInstance');\nconst kHasParseCallback = Symbol('hasParseCallback');\nconst kIsGlobalContext = Symbol('isGlobalContext');\nconst kPostProcess = Symbol('postProcess');\nconst kRebase = Symbol('rebase');\nconst kReset = Symbol('reset');\nconst kRunYargsParserAndExecuteCommands = Symbol('runYargsParserAndExecuteCommands');\nconst kRunValidation = Symbol('runValidation');\nconst kSetHasOutput = Symbol('setHasOutput');\nconst kTrackManuallySetKeys = Symbol('kTrackManuallySetKeys');\nconst DEFAULT_LOCALE = 'en_US';\nexport class YargsInstance {\n constructor(processArgs = [], cwd, parentRequire, shim) {\n this.customScriptName = false;\n this.parsed = false;\n _YargsInstance_command.set(this, void 0);\n _YargsInstance_cwd.set(this, void 0);\n _YargsInstance_context.set(this, { commands: [], fullCommands: [] });\n _YargsInstance_completion.set(this, null);\n _YargsInstance_completionCommand.set(this, null);\n _YargsInstance_defaultShowHiddenOpt.set(this, 'show-hidden');\n _YargsInstance_exitError.set(this, null);\n _YargsInstance_detectLocale.set(this, true);\n _YargsInstance_emittedWarnings.set(this, {});\n _YargsInstance_exitProcess.set(this, true);\n _YargsInstance_frozens.set(this, []);\n _YargsInstance_globalMiddleware.set(this, void 0);\n _YargsInstance_groups.set(this, {});\n _YargsInstance_hasOutput.set(this, false);\n _YargsInstance_helpOpt.set(this, null);\n _YargsInstance_isGlobalContext.set(this, true);\n _YargsInstance_logger.set(this, void 0);\n _YargsInstance_output.set(this, '');\n _YargsInstance_options.set(this, void 0);\n _YargsInstance_parentRequire.set(this, void 0);\n _YargsInstance_parserConfig.set(this, {});\n _YargsInstance_parseFn.set(this, null);\n _YargsInstance_parseContext.set(this, null);\n _YargsInstance_pkgs.set(this, {});\n _YargsInstance_preservedGroups.set(this, {});\n _YargsInstance_processArgs.set(this, void 0);\n _YargsInstance_recommendCommands.set(this, false);\n _YargsInstance_shim.set(this, void 0);\n _YargsInstance_strict.set(this, false);\n _YargsInstance_strictCommands.set(this, false);\n _YargsInstance_strictOptions.set(this, false);\n _YargsInstance_usage.set(this, void 0);\n _YargsInstance_usageConfig.set(this, {});\n _YargsInstance_versionOpt.set(this, null);\n _YargsInstance_validation.set(this, void 0);\n __classPrivateFieldSet(this, _YargsInstance_shim, shim, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_processArgs, processArgs, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_cwd, cwd, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_parentRequire, parentRequire, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_globalMiddleware, new GlobalMiddleware(this), \"f\");\n this.$0 = this[kGetDollarZero]();\n this[kReset]();\n __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, \"f\"), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, \"f\"), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").showHiddenOpt = __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_logger, this[kCreateLogger](), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.setLocale(DEFAULT_LOCALE);\n }\n addHelpOpt(opt, msg) {\n const defaultHelpOpt = 'help';\n argsert('[string|boolean] [string]', [opt, msg], arguments.length);\n if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")) {\n this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"));\n __classPrivateFieldSet(this, _YargsInstance_helpOpt, null, \"f\");\n }\n if (opt === false && msg === undefined)\n return this;\n __classPrivateFieldSet(this, _YargsInstance_helpOpt, typeof opt === 'string' ? opt : defaultHelpOpt, \"f\");\n this.boolean(__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"));\n this.describe(__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\"), msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show help'));\n return this;\n }\n help(opt, msg) {\n return this.addHelpOpt(opt, msg);\n }\n addShowHiddenOpt(opt, msg) {\n argsert('[string|boolean] [string]', [opt, msg], arguments.length);\n if (opt === false && msg === undefined)\n return this;\n const showHiddenOpt = typeof opt === 'string' ? opt : __classPrivateFieldGet(this, _YargsInstance_defaultShowHiddenOpt, \"f\");\n this.boolean(showHiddenOpt);\n this.describe(showHiddenOpt, msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show hidden options'));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").showHiddenOpt = showHiddenOpt;\n return this;\n }\n showHidden(opt, msg) {\n return this.addShowHiddenOpt(opt, msg);\n }\n alias(key, value) {\n argsert('<object|string|array> [string|array]', [key, value], arguments.length);\n this[kPopulateParserHintArrayDictionary](this.alias.bind(this), 'alias', key, value);\n return this;\n }\n array(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('array', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n boolean(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('boolean', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n check(f, global) {\n argsert('<function> [boolean]', [f, global], arguments.length);\n this.middleware((argv, _yargs) => {\n return maybeAsyncResult(() => {\n return f(argv, _yargs.getOptions());\n }, (result) => {\n if (!result) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.__('Argument check failed: %s', f.toString()));\n }\n else if (typeof result === 'string' || result instanceof Error) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(result.toString(), result);\n }\n return argv;\n }, (err) => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(err.message ? err.message : err.toString(), err);\n return argv;\n });\n }, false, global);\n return this;\n }\n choices(key, value) {\n argsert('<object|string|array> [string|array]', [key, value], arguments.length);\n this[kPopulateParserHintArrayDictionary](this.choices.bind(this), 'choices', key, value);\n return this;\n }\n coerce(keys, value) {\n argsert('<object|string|array> [function]', [keys, value], arguments.length);\n if (Array.isArray(keys)) {\n if (!value) {\n throw new YError('coerce callback must be provided');\n }\n for (const key of keys) {\n this.coerce(key, value);\n }\n return this;\n }\n else if (typeof keys === 'object') {\n for (const key of Object.keys(keys)) {\n this.coerce(key, keys[key]);\n }\n return this;\n }\n if (!value) {\n throw new YError('coerce callback must be provided');\n }\n const coerceKey = keys;\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[coerceKey] = true;\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").addCoerceMiddleware((argv, yargs) => {\n var _a;\n const coerceKeyAliases = (_a = yargs.getAliases()[coerceKey]) !== null && _a !== void 0 ? _a : [];\n const argvKeys = [coerceKey, ...coerceKeyAliases].filter(key => Object.prototype.hasOwnProperty.call(argv, key));\n if (argvKeys.length === 0) {\n return argv;\n }\n return maybeAsyncResult(() => {\n return value(argv[argvKeys[0]]);\n }, (result) => {\n argvKeys.forEach(key => {\n argv[key] = result;\n });\n return argv;\n }, (err) => {\n throw new YError(err.message);\n });\n }, coerceKey);\n return this;\n }\n conflicts(key1, key2) {\n argsert('<string|object> [string|array]', [key1, key2], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").conflicts(key1, key2);\n return this;\n }\n config(key = 'config', msg, parseFn) {\n argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length);\n if (typeof key === 'object' && !Array.isArray(key)) {\n key = applyExtends(key, __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || []).concat(key);\n return this;\n }\n if (typeof msg === 'function') {\n parseFn = msg;\n msg = undefined;\n }\n this.describe(key, msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Path to JSON config file'));\n (Array.isArray(key) ? key : [key]).forEach(k => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").config[k] = parseFn || true;\n });\n return this;\n }\n completion(cmd, desc, fn) {\n argsert('[string] [string|boolean|function] [function]', [cmd, desc, fn], arguments.length);\n if (typeof desc === 'function') {\n fn = desc;\n desc = undefined;\n }\n __classPrivateFieldSet(this, _YargsInstance_completionCommand, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") || 'completion', \"f\");\n if (!desc && desc !== false) {\n desc = 'generate completion script';\n }\n this.command(__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\"), desc);\n if (fn)\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").registerFunction(fn);\n return this;\n }\n command(cmd, description, builder, handler, middlewares, deprecated) {\n argsert('<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]', [cmd, description, builder, handler, middlewares, deprecated], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").addHandler(cmd, description, builder, handler, middlewares, deprecated);\n return this;\n }\n commands(cmd, description, builder, handler, middlewares, deprecated) {\n return this.command(cmd, description, builder, handler, middlewares, deprecated);\n }\n commandDir(dir, opts) {\n argsert('<string> [object]', [dir, opts], arguments.length);\n const req = __classPrivateFieldGet(this, _YargsInstance_parentRequire, \"f\") || __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").require;\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").addDirectory(dir, req, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getCallerFile(), opts);\n return this;\n }\n count(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('count', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n default(key, value, defaultDescription) {\n argsert('<object|string|array> [*] [string]', [key, value, defaultDescription], arguments.length);\n if (defaultDescription) {\n assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] = defaultDescription;\n }\n if (typeof value === 'function') {\n assertSingleKey(key, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n if (!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key])\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] =\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").functionDescription(value);\n value = value.call();\n }\n this[kPopulateParserHintSingleValueDictionary](this.default.bind(this), 'default', key, value);\n return this;\n }\n defaults(key, value, defaultDescription) {\n return this.default(key, value, defaultDescription);\n }\n demandCommand(min = 1, max, minMsg, maxMsg) {\n argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length);\n if (typeof max !== 'number') {\n minMsg = max;\n max = Infinity;\n }\n this.global('_', false);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedCommands._ = {\n min,\n max,\n minMsg,\n maxMsg,\n };\n return this;\n }\n demand(keys, max, msg) {\n if (Array.isArray(max)) {\n max.forEach(key => {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandOption(key, msg);\n });\n max = Infinity;\n }\n else if (typeof max !== 'number') {\n msg = max;\n max = Infinity;\n }\n if (typeof keys === 'number') {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandCommand(keys, max, msg, msg);\n }\n else if (Array.isArray(keys)) {\n keys.forEach(key => {\n assertNotStrictEqual(msg, true, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n this.demandOption(key, msg);\n });\n }\n else {\n if (typeof msg === 'string') {\n this.demandOption(keys, msg);\n }\n else if (msg === true || typeof msg === 'undefined') {\n this.demandOption(keys);\n }\n }\n return this;\n }\n demandOption(keys, msg) {\n argsert('<object|string|array> [string]', [keys, msg], arguments.length);\n this[kPopulateParserHintSingleValueDictionary](this.demandOption.bind(this), 'demandedOptions', keys, msg);\n return this;\n }\n deprecateOption(option, message) {\n argsert('<string> [string|boolean]', [option, message], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").deprecatedOptions[option] = message;\n return this;\n }\n describe(keys, description) {\n argsert('<object|string|array> [string]', [keys, description], arguments.length);\n this[kSetKey](keys, true);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").describe(keys, description);\n return this;\n }\n detectLocale(detect) {\n argsert('<boolean>', [detect], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, detect, \"f\");\n return this;\n }\n env(prefix) {\n argsert('[string|boolean]', [prefix], arguments.length);\n if (prefix === false)\n delete __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix;\n else\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix = prefix || '';\n return this;\n }\n epilogue(msg) {\n argsert('<string>', [msg], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").epilog(msg);\n return this;\n }\n epilog(msg) {\n return this.epilogue(msg);\n }\n example(cmd, description) {\n argsert('<string|array> [string]', [cmd, description], arguments.length);\n if (Array.isArray(cmd)) {\n cmd.forEach(exampleParams => this.example(...exampleParams));\n }\n else {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").example(cmd, description);\n }\n return this;\n }\n exit(code, err) {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_exitError, err, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.exit(code);\n }\n exitProcess(enabled = true) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_exitProcess, enabled, \"f\");\n return this;\n }\n fail(f) {\n argsert('<function|boolean>', [f], arguments.length);\n if (typeof f === 'boolean' && f !== false) {\n throw new YError(\"Invalid first argument. Expected function or boolean 'false'\");\n }\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").failFn(f);\n return this;\n }\n getAliases() {\n return this.parsed ? this.parsed.aliases : {};\n }\n async getCompletion(args, done) {\n argsert('<array> [function]', [args, done], arguments.length);\n if (!done) {\n return new Promise((resolve, reject) => {\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(args, (err, completions) => {\n if (err)\n reject(err);\n else\n resolve(completions);\n });\n });\n }\n else {\n return __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(args, done);\n }\n }\n getDemandedOptions() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedOptions;\n }\n getDemandedCommands() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").demandedCommands;\n }\n getDeprecatedOptions() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\").deprecatedOptions;\n }\n getDetectLocale() {\n return __classPrivateFieldGet(this, _YargsInstance_detectLocale, \"f\");\n }\n getExitProcess() {\n return __classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\");\n }\n getGroups() {\n return Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_groups, \"f\"), __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\"));\n }\n getHelp() {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").hasCachedHelpMessage()) {\n if (!this.parsed) {\n const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\"), undefined, undefined, 0, true);\n if (isPromise(parse)) {\n return parse.then(() => {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help();\n });\n }\n }\n const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runDefaultBuilderOn(this);\n if (isPromise(builderResponse)) {\n return builderResponse.then(() => {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help();\n });\n }\n }\n return Promise.resolve(__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").help());\n }\n getOptions() {\n return __classPrivateFieldGet(this, _YargsInstance_options, \"f\");\n }\n getStrict() {\n return __classPrivateFieldGet(this, _YargsInstance_strict, \"f\");\n }\n getStrictCommands() {\n return __classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\");\n }\n getStrictOptions() {\n return __classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\");\n }\n global(globals, global) {\n argsert('<string|array> [boolean]', [globals, global], arguments.length);\n globals = [].concat(globals);\n if (global !== false) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.filter(l => globals.indexOf(l) === -1);\n }\n else {\n globals.forEach(g => {\n if (!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.includes(g))\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local.push(g);\n });\n }\n return this;\n }\n group(opts, groupName) {\n argsert('<string|array> <string>', [opts, groupName], arguments.length);\n const existing = __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName] || __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName];\n if (__classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName]) {\n delete __classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\")[groupName];\n }\n const seen = {};\n __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName] = (existing || []).concat(opts).filter(key => {\n if (seen[key])\n return false;\n return (seen[key] = true);\n });\n return this;\n }\n hide(key) {\n argsert('<string>', [key], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").hiddenOptions.push(key);\n return this;\n }\n implies(key, value) {\n argsert('<string|object> [number|string|array]', [key, value], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").implies(key, value);\n return this;\n }\n locale(locale) {\n argsert('[string]', [locale], arguments.length);\n if (locale === undefined) {\n this[kGuessLocale]();\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.getLocale();\n }\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.setLocale(locale);\n return this;\n }\n middleware(callback, applyBeforeValidation, global) {\n return __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").addMiddleware(callback, !!applyBeforeValidation, global);\n }\n nargs(key, value) {\n argsert('<string|object|array> [number]', [key, value], arguments.length);\n this[kPopulateParserHintSingleValueDictionary](this.nargs.bind(this), 'narg', key, value);\n return this;\n }\n normalize(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('normalize', keys);\n return this;\n }\n number(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('number', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n option(key, opt) {\n argsert('<string|object> [object]', [key, opt], arguments.length);\n if (typeof key === 'object') {\n Object.keys(key).forEach(k => {\n this.options(k, key[k]);\n });\n }\n else {\n if (typeof opt !== 'object') {\n opt = {};\n }\n this[kTrackManuallySetKeys](key);\n if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\") && (key === 'version' || (opt === null || opt === void 0 ? void 0 : opt.alias) === 'version')) {\n this[kEmitWarning]([\n '\"version\" is a reserved word.',\n 'Please do one of the following:',\n '- Disable version with `yargs.version(false)` if using \"version\" as an option',\n '- Use the built-in `yargs.version` method instead (if applicable)',\n '- Use a different option key',\n 'https://yargs.js.org/docs/#api-reference-version',\n ].join('\\n'), undefined, 'versionWarning');\n }\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[key] = true;\n if (opt.alias)\n this.alias(key, opt.alias);\n const deprecate = opt.deprecate || opt.deprecated;\n if (deprecate) {\n this.deprecateOption(key, deprecate);\n }\n const demand = opt.demand || opt.required || opt.require;\n if (demand) {\n this.demand(key, demand);\n }\n if (opt.demandOption) {\n this.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined);\n }\n if (opt.conflicts) {\n this.conflicts(key, opt.conflicts);\n }\n if ('default' in opt) {\n this.default(key, opt.default);\n }\n if (opt.implies !== undefined) {\n this.implies(key, opt.implies);\n }\n if (opt.nargs !== undefined) {\n this.nargs(key, opt.nargs);\n }\n if (opt.config) {\n this.config(key, opt.configParser);\n }\n if (opt.normalize) {\n this.normalize(key);\n }\n if (opt.choices) {\n this.choices(key, opt.choices);\n }\n if (opt.coerce) {\n this.coerce(key, opt.coerce);\n }\n if (opt.group) {\n this.group(key, opt.group);\n }\n if (opt.boolean || opt.type === 'boolean') {\n this.boolean(key);\n if (opt.alias)\n this.boolean(opt.alias);\n }\n if (opt.array || opt.type === 'array') {\n this.array(key);\n if (opt.alias)\n this.array(opt.alias);\n }\n if (opt.number || opt.type === 'number') {\n this.number(key);\n if (opt.alias)\n this.number(opt.alias);\n }\n if (opt.string || opt.type === 'string') {\n this.string(key);\n if (opt.alias)\n this.string(opt.alias);\n }\n if (opt.count || opt.type === 'count') {\n this.count(key);\n }\n if (typeof opt.global === 'boolean') {\n this.global(key, opt.global);\n }\n if (opt.defaultDescription) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").defaultDescription[key] = opt.defaultDescription;\n }\n if (opt.skipValidation) {\n this.skipValidation(key);\n }\n const desc = opt.describe || opt.description || opt.desc;\n const descriptions = __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getDescriptions();\n if (!Object.prototype.hasOwnProperty.call(descriptions, key) ||\n typeof desc === 'string') {\n this.describe(key, desc);\n }\n if (opt.hidden) {\n this.hide(key);\n }\n if (opt.requiresArg) {\n this.requiresArg(key);\n }\n }\n return this;\n }\n options(key, opt) {\n return this.option(key, opt);\n }\n parse(args, shortCircuit, _parseFn) {\n argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length);\n this[kFreeze]();\n if (typeof args === 'undefined') {\n args = __classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\");\n }\n if (typeof shortCircuit === 'object') {\n __classPrivateFieldSet(this, _YargsInstance_parseContext, shortCircuit, \"f\");\n shortCircuit = _parseFn;\n }\n if (typeof shortCircuit === 'function') {\n __classPrivateFieldSet(this, _YargsInstance_parseFn, shortCircuit, \"f\");\n shortCircuit = false;\n }\n if (!shortCircuit)\n __classPrivateFieldSet(this, _YargsInstance_processArgs, args, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldSet(this, _YargsInstance_exitProcess, false, \"f\");\n const parsed = this[kRunYargsParserAndExecuteCommands](args, !!shortCircuit);\n const tmpParsed = this.parsed;\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").setParsed(this.parsed);\n if (isPromise(parsed)) {\n return parsed\n .then(argv => {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"), argv, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n return argv;\n })\n .catch(err => {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\")) {\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\")(err, this.parsed.argv, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n }\n throw err;\n })\n .finally(() => {\n this[kUnfreeze]();\n this.parsed = tmpParsed;\n });\n }\n else {\n if (__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"))\n __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"), parsed, __classPrivateFieldGet(this, _YargsInstance_output, \"f\"));\n this[kUnfreeze]();\n this.parsed = tmpParsed;\n }\n return parsed;\n }\n parseAsync(args, shortCircuit, _parseFn) {\n const maybePromise = this.parse(args, shortCircuit, _parseFn);\n return !isPromise(maybePromise)\n ? Promise.resolve(maybePromise)\n : maybePromise;\n }\n parseSync(args, shortCircuit, _parseFn) {\n const maybePromise = this.parse(args, shortCircuit, _parseFn);\n if (isPromise(maybePromise)) {\n throw new YError('.parseSync() must not be used with asynchronous builders, handlers, or middleware');\n }\n return maybePromise;\n }\n parserConfiguration(config) {\n argsert('<object>', [config], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_parserConfig, config, \"f\");\n return this;\n }\n pkgConf(key, rootPath) {\n argsert('<string> [string]', [key, rootPath], arguments.length);\n let conf = null;\n const obj = this[kPkgUp](rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"));\n if (obj[key] && typeof obj[key] === 'object') {\n conf = applyExtends(obj[key], rootPath || __classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), this[kGetParserConfiguration]()['deep-merge-config'] || false, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || []).concat(conf);\n }\n return this;\n }\n positional(key, opts) {\n argsert('<string> <object>', [key, opts], arguments.length);\n const supportedOpts = [\n 'default',\n 'defaultDescription',\n 'implies',\n 'normalize',\n 'choices',\n 'conflicts',\n 'coerce',\n 'type',\n 'describe',\n 'desc',\n 'description',\n 'alias',\n ];\n opts = objFilter(opts, (k, v) => {\n if (k === 'type' && !['string', 'number', 'boolean'].includes(v))\n return false;\n return supportedOpts.includes(k);\n });\n const fullCommand = __classPrivateFieldGet(this, _YargsInstance_context, \"f\").fullCommands[__classPrivateFieldGet(this, _YargsInstance_context, \"f\").fullCommands.length - 1];\n const parseOptions = fullCommand\n ? __classPrivateFieldGet(this, _YargsInstance_command, \"f\").cmdToParseOptions(fullCommand)\n : {\n array: [],\n alias: {},\n default: {},\n demand: {},\n };\n objectKeys(parseOptions).forEach(pk => {\n const parseOption = parseOptions[pk];\n if (Array.isArray(parseOption)) {\n if (parseOption.indexOf(key) !== -1)\n opts[pk] = true;\n }\n else {\n if (parseOption[key] && !(pk in opts))\n opts[pk] = parseOption[key];\n }\n });\n this.group(key, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getPositionalGroupName());\n return this.option(key, opts);\n }\n recommendCommands(recommend = true) {\n argsert('[boolean]', [recommend], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_recommendCommands, recommend, \"f\");\n return this;\n }\n required(keys, max, msg) {\n return this.demand(keys, max, msg);\n }\n require(keys, max, msg) {\n return this.demand(keys, max, msg);\n }\n requiresArg(keys) {\n argsert('<array|string|object> [number]', [keys], arguments.length);\n if (typeof keys === 'string' && __classPrivateFieldGet(this, _YargsInstance_options, \"f\").narg[keys]) {\n return this;\n }\n else {\n this[kPopulateParserHintSingleValueDictionary](this.requiresArg.bind(this), 'narg', keys, NaN);\n }\n return this;\n }\n showCompletionScript($0, cmd) {\n argsert('[string] [string]', [$0, cmd], arguments.length);\n $0 = $0 || this.$0;\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(__classPrivateFieldGet(this, _YargsInstance_completion, \"f\").generateCompletionScript($0, cmd || __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") || 'completion'));\n return this;\n }\n showHelp(level) {\n argsert('[string|function]', [level], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_usage, \"f\").hasCachedHelpMessage()) {\n if (!this.parsed) {\n const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\"), undefined, undefined, 0, true);\n if (isPromise(parse)) {\n parse.then(() => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n });\n return this;\n }\n }\n const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runDefaultBuilderOn(this);\n if (isPromise(builderResponse)) {\n builderResponse.then(() => {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n });\n return this;\n }\n }\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelp(level);\n return this;\n }\n scriptName(scriptName) {\n this.customScriptName = true;\n this.$0 = scriptName;\n return this;\n }\n showHelpOnFail(enabled, message) {\n argsert('[boolean|string] [string]', [enabled, message], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showHelpOnFail(enabled, message);\n return this;\n }\n showVersion(level) {\n argsert('[string|function]', [level], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showVersion(level);\n return this;\n }\n skipValidation(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('skipValidation', keys);\n return this;\n }\n strict(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strict, enabled !== false, \"f\");\n return this;\n }\n strictCommands(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strictCommands, enabled !== false, \"f\");\n return this;\n }\n strictOptions(enabled) {\n argsert('[boolean]', [enabled], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_strictOptions, enabled !== false, \"f\");\n return this;\n }\n string(keys) {\n argsert('<array|string>', [keys], arguments.length);\n this[kPopulateParserHintArray]('string', keys);\n this[kTrackManuallySetKeys](keys);\n return this;\n }\n terminalWidth() {\n argsert([], 0);\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.stdColumns;\n }\n updateLocale(obj) {\n return this.updateStrings(obj);\n }\n updateStrings(obj) {\n argsert('<object>', [obj], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_detectLocale, false, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.updateLocale(obj);\n return this;\n }\n usage(msg, description, builder, handler) {\n argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length);\n if (description !== undefined) {\n assertNotStrictEqual(msg, null, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n if ((msg || '').match(/^\\$0( |$)/)) {\n return this.command(msg, description, builder, handler);\n }\n else {\n throw new YError('.usage() description must start with $0 if being used as alias for .command()');\n }\n }\n else {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").usage(msg);\n return this;\n }\n }\n usageConfiguration(config) {\n argsert('<object>', [config], arguments.length);\n __classPrivateFieldSet(this, _YargsInstance_usageConfig, config, \"f\");\n return this;\n }\n version(opt, msg, ver) {\n const defaultVersionOpt = 'version';\n argsert('[boolean|string] [string] [string]', [opt, msg, ver], arguments.length);\n if (__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\")) {\n this[kDeleteFromParserHintObject](__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"));\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").version(undefined);\n __classPrivateFieldSet(this, _YargsInstance_versionOpt, null, \"f\");\n }\n if (arguments.length === 0) {\n ver = this[kGuessVersion]();\n opt = defaultVersionOpt;\n }\n else if (arguments.length === 1) {\n if (opt === false) {\n return this;\n }\n ver = opt;\n opt = defaultVersionOpt;\n }\n else if (arguments.length === 2) {\n ver = msg;\n msg = undefined;\n }\n __classPrivateFieldSet(this, _YargsInstance_versionOpt, typeof opt === 'string' ? opt : defaultVersionOpt, \"f\");\n msg = msg || __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").deferY18nLookup('Show version number');\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").version(ver || undefined);\n this.boolean(__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"));\n this.describe(__classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\"), msg);\n return this;\n }\n wrap(cols) {\n argsert('<number|null|undefined>', [cols], arguments.length);\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").wrap(cols);\n return this;\n }\n [(_YargsInstance_command = new WeakMap(), _YargsInstance_cwd = new WeakMap(), _YargsInstance_context = new WeakMap(), _YargsInstance_completion = new WeakMap(), _YargsInstance_completionCommand = new WeakMap(), _YargsInstance_defaultShowHiddenOpt = new WeakMap(), _YargsInstance_exitError = new WeakMap(), _YargsInstance_detectLocale = new WeakMap(), _YargsInstance_emittedWarnings = new WeakMap(), _YargsInstance_exitProcess = new WeakMap(), _YargsInstance_frozens = new WeakMap(), _YargsInstance_globalMiddleware = new WeakMap(), _YargsInstance_groups = new WeakMap(), _YargsInstance_hasOutput = new WeakMap(), _YargsInstance_helpOpt = new WeakMap(), _YargsInstance_isGlobalContext = new WeakMap(), _YargsInstance_logger = new WeakMap(), _YargsInstance_output = new WeakMap(), _YargsInstance_options = new WeakMap(), _YargsInstance_parentRequire = new WeakMap(), _YargsInstance_parserConfig = new WeakMap(), _YargsInstance_parseFn = new WeakMap(), _YargsInstance_parseContext = new WeakMap(), _YargsInstance_pkgs = new WeakMap(), _YargsInstance_preservedGroups = new WeakMap(), _YargsInstance_processArgs = new WeakMap(), _YargsInstance_recommendCommands = new WeakMap(), _YargsInstance_shim = new WeakMap(), _YargsInstance_strict = new WeakMap(), _YargsInstance_strictCommands = new WeakMap(), _YargsInstance_strictOptions = new WeakMap(), _YargsInstance_usage = new WeakMap(), _YargsInstance_usageConfig = new WeakMap(), _YargsInstance_versionOpt = new WeakMap(), _YargsInstance_validation = new WeakMap(), kCopyDoubleDash)](argv) {\n if (!argv._ || !argv['--'])\n return argv;\n argv._.push.apply(argv._, argv['--']);\n try {\n delete argv['--'];\n }\n catch (_err) { }\n return argv;\n }\n [kCreateLogger]() {\n return {\n log: (...args) => {\n if (!this[kHasParseCallback]())\n console.log(...args);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_output, \"f\").length)\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + '\\n', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + args.join(' '), \"f\");\n },\n error: (...args) => {\n if (!this[kHasParseCallback]())\n console.error(...args);\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n if (__classPrivateFieldGet(this, _YargsInstance_output, \"f\").length)\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + '\\n', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, __classPrivateFieldGet(this, _YargsInstance_output, \"f\") + args.join(' '), \"f\");\n },\n };\n }\n [kDeleteFromParserHintObject](optionKey) {\n objectKeys(__classPrivateFieldGet(this, _YargsInstance_options, \"f\")).forEach((hintKey) => {\n if (((key) => key === 'configObjects')(hintKey))\n return;\n const hint = __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[hintKey];\n if (Array.isArray(hint)) {\n if (hint.includes(optionKey))\n hint.splice(hint.indexOf(optionKey), 1);\n }\n else if (typeof hint === 'object') {\n delete hint[optionKey];\n }\n });\n delete __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").getDescriptions()[optionKey];\n }\n [kEmitWarning](warning, type, deduplicationId) {\n if (!__classPrivateFieldGet(this, _YargsInstance_emittedWarnings, \"f\")[deduplicationId]) {\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.emitWarning(warning, type);\n __classPrivateFieldGet(this, _YargsInstance_emittedWarnings, \"f\")[deduplicationId] = true;\n }\n }\n [kFreeze]() {\n __classPrivateFieldGet(this, _YargsInstance_frozens, \"f\").push({\n options: __classPrivateFieldGet(this, _YargsInstance_options, \"f\"),\n configObjects: __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects.slice(0),\n exitProcess: __classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"),\n groups: __classPrivateFieldGet(this, _YargsInstance_groups, \"f\"),\n strict: __classPrivateFieldGet(this, _YargsInstance_strict, \"f\"),\n strictCommands: __classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\"),\n strictOptions: __classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\"),\n completionCommand: __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\"),\n output: __classPrivateFieldGet(this, _YargsInstance_output, \"f\"),\n exitError: __classPrivateFieldGet(this, _YargsInstance_exitError, \"f\"),\n hasOutput: __classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\"),\n parsed: this.parsed,\n parseFn: __classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\"),\n parseContext: __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\"),\n });\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").freeze();\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").freeze();\n }\n [kGetDollarZero]() {\n let $0 = '';\n let default$0;\n if (/\\b(node|iojs|electron)(\\.exe)?$/.test(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv()[0])) {\n default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv().slice(1, 2);\n }\n else {\n default$0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.argv().slice(0, 1);\n }\n $0 = default$0\n .map(x => {\n const b = this[kRebase](__classPrivateFieldGet(this, _YargsInstance_cwd, \"f\"), x);\n return x.match(/^(\\/|([a-zA-Z]:)?\\\\)/) && b.length < x.length ? b : x;\n })\n .join(' ')\n .trim();\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('_') &&\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getProcessArgvBin() === __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('_')) {\n $0 = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")\n .getEnv('_')\n .replace(`${__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.dirname(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").process.execPath())}/`, '');\n }\n return $0;\n }\n [kGetParserConfiguration]() {\n return __classPrivateFieldGet(this, _YargsInstance_parserConfig, \"f\");\n }\n [kGetUsageConfiguration]() {\n return __classPrivateFieldGet(this, _YargsInstance_usageConfig, \"f\");\n }\n [kGuessLocale]() {\n if (!__classPrivateFieldGet(this, _YargsInstance_detectLocale, \"f\"))\n return;\n const locale = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LC_ALL') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LC_MESSAGES') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LANG') ||\n __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").getEnv('LANGUAGE') ||\n 'en_US';\n this.locale(locale.replace(/[.:].*/, ''));\n }\n [kGuessVersion]() {\n const obj = this[kPkgUp]();\n return obj.version || 'unknown';\n }\n [kParsePositionalNumbers](argv) {\n const args = argv['--'] ? argv['--'] : argv._;\n for (let i = 0, arg; (arg = args[i]) !== undefined; i++) {\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").Parser.looksLikeNumber(arg) &&\n Number.isSafeInteger(Math.floor(parseFloat(`${arg}`)))) {\n args[i] = Number(arg);\n }\n }\n return argv;\n }\n [kPkgUp](rootPath) {\n const npath = rootPath || '*';\n if (__classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath])\n return __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath];\n let obj = {};\n try {\n let startDir = rootPath || __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").mainFilename;\n if (__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.extname(startDir)) {\n startDir = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.dirname(startDir);\n }\n const pkgJsonPath = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").findUp(startDir, (dir, names) => {\n if (names.includes('package.json')) {\n return 'package.json';\n }\n else {\n return undefined;\n }\n });\n assertNotStrictEqual(pkgJsonPath, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n obj = JSON.parse(__classPrivateFieldGet(this, _YargsInstance_shim, \"f\").readFileSync(pkgJsonPath, 'utf8'));\n }\n catch (_noop) { }\n __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath] = obj || {};\n return __classPrivateFieldGet(this, _YargsInstance_pkgs, \"f\")[npath];\n }\n [kPopulateParserHintArray](type, keys) {\n keys = [].concat(keys);\n keys.forEach(key => {\n key = this[kSanitizeKey](key);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type].push(key);\n });\n }\n [kPopulateParserHintSingleValueDictionary](builder, type, key, value) {\n this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] = value;\n });\n }\n [kPopulateParserHintArrayDictionary](builder, type, key, value) {\n this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[type][key] || []).concat(value);\n });\n }\n [kPopulateParserHintDictionary](builder, type, key, value, singleKeyHandler) {\n if (Array.isArray(key)) {\n key.forEach(k => {\n builder(k, value);\n });\n }\n else if (((key) => typeof key === 'object')(key)) {\n for (const k of objectKeys(key)) {\n builder(k, key[k]);\n }\n }\n else {\n singleKeyHandler(type, this[kSanitizeKey](key), value);\n }\n }\n [kSanitizeKey](key) {\n if (key === '__proto__')\n return '___proto___';\n return key;\n }\n [kSetKey](key, set) {\n this[kPopulateParserHintSingleValueDictionary](this[kSetKey].bind(this), 'key', key, set);\n return this;\n }\n [kUnfreeze]() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n const frozen = __classPrivateFieldGet(this, _YargsInstance_frozens, \"f\").pop();\n assertNotStrictEqual(frozen, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\"));\n let configObjects;\n (_a = this, _b = this, _c = this, _d = this, _e = this, _f = this, _g = this, _h = this, _j = this, _k = this, _l = this, _m = this, {\n options: ({ set value(_o) { __classPrivateFieldSet(_a, _YargsInstance_options, _o, \"f\"); } }).value,\n configObjects,\n exitProcess: ({ set value(_o) { __classPrivateFieldSet(_b, _YargsInstance_exitProcess, _o, \"f\"); } }).value,\n groups: ({ set value(_o) { __classPrivateFieldSet(_c, _YargsInstance_groups, _o, \"f\"); } }).value,\n output: ({ set value(_o) { __classPrivateFieldSet(_d, _YargsInstance_output, _o, \"f\"); } }).value,\n exitError: ({ set value(_o) { __classPrivateFieldSet(_e, _YargsInstance_exitError, _o, \"f\"); } }).value,\n hasOutput: ({ set value(_o) { __classPrivateFieldSet(_f, _YargsInstance_hasOutput, _o, \"f\"); } }).value,\n parsed: this.parsed,\n strict: ({ set value(_o) { __classPrivateFieldSet(_g, _YargsInstance_strict, _o, \"f\"); } }).value,\n strictCommands: ({ set value(_o) { __classPrivateFieldSet(_h, _YargsInstance_strictCommands, _o, \"f\"); } }).value,\n strictOptions: ({ set value(_o) { __classPrivateFieldSet(_j, _YargsInstance_strictOptions, _o, \"f\"); } }).value,\n completionCommand: ({ set value(_o) { __classPrivateFieldSet(_k, _YargsInstance_completionCommand, _o, \"f\"); } }).value,\n parseFn: ({ set value(_o) { __classPrivateFieldSet(_l, _YargsInstance_parseFn, _o, \"f\"); } }).value,\n parseContext: ({ set value(_o) { __classPrivateFieldSet(_m, _YargsInstance_parseContext, _o, \"f\"); } }).value,\n } = frozen);\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects = configObjects;\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_command, \"f\").unfreeze();\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").unfreeze();\n }\n [kValidateAsync](validation, argv) {\n return maybeAsyncResult(argv, result => {\n validation(result);\n return result;\n });\n }\n getInternalMethods() {\n return {\n getCommandInstance: this[kGetCommandInstance].bind(this),\n getContext: this[kGetContext].bind(this),\n getHasOutput: this[kGetHasOutput].bind(this),\n getLoggerInstance: this[kGetLoggerInstance].bind(this),\n getParseContext: this[kGetParseContext].bind(this),\n getParserConfiguration: this[kGetParserConfiguration].bind(this),\n getUsageConfiguration: this[kGetUsageConfiguration].bind(this),\n getUsageInstance: this[kGetUsageInstance].bind(this),\n getValidationInstance: this[kGetValidationInstance].bind(this),\n hasParseCallback: this[kHasParseCallback].bind(this),\n isGlobalContext: this[kIsGlobalContext].bind(this),\n postProcess: this[kPostProcess].bind(this),\n reset: this[kReset].bind(this),\n runValidation: this[kRunValidation].bind(this),\n runYargsParserAndExecuteCommands: this[kRunYargsParserAndExecuteCommands].bind(this),\n setHasOutput: this[kSetHasOutput].bind(this),\n };\n }\n [kGetCommandInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_command, \"f\");\n }\n [kGetContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_context, \"f\");\n }\n [kGetHasOutput]() {\n return __classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\");\n }\n [kGetLoggerInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_logger, \"f\");\n }\n [kGetParseContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\") || {};\n }\n [kGetUsageInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_usage, \"f\");\n }\n [kGetValidationInstance]() {\n return __classPrivateFieldGet(this, _YargsInstance_validation, \"f\");\n }\n [kHasParseCallback]() {\n return !!__classPrivateFieldGet(this, _YargsInstance_parseFn, \"f\");\n }\n [kIsGlobalContext]() {\n return __classPrivateFieldGet(this, _YargsInstance_isGlobalContext, \"f\");\n }\n [kPostProcess](argv, populateDoubleDash, calledFromCommand, runGlobalMiddleware) {\n if (calledFromCommand)\n return argv;\n if (isPromise(argv))\n return argv;\n if (!populateDoubleDash) {\n argv = this[kCopyDoubleDash](argv);\n }\n const parsePositionalNumbers = this[kGetParserConfiguration]()['parse-positional-numbers'] ||\n this[kGetParserConfiguration]()['parse-positional-numbers'] === undefined;\n if (parsePositionalNumbers) {\n argv = this[kParsePositionalNumbers](argv);\n }\n if (runGlobalMiddleware) {\n argv = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), false);\n }\n return argv;\n }\n [kReset](aliases = {}) {\n __classPrivateFieldSet(this, _YargsInstance_options, __classPrivateFieldGet(this, _YargsInstance_options, \"f\") || {}, \"f\");\n const tmpOptions = {};\n tmpOptions.local = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").local || [];\n tmpOptions.configObjects = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configObjects || [];\n const localLookup = {};\n tmpOptions.local.forEach(l => {\n localLookup[l] = true;\n (aliases[l] || []).forEach(a => {\n localLookup[a] = true;\n });\n });\n Object.assign(__classPrivateFieldGet(this, _YargsInstance_preservedGroups, \"f\"), Object.keys(__classPrivateFieldGet(this, _YargsInstance_groups, \"f\")).reduce((acc, groupName) => {\n const keys = __classPrivateFieldGet(this, _YargsInstance_groups, \"f\")[groupName].filter(key => !(key in localLookup));\n if (keys.length > 0) {\n acc[groupName] = keys;\n }\n return acc;\n }, {}));\n __classPrivateFieldSet(this, _YargsInstance_groups, {}, \"f\");\n const arrayOptions = [\n 'array',\n 'boolean',\n 'string',\n 'skipValidation',\n 'count',\n 'normalize',\n 'number',\n 'hiddenOptions',\n ];\n const objectOptions = [\n 'narg',\n 'key',\n 'alias',\n 'default',\n 'defaultDescription',\n 'config',\n 'choices',\n 'demandedOptions',\n 'demandedCommands',\n 'deprecatedOptions',\n ];\n arrayOptions.forEach(k => {\n tmpOptions[k] = (__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[k] || []).filter((k) => !localLookup[k]);\n });\n objectOptions.forEach((k) => {\n tmpOptions[k] = objFilter(__classPrivateFieldGet(this, _YargsInstance_options, \"f\")[k], k => !localLookup[k]);\n });\n tmpOptions.envPrefix = __classPrivateFieldGet(this, _YargsInstance_options, \"f\").envPrefix;\n __classPrivateFieldSet(this, _YargsInstance_options, tmpOptions, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_usage, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").reset(localLookup)\n : Usage(this, __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_validation, __classPrivateFieldGet(this, _YargsInstance_validation, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").reset(localLookup)\n : Validation(this, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldSet(this, _YargsInstance_command, __classPrivateFieldGet(this, _YargsInstance_command, \"f\")\n ? __classPrivateFieldGet(this, _YargsInstance_command, \"f\").reset()\n : Command(__classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_validation, \"f\"), __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n if (!__classPrivateFieldGet(this, _YargsInstance_completion, \"f\"))\n __classPrivateFieldSet(this, _YargsInstance_completion, Completion(this, __classPrivateFieldGet(this, _YargsInstance_usage, \"f\"), __classPrivateFieldGet(this, _YargsInstance_command, \"f\"), __classPrivateFieldGet(this, _YargsInstance_shim, \"f\")), \"f\");\n __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").reset();\n __classPrivateFieldSet(this, _YargsInstance_completionCommand, null, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_output, '', \"f\");\n __classPrivateFieldSet(this, _YargsInstance_exitError, null, \"f\");\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, false, \"f\");\n this.parsed = false;\n return this;\n }\n [kRebase](base, dir) {\n return __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").path.relative(base, dir);\n }\n [kRunYargsParserAndExecuteCommands](args, shortCircuit, calledFromCommand, commandIndex = 0, helpOnly = false) {\n var _a, _b, _c, _d;\n let skipValidation = !!calledFromCommand || helpOnly;\n args = args || __classPrivateFieldGet(this, _YargsInstance_processArgs, \"f\");\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").__ = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").y18n.__;\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration = this[kGetParserConfiguration]();\n const populateDoubleDash = !!__classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration['populate--'];\n const config = Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, \"f\").configuration, {\n 'populate--': true,\n });\n const parsed = __classPrivateFieldGet(this, _YargsInstance_shim, \"f\").Parser.detailed(args, Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, \"f\"), {\n configuration: { 'parse-positional-numbers': false, ...config },\n }));\n const argv = Object.assign(parsed.argv, __classPrivateFieldGet(this, _YargsInstance_parseContext, \"f\"));\n let argvPromise = undefined;\n const aliases = parsed.aliases;\n let helpOptSet = false;\n let versionOptSet = false;\n Object.keys(argv).forEach(key => {\n if (key === __classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\") && argv[key]) {\n helpOptSet = true;\n }\n else if (key === __classPrivateFieldGet(this, _YargsInstance_versionOpt, \"f\") && argv[key]) {\n versionOptSet = true;\n }\n });\n argv.$0 = this.$0;\n this.parsed = parsed;\n if (commandIndex === 0) {\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").clearCachedHelpMessage();\n }\n try {\n this[kGuessLocale]();\n if (shortCircuit) {\n return this[kPostProcess](argv, populateDoubleDash, !!calledFromCommand, false);\n }\n if (__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")) {\n const helpCmds = [__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")]\n .concat(aliases[__classPrivateFieldGet(this, _YargsInstance_helpOpt, \"f\")] || [])\n .filter(k => k.length > 1);\n if (helpCmds.includes('' + argv._[argv._.length - 1])) {\n argv._.pop();\n helpOptSet = true;\n }\n }\n __classPrivateFieldSet(this, _YargsInstance_isGlobalContext, false, \"f\");\n const handlerKeys = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").getCommands();\n const requestCompletions = ((_a = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _a === void 0 ? void 0 : _a.completionKey)\n ? [\n (_b = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _b === void 0 ? void 0 : _b.completionKey,\n ...((_d = this.getAliases()[(_c = __classPrivateFieldGet(this, _YargsInstance_completion, \"f\")) === null || _c === void 0 ? void 0 : _c.completionKey]) !== null && _d !== void 0 ? _d : []),\n ].some((key) => Object.prototype.hasOwnProperty.call(argv, key))\n : false;\n const skipRecommendation = helpOptSet || requestCompletions || helpOnly;\n if (argv._.length) {\n if (handlerKeys.length) {\n let firstUnknownCommand;\n for (let i = commandIndex || 0, cmd; argv._[i] !== undefined; i++) {\n cmd = String(argv._[i]);\n if (handlerKeys.includes(cmd) && cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) {\n const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runCommand(cmd, this, parsed, i + 1, helpOnly, helpOptSet || versionOptSet || helpOnly);\n return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);\n }\n else if (!firstUnknownCommand &&\n cmd !== __classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) {\n firstUnknownCommand = cmd;\n break;\n }\n }\n if (!__classPrivateFieldGet(this, _YargsInstance_command, \"f\").hasDefaultCommand() &&\n __classPrivateFieldGet(this, _YargsInstance_recommendCommands, \"f\") &&\n firstUnknownCommand &&\n !skipRecommendation) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").recommendCommands(firstUnknownCommand, handlerKeys);\n }\n }\n if (__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\") &&\n argv._.includes(__classPrivateFieldGet(this, _YargsInstance_completionCommand, \"f\")) &&\n !requestCompletions) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n this.showCompletionScript();\n this.exit(0);\n }\n }\n if (__classPrivateFieldGet(this, _YargsInstance_command, \"f\").hasDefaultCommand() && !skipRecommendation) {\n const innerArgv = __classPrivateFieldGet(this, _YargsInstance_command, \"f\").runCommand(null, this, parsed, 0, helpOnly, helpOptSet || versionOptSet || helpOnly);\n return this[kPostProcess](innerArgv, populateDoubleDash, !!calledFromCommand, false);\n }\n if (requestCompletions) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n args = [].concat(args);\n const completionArgs = args.slice(args.indexOf(`--${__classPrivateFieldGet(this, _YargsInstance_completion, \"f\").completionKey}`) + 1);\n __classPrivateFieldGet(this, _YargsInstance_completion, \"f\").getCompletion(completionArgs, (err, completions) => {\n if (err)\n throw new YError(err.message);\n (completions || []).forEach(completion => {\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(completion);\n });\n this.exit(0);\n });\n return this[kPostProcess](argv, !populateDoubleDash, !!calledFromCommand, false);\n }\n if (!__classPrivateFieldGet(this, _YargsInstance_hasOutput, \"f\")) {\n if (helpOptSet) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n skipValidation = true;\n this.showHelp(message => {\n __classPrivateFieldGet(this, _YargsInstance_logger, \"f\").log(message);\n this.exit(0);\n });\n }\n else if (versionOptSet) {\n if (__classPrivateFieldGet(this, _YargsInstance_exitProcess, \"f\"))\n setBlocking(true);\n skipValidation = true;\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").showVersion('log');\n this.exit(0);\n }\n }\n if (!skipValidation && __classPrivateFieldGet(this, _YargsInstance_options, \"f\").skipValidation.length > 0) {\n skipValidation = Object.keys(argv).some(key => __classPrivateFieldGet(this, _YargsInstance_options, \"f\").skipValidation.indexOf(key) >= 0 && argv[key] === true);\n }\n if (!skipValidation) {\n if (parsed.error)\n throw new YError(parsed.error.message);\n if (!requestCompletions) {\n const validation = this[kRunValidation](aliases, {}, parsed.error);\n if (!calledFromCommand) {\n argvPromise = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), true);\n }\n argvPromise = this[kValidateAsync](validation, argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv);\n if (isPromise(argvPromise) && !calledFromCommand) {\n argvPromise = argvPromise.then(() => {\n return applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, \"f\").getMiddleware(), false);\n });\n }\n }\n }\n }\n catch (err) {\n if (err instanceof YError)\n __classPrivateFieldGet(this, _YargsInstance_usage, \"f\").fail(err.message, err);\n else\n throw err;\n }\n return this[kPostProcess](argvPromise !== null && argvPromise !== void 0 ? argvPromise : argv, populateDoubleDash, !!calledFromCommand, true);\n }\n [kRunValidation](aliases, positionalMap, parseErrors, isDefaultCommand) {\n const demandedOptions = { ...this.getDemandedOptions() };\n return (argv) => {\n if (parseErrors)\n throw new YError(parseErrors.message);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").nonOptionCount(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").requiredArguments(argv, demandedOptions);\n let failedStrictCommands = false;\n if (__classPrivateFieldGet(this, _YargsInstance_strictCommands, \"f\")) {\n failedStrictCommands = __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownCommands(argv);\n }\n if (__classPrivateFieldGet(this, _YargsInstance_strict, \"f\") && !failedStrictCommands) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownArguments(argv, aliases, positionalMap, !!isDefaultCommand);\n }\n else if (__classPrivateFieldGet(this, _YargsInstance_strictOptions, \"f\")) {\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").unknownArguments(argv, aliases, {}, false, false);\n }\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").limitedChoices(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").implications(argv);\n __classPrivateFieldGet(this, _YargsInstance_validation, \"f\").conflicting(argv);\n };\n }\n [kSetHasOutput]() {\n __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, \"f\");\n }\n [kTrackManuallySetKeys](keys) {\n if (typeof keys === 'string') {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[keys] = true;\n }\n else {\n for (const k of keys) {\n __classPrivateFieldGet(this, _YargsInstance_options, \"f\").key[k] = true;\n }\n }\n }\n}\nexport function isYargsInstance(y) {\n return !!y && typeof y.getInternalMethods === 'function';\n}\n",
|
|
164
|
+
"'use strict';\n\n// Bootstraps yargs for ESM:\nimport esmPlatformShim from './lib/platform-shims/esm.mjs';\nimport {YargsFactory} from './build/lib/yargs-factory.js';\n\nconst Yargs = YargsFactory(esmPlatformShim);\nexport default Yargs;\n\nexport {Yargs as 'module.exports'};\n",
|
|
165
|
+
"#!/usr/bin/env node\nimport ms from 'enhanced-ms';\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport claudeYes from '.';\n\n// cli entry point\nconst argv = yargs(hideBin(process.argv))\n .usage('Usage: $0 [options] [--] [claude args]')\n .example(\n '$0 --exit-on-idle=30s --continue-on-crash \"help me solve all todos in my codebase\"',\n 'Run Claude with a 30 seconds idle timeout and continue on crash'\n )\n .option('exit-on-idle', {\n type: 'string',\n default: '60s',\n description: 'Exit after being idle for specified duration',\n })\n .option('continue-on-crash', {\n type: 'boolean',\n default: true,\n description: 'Continue running even if Claude crashes',\n })\n .option('log-file', {\n type: 'string',\n description: 'Path to log file for output logging',\n })\n .option('verbose', {\n type: 'boolean',\n default: false,\n description: 'Enable verbose logging',\n })\n .parserConfiguration({\n 'unknown-options-as-args': true,\n 'halt-at-non-option': true,\n })\n .parseSync();\n\nconst { exitCode, logs } = await claudeYes({\n exitOnIdle: argv.exitOnIdle != null ? ms(argv.exitOnIdle) : undefined,\n claudeArgs: argv._.map((e) => String(e)),\n continueOnCrash: argv.continueOnCrash,\n logFile: argv.logFile,\n verbose: argv.verbose,\n});\n\nprocess.exit(exitCode ?? 1);\n"
|
|
166
|
+
],
|
|
167
|
+
"mappings": "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N,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,KAAK,QAAU,KAAK,QACpB,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,SACN,KAAK,SAAU,KAAK,SACpB,KAAK,SAAU,KAAK,SACpB,KAAK,SAAU,KAAK,SACpB,KAAK,SAAU,KAAK,SACpB,KAAK,SAAU,KAAK,SACpB,MAAM,SACN,KAAK,UAAW,KAA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",
|
|
168
|
+
"debugId": "60C91F29E6CD011A64756E2164756E21",
|
|
169
|
+
"names": []
|
|
170
|
+
}
|