spawn-term 1.0.8 → 1.0.10

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 (64) hide show
  1. package/dist/cjs/components/App.js +4 -30
  2. package/dist/cjs/components/App.js.map +1 -1
  3. package/dist/cjs/components/ChildProcess.d.cts +5 -2
  4. package/dist/cjs/components/ChildProcess.d.ts +5 -2
  5. package/dist/cjs/components/ChildProcess.js +31 -21
  6. package/dist/cjs/components/ChildProcess.js.map +1 -1
  7. package/dist/cjs/createApp.d.cts +1 -1
  8. package/dist/cjs/createApp.d.ts +1 -1
  9. package/dist/cjs/createApp.js +5 -5
  10. package/dist/cjs/createApp.js.map +1 -1
  11. package/dist/cjs/index-cjs.d.cts +4 -4
  12. package/dist/cjs/index-cjs.d.ts +4 -4
  13. package/dist/cjs/index-cjs.js +4 -4
  14. package/dist/cjs/index-cjs.js.map +1 -1
  15. package/dist/cjs/index-esm.d.cts +4 -4
  16. package/dist/cjs/index-esm.d.ts +4 -4
  17. package/dist/cjs/index-esm.js +6 -6
  18. package/dist/cjs/index-esm.js.map +1 -1
  19. package/dist/cjs/spawnTerminal.d.cts +1 -1
  20. package/dist/cjs/spawnTerminal.d.ts +1 -1
  21. package/dist/cjs/spawnTerminal.js.map +1 -1
  22. package/dist/cjs/state/{ProcessStore.d.cts → Store.d.cts} +4 -4
  23. package/dist/cjs/state/{ProcessStore.d.ts → Store.d.ts} +4 -4
  24. package/dist/cjs/state/{ProcessStore.js → Store.js} +10 -15
  25. package/dist/cjs/state/Store.js.map +1 -0
  26. package/dist/cjs/types.d.cts +0 -7
  27. package/dist/cjs/types.d.ts +0 -7
  28. package/dist/cjs/types.js.map +1 -1
  29. package/dist/cjs/worker.d.cts +1 -1
  30. package/dist/cjs/worker.d.ts +1 -1
  31. package/dist/cjs/worker.js +23 -20
  32. package/dist/cjs/worker.js.map +1 -1
  33. package/dist/esm/components/App.js +3 -29
  34. package/dist/esm/components/App.js.map +1 -1
  35. package/dist/esm/components/ChildProcess.d.ts +5 -2
  36. package/dist/esm/components/ChildProcess.js +17 -10
  37. package/dist/esm/components/ChildProcess.js.map +1 -1
  38. package/dist/esm/createApp.d.ts +1 -1
  39. package/dist/esm/createApp.js +1 -1
  40. package/dist/esm/createApp.js.map +1 -1
  41. package/dist/esm/index-cjs.d.ts +4 -4
  42. package/dist/esm/index-cjs.js.map +1 -1
  43. package/dist/esm/index-esm.d.ts +4 -4
  44. package/dist/esm/index-esm.js.map +1 -1
  45. package/dist/esm/spawnTerminal.d.ts +1 -1
  46. package/dist/esm/spawnTerminal.js.map +1 -1
  47. package/dist/esm/state/{ProcessStore.d.ts → Store.d.ts} +4 -4
  48. package/dist/esm/state/{ProcessStore.js → Store.js} +5 -10
  49. package/dist/esm/state/Store.js.map +1 -0
  50. package/dist/esm/types.d.ts +0 -7
  51. package/dist/esm/types.js.map +1 -1
  52. package/dist/esm/worker.d.ts +1 -1
  53. package/dist/esm/worker.js +8 -7
  54. package/dist/esm/worker.js.map +1 -1
  55. package/package.json +2 -2
  56. package/dist/cjs/state/ProcessContext.d.cts +0 -6
  57. package/dist/cjs/state/ProcessContext.d.ts +0 -6
  58. package/dist/cjs/state/ProcessContext.js +0 -139
  59. package/dist/cjs/state/ProcessContext.js.map +0 -1
  60. package/dist/cjs/state/ProcessStore.js.map +0 -1
  61. package/dist/esm/state/ProcessContext.d.ts +0 -6
  62. package/dist/esm/state/ProcessContext.js +0 -51
  63. package/dist/esm/state/ProcessContext.js.map +0 -1
  64. package/dist/esm/state/ProcessStore.js.map +0 -1
@@ -10,46 +10,20 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _jsxruntime = require("react/jsx-runtime");
12
12
  var _ink = require("ink");
13
- var _ChildProcess = /*#__PURE__*/ _interop_require_default(require("./ChildProcess.js"));
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
- }
13
+ var _ChildProcessts = /*#__PURE__*/ _interop_require_default(require("./ChildProcess.js"));
27
14
  function _interop_require_default(obj) {
28
15
  return obj && obj.__esModule ? obj : {
29
16
  default: obj
30
17
  };
31
18
  }
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
19
  function App(param) {
48
20
  var store = param.store;
49
21
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ink.Box, {
50
22
  flexDirection: "column",
51
23
  children: store.processes.map(function(item) {
52
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ChildProcess.default, _object_spread({}, item), item.id);
24
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ChildProcessts.default, {
25
+ item: item
26
+ }, item.id);
53
27
  })
54
28
  });
