spawn-term 0.0.9 → 0.1.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.
Files changed (59) hide show
  1. package/assets/ink.cjs +30816 -0
  2. package/assets/intl-adapter.cjs +1083 -0
  3. package/dist/cjs/components/App.cjs +82 -0
  4. package/dist/cjs/components/App.cjs.map +1 -0
  5. package/dist/cjs/components/ChildProcess.cjs +81 -0
  6. package/dist/cjs/components/ChildProcess.cjs.map +1 -0
  7. package/dist/cjs/components/Spinner.cjs +118 -0
  8. package/dist/cjs/components/Spinner.cjs.map +1 -0
  9. package/dist/cjs/createApp.cjs +86 -0
  10. package/dist/cjs/createApp.cjs.map +1 -0
  11. package/dist/cjs/index.cjs.cjs +55 -0
  12. package/dist/cjs/index.cjs.cjs.map +1 -0
  13. package/dist/cjs/index.esm.cjs +55 -0
  14. package/dist/cjs/index.esm.cjs.map +1 -0
  15. package/dist/cjs/ink.cjs +112 -0
  16. package/dist/cjs/ink.cjs.map +1 -0
  17. package/dist/cjs/lib/addLines.cjs +32 -0
  18. package/dist/cjs/lib/addLines.cjs.map +1 -0
  19. package/dist/cjs/lib/concatWritable.cjs +25 -0
  20. package/dist/cjs/lib/concatWritable.cjs.map +1 -0
  21. package/dist/cjs/lib/figures.cjs +43 -0
  22. package/dist/cjs/lib/figures.cjs.map +1 -0
  23. package/dist/cjs/types.cjs +17 -0
  24. package/dist/cjs/types.cjs.map +1 -0
  25. package/dist/cjs/worker.cjs +237 -0
  26. package/dist/cjs/worker.cjs.map +1 -0
  27. package/dist/esm/components/App.mjs +35 -10
  28. package/dist/esm/components/App.mjs.map +1 -1
  29. package/dist/esm/components/ChildProcess.mjs +12 -3
  30. package/dist/esm/components/ChildProcess.mjs.map +1 -1
  31. package/dist/esm/components/Spinner.mjs +1 -1
  32. package/dist/esm/components/Spinner.mjs.map +1 -1
  33. package/dist/esm/createApp.mjs +34 -6
  34. package/dist/esm/createApp.mjs.map +1 -1
  35. package/dist/esm/index.cjs.mjs +14 -0
  36. package/dist/esm/index.cjs.mjs.map +1 -0
  37. package/dist/esm/{index.mjs → index.esm.mjs} +5 -2
  38. package/dist/esm/index.esm.mjs.map +1 -0
  39. package/dist/esm/ink.mjs +10 -0
  40. package/dist/esm/ink.mjs.map +1 -0
  41. package/dist/esm/lib/figures.mjs +13 -2
  42. package/dist/esm/lib/figures.mjs.map +1 -1
  43. package/dist/esm/types.mjs.map +1 -1
  44. package/dist/esm/worker.mjs +85 -5
  45. package/dist/esm/worker.mjs.map +1 -1
  46. package/dist/types/components/App.d.ts +1 -1
  47. package/dist/types/components/ChildProcess.d.ts +1 -1
  48. package/dist/types/createApp.d.ts +1 -1
  49. package/dist/types/index.cjs.d.ts +6 -0
  50. package/dist/types/index.esm.d.ts +6 -0
  51. package/dist/types/ink.d.mts +15 -0
  52. package/dist/types/types.d.ts +1 -1
  53. package/dist/types/worker.d.ts +1 -1
  54. package/package.json +16 -15
  55. package/dist/esm/index.mjs.map +0 -1
  56. package/dist/esm/lib/uuid.mjs +0 -16
  57. package/dist/esm/lib/uuid.mjs.map +0 -1
  58. package/dist/types/index.d.ts +0 -3
  59. package/dist/types/lib/uuid.d.ts +0 -1
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return App;
9
+ }
10
+ });
11
+ var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
+ var _ink = require("../ink.cjs");
13
+ var _ChildProcess = /*#__PURE__*/ _interop_require_default(require("./ChildProcess.cjs"));
14
+ function _define_property(obj, key, value) {
15
+ if (key in obj) {
16
+ Object.defineProperty(obj, key, {
17
+ value: value,
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true
21
+ });
22
+ } else {
23
+ obj[key] = value;
24
+ }
25
+ return obj;
26
+ }
27
+ function _interop_require_default(obj) {
28
+ return obj && obj.__esModule ? obj : {
29
+ default: obj
30
+ };
31
+ }
32
+ function _object_spread(target) {
33
+ for(var i = 1; i < arguments.length; i++){
34
+ var source = arguments[i] != null ? arguments[i] : {};
35
+ var ownKeys = Object.keys(source);
36
+ if (typeof Object.getOwnPropertySymbols === "function") {
37
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
38
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
39
+ }));
40
+ }
41
+ ownKeys.forEach(function(key) {
42
+ _define_property(target, key, source[key]);
43
+ });
44
+ }
45
+ return target;
46
+ }
47
+ function App(param) {
48
+ var list = param.list;
49
+ var running = list.filter(function(x) {
50
+ return [
51
+ 'running'
52
+ ].indexOf(x.state) >= 0;
53
+ });
54
+ var done = list.filter(function(x) {
55
+ return [
56
+ 'error',
57
+ 'success'
58
+ ].indexOf(x.state) >= 0;
59
+ });
60
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_ink.Box, {
61
+ flexDirection: "column"
62
+ }, running.map(function(item) {
63
+ return /*#__PURE__*/ _react.default.createElement(_ChildProcess.default, _object_spread({
64
+ key: item.id
65
+ }, item));
66
+ })), /*#__PURE__*/ _react.default.createElement(_ink.Box, {
67
+ flexDirection: "column",
68
+ borderStyle: "single",
69
+ borderColor: "black",
70
+ borderBottom: true,
71
+ borderTop: false,
72
+ borderLeft: false,
73
+ borderRight: false
74
+ }), /*#__PURE__*/ _react.default.createElement(_ink.Box, {
75
+ flexDirection: "column"
76
+ }, done.map(function(item) {
77
+ return /*#__PURE__*/ _react.default.createElement(_ChildProcess.default, _object_spread({
78
+ key: item.id
79
+ }, item));
80
+ })));
81
+ }
82
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/App.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '../ink.mjs';\nimport type { ChildProcess as ChildProcessT } from '../types';\nimport ChildProcess from './ChildProcess';\n\nexport interface AppProps {\n list: ChildProcessT[];\n}\n\nexport default function App({ list }: AppProps) {\n const running = list.filter((x) => ['running'].indexOf(x.state) >= 0);\n const done = list.filter((x) => ['error', 'success'].indexOf(x.state) >= 0);\n\n return (\n <>\n <Box flexDirection=\"column\">\n {running.map((item: ChildProcessT) => (\n <ChildProcess key={item.id} {...item} />\n ))}\n </Box>\n <Box flexDirection=\"column\" borderStyle=\"single\" borderColor=\"black\" borderBottom={true} borderTop={false} borderLeft={false} borderRight={false} />\n <Box flexDirection=\"column\">\n {done.map((item: ChildProcessT) => (\n <ChildProcess key={item.id} {...item} />\n ))}\n </Box>\n </>\n );\n}\n"],"names":["App","list","running","filter","x","indexOf","state","done","Box","flexDirection","map","item","ChildProcess","key","id","borderStyle","borderColor","borderBottom","borderTop","borderLeft","borderRight"],"mappings":";;;;+BASA;;;eAAwBA;;;4DATN;mBACE;mEAEK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMV,SAASA,IAAI,KAAkB;QAAlB,AAAEC,OAAF,MAAEA;IAC5B,IAAMC,UAAUD,KAAKE,MAAM,CAAC,SAACC;eAAM;YAAC;SAAU,CAACC,OAAO,CAACD,EAAEE,KAAK,KAAK;;IACnE,IAAMC,OAAON,KAAKE,MAAM,CAAC,SAACC;eAAM;YAAC;YAAS;SAAU,CAACC,OAAO,CAACD,EAAEE,KAAK,KAAK;;IAEzE,qBACE,0EACE,6BAACE,QAAG;QAACC,eAAc;OAChBP,QAAQQ,GAAG,CAAC,SAACC;6BACZ,6BAACC,qBAAY;YAACC,KAAKF,KAAKG,EAAE;WAAMH;uBAGpC,6BAACH,QAAG;QAACC,eAAc;QAASM,aAAY;QAASC,aAAY;QAAQC,cAAc;QAAMC,WAAW;QAAOC,YAAY;QAAOC,aAAa;sBAC3I,6BAACZ,QAAG;QAACC,eAAc;OAChBF,KAAKG,GAAG,CAAC,SAACC;6BACT,6BAACC,qBAAY;YAACC,KAAKF,KAAKG,EAAE;WAAMH;;AAK1C"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ChildProcess;
9
+ }
10
+ });
11
+ var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
+ var _ink = require("../ink.cjs");
13
+ var _figures = /*#__PURE__*/ _interop_require_default(require("../lib/figures.cjs"));
14
+ var _Spinner = /*#__PURE__*/ _interop_require_default(require("./Spinner.cjs"));
15
+ var _types = require("../types.cjs");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ // From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2
22
+ var spinner = {
23
+ interval: 80,
24
+ frames: [
25
+ '⠋',
26
+ '⠙',
27
+ '⠹',
28
+ '⠸',
29
+ '⠼',
30
+ '⠴',
31
+ '⠦',
32
+ '⠧',
33
+ '⠇',
34
+ '⠏'
35
+ ]
36
+ };
37
+ var ICONS = {
38
+ error: /*#__PURE__*/ _react.default.createElement(_ink.Text, {
39
+ color: "red"
40
+ }, _figures.default.cross),
41
+ success: /*#__PURE__*/ _react.default.createElement(_ink.Text, {
42
+ color: "green"
43
+ }, _figures.default.tick),
44
+ running: /*#__PURE__*/ _react.default.createElement(_Spinner.default, spinner)
45
+ };
46
+ var POINTERS = {
47
+ error: /*#__PURE__*/ _react.default.createElement(_ink.Text, {
48
+ color: "red"
49
+ }, _figures.default.pointer),
50
+ default: /*#__PURE__*/ _react.default.createElement(_ink.Text, {
51
+ color: "yellow"
52
+ }, _figures.default.pointer)
53
+ };
54
+ function ChildProcess(param) {
55
+ var title = param.title, state = param.state, lines = param.lines, isExpanded = param.isExpanded;
56
+ var icon = isExpanded ? POINTERS[state] || POINTERS.default : ICONS[state];
57
+ var output = state === 'running' && lines.length ? lines[lines.length - 1] : undefined;
58
+ var errors = state !== 'running' ? lines.filter(function(line) {
59
+ return line.type === _types.LineType.stderr;
60
+ }) : [];
61
+ return /*#__PURE__*/ _react.default.createElement(_ink.Box, {
62
+ flexDirection: "column"
63
+ }, /*#__PURE__*/ _react.default.createElement(_ink.Box, null, /*#__PURE__*/ _react.default.createElement(_ink.Box, {
64
+ marginRight: 1
65
+ }, /*#__PURE__*/ _react.default.createElement(_ink.Text, null, icon)), /*#__PURE__*/ _react.default.createElement(_ink.Text, null, title)), output ? /*#__PURE__*/ _react.default.createElement(_ink.Box, {
66
+ marginLeft: 2
67
+ }, /*#__PURE__*/ _react.default.createElement(_ink.Text, {
68
+ color: "gray"
69
+ }, "".concat(_figures.default.arrowRight, " ").concat(output.text))) : undefined, errors.length > 0 && /*#__PURE__*/ _react.default.createElement(_ink.Box, {
70
+ flexDirection: "column",
71
+ marginLeft: 2
72
+ }, lines.map(function(line, index) {
73
+ return(// biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
74
+ /*#__PURE__*/ _react.default.createElement(_ink.Box, {
75
+ key: index,
76
+ flexDirection: "column",
77
+ height: 1
78
+ }, /*#__PURE__*/ _react.default.createElement(_ink.Text, null, line.text)));
79
+ })));
80
+ }
81
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { Line, State } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\nconst POINTERS = {\n error: <Text color=\"red\">{figures.pointer}</Text>,\n default: <Text color=\"yellow\">{figures.pointer}</Text>,\n};\n\ntype ChildProcessProps = {\n title: string;\n state: State;\n lines: Line[];\n isExpanded?: boolean;\n};\n\nexport default function ChildProcess({ title, state, lines, isExpanded }: ChildProcessProps) {\n const icon = isExpanded ? POINTERS[state] || POINTERS.default : ICONS[state];\n const output = state === 'running' && lines.length ? lines[lines.length - 1] : undefined;\n const errors = state !== 'running' ? lines.filter((line) => line.type === LineType.stderr) : [];\n\n return (\n <Box flexDirection=\"column\">\n <Box>\n <Box marginRight={1}>\n <Text>{icon}</Text>\n </Box>\n <Text>{title}</Text>\n </Box>\n {output ? (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n ) : undefined}\n {errors.length > 0 && (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text>{line.text}</Text>\n </Box>\n ))}\n </Box>\n )}\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","running","Spinner","POINTERS","pointer","default","title","state","lines","isExpanded","icon","output","length","undefined","errors","filter","line","type","LineType","stderr","Box","flexDirection","marginRight","marginLeft","arrowRight","text","map","index","key","height"],"mappings":";;;;+BAgCA;;;eAAwBA;;;4DAhCN;mBACQ;8DACN;8DACA;qBAGK;;;;;;AAEzB,oHAAoH;AACpH,IAAMC,UAAU;IACdC,UAAU;IACVC,QAAQ;QAAC;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;KAAI;AAC5D;AAEA,IAAMC,QAAQ;IACZC,qBAAO,6BAACC,SAAI;QAACC,OAAM;OAAOC,gBAAO,CAACC,KAAK;IACvCC,uBAAS,6BAACJ,SAAI;QAACC,OAAM;OAASC,gBAAO,CAACG,IAAI;IAC1CC,uBAAS,6BAACC,gBAAO,EAAKZ;AACxB;AAEA,IAAMa,WAAW;IACfT,qBAAO,6BAACC,SAAI;QAACC,OAAM;OAAOC,gBAAO,CAACO,OAAO;IACzCC,uBAAS,6BAACV,SAAI;QAACC,OAAM;OAAUC,gBAAO,CAACO,OAAO;AAChD;AASe,SAASf,aAAa,KAAsD;QAApDiB,QAAF,MAAEA,OAAOC,QAAT,MAASA,OAAOC,QAAhB,MAAgBA,OAAOC,aAAvB,MAAuBA;IAC1D,IAAMC,OAAOD,aAAaN,QAAQ,CAACI,MAAM,IAAIJ,SAASE,OAAO,GAAGZ,KAAK,CAACc,MAAM;IAC5E,IAAMI,SAASJ,UAAU,aAAaC,MAAMI,MAAM,GAAGJ,KAAK,CAACA,MAAMI,MAAM,GAAG,EAAE,GAAGC;IAC/E,IAAMC,SAASP,UAAU,YAAYC,MAAMO,MAAM,CAAC,SAACC;eAASA,KAAKC,IAAI,KAAKC,eAAQ,CAACC,MAAM;SAAI,EAAE;IAE/F,qBACE,6BAACC,QAAG;QAACC,eAAc;qBACjB,6BAACD,QAAG,sBACF,6BAACA,QAAG;QAACE,aAAa;qBAChB,6BAAC3B,SAAI,QAAEe,sBAET,6BAACf,SAAI,QAAEW,SAERK,uBACC,6BAACS,QAAG;QAACG,YAAY;qBACf,6BAAC5B,SAAI;QAACC,OAAM;OAAQ,AAAC,GAAwBe,OAAtBd,gBAAO,CAAC2B,UAAU,EAAC,KAAe,OAAZb,OAAOc,IAAI,MAExDZ,WACHC,OAAOF,MAAM,GAAG,mBACf,6BAACQ,QAAG;QAACC,eAAc;QAASE,YAAY;OACrCf,MAAMkB,GAAG,CAAC,SAACV,MAAMW;eAChB,8DAA8D;sBAC9D,6BAACP,QAAG;YAACQ,KAAKD;YAAON,eAAc;YAASQ,QAAQ;yBAC9C,6BAAClC,SAAI,QAAEqB,KAAKS,IAAI;;AAO9B"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Spinner;
9
+ }
10
+ });
11
+ var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
+ var _ink = require("../ink.cjs");
13
+ function _array_like_to_array(arr, len) {
14
+ if (len == null || len > arr.length) len = arr.length;
15
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
16
+ return arr2;
17
+ }
18
+ function _array_with_holes(arr) {
19
+ if (Array.isArray(arr)) return arr;
20
+ }
21
+ function _getRequireWildcardCache(nodeInterop) {
22
+ if (typeof WeakMap !== "function") return null;
23
+ var cacheBabelInterop = new WeakMap();
24
+ var cacheNodeInterop = new WeakMap();
25
+ return (_getRequireWildcardCache = function(nodeInterop) {
26
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
27
+ })(nodeInterop);
28
+ }
29
+ function _interop_require_wildcard(obj, nodeInterop) {
30
+ if (!nodeInterop && obj && obj.__esModule) {
31
+ return obj;
32
+ }
33
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
+ return {
35
+ default: obj
36
+ };
37
+ }
38
+ var cache = _getRequireWildcardCache(nodeInterop);
39
+ if (cache && cache.has(obj)) {
40
+ return cache.get(obj);
41
+ }
42
+ var newObj = {
43
+ __proto__: null
44
+ };
45
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
+ for(var key in obj){
47
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
48
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
49
+ if (desc && (desc.get || desc.set)) {
50
+ Object.defineProperty(newObj, key, desc);
51
+ } else {
52
+ newObj[key] = obj[key];
53
+ }
54
+ }
55
+ }
56
+ newObj.default = obj;
57
+ if (cache) {
58
+ cache.set(obj, newObj);
59
+ }
60
+ return newObj;
61
+ }
62
+ function _iterable_to_array_limit(arr, i) {
63
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
64
+ if (_i == null) return;
65
+ var _arr = [];
66
+ var _n = true;
67
+ var _d = false;
68
+ var _s, _e;
69
+ try {
70
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
71
+ _arr.push(_s.value);
72
+ if (i && _arr.length === i) break;
73
+ }
74
+ } catch (err) {
75
+ _d = true;
76
+ _e = err;
77
+ } finally{
78
+ try {
79
+ if (!_n && _i["return"] != null) _i["return"]();
80
+ } finally{
81
+ if (_d) throw _e;
82
+ }
83
+ }
84
+ return _arr;
85
+ }
86
+ function _non_iterable_rest() {
87
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
88
+ }
89
+ function _sliced_to_array(arr, i) {
90
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
91
+ }
92
+ function _unsupported_iterable_to_array(o, minLen) {
93
+ if (!o) return;
94
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
95
+ var n = Object.prototype.toString.call(o).slice(8, -1);
96
+ if (n === "Object" && o.constructor) n = o.constructor.name;
97
+ if (n === "Map" || n === "Set") return Array.from(n);
98
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
99
+ }
100
+ function Spinner(param) {
101
+ var interval = param.interval, frames = param.frames;
102
+ var _useState = _sliced_to_array((0, _react.useState)(0), 2), index = _useState[0], setIndex = _useState[1];
103
+ (0, _react.useEffect)(function() {
104
+ var timer = setInterval(function() {
105
+ setIndex(function(index) {
106
+ return index === frames.length - 1 ? 0 : index + 1;
107
+ });
108
+ }, interval);
109
+ return function() {
110
+ clearInterval(timer);
111
+ };
112
+ }, [
113
+ interval,
114
+ frames
115
+ ]);
116
+ return /*#__PURE__*/ _react.default.createElement(_ink.Text, null, frames[index]);
117
+ }
118
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/Spinner.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Text } from '../ink.mjs';\n\nexport type SpinnerProps = {\n interval: number;\n frames: string[];\n};\n\nexport default function Spinner({ interval, frames }: SpinnerProps) {\n const [index, setIndex] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIndex((index) => (index === frames.length - 1 ? 0 : index + 1));\n }, interval);\n return () => {\n clearInterval(timer);\n };\n }, [interval, frames]);\n\n return <Text>{frames[index]}</Text>;\n}\n"],"names":["Spinner","interval","frames","useState","index","setIndex","useEffect","timer","setInterval","length","clearInterval","Text"],"mappings":";;;;+BAQA;;;eAAwBA;;;6DARmB;mBACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAON,SAASA,QAAQ,KAAkC;QAAhCC,WAAF,MAAEA,UAAUC,SAAZ,MAAYA;IAC1C,IAA0BC,6BAAAA,IAAAA,eAAQ,EAAC,QAA5BC,QAAmBD,cAAZE,WAAYF;IAE1BG,IAAAA,gBAAS,EAAC;QACR,IAAMC,QAAQC,YAAY;YACxBH,SAAS,SAACD;uBAAWA,UAAUF,OAAOO,MAAM,GAAG,IAAI,IAAIL,QAAQ;;QACjE,GAAGH;QACH,OAAO;YACLS,cAAcH;QAChB;IACF,GAAG;QAACN;QAAUC;KAAO;IAErB,qBAAO,6BAACS,SAAI,QAAET,MAAM,CAACE,MAAM;AAC7B"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createApp;
9
+ }
10
+ });
11
+ var _liluuid = /*#__PURE__*/ _interop_require_default(require("lil-uuid"));
12
+ var _react = /*#__PURE__*/ _interop_require_default(require("react"));
13
+ var _App = /*#__PURE__*/ _interop_require_default(require("./components/App.cjs"));
14
+ var _ink = require("./ink.cjs");
15
+ function _define_property(obj, key, value) {
16
+ if (key in obj) {
17
+ Object.defineProperty(obj, key, {
18
+ value: value,
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true
22
+ });
23
+ } else {
24
+ obj[key] = value;
25
+ }
26
+ return obj;
27
+ }
28
+ function _interop_require_default(obj) {
29
+ return obj && obj.__esModule ? obj : {
30
+ default: obj
31
+ };
32
+ }
33
+ function _object_spread(target) {
34
+ for(var i = 1; i < arguments.length; i++){
35
+ var source = arguments[i] != null ? arguments[i] : {};
36
+ var ownKeys = Object.keys(source);
37
+ if (typeof Object.getOwnPropertySymbols === "function") {
38
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
39
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
40
+ }));
41
+ }
42
+ ownKeys.forEach(function(key) {
43
+ _define_property(target, key, source[key]);
44
+ });
45
+ }
46
+ return target;
47
+ }
48
+ function createApp() {
49
+ var refCount = 0;
50
+ var list = null;
51
+ var inkApp = null;
52
+ return {
53
+ addItem: function addItem(data) {
54
+ if (!list) throw new Error('Expecting list');
55
+ var item = _object_spread({
56
+ id: (0, _liluuid.default)(),
57
+ title: '',
58
+ state: 'pending',
59
+ lines: []
60
+ }, data);
61
+ list.push(item);
62
+ return item;
63
+ },
64
+ rerender: function rerender() {
65
+ if (inkApp) inkApp.rerender(/*#__PURE__*/ _react.default.createElement(_App.default, {
66
+ list: list
67
+ }));
68
+ },
69
+ retain: function retain() {
70
+ if (++refCount > 1) return;
71
+ if (inkApp) throw new Error('Not expecting app');
72
+ list = [];
73
+ inkApp = (0, _ink.render)(/*#__PURE__*/ _react.default.createElement(_App.default, {
74
+ list: list
75
+ }));
76
+ },
77
+ release: function release() {
78
+ if (--refCount > 0) return;
79
+ if (!inkApp) throw new Error('Expecting app');
80
+ inkApp.unmount();
81
+ inkApp = null;
82
+ list = null;
83
+ }
84
+ };
85
+ }
86
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import uuid from 'lil-uuid';\nimport React from 'react';\nimport App from './components/App';\n// @ts-ignore\nimport { type Instance, render } from './ink.mjs';\nimport type { ChildProcess } from './types';\n\nexport default function createApp() {\n let refCount = 0;\n let list: ChildProcess[] | null = null;\n let inkApp: Instance | null = null;\n\n return {\n addItem(data: Partial<ChildProcess>) {\n if (!list) throw new Error('Expecting list');\n const item = { id: uuid(), title: '', state: 'pending', lines: [], ...data } as ChildProcess;\n list.push(item);\n return item;\n },\n rerender() {\n if (inkApp) inkApp.rerender(<App list={list} />);\n },\n retain() {\n if (++refCount > 1) return;\n if (inkApp) throw new Error('Not expecting app');\n list = [];\n inkApp = render(<App list={list} />);\n },\n release() {\n if (--refCount > 0) return;\n if (!inkApp) throw new Error('Expecting app');\n inkApp.unmount();\n inkApp = null;\n list = null;\n },\n };\n}\n"],"names":["createApp","refCount","list","inkApp","addItem","data","Error","item","id","uuid","title","state","lines","push","rerender","App","retain","render","release","unmount"],"mappings":";;;;+BAOA;;;eAAwBA;;;8DAPP;4DACC;0DACF;mBAEsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvB,SAASA;IACtB,IAAIC,WAAW;IACf,IAAIC,OAA8B;IAClC,IAAIC,SAA0B;IAE9B,OAAO;QACLC,SAAAA,SAAAA,QAAQC,IAA2B;YACjC,IAAI,CAACH,MAAM,MAAM,IAAII,MAAM;YAC3B,IAAMC,OAAO;gBAAEC,IAAIC,IAAAA,gBAAI;gBAAIC,OAAO;gBAAIC,OAAO;gBAAWC,OAAO,EAAE;eAAKP;YACtEH,KAAKW,IAAI,CAACN;YACV,OAAOA;QACT;QACAO,UAAAA,SAAAA;YACE,IAAIX,QAAQA,OAAOW,QAAQ,eAAC,6BAACC,YAAG;gBAACb,MAAMA;;QACzC;QACAc,QAAAA,SAAAA;YACE,IAAI,EAAEf,WAAW,GAAG;YACpB,IAAIE,QAAQ,MAAM,IAAIG,MAAM;YAC5BJ,OAAO,EAAE;YACTC,SAASc,IAAAA,WAAM,gBAAC,6BAACF,YAAG;gBAACb,MAAMA;;QAC7B;QACAgB,SAAAA,SAAAA;YACE,IAAI,EAAEjB,WAAW,GAAG;YACpB,IAAI,CAACE,QAAQ,MAAM,IAAIG,MAAM;YAC7BH,OAAOgB,OAAO;YACdhB,SAAS;YACTD,OAAO;QACT;IACF;AACF"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
15
+ figures: function() {
16
+ return _figures.default;
17
+ }
18
+ });
19
+ _export_star(require("./types.cjs"), exports);
20
+ var _figures = /*#__PURE__*/ _interop_require_default(require("./lib/figures.cjs"));
21
+ function _export_star(from, to) {
22
+ Object.keys(from).forEach(function(k) {
23
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
24
+ Object.defineProperty(to, k, {
25
+ enumerable: true,
26
+ get: function() {
27
+ return from[k];
28
+ }
29
+ });
30
+ }
31
+ });
32
+ return from;
33
+ }
34
+ function _interop_require_default(obj) {
35
+ return obj && obj.__esModule ? obj : {
36
+ default: obj
37
+ };
38
+ }
39
+ function spawnTerminal(command, args, spawnOptions, options, callback) {
40
+ var worker = require('./worker.cjs');
41
+ if (typeof options === 'function') {
42
+ callback = options;
43
+ options = {};
44
+ }
45
+ options = options || {};
46
+ if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);
47
+ return new Promise(function(resolve, reject) {
48
+ return worker(command, args, spawnOptions, options, function(err, result) {
49
+ return err ? reject(err) : resolve(result);
50
+ });
51
+ });
52
+ }
53
+ var major = +process.versions.node.split('.')[0];
54
+ var _default = major > 10 ? spawnTerminal : undefined;
55
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.cjs.ts"],"sourcesContent":["import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n const worker = require('./worker.cjs');\n\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["figures","spawnTerminal","command","args","spawnOptions","options","callback","worker","require","Promise","resolve","reject","err","result","major","process","versions","node","split","undefined"],"mappings":";;;;;;;;;;;IAmBA,OAAsD;eAAtD;;IADoBA,OAAO;eAAPA,gBAAO;;;qBADb;8DACqB;;;;;;;;;;;;;;;;;;;AAhBnC,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAMC,SAASC,QAAQ;IAEvB,IAAI,OAAOH,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,OAAOL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIG,QAAQ,SAACC,SAASC;eAAWJ,OAAOL,SAASC,MAAMC,cAAcC,SAAS,SAACO,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACrI;AAEA,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAIlD,WAAeJ,QAAQ,KAAKb,gBAAgBkB"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
15
+ figures: function() {
16
+ return _figures.default;
17
+ }
18
+ });
19
+ var _worker = /*#__PURE__*/ _interop_require_default(require("./worker.cjs"));
20
+ _export_star(require("./types.cjs"), exports);
21
+ var _figures = /*#__PURE__*/ _interop_require_default(require("./lib/figures.cjs"));
22
+ function _export_star(from, to) {
23
+ Object.keys(from).forEach(function(k) {
24
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
25
+ Object.defineProperty(to, k, {
26
+ enumerable: true,
27
+ get: function() {
28
+ return from[k];
29
+ }
30
+ });
31
+ }
32
+ });
33
+ return from;
34
+ }
35
+ function _interop_require_default(obj) {
36
+ return obj && obj.__esModule ? obj : {
37
+ default: obj
38
+ };
39
+ }
40
+ function spawnTerminal(command, args, spawnOptions, options, callback) {
41
+ if (typeof options === 'function') {
42
+ callback = options;
43
+ options = {};
44
+ }
45
+ options = options || {};
46
+ if (typeof callback === 'function') return (0, _worker.default)(command, args, spawnOptions, options, callback);
47
+ return new Promise(function(resolve, reject) {
48
+ return (0, _worker.default)(command, args, spawnOptions, options, function(err, result) {
49
+ return err ? reject(err) : resolve(result);
50
+ });
51
+ });
52
+ }
53
+ var major = +process.versions.node.split('.')[0];
54
+ var _default = major > 10 ? spawnTerminal : undefined;
55
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.esm.ts"],"sourcesContent":["import worker from './worker';\n\nimport type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["figures","spawnTerminal","command","args","spawnOptions","options","callback","worker","Promise","resolve","reject","err","result","major","process","versions","node","split","undefined"],"mappings":";;;;;;;;;;;IAmBA,OAAsD;eAAtD;;IADoBA,OAAO;eAAPA,gBAAO;;;6DAlBR;qBAiBL;8DACqB;;;;;;;;;;;;;;;;;;;AAdnC,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,eAAM,EAACL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,eAAM,EAACL,SAASC,MAAMC,cAAcC,SAAS,SAACM,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACrI;AAEA,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAIlD,WAAeJ,QAAQ,KAAKZ,gBAAgBiB"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ Box: function() {
13
+ return Box;
14
+ },
15
+ Newline: function() {
16
+ return Newline;
17
+ },
18
+ Spacer: function() {
19
+ return Spacer;
20
+ },
21
+ Static: function() {
22
+ return Static;
23
+ },
24
+ Text: function() {
25
+ return Text;
26
+ },
27
+ Transform: function() {
28
+ return Transform;
29
+ },
30
+ measureElement: function() {
31
+ return measureElement;
32
+ },
33
+ render: function() {
34
+ return render;
35
+ },
36
+ useApp: function() {
37
+ return useApp;
38
+ },
39
+ useFocus: function() {
40
+ return useFocus;
41
+ },
42
+ useFocusManager: function() {
43
+ return useFocusManager;
44
+ },
45
+ useInput: function() {
46
+ return useInput;
47
+ },
48
+ useStderr: function() {
49
+ return useStderr;
50
+ },
51
+ useStdin: function() {
52
+ return useStdin;
53
+ },
54
+ useStdout: function() {
55
+ return useStdout;
56
+ }
57
+ });
58
+ require("core-js/actual/array/at.js");
59
+ require("core-js/actual/object/has-own.js");
60
+ require("core-js/actual/object/values.js");
61
+ require("core-js/actual/string/replace-all.js");
62
+ require("core-js/actual/string/trim-end.js");
63
+ var _inkcjs = /*#__PURE__*/ _interop_require_wildcard(require("../../assets/ink.cjs"));
64
+ function _getRequireWildcardCache(nodeInterop) {
65
+ if (typeof WeakMap !== "function") return null;
66
+ var cacheBabelInterop = new WeakMap();
67
+ var cacheNodeInterop = new WeakMap();
68
+ return (_getRequireWildcardCache = function(nodeInterop) {
69
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
70
+ })(nodeInterop);
71
+ }
72
+ function _interop_require_wildcard(obj, nodeInterop) {
73
+ if (!nodeInterop && obj && obj.__esModule) {
74
+ return obj;
75
+ }
76
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
77
+ return {
78
+ default: obj
79
+ };
80
+ }
81
+ var cache = _getRequireWildcardCache(nodeInterop);
82
+ if (cache && cache.has(obj)) {
83
+ return cache.get(obj);
84
+ }
85
+ var newObj = {
86
+ __proto__: null
87
+ };
88
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
89
+ for(var key in obj){
90
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
91
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
92
+ if (desc && (desc.get || desc.set)) {
93
+ Object.defineProperty(newObj, key, desc);
94
+ } else {
95
+ newObj[key] = obj[key];
96
+ }
97
+ }
98
+ }
99
+ newObj.default = obj;
100
+ if (cache) {
101
+ cache.set(obj, newObj);
102
+ }
103
+ return newObj;
104
+ }
105
+ if (typeof process.stdout.off === 'undefined') process.stdout.off = function(name, fn) {
106
+ return process.stdout.removeListener(name, fn);
107
+ };
108
+ if (typeof process.stderr.off === 'undefined') process.stderr.off = function(name, fn) {
109
+ return process.stderr.removeListener(name, fn);
110
+ };
111
+ var _ref = _inkcjs.default || _inkcjs, Box = _ref.Box, Newline = _ref.Newline, Spacer = _ref.Spacer, Static = _ref.Static, Text = _ref.Text, Transform = _ref.Transform, measureElement = _ref.measureElement, render = _ref.render, useApp = _ref.useApp, useFocus = _ref.useFocus, useFocusManager = _ref.useFocusManager, useInput = _ref.useInput, useStderr = _ref.useStderr, useStdin = _ref.useStdin, useStdout = _ref.useStdout;
112
+ /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/ink.mjs"],"sourcesContent":["import 'core-js/actual/array/at.js';\nimport 'core-js/actual/object/has-own.js';\nimport 'core-js/actual/object/values.js';\nimport 'core-js/actual/string/replace-all.js';\nimport 'core-js/actual/string/trim-end.js';\nif (typeof process.stdout.off === 'undefined') process.stdout.off = (name, fn) => process.stdout.removeListener(name, fn);\nif (typeof process.stderr.off === 'undefined') process.stderr.off = (name, fn) => process.stderr.removeListener(name, fn);\n\nimport * as ink from '../../assets/ink.cjs';\nconst { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout } = ink.default || ink;\nexport { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout };\n"],"names":["Box","Newline","Spacer","Static","Text","Transform","measureElement","render","useApp","useFocus","useFocusManager","useInput","useStderr","useStdin","useStdout","process","stdout","off","name","fn","removeListener","stderr","ink","default"],"mappings":";;;;;;;;;;;IAUSA,GAAG;eAAHA;;IAAKC,OAAO;eAAPA;;IAASC,MAAM;eAANA;;IAAQC,MAAM;eAANA;;IAAQC,IAAI;eAAJA;;IAAMC,SAAS;eAATA;;IAAWC,cAAc;eAAdA;;IAAgBC,MAAM;eAANA;;IAAQC,MAAM;eAANA;;IAAQC,QAAQ;eAARA;;IAAUC,eAAe;eAAfA;;IAAiBC,QAAQ;eAARA;;IAAUC,SAAS;eAATA;;IAAWC,QAAQ;eAARA;;IAAUC,SAAS;eAATA;;;QAV3I;QACA;QACA;QACA;QACA;8DAIc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHrB,IAAI,OAAOC,QAAQC,MAAM,CAACC,GAAG,KAAK,aAAaF,QAAQC,MAAM,CAACC,GAAG,GAAG,SAACC,MAAMC;WAAOJ,QAAQC,MAAM,CAACI,cAAc,CAACF,MAAMC;;AACtH,IAAI,OAAOJ,QAAQM,MAAM,CAACJ,GAAG,KAAK,aAAaF,QAAQM,MAAM,CAACJ,GAAG,GAAG,SAACC,MAAMC;WAAOJ,QAAQM,MAAM,CAACD,cAAc,CAACF,MAAMC;;AAGtH,IAA+JG,OAAAA,QAAIC,OAAO,IAAID,SAAtKtB,MAAuJsB,KAAvJtB,KAAKC,UAAkJqB,KAAlJrB,SAASC,SAAyIoB,KAAzIpB,QAAQC,SAAiImB,KAAjInB,QAAQC,OAAyHkB,KAAzHlB,MAAMC,YAAmHiB,KAAnHjB,WAAWC,iBAAwGgB,KAAxGhB,gBAAgBC,SAAwFe,KAAxFf,QAAQC,SAAgFc,KAAhFd,QAAQC,WAAwEa,KAAxEb,UAAUC,kBAA8DY,KAA9DZ,iBAAiBC,WAA6CW,KAA7CX,UAAUC,YAAmCU,KAAnCV,WAAWC,WAAwBS,KAAxBT,UAAUC,YAAcQ,KAAdR"}