55
29
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/App.tsx"],"sourcesContent":["import { Box } from 'ink';\nimport type { ChildProcess as ChildProcessT } from '../types.js';\nimport ChildProcess from './ChildProcess.js';\n\nexport default function App({ store }) {\n return (\n <Box flexDirection=\"column\">\n {store.processes.map((item: ChildProcessT) => (\n <ChildProcess key={item.id} {...item} />\n ))}\n </Box>\n );\n}\n"],"names":["App","store","Box","flexDirection","processes","map","item","ChildProcess","id"],"mappings":";;;;+BAIA;;;eAAwBA;;;;mBAJJ;mEAEK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEV,SAASA,IAAI,KAAS;QAAT,AAAEC,QAAF,MAAEA;IAC5B,qBACE,qBAACC,QAAG;QAACC,eAAc;kBAChBF,MAAMG,SAAS,CAACC,GAAG,CAAC,SAACC;iCACpB,qBAACC,qBAAY,qBAAmBD,OAAbA,KAAKE,EAAE;;;AAIlC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/App.tsx"],"sourcesContent":["import { Box } from 'ink';\nimport type { ChildProcess as ChildProcessT } from '../types.ts';\nimport ChildProcess from './ChildProcess.ts';\n\nexport default function App({ store }) {\n return (\n <Box flexDirection=\"column\">\n {store.processes.map((item: ChildProcessT) => (\n <ChildProcess key={item.id} item={item} />\n ))}\n </Box>\n );\n}\n"],"names":["App","store","Box","flexDirection","processes","map","item","ChildProcess","id"],"mappings":";;;;+BAIA;;;eAAwBA;;;;mBAJJ;qEAEK;;;;;;AAEV,SAASA,IAAI,KAAS;QAAT,AAAEC,QAAF,MAAEA;IAC5B,qBACE,qBAACC,QAAG;QAACC,eAAc;kBAChBF,MAAMG,SAAS,CAACC,GAAG,CAAC,SAACC;iCACpB,qBAACC,uBAAY;gBAAeD,MAAMA;eAAfA,KAAKE,EAAE;;;AAIlC"}
@@ -1,3 +1,6 @@
1
- import type { ChildProcess as ChildProcessT } from '../types.js';
2
- declare const _default: import("react").NamedExoticComponent<ChildProcessT>;
1
+ import type { ChildProcess as ChildProcessT } from '../types.ts';
2
+ type ItemProps = {
3
+ item: ChildProcessT;
4
+ };
5
+ declare const _default: import("react").NamedExoticComponent<ItemProps>;
3
6
  export default _default;
@@ -1,3 +1,6 @@
1
- import type { ChildProcess as ChildProcessT } from '../types.js';
2
- declare const _default: import("react").NamedExoticComponent<ChildProcessT>;
1
+ import type { ChildProcess as ChildProcessT } from '../types.ts';
2
+ type ItemProps = {
3
+ item: ChildProcessT;
4
+ };
5
+ declare const _default: import("react").NamedExoticComponent<ItemProps>;
3
6
  export default _default;
@@ -11,10 +11,10 @@ Object.defineProperty(exports, "default", {
11
11
  var _jsxruntime = require("react/jsx-runtime");
12
12
  var _ink = require("ink");
13
13
  var _react = require("react");
14
- var _ansiRegex = /*#__PURE__*/ _interop_require_default(require("../lib/ansiRegex.js"));
15
- var _figures = /*#__PURE__*/ _interop_require_default(require("../lib/figures.js"));
16
- var _types = require("../types.js");
17
- var _Spinner = /*#__PURE__*/ _interop_require_default(require("./Spinner.js"));
14
+ var _ansiRegexts = /*#__PURE__*/ _interop_require_default(require("../lib/ansiRegex.js"));
15
+ var _figurests = /*#__PURE__*/ _interop_require_default(require("../lib/figures.js"));
16
+ var _typests = require("../types.js");
17
+ var _Spinnerts = /*#__PURE__*/ _interop_require_default(require("./Spinner.js"));
18
18
  function _define_property(obj, key, value) {
19
19
  if (key in obj) {
20
20
  Object.defineProperty(obj, key, {
@@ -48,9 +48,9 @@ function _object_spread(target) {
48
48
  }
49
49
  return target;
50
50
  }
51
- var REGEX_ANSI = (0, _ansiRegex.default)();
51
+ var REGEX_ANSI = (0, _ansiRegexts.default)();
52
52
  var BLANK_LINE = {
53
- type: _types.LineType.stdout,
53
+ type: _typests.LineType.stdout,
54
54
  text: ''
55
55
  };
56
56
  // From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2
@@ -72,13 +72,13 @@ var SPINNER = {
72
72
  var ICONS = {
73
73
  error: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ink.Text, {
74
74
  color: "red",
75
- children: _figures.default.cross
75
+ children: _figurests.default.cross
76
76
  }),
77
77
  success: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ink.Text, {
78
78
  color: "green",
79
- children: _figures.default.tick
79
+ children: _figurests.default.tick
80
80
  }),
81
- running: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Spinner.default, _object_spread({}, SPINNER))
81
+ running: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Spinnerts.default, _object_spread({}, SPINNER))
82
82
  };
83
83
  var Header = /*#__PURE__*/ (0, _react.memo)(function Header(param) {
84
84
  var group = param.group, title = param.title, state = param.state;
@@ -88,7 +88,7 @@ var Header = /*#__PURE__*/ (0, _react.memo)(function Header(param) {
88
88
  icon,
89
89
  group && /*#__PURE__*/ (0, _jsxruntime.jsx)(_ink.Text, {
90
90
  bold: true,
91
- children: "".concat(group).concat(_figures.default.pointer, " ")
91
+ children: "".concat(group).concat(_figurests.default.pointer, " ")
92
92
  }),
93
93
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_ink.Text, {
94
94
  children: title
@@ -124,7 +124,9 @@ var Lines = /*#__PURE__*/ (0, _react.memo)(function Lines(param) {
124
124
  children: lines.map(renderLine)
125
125
  });
126
126
  });
127
- var Expanded = /*#__PURE__*/ (0, _react.memo)(function Expanded(item) {
127
+ var Expanded = /*#__PURE__*/ (0, _react.memo)(function Expanded(param) {
128
+ var item = param.item;
129
+ var lines = item.lines;
128
130
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ink.Box, {
129
131
  flexDirection: "column",
130
132
  children: [
@@ -134,26 +136,28 @@ var Expanded = /*#__PURE__*/ (0, _react.memo)(function Expanded(item) {
134
136
  state: item.state
135
137
  }),
136
138
  /*#__PURE__*/ (0, _jsxruntime.jsx)(Lines, {
137
- lines: item.lines
139
+ lines: lines
138
140
  })
139
141
  ]
140
142
  });
141
143
  });
142
- var Contracted = /*#__PURE__*/ (0, _react.memo)(function Contracted(item) {
144
+ var Contracted = /*#__PURE__*/ (0, _react.memo)(function Contracted(param) {
145
+ var item = param.item;
146
+ var state = item.state, lines = item.lines;
143
147
  // remove ansi codes when displaying single lines
144
148
  var errors = (0, _react.useMemo)(function() {
145
- return item.lines.filter(function(line) {
146
- return line.type === _types.LineType.stderr;
149
+ return lines.filter(function(line) {
150
+ return line.type === _typests.LineType.stderr;
147
151
  });
148
152
  }, [
149
- item.lines
153
+ lines
150
154
  ]);
151
155
  var summary = (0, _react.useMemo)(function() {
152
- return item.lines.filter(function(line) {
156
+ return lines.filter(function(line) {
153
157
  return line.text.length > 0 && errors.indexOf(line) < 0;
154
158
  }).pop();
155
159
  }, [
156
- item.lines,
160
+ lines,
157
161
  errors
158
162
  ]);
159
163
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ink.Box, {
@@ -164,7 +168,7 @@ var Contracted = /*#__PURE__*/ (0, _react.memo)(function Contracted(item) {
164
168
  title: item.title,
165
169
  state: item.state
166
170
  }),
167
- item.state === 'running' && /*#__PURE__*/ (0, _jsxruntime.jsx)(RunningSummary, {
171
+ state === 'running' && /*#__PURE__*/ (0, _jsxruntime.jsx)(RunningSummary, {
168
172
  line: summary || BLANK_LINE
169
173
  }),
170
174
  errors.length > 0 && /*#__PURE__*/ (0, _jsxruntime.jsx)(Lines, {
@@ -173,7 +177,13 @@ var Contracted = /*#__PURE__*/ (0, _react.memo)(function Contracted(item) {
173
177
  ]
174
178
  });
175
179
  });
176
- var _default = /*#__PURE__*/ (0, _react.memo)(function ChildProcess(item) {
177
- return item.expanded ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Expanded, _object_spread({}, item)) : /*#__PURE__*/ (0, _jsxruntime.jsx)(Contracted, _object_spread({}, item));
180
+ var _default = /*#__PURE__*/ (0, _react.memo)(function ChildProcess(param) {
181
+ var item = param.item;
182
+ var expanded = item.expanded;
183
+ return expanded ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Expanded, {
184
+ item: item
185
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(Contracted, {
186
+ item: item
187
+ });
178
188
  });
179
189
  /* 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; }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import { Box, Text } from 'ink';\nimport { memo, useMemo } from 'react';\nimport ansiRegex from '../lib/ansiRegex.js';\nimport figures from '../lib/figures.js';\nimport type { ChildProcess as ChildProcessT, Line, State } from '../types.js';\nimport { LineType } from '../types.js';\nimport Spinner from './Spinner.js';\n\nconst REGEX_ANSI = ansiRegex();\nconst BLANK_LINE = { type: LineType.stdout, text: '' };\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\ntype HeaderProps = {\n group?: string;\n title: string;\n state: State;\n};\n\nconst Header = memo(\n function Header({ group, title, state }: HeaderProps) {\n const icon = ICONS[state];\n\n return (\n <Box>\n {icon}\n {group && <Text bold>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n },\n (a, b) => a.group === b.group && a.title === b.title && a.state === b.state\n);\n\ntype RunningSummaryProps = {\n line: Line;\n};\n\nconst RunningSummary = memo(function RunningSummary({ line }: RunningSummaryProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{line.text.replace(REGEX_ANSI, '')}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Line[];\n};\n\nconst renderLine = (line, index) => {\n return (\n <Box key={index} minHeight={1}>\n <Text>{line.text}</Text>\n </Box>\n );\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map(renderLine)}\n </Box>\n );\n});\n\nconst Expanded = memo(function Expanded(item: ChildProcessT) {\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n <Lines lines={item.lines} />\n </Box>\n );\n});\n\nconst Contracted = memo(function Contracted(item: ChildProcessT) {\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => item.lines.filter((line) => line.type === LineType.stderr), [item.lines]);\n const summary = useMemo(() => item.lines.filter((line) => line.text.length > 0 && errors.indexOf(line) < 0).pop(), [item.lines, errors]);\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n {item.state === 'running' && <RunningSummary line={summary || BLANK_LINE} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n});\n\nexport default memo(function ChildProcess(item: ChildProcessT) {\n return item.expanded ? <Expanded {...item} /> : <Contracted {...item} />;\n});\n"],"names":["REGEX_ANSI","ansiRegex","BLANK_LINE","type","LineType","stdout","text","SPINNER","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","running","Spinner","Header","memo","group","title","state","icon","Box","bold","pointer","a","b","RunningSummary","line","marginLeft","replace","renderLine","index","minHeight","Lines","lines","flexDirection","map","Expanded","item","Contracted","errors","useMemo","filter","stderr","summary","length","indexOf","pop","ChildProcess","expanded"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import { Box, Text } from 'ink';\nimport { memo, useMemo } from 'react';\nimport ansiRegex from '../lib/ansiRegex.ts';\nimport figures from '../lib/figures.ts';\nimport type { ChildProcess as ChildProcessT, Line, State } from '../types.ts';\nimport { LineType } from '../types.ts';\nimport Spinner from './Spinner.ts';\n\nconst REGEX_ANSI = ansiRegex();\nconst BLANK_LINE = { type: LineType.stdout, text: '' };\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\ntype ItemProps = {\n item: ChildProcessT;\n};\n\ntype HeaderProps = {\n group?: string;\n title: string;\n state: State;\n};\n\nconst Header = memo(\n function Header({ group, title, state }: HeaderProps) {\n const icon = ICONS[state];\n\n return (\n <Box>\n {icon}\n {group && <Text bold>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n },\n (a, b) => a.group === b.group && a.title === b.title && a.state === b.state\n);\n\ntype RunningSummaryProps = {\n line: Line;\n};\n\nconst RunningSummary = memo(function RunningSummary({ line }: RunningSummaryProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{line.text.replace(REGEX_ANSI, '')}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Line[];\n};\n\nconst renderLine = (line, index) => {\n return (\n <Box key={index} minHeight={1}>\n <Text>{line.text}</Text>\n </Box>\n );\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map(renderLine)}\n </Box>\n );\n});\n\nconst Expanded = memo(function Expanded({ item }: ItemProps) {\n const { lines } = item;\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n <Lines lines={lines} />\n </Box>\n );\n});\n\nconst Contracted = memo(function Contracted({ item }: ItemProps) {\n const { state, lines } = item;\n\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => lines.filter((line) => line.type === LineType.stderr), [lines]);\n const summary = useMemo(() => lines.filter((line) => line.text.length > 0 && errors.indexOf(line) < 0).pop(), [lines, errors]);\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n {state === 'running' && <RunningSummary line={summary || BLANK_LINE} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n});\n\nexport default memo(function ChildProcess({ item }: ItemProps) {\n const { expanded } = item;\n return expanded ? <Expanded item={item} /> : <Contracted item={item} />;\n});\n"],"names":["REGEX_ANSI","ansiRegex","BLANK_LINE","type","LineType","stdout","text","SPINNER","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","running","Spinner","Header","memo","group","title","state","icon","Box","bold","pointer","a","b","RunningSummary","line","marginLeft","replace","renderLine","index","minHeight","Lines","lines","flexDirection","map","Expanded","item","Contracted","errors","useMemo","filter","stderr","summary","length","indexOf","pop","ChildProcess","expanded"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { default as Store } from './state/ProcessStore.js';
1
+ import { default as Store } from './state/Store.ts';
2
2
  export type RetainCallback = (app: Store) => undefined;
3
3
  export type ReleaseCallback = () => undefined;
4
4
  export default function createApp(): {
@@ -1,4 +1,4 @@
1
- import { default as Store } from './state/ProcessStore.js';
1
+ import { default as Store } from './state/Store.ts';
2
2
  export type RetainCallback = (app: Store) => undefined;
3
3
  export type ReleaseCallback = () => undefined;
4
4
  export default function createApp(): {
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "default", {
11
11
  var _jsxruntime = require("react/jsx-runtime");
12
12
  var _ink = require("ink");
13
13
  var _lodashthrottle = /*#__PURE__*/ _interop_require_default(require("lodash.throttle"));
14
- var _App = /*#__PURE__*/ _interop_require_default(require("./components/App.js"));
15
- var _ProcessStore = /*#__PURE__*/ _interop_require_default(require("./state/ProcessStore.js"));
14
+ var _Appts = /*#__PURE__*/ _interop_require_default(require("./components/App.js"));
15
+ var _Storets = /*#__PURE__*/ _interop_require_default(require("./state/Store.js"));
16
16
  function _interop_require_default(obj) {
17
17
  return obj && obj.__esModule ? obj : {
18
18
  default: obj
@@ -28,7 +28,7 @@ function createApp() {
28
28
  if (!inkApp || !store) return;
29
29
  if (store.data() === previousData) return;
30
30
  previousData = store.data();
31
- inkApp.rerender(/*#__PURE__*/ (0, _jsxruntime.jsx)(_App.default, {
31
+ inkApp.rerender(/*#__PURE__*/ (0, _jsxruntime.jsx)(_Appts.default, {
32
32
  store: store
33
33
  }));
34
34
  };
@@ -37,8 +37,8 @@ function createApp() {
37
37
  retain: function retain(fn) {
38
38
  if (++refCount > 1) return fn(store);
39
39
  if (store) throw new Error('Not expecting store');
40
- store = new _ProcessStore.default(rerenderThrottled);
41
- inkApp = (0, _ink.render)(/*#__PURE__*/ (0, _jsxruntime.jsx)(_App.default, {
40
+ store = new _Storets.default(rerenderThrottled);
41
+ inkApp = (0, _ink.render)(/*#__PURE__*/ (0, _jsxruntime.jsx)(_Appts.default, {
42
42
  store: store
43
43
  }));
44
44
  fn(store);
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import { type Instance, render } from 'ink';\nimport throttle from 'lodash.throttle';\nimport App from './components/App.js';\nimport { default as Store, type StoreData } from './state/ProcessStore.js';\n\nexport type RetainCallback = (app: Store) => undefined;\nexport type ReleaseCallback = () => undefined;\n\nconst THROTTLE = 100;\n\nexport default function createApp() {\n let refCount = 0;\n let store = null;\n let inkApp: Instance | null = null;\n\n let previousData: StoreData[] = null;\n const rerender = () => {\n if (!inkApp || !store) return;\n if (store.data() === previousData) return;\n previousData = store.data();\n inkApp.rerender(<App store={store} />);\n };\n const rerenderThrottled = throttle(rerender, THROTTLE);\n\n return {\n retain(fn: RetainCallback): undefined {\n if (++refCount > 1) return fn(store);\n if (store) throw new Error('Not expecting store');\n\n store = new Store(rerenderThrottled);\n inkApp = render(<App store={store} />);\n fn(store);\n },\n release(cb: ReleaseCallback): undefined {\n if (--refCount > 0) return cb();\n if (!store) throw new Error('Expecting store');\n\n rerender();\n inkApp\n .waitUntilExit()\n .then(() => cb())\n .catch(cb);\n inkApp.unmount();\n inkApp = null;\n store = null;\n process.stdout.write('\\x1b[?25h'); // show cursor\n },\n };\n}\n"],"names":["createApp","THROTTLE","refCount","store","inkApp","previousData","rerender","data","App","rerenderThrottled","throttle","retain","fn","Error","Store","render","release","cb","waitUntilExit","then","catch","unmount","process","stdout","write"],"mappings":";;;;+BAUA;;;eAAwBA;;;;mBAVc;qEACjB;0DACL;mEACiC;;;;;;AAKjD,IAAMC,WAAW;AAEF,SAASD;IACtB,IAAIE,WAAW;IACf,IAAIC,QAAQ;IACZ,IAAIC,SAA0B;IAE9B,IAAIC,eAA4B;IAChC,IAAMC,WAAW;QACf,IAAI,CAACF,UAAU,CAACD,OAAO;QACvB,IAAIA,MAAMI,IAAI,OAAOF,cAAc;QACnCA,eAAeF,MAAMI,IAAI;QACzBH,OAAOE,QAAQ,eAAC,qBAACE,YAAG;YAACL,OAAOA;;IAC9B;IACA,IAAMM,oBAAoBC,IAAAA,uBAAQ,EAACJ,UAAUL;IAE7C,OAAO;QACLU,QAAAA,SAAAA,OAAOC,EAAkB;YACvB,IAAI,EAAEV,WAAW,GAAG,OAAOU,GAAGT;YAC9B,IAAIA,OAAO,MAAM,IAAIU,MAAM;YAE3BV,QAAQ,IAAIW,qBAAK,CAACL;YAClBL,SAASW,IAAAA,WAAM,gBAAC,qBAACP,YAAG;gBAACL,OAAOA;;YAC5BS,GAAGT;QACL;QACAa,SAAAA,SAAAA,QAAQC,EAAmB;YACzB,IAAI,EAAEf,WAAW,GAAG,OAAOe;YAC3B,IAAI,CAACd,OAAO,MAAM,IAAIU,MAAM;YAE5BP;YACAF,OACGc,aAAa,GACbC,IAAI,CAAC;uBAAMF;eACXG,KAAK,CAACH;YACTb,OAAOiB,OAAO;YACdjB,SAAS;YACTD,QAAQ;YACRmB,QAAQC,MAAM,CAACC,KAAK,CAAC,cAAc,cAAc;QACnD;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import { type Instance, render } from 'ink';\nimport throttle from 'lodash.throttle';\nimport App from './components/App.ts';\nimport { default as Store, type StoreData } from './state/Store.ts';\n\nexport type RetainCallback = (app: Store) => undefined;\nexport type ReleaseCallback = () => undefined;\n\nconst THROTTLE = 100;\n\nexport default function createApp() {\n let refCount = 0;\n let store = null;\n let inkApp: Instance | null = null;\n\n let previousData: StoreData[] = null;\n const rerender = () => {\n if (!inkApp || !store) return;\n if (store.data() === previousData) return;\n previousData = store.data();\n inkApp.rerender(<App store={store} />);\n };\n const rerenderThrottled = throttle(rerender, THROTTLE);\n\n return {\n retain(fn: RetainCallback): undefined {\n if (++refCount > 1) return fn(store);\n if (store) throw new Error('Not expecting store');\n\n store = new Store(rerenderThrottled);\n inkApp = render(<App store={store} />);\n fn(store);\n },\n release(cb: ReleaseCallback): undefined {\n if (--refCount > 0) return cb();\n if (!store) throw new Error('Expecting store');\n\n rerender();\n inkApp\n .waitUntilExit()\n .then(() => cb())\n .catch(cb);\n inkApp.unmount();\n inkApp = null;\n store = null;\n process.stdout.write('\\x1b[?25h'); // show cursor\n },\n };\n}\n"],"names":["createApp","THROTTLE","refCount","store","inkApp","previousData","rerender","data","App","rerenderThrottled","throttle","retain","fn","Error","Store","render","release","cb","waitUntilExit","then","catch","unmount","process","stdout","write"],"mappings":";;;;+BAUA;;;eAAwBA;;;;mBAVc;qEACjB;4DACL;8DACiC;;;;;;AAKjD,IAAMC,WAAW;AAEF,SAASD;IACtB,IAAIE,WAAW;IACf,IAAIC,QAAQ;IACZ,IAAIC,SAA0B;IAE9B,IAAIC,eAA4B;IAChC,IAAMC,WAAW;QACf,IAAI,CAACF,UAAU,CAACD,OAAO;QACvB,IAAIA,MAAMI,IAAI,OAAOF,cAAc;QACnCA,eAAeF,MAAMI,IAAI;QACzBH,OAAOE,QAAQ,eAAC,qBAACE,cAAG;YAACL,OAAOA;;IAC9B;IACA,IAAMM,oBAAoBC,IAAAA,uBAAQ,EAACJ,UAAUL;IAE7C,OAAO;QACLU,QAAAA,SAAAA,OAAOC,EAAkB;YACvB,IAAI,EAAEV,WAAW,GAAG,OAAOU,GAAGT;YAC9B,IAAIA,OAAO,MAAM,IAAIU,MAAM;YAE3BV,QAAQ,IAAIW,gBAAK,CAACL;YAClBL,SAASW,IAAAA,WAAM,gBAAC,qBAACP,cAAG;gBAACL,OAAOA;;YAC5BS,GAAGT;QACL;QACAa,SAAAA,SAAAA,QAAQC,EAAmB;YACzB,IAAI,EAAEf,WAAW,GAAG,OAAOe;YAC3B,IAAI,CAACd,OAAO,MAAM,IAAIU,MAAM;YAE5BP;YACAF,OACGc,aAAa,GACbC,IAAI,CAAC;uBAAMF;eACXG,KAAK,CAACH;YACTb,OAAOiB,OAAO;YACdjB,SAAS;YACTD,QAAQ;YACRmB,QAAQC,MAAM,CAACC,KAAK,CAAC,cAAc,cAAc;QACnD;IACF;AACF"}
@@ -1,6 +1,6 @@
1
- export { default as figures } from './lib/figures.js';
2
- export { default as formatArguments } from './lib/formatArguments.js';
3
- export * from './types.js';
4
- import type { default as spawnTerminal } from './spawnTerminal.js';
1
+ export { default as figures } from './lib/figures.ts';
2
+ export { default as formatArguments } from './lib/formatArguments.ts';
3
+ export * from './types.ts';
4
+ import type { default as spawnTerminal } from './spawnTerminal.ts';
5
5
  declare const _default: typeof spawnTerminal;
6
6
  export default _default;
@@ -1,6 +1,6 @@
1
- export { default as figures } from './lib/figures.js';
2
- export { default as formatArguments } from './lib/formatArguments.js';
3
- export * from './types.js';
4
- import type { default as spawnTerminal } from './spawnTerminal.js';
1
+ export { default as figures } from './lib/figures.ts';
2
+ export { default as formatArguments } from './lib/formatArguments.ts';
3
+ export * from './types.ts';
4
+ import type { default as spawnTerminal } from './spawnTerminal.ts';
5
5
  declare const _default: typeof spawnTerminal;
6
6
  export default _default;
@@ -13,14 +13,14 @@ _export(exports, {
13
13
  return _default;
14
14
  },
15
15
  get figures () {
16
- return _figures.default;
16
+ return _figurests.default;
17
17
  },
18
18
  get formatArguments () {
19
- return _formatArguments.default;
19
+ return _formatArgumentsts.default;
20
20
  }
21
21
  });
22
- var _figures = /*#__PURE__*/ _interop_require_default(require("./lib/figures.js"));
23
- var _formatArguments = /*#__PURE__*/ _interop_require_default(require("./lib/formatArguments.js"));
22
+ var _figurests = /*#__PURE__*/ _interop_require_default(require("./lib/figures.js"));
23
+ var _formatArgumentsts = /*#__PURE__*/ _interop_require_default(require("./lib/formatArguments.js"));
24
24
  _export_star(require("./types.js"), exports);
25
25
  function _export_star(from, to) {
26
26
  Object.keys(from).forEach(function(k) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index-cjs.ts"],"sourcesContent":["export { default as figures } from './lib/figures.js';\nexport { default as formatArguments } from './lib/formatArguments.js';\nexport * from './types.js';\n\nimport type { default as spawnTerminal } from './spawnTerminal.js';\nexport default undefined as typeof spawnTerminal;\n"],"names":["figures","formatArguments","undefined"],"mappings":";;;;;;;;;;;QAKA;eAAA;;QALoBA;eAAAA,gBAAO;;QACPC;eAAAA,wBAAe;;;8DADA;sEACQ;qBAC7B;;;;;;;;;;;;;;;;;;;IAGd,WAAeC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index-cjs.ts"],"sourcesContent":["export { default as figures } from './lib/figures.ts';\nexport { default as formatArguments } from './lib/formatArguments.ts';\nexport * from './types.ts';\n\nimport type { default as spawnTerminal } from './spawnTerminal.ts';\nexport default undefined as typeof spawnTerminal;\n"],"names":["figures","formatArguments","undefined"],"mappings":";;;;;;;;;;;QAKA;eAAA;;QALoBA;eAAAA,kBAAO;;QACPC;eAAAA,0BAAe;;;gEADA;wEACQ;qBAC7B;;;;;;;;;;;;;;;;;;;IAGd,WAAeC"}
@@ -1,6 +1,6 @@
1
- export { default as figures } from './lib/figures.js';
2
- export { default as formatArguments } from './lib/formatArguments.js';
3
- export * from './types.js';
4
- import { default as spawnTerminal } from './spawnTerminal.js';
1
+ export { default as figures } from './lib/figures.ts';
2
+ export { default as formatArguments } from './lib/formatArguments.ts';
3
+ export * from './types.ts';
4
+ import { default as spawnTerminal } from './spawnTerminal.ts';
5
5
  declare const _default: typeof spawnTerminal;
6
6
  export default _default;
@@ -1,6 +1,6 @@
1
- export { default as figures } from './lib/figures.js';
2
- export { default as formatArguments } from './lib/formatArguments.js';
3
- export * from './types.js';
4
- import { default as spawnTerminal } from './spawnTerminal.js';
1
+ export { default as figures } from './lib/figures.ts';
2
+ export { default as formatArguments } from './lib/formatArguments.ts';
3
+ export * from './types.ts';
4
+ import { default as spawnTerminal } from './spawnTerminal.ts';
5
5
  declare const _default: typeof spawnTerminal;
6
6
  export default _default;
@@ -13,16 +13,16 @@ _export(exports, {
13
13
  return _default;
14
14
  },
15
15
  get figures () {
16
- return _figures.default;
16
+ return _figurests.default;
17
17
  },
18
18
  get formatArguments () {
19
- return _formatArguments.default;
19
+ return _formatArgumentsts.default;
20
20
  }
21
21
  });
22
- var _figures = /*#__PURE__*/ _interop_require_default(require("./lib/figures.js"));
23
- var _formatArguments = /*#__PURE__*/ _interop_require_default(require("./lib/formatArguments.js"));
22
+ var _figurests = /*#__PURE__*/ _interop_require_default(require("./lib/figures.js"));
23
+ var _formatArgumentsts = /*#__PURE__*/ _interop_require_default(require("./lib/formatArguments.js"));
24
24
  _export_star(require("./types.js"), exports);
25
- var _spawnTerminal = /*#__PURE__*/ _interop_require_default(require("./spawnTerminal.js"));
25
+ var _spawnTerminalts = /*#__PURE__*/ _interop_require_default(require("./spawnTerminal.js"));
26
26
  function _export_star(from, to) {
27
27
  Object.keys(from).forEach(function(k) {
28
28
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -42,5 +42,5 @@ function _interop_require_default(obj) {
42
42
  };
43
43
  }
44
44
  var major = +process.versions.node.split('.')[0];
45
- var _default = major > 14 ? _spawnTerminal.default : undefined;
45
+ var _default = major > 14 ? _spawnTerminalts.default : undefined;
46
46
  /* 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; }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index-esm.ts"],"sourcesContent":["export { default as figures } from './lib/figures.js';\nexport { default as formatArguments } from './lib/formatArguments.js';\nexport * from './types.js';\n\nconst major = +process.versions.node.split('.')[0];\n\nimport { default as spawnTerminal } from './spawnTerminal.js';\nexport default major > 14 ? spawnTerminal : (undefined as typeof spawnTerminal);\n"],"names":["figures","formatArguments","major","process","versions","node","split","spawnTerminal","undefined"],"mappings":";;;;;;;;;;;QAOA;eAAA;;QAPoBA;eAAAA,gBAAO;;QACPC;eAAAA,wBAAe;;;8DADA;sEACQ;qBAC7B;oEAI2B;;;;;;;;;;;;;;;;;;;AAFzC,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAGlD,WAAeJ,QAAQ,KAAKK,sBAAa,GAAIC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index-esm.ts"],"sourcesContent":["export { default as figures } from './lib/figures.ts';\nexport { default as formatArguments } from './lib/formatArguments.ts';\nexport * from './types.ts';\n\nconst major = +process.versions.node.split('.')[0];\n\nimport { default as spawnTerminal } from './spawnTerminal.ts';\nexport default major > 14 ? spawnTerminal : (undefined as typeof spawnTerminal);\n"],"names":["figures","formatArguments","major","process","versions","node","split","spawnTerminal","undefined"],"mappings":";;;;;;;;;;;QAOA;eAAA;;QAPoBA;eAAAA,kBAAO;;QACPC;eAAAA,0BAAe;;;gEADA;wEACQ;qBAC7B;sEAI2B;;;;;;;;;;;;;;;;;;;AAFzC,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAGlD,WAAeJ,QAAQ,KAAKK,wBAAa,GAAIC"}
@@ -1,2 +1,2 @@
1
- import type { SpawnOptions, SpawnResult, TerminalCallback, TerminalOptions } from './types.js';
1
+ import type { SpawnOptions, SpawnResult, TerminalCallback, TerminalOptions } from './types.ts';
2
2
  export default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | TerminalCallback, callback?: TerminalCallback): undefined | Promise<SpawnResult>;
@@ -1,2 +1,2 @@
1
- import type { SpawnOptions, SpawnResult, TerminalCallback, TerminalOptions } from './types.js';
1
+ import type { SpawnOptions, SpawnResult, TerminalCallback, TerminalOptions } from './types.ts';
2
2
  export default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | TerminalCallback, callback?: TerminalCallback): undefined | Promise<SpawnResult>;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/spawnTerminal.ts"],"sourcesContent":["import type { SpawnOptions, SpawnResult, TerminalCallback, TerminalOptions } from './types.js';\n\nfunction worker(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback: TerminalCallback): undefined {\n import('./worker.js')\n .then((fn) => {\n fn.default(command, args, spawnOptions, options, callback);\n })\n .catch(callback);\n}\n\nexport default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | TerminalCallback, callback?: TerminalCallback): undefined | Promise<SpawnResult> {\n if (typeof options === 'function') {\n callback = options as TerminalCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback as TerminalCallback);\n return new Promise((resolve, reject) =>\n worker(command, args, spawnOptions, options, (err, result) => {\n err ? reject(err) : resolve(result);\n })\n );\n}\n"],"names":["spawnTerminal","worker","command","args","spawnOptions","options","callback","then","fn","default","catch","Promise","resolve","reject","err","result"],"mappings":";;;;+BAUA;;;eAAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AARxB,SAASC,OAAOC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAwB,EAAEC,QAA0B;IAC/H;uDAAA,QAAO;OACJC,IAAI,CAAC,SAACC;QACLA,GAAGC,OAAO,CAACP,SAASC,MAAMC,cAAcC,SAASC;IACnD,GACCI,KAAK,CAACJ;AACX;AAEe,SAASN,cAAcE,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAA4C,EAAEC,QAA2B;IAC1K,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOL,OAAOC,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIK,QAAQ,SAACC,SAASC;eAC3BZ,OAAOC,SAASC,MAAMC,cAAcC,SAAS,SAACS,KAAKC;YACjDD,MAAMD,OAAOC,OAAOF,QAAQG;QAC9B;;AAEJ"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/spawnTerminal.ts"],"sourcesContent":["import type { SpawnOptions, SpawnResult, TerminalCallback, TerminalOptions } from './types.ts';\n\nfunction worker(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback: TerminalCallback): undefined {\n import('./worker.js')\n .then((fn) => {\n fn.default(command, args, spawnOptions, options, callback);\n })\n .catch(callback);\n}\n\nexport default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | TerminalCallback, callback?: TerminalCallback): undefined | Promise<SpawnResult> {\n if (typeof options === 'function') {\n callback = options as TerminalCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback as TerminalCallback);\n return new Promise((resolve, reject) =>\n worker(command, args, spawnOptions, options, (err, result) => {\n err ? reject(err) : resolve(result);\n })\n );\n}\n"],"names":["spawnTerminal","worker","command","args","spawnOptions","options","callback","then","fn","default","catch","Promise","resolve","reject","err","result"],"mappings":";;;;+BAUA;;;eAAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AARxB,SAASC,OAAOC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAwB,EAAEC,QAA0B;IAC/H;uDAAA,QAAO;OACJC,IAAI,CAAC,SAACC;QACLA,GAAGC,OAAO,CAACP,SAASC,MAAMC,cAAcC,SAASC;IACnD,GACCI,KAAK,CAACJ;AACX;AAEe,SAASN,cAAcE,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAA4C,EAAEC,QAA2B;IAC1K,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOL,OAAOC,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIK,QAAQ,SAACC,SAASC;eAC3BZ,OAAOC,SAASC,MAAMC,cAAcC,SAAS,SAACS,KAAKC;YACjDD,MAAMD,OAAOC,OAAOF,QAAQG;QAC9B;;AAEJ"}
@@ -1,11 +1,11 @@
1
- import type { ChildProcess, ChildProcessUpdate } from '../types.js';
1
+ import type { ChildProcess } from '../types.ts';
2
2
  export type RenderFunction = () => void;
3
3
  export type StoreData = ChildProcess[];
4
- export default class ProcessStore {
4
+ export default class Store {
5
5
  processes: ChildProcess[];
6
6
  onRender: RenderFunction;
7
7
  constructor(onRender: RenderFunction);
8
8
  data(): StoreData;
9
- add(process: ChildProcess): void;
10
- update(id: string, update: ChildProcessUpdate): void;
9
+ addProcess(process: ChildProcess): void;
10
+ updateProcess(process: ChildProcess): void;
11
11
  }
@@ -1,11 +1,11 @@
1
- import type { ChildProcess, ChildProcessUpdate } from '../types.js';
1
+ import type { ChildProcess } from '../types.ts';
2
2
  export type RenderFunction = () => void;
3
3
  export type StoreData = ChildProcess[];
4
- export default class ProcessStore {
4
+ export default class Store {
5
5
  processes: ChildProcess[];
6
6
  onRender: RenderFunction;
7
7
  constructor(onRender: RenderFunction);
8
8
  data(): StoreData;
9
- add(process: ChildProcess): void;
10
- update(id: string, update: ChildProcessUpdate): void;
9
+ addProcess(process: ChildProcess): void;
10
+ updateProcess(process: ChildProcess): void;
11
11
  }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return ProcessStore;
8
+ return Store;
9
9
  }
10
10
  });
11
11
  function _class_call_check(instance, Constructor) {
@@ -13,33 +13,28 @@ function _class_call_check(instance, Constructor) {
13
13
  throw new TypeError("Cannot call a class as a function");
14
14
  }
15
15
  }
16
- var ProcessStore = /*#__PURE__*/ function() {
16
+ var Store = /*#__PURE__*/ function() {
17
17
  "use strict";
18
- function ProcessStore(onRender) {
19
- _class_call_check(this, ProcessStore);
18
+ function Store(onRender) {
19
+ _class_call_check(this, Store);
20
20
  if (!onRender) throw new Error('missing on render');
21
21
  this.processes = [];
22
22
  this.onRender = onRender;
23
23
  }
24
- var _proto = ProcessStore.prototype;
24
+ var _proto = Store.prototype;
25
25
  _proto.data = function data() {
26
26
  return this.processes;
27
27
  };
28
- _proto.add = function add(process) {
28
+ _proto.addProcess = function addProcess(process) {
29
29
  this.processes.push(process);
30
30
  this.onRender();
31
31
  };
32
- _proto.update = function update(id, update) {
33
- var found = this.processes.find(function(x) {
34
- return x.id === id;
32
+ _proto.updateProcess = function updateProcess(process) {
33
+ this.processes = this.processes.map(function(x) {
34
+ return x.id === process.id ? process : x;
35
35
  });
36
- if (!found) {
37
- console.log("Process ".concat(id, " not found"));
38
- return;
39
- }
40
- Object.assign(found, update);
41
36
  this.onRender();
42
37
  };
43
- return ProcessStore;
38
+ return Store;
44
39
  }();
45
40
  /* 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/state/Store.ts"],"sourcesContent":["import type { ChildProcess } from '../types.ts';\n\nexport type RenderFunction = () => void;\nexport type StoreData = ChildProcess[];\n\nexport default class Store {\n processes: ChildProcess[];\n onRender: RenderFunction;\n\n constructor(onRender: RenderFunction) {\n if (!onRender) throw new Error('missing on render');\n this.processes = [];\n this.onRender = onRender;\n }\n\n data(): StoreData {\n return this.processes;\n }\n\n addProcess(process: ChildProcess): void {\n this.processes.push(process);\n this.onRender();\n }\n\n updateProcess(process: ChildProcess): void {\n this.processes = this.processes.map((x) => (x.id === process.id ? process : x));\n this.onRender();\n }\n}\n"],"names":["Store","onRender","Error","processes","data","addProcess","process","push","updateProcess","map","x","id"],"mappings":";;;;;;;eAKqBA;;;;;;;;AAAN,IAAA,AAAMA,sBAAN;;aAAMA,MAIPC,QAAwB;gCAJjBD;QAKjB,IAAI,CAACC,UAAU,MAAM,IAAIC,MAAM;QAC/B,IAAI,CAACC,SAAS,GAAG,EAAE;QACnB,IAAI,CAACF,QAAQ,GAAGA;;iBAPCD;IAUnBI,OAAAA,IAEC,GAFDA,SAAAA;QACE,OAAO,IAAI,CAACD,SAAS;IACvB;IAEAE,OAAAA,UAGC,GAHDA,SAAAA,WAAWC,OAAqB;QAC9B,IAAI,CAACH,SAAS,CAACI,IAAI,CAACD;QACpB,IAAI,CAACL,QAAQ;IACf;IAEAO,OAAAA,aAGC,GAHDA,SAAAA,cAAcF,OAAqB;QACjC,IAAI,CAACH,SAAS,GAAG,IAAI,CAACA,SAAS,CAACM,GAAG,CAAC,SAACC;mBAAOA,EAAEC,EAAE,KAAKL,QAAQK,EAAE,GAAGL,UAAUI;;QAC5E,IAAI,CAACT,QAAQ;IACf;WAtBmBD"}
@@ -22,10 +22,3 @@ export type ChildProcess = {
22
22
  lines: Line[];
23
23
  expanded?: boolean;
24
24
  };
25
- export type ChildProcessUpdate = {
26
- group?: string;
27
- title?: string;
28
- state?: State;
29
- lines?: Line[];
30
- expanded?: boolean;
31
- };
@@ -22,10 +22,3 @@ export type ChildProcess = {
22
22
  lines: Line[];
23
23
  expanded?: boolean;
24
24
  };
25
- export type ChildProcessUpdate = {
26
- group?: string;
27
- title?: string;
28
- state?: State;
29
- lines?: Line[];
30
- expanded?: boolean;
31
- };
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/types.ts"],"sourcesContent":["export type { SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from 'cross-spawn-cb';\n\nimport type { SpawnError, SpawnResult } from 'cross-spawn-cb';\n\nexport type TerminalOptions = {\n group?: string;\n expanded?: boolean;\n};\n\nexport type TerminalCallback = (error?: SpawnError, result?: SpawnResult) => undefined;\n\nexport const LineType = {\n stdout: 1,\n stderr: 2,\n} as const;\n\nexport type Line = {\n type: (typeof LineType)[keyof typeof LineType];\n text: string;\n};\n\nexport type State = 'running' | 'error' | 'success';\nexport type ChildProcess = {\n id: string;\n group?: string;\n title: string;\n state: State;\n lines: Line[];\n expanded?: boolean;\n};\nexport type ChildProcessUpdate = {\n group?: string;\n title?: string;\n state?: State;\n lines?: Line[];\n expanded?: boolean;\n};\n"],"names":["LineType","stdout","stderr"],"mappings":";;;;+BAWaA;;;eAAAA;;;AAAN,IAAMA,WAAW;IACtBC,QAAQ;IACRC,QAAQ;AACV"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/types.ts"],"sourcesContent":["export type { SpawnCallback, SpawnError, SpawnOptions, SpawnResult } from 'cross-spawn-cb';\n\nimport type { SpawnError, SpawnResult } from 'cross-spawn-cb';\n\nexport type TerminalOptions = {\n group?: string;\n expanded?: boolean;\n};\n\nexport type TerminalCallback = (error?: SpawnError, result?: SpawnResult) => undefined;\n\nexport const LineType = {\n stdout: 1,\n stderr: 2,\n} as const;\n\nexport type Line = {\n type: (typeof LineType)[keyof typeof LineType];\n text: string;\n};\n\nexport type State = 'running' | 'error' | 'success';\nexport type ChildProcess = {\n id: string;\n group?: string;\n title: string;\n state: State;\n lines: Line[];\n expanded?: boolean;\n};\n"],"names":["LineType","stdout","stderr"],"mappings":";;;;+BAWaA;;;eAAAA;;;AAAN,IAAMA,WAAW;IACtBC,QAAQ;IACRC,QAAQ;AACV"}
@@ -1,2 +1,2 @@
1
- import type { SpawnOptions, TerminalCallback, TerminalOptions } from './types.js';
1
+ import type { SpawnOptions, TerminalCallback, TerminalOptions } from './types.ts';
2
2
  export default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback: TerminalCallback): undefined;
@@ -1,2 +1,2 @@
1
- import type { SpawnOptions, TerminalCallback, TerminalOptions } from './types.js';
1
+ import type { SpawnOptions, TerminalCallback, TerminalOptions } from './types.ts';
2
2
  export default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback: TerminalCallback): undefined;