@sprucelabs/spruce-cli 17.0.17 → 17.1.2

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 (63) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/build/__tests__/behavioral/AddingADependency.test.js +2 -1
  3. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  4. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.d.ts +7 -0
  5. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +137 -0
  6. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -0
  7. package/build/__tests__/behavioral/polish/SettingUpPolish.test.d.ts +10 -0
  8. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +305 -0
  9. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -0
  10. package/build/__tests__/testDirsAndFiles/related_schemas/v2020_10_06/skillWithExtraField.builder.d.ts +10 -2
  11. package/build/features/FeatureInstaller.d.ts +1 -1
  12. package/build/features/FeatureInstallerFactory.js +6 -2
  13. package/build/features/FeatureInstallerFactory.js.map +1 -1
  14. package/build/features/event/actions/CreateAction.d.ts +24 -16
  15. package/build/features/event/actions/CreateAction.js +3 -5
  16. package/build/features/event/actions/CreateAction.js.map +1 -1
  17. package/build/features/node/actions/UpdateDependenciesAction.js +25 -32
  18. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  19. package/build/features/organization/OrganizationFeature.d.ts +5 -5
  20. package/build/features/organization/OrganizationFeature.js.map +1 -1
  21. package/build/features/permission/PermissionFeature.d.ts +15 -0
  22. package/build/features/permission/PermissionFeature.js +66 -0
  23. package/build/features/permission/PermissionFeature.js.map +1 -0
  24. package/build/features/permission/actions/CreateAction.d.ts +46 -0
  25. package/build/features/permission/actions/CreateAction.js +96 -0
  26. package/build/features/permission/actions/CreateAction.js.map +1 -0
  27. package/build/features/person/PersonFeature.d.ts +5 -5
  28. package/build/features/person/PersonFeature.js.map +1 -1
  29. package/build/features/polish/PolishFeature.d.ts +19 -0
  30. package/build/features/polish/PolishFeature.js +69 -0
  31. package/build/features/polish/PolishFeature.js.map +1 -0
  32. package/build/features/polish/actions/SetupAction.d.ts +13 -0
  33. package/build/features/polish/actions/SetupAction.js +115 -0
  34. package/build/features/polish/actions/SetupAction.js.map +1 -0
  35. package/build/features/polish/writers/PolishWriter.d.ts +4 -0
  36. package/build/features/polish/writers/PolishWriter.js +84 -0
  37. package/build/features/polish/writers/PolishWriter.js.map +1 -0
  38. package/build/features/skill/stores/SkillStore.d.ts +9 -8
  39. package/build/features/skill/stores/SkillStore.js +4 -3
  40. package/build/features/skill/stores/SkillStore.js.map +1 -1
  41. package/build/tests/fixtures/SkillFixture.d.ts +3 -8
  42. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  43. package/build/widgets/terminalKit/TkBaseWidget.js +11 -20
  44. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  45. package/build/writers/WriterFactory.d.ts +2 -0
  46. package/build/writers/WriterFactory.js +4 -1
  47. package/build/writers/WriterFactory.js.map +1 -1
  48. package/package.json +33 -3
  49. package/src/__tests__/behavioral/AddingADependency.test.ts +1 -0
  50. package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +25 -0
  51. package/src/__tests__/behavioral/polish/SettingUpPolish.test.ts +71 -0
  52. package/src/features/FeatureInstallerFactory.ts +6 -0
  53. package/src/features/event/actions/CreateAction.ts +5 -6
  54. package/src/features/organization/OrganizationFeature.ts +6 -6
  55. package/src/features/permission/PermissionFeature.ts +28 -0
  56. package/src/features/permission/actions/CreateAction.ts +29 -0
  57. package/src/features/person/PersonFeature.ts +6 -6
  58. package/src/features/polish/PolishFeature.ts +33 -0
  59. package/src/features/polish/actions/SetupAction.ts +36 -0
  60. package/src/features/polish/writers/PolishWriter.ts +23 -0
  61. package/src/features/skill/stores/SkillStore.ts +13 -11
  62. package/src/tests/fixtures/SkillFixture.ts +6 -3
  63. package/src/writers/WriterFactory.ts +3 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
25
+
26
+ var _AbstractFeature2 = _interopRequireDefault(require("../AbstractFeature"));
27
+
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
+
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+
32
+ var PolishFeature = /*#__PURE__*/function (_AbstractFeature) {
33
+ (0, _inherits2["default"])(PolishFeature, _AbstractFeature);
34
+
35
+ var _super = _createSuper(PolishFeature);
36
+
37
+ function PolishFeature() {
38
+ var _this;
39
+
40
+ (0, _classCallCheck2["default"])(this, PolishFeature);
41
+
42
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
+ args[_key] = arguments[_key];
44
+ }
45
+
46
+ _this = _super.call.apply(_super, [this].concat(args));
47
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "code", 'polish');
48
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "nameReadable", 'Polish');
49
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "description", 'Run through your skill as a robot, clicking and typing and asserting!');
50
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dependencies", [{
51
+ code: 'skill',
52
+ isRequired: true
53
+ }]);
54
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "packageDependencies", [{
55
+ name: '@sprucelabs/heartwood-polish',
56
+ isDev: true
57
+ }]);
58
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "actionsDir", _spruceSkillUtils.diskUtil.resolvePath(__dirname, 'actions'));
59
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scripts", {
60
+ polish: 'heartwood-polish'
61
+ });
62
+ return _this;
63
+ }
64
+
65
+ return (0, _createClass2["default"])(PolishFeature);
66
+ }(_AbstractFeature2["default"]);
67
+
68
+ exports["default"] = PolishFeature;
69
+ //# sourceMappingURL=PolishFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolishFeature.js","names":["PolishFeature","code","isRequired","name","isDev","diskUtil","resolvePath","__dirname","polish","AbstractFeature"],"sources":["../../../src/features/polish/PolishFeature.ts"],"sourcesContent":["import { diskUtil, NpmPackage } from '@sprucelabs/spruce-skill-utils'\nimport AbstractFeature, { FeatureDependency } from '../AbstractFeature'\nimport { FeatureCode } from '../features.types'\n\nexport default class PolishFeature extends AbstractFeature {\n\tpublic code: FeatureCode = 'polish'\n\tpublic nameReadable = 'Polish'\n\tpublic description =\n\t\t'Run through your skill as a robot, clicking and typing and asserting!'\n\tpublic dependencies: FeatureDependency[] = [\n\t\t{\n\t\t\tcode: 'skill',\n\t\t\tisRequired: true,\n\t\t},\n\t]\n\tpublic packageDependencies: NpmPackage[] = [\n\t\t{\n\t\t\tname: '@sprucelabs/heartwood-polish',\n\t\t\tisDev: true,\n\t\t},\n\t]\n\n\tpublic actionsDir = diskUtil.resolvePath(__dirname, 'actions')\n\tpublic scripts = {\n\t\tpolish: 'heartwood-polish',\n\t}\n}\n\ndeclare module '../../features/features.types' {\n\tinterface FeatureMap {\n\t\tpolish: PolishFeature\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAGqBA,a;;;;;;;;;;;;;;;6FACO,Q;qGACL,Q;oGAErB,uE;qGAC0C,CAC1C;MACCC,IAAI,EAAE,OADP;MAECC,UAAU,EAAE;IAFb,CAD0C,C;4GAMA,CAC1C;MACCC,IAAI,EAAE,8BADP;MAECC,KAAK,EAAE;IAFR,CAD0C,C;mGAOvBC,0BAAA,CAASC,WAAT,CAAqBC,SAArB,EAAgC,SAAhC,C;gGACH;MAChBC,MAAM,EAAE;IADQ,C;;;;;EAnByBC,4B"}
@@ -0,0 +1,13 @@
1
+ import AbstractAction from '../../AbstractAction';
2
+ import { FeatureActionResponse } from '../../features.types';
3
+ declare const optionsSchema: {
4
+ id: string;
5
+ fields: {};
6
+ };
7
+ declare type OptionsSchema = typeof optionsSchema;
8
+ export default class SetupAction extends AbstractAction<OptionsSchema> {
9
+ optionsSchema: OptionsSchema;
10
+ invocationMessage: string;
11
+ execute(): Promise<FeatureActionResponse>;
12
+ }
13
+ export {};
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
28
+ var _schema = require("@sprucelabs/schema");
29
+
30
+ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
31
+
32
+ var _ScriptUpdater = _interopRequireDefault(require("../../../updaters/ScriptUpdater"));
33
+
34
+ var _AbstractAction2 = _interopRequireDefault(require("../../AbstractAction"));
35
+
36
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
37
+
38
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
+
40
+ var optionsSchema = (0, _schema.buildSchema)({
41
+ id: 'setupPolishAction',
42
+ fields: {}
43
+ });
44
+
45
+ var SetupAction = /*#__PURE__*/function (_AbstractAction) {
46
+ (0, _inherits2["default"])(SetupAction, _AbstractAction);
47
+
48
+ var _super = _createSuper(SetupAction);
49
+
50
+ function SetupAction() {
51
+ var _this;
52
+
53
+ (0, _classCallCheck2["default"])(this, SetupAction);
54
+
55
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
56
+ args[_key] = arguments[_key];
57
+ }
58
+
59
+ _this = _super.call.apply(_super, [this].concat(args));
60
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "optionsSchema", optionsSchema);
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "invocationMessage", 'Setting up polish... ✨');
62
+ return _this;
63
+ }
64
+
65
+ (0, _createClass2["default"])(SetupAction, [{
66
+ key: "execute",
67
+ value: function () {
68
+ var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
69
+ var namespace, writer, files, scriptUpdater;
70
+ return _regenerator["default"].wrap(function _callee$(_context) {
71
+ while (1) {
72
+ switch (_context.prev = _context.next) {
73
+ case 0:
74
+ _context.next = 2;
75
+ return this.Store('skill').loadCurrentSkillsNamespace();
76
+
77
+ case 2:
78
+ namespace = _context.sent;
79
+ writer = this.Writer('polish');
80
+ _context.next = 6;
81
+ return writer.writePolishScript(_spruceSkillUtils.diskUtil.resolvePath(this.cwd, 'src'), namespace.toLowerCase());
82
+
83
+ case 6:
84
+ files = _context.sent;
85
+ scriptUpdater = _ScriptUpdater["default"].FromFeature(this.parent, {
86
+ cwd: this.cwd
87
+ });
88
+ _context.next = 10;
89
+ return scriptUpdater.update();
90
+
91
+ case 10:
92
+ return _context.abrupt("return", {
93
+ files: files
94
+ });
95
+
96
+ case 11:
97
+ case "end":
98
+ return _context.stop();
99
+ }
100
+ }
101
+ }, _callee, this);
102
+ }));
103
+
104
+ function execute() {
105
+ return _execute.apply(this, arguments);
106
+ }
107
+
108
+ return execute;
109
+ }()
110
+ }]);
111
+ return SetupAction;
112
+ }(_AbstractAction2["default"]);
113
+
114
+ exports["default"] = SetupAction;
115
+ //# sourceMappingURL=SetupAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupAction.js","names":["optionsSchema","buildSchema","id","fields","SetupAction","Store","loadCurrentSkillsNamespace","namespace","writer","Writer","writePolishScript","diskUtil","resolvePath","cwd","toLowerCase","files","scriptUpdater","ScriptUpdater","FromFeature","parent","update","AbstractAction"],"sources":["../../../../src/features/polish/actions/SetupAction.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport ScriptUpdater from '../../../updaters/ScriptUpdater'\nimport AbstractAction from '../../AbstractAction'\nimport { FeatureActionResponse } from '../../features.types'\n\nconst optionsSchema = buildSchema({\n\tid: 'setupPolishAction',\n\tfields: {},\n})\n\ntype OptionsSchema = typeof optionsSchema\n\nexport default class SetupAction extends AbstractAction<OptionsSchema> {\n\tpublic optionsSchema: OptionsSchema = optionsSchema\n\tpublic invocationMessage = 'Setting up polish... ✨'\n\n\tpublic async execute(): Promise<FeatureActionResponse> {\n\t\tconst namespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tconst writer = this.Writer('polish')\n\t\tconst files = await writer.writePolishScript(\n\t\t\tdiskUtil.resolvePath(this.cwd, 'src'),\n\t\t\tnamespace.toLowerCase()\n\t\t)\n\n\t\tconst scriptUpdater = ScriptUpdater.FromFeature(this.parent, {\n\t\t\tcwd: this.cwd,\n\t\t})\n\n\t\tawait scriptUpdater.update()\n\n\t\treturn {\n\t\t\tfiles,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAGA,IAAMA,aAAa,GAAG,IAAAC,mBAAA,EAAY;EACjCC,EAAE,EAAE,mBAD6B;EAEjCC,MAAM,EAAE;AAFyB,CAAZ,CAAtB;;IAOqBC,W;;;;;;;;;;;;;;;sGACkBJ,a;0GACX,wB;;;;;;;mGAE3B;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACyB,KAAKK,KAAL,CAAW,OAAX,EAAoBC,0BAApB,EADzB;;cAAA;gBACOC,SADP;gBAEOC,MAFP,GAEgB,KAAKC,MAAL,CAAY,QAAZ,CAFhB;gBAAA;gBAAA,OAGqBD,MAAM,CAACE,iBAAP,CACnBC,0BAAA,CAASC,WAAT,CAAqB,KAAKC,GAA1B,EAA+B,KAA/B,CADmB,EAEnBN,SAAS,CAACO,WAAV,EAFmB,CAHrB;;cAAA;gBAGOC,KAHP;gBAQOC,aARP,GAQuBC,yBAAA,CAAcC,WAAd,CAA0B,KAAKC,MAA/B,EAAuC;kBAC5DN,GAAG,EAAE,KAAKA;gBADkD,CAAvC,CARvB;gBAAA;gBAAA,OAYOG,aAAa,CAACI,MAAd,EAZP;;cAAA;gBAAA,iCAcQ;kBACNL,KAAK,EAALA;gBADM,CAdR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EAJwCM,2B"}
@@ -0,0 +1,4 @@
1
+ import AbstractWriter from '../../../writers/AbstractWriter';
2
+ export default class PolishWriter extends AbstractWriter {
3
+ writePolishScript(destinationDir: string, skillNamespace: string): Promise<import("../../../writers/AbstractWriter").WriteResults>;
4
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _path = _interopRequireDefault(require("path"));
25
+
26
+ var _AbstractWriter2 = _interopRequireDefault(require("../../../writers/AbstractWriter"));
27
+
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
+
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
+
32
+ var PolishWriter = /*#__PURE__*/function (_AbstractWriter) {
33
+ (0, _inherits2["default"])(PolishWriter, _AbstractWriter);
34
+
35
+ var _super = _createSuper(PolishWriter);
36
+
37
+ function PolishWriter() {
38
+ (0, _classCallCheck2["default"])(this, PolishWriter);
39
+ return _super.apply(this, arguments);
40
+ }
41
+
42
+ (0, _createClass2["default"])(PolishWriter, [{
43
+ key: "writePolishScript",
44
+ value: function () {
45
+ var _writePolishScript = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(destinationDir, skillNamespace) {
46
+ var filename, resolvedDestination, content, results;
47
+ return _regenerator["default"].wrap(function _callee$(_context) {
48
+ while (1) {
49
+ switch (_context.prev = _context.next) {
50
+ case 0:
51
+ filename = "".concat(skillNamespace, ".polish.ts");
52
+ resolvedDestination = _path["default"].join(destinationDir, filename);
53
+ content = this.templates.polish();
54
+ _context.next = 5;
55
+ return this.writeFileIfChangedMixinResults(resolvedDestination, content, "Polish script at ".concat(filename, "!"));
56
+
57
+ case 5:
58
+ results = _context.sent;
59
+ _context.next = 8;
60
+ return this.lint(resolvedDestination);
61
+
62
+ case 8:
63
+ return _context.abrupt("return", results);
64
+
65
+ case 9:
66
+ case "end":
67
+ return _context.stop();
68
+ }
69
+ }
70
+ }, _callee, this);
71
+ }));
72
+
73
+ function writePolishScript(_x, _x2) {
74
+ return _writePolishScript.apply(this, arguments);
75
+ }
76
+
77
+ return writePolishScript;
78
+ }()
79
+ }]);
80
+ return PolishWriter;
81
+ }(_AbstractWriter2["default"]);
82
+
83
+ exports["default"] = PolishWriter;
84
+ //# sourceMappingURL=PolishWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolishWriter.js","names":["PolishWriter","destinationDir","skillNamespace","filename","resolvedDestination","pathUtil","join","content","templates","polish","writeFileIfChangedMixinResults","results","lint","AbstractWriter"],"sources":["../../../../src/features/polish/writers/PolishWriter.ts"],"sourcesContent":["import pathUtil from 'path'\nimport AbstractWriter from '../../../writers/AbstractWriter'\n\nexport default class PolishWriter extends AbstractWriter {\n\tpublic async writePolishScript(\n\t\tdestinationDir: string,\n\t\tskillNamespace: string\n\t) {\n\t\tconst filename = `${skillNamespace}.polish.ts`\n\t\tconst resolvedDestination = pathUtil.join(destinationDir, filename)\n\t\tconst content = this.templates.polish()\n\n\t\tconst results = await this.writeFileIfChangedMixinResults(\n\t\t\tresolvedDestination,\n\t\t\tcontent,\n\t\t\t`Polish script at ${filename}!`\n\t\t)\n\n\t\tawait this.lint(resolvedDestination)\n\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEqBA,Y;;;;;;;;;;;;;6GACpB,iBACCC,cADD,EAECC,cAFD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAIOC,QAJP,aAIqBD,cAJrB;gBAKOE,mBALP,GAK6BC,gBAAA,CAASC,IAAT,CAAcL,cAAd,EAA8BE,QAA9B,CAL7B;gBAMOI,OANP,GAMiB,KAAKC,SAAL,CAAeC,MAAf,EANjB;gBAAA;gBAAA,OAQuB,KAAKC,8BAAL,CACrBN,mBADqB,EAErBG,OAFqB,6BAGDJ,QAHC,OARvB;;cAAA;gBAQOQ,OARP;gBAAA;gBAAA,OAcO,KAAKC,IAAL,CAAUR,mBAAV,CAdP;;cAAA;gBAAA,iCAgBQO,OAhBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EADyCE,2B"}
@@ -1,13 +1,5 @@
1
1
  import AbstractStore from '../../../stores/AbstractStore';
2
2
  import { CurrentSkill, RegisteredSkill } from '../../../types/cli.types';
3
- export interface CreateSkill {
4
- name: string;
5
- slug: string;
6
- description?: string;
7
- }
8
- export interface RegisterSkillOptions {
9
- isRegisteringCurrentSkill?: boolean;
10
- }
11
3
  export default class SkillStore extends AbstractStore {
12
4
  readonly name = "skill";
13
5
  private static currentSkill?;
@@ -28,3 +20,12 @@ export default class SkillStore extends AbstractStore {
28
20
  namespaces?: string[];
29
21
  }): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillsResponsePayloadSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillsResponsePayloadSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Mercury.v2020_12_25.ListSkillsSkillsResponsePayloadSchema, false>>[]>;
30
22
  }
23
+ export interface CreateSkill {
24
+ name: string;
25
+ slug?: string;
26
+ description?: string;
27
+ isPublished?: boolean;
28
+ }
29
+ export interface RegisterSkillOptions {
30
+ isRegisteringCurrentSkill?: boolean;
31
+ }
@@ -64,7 +64,7 @@ var SkillStore = /*#__PURE__*/function (_AbstractStore) {
64
64
  key: "register",
65
65
  value: function () {
66
66
  var _register = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(values, options) {
67
- var isRegisteringCurrentSkill, name, slug, description, client, results, _eventResponseUtil$ge, skill;
67
+ var isRegisteringCurrentSkill, name, slug, description, isPublished, client, results, _eventResponseUtil$ge, skill;
68
68
 
69
69
  return _regenerator["default"].wrap(function _callee$(_context) {
70
70
  while (1) {
@@ -72,7 +72,7 @@ var SkillStore = /*#__PURE__*/function (_AbstractStore) {
72
72
  case 0:
73
73
  isRegisteringCurrentSkill = (options === null || options === void 0 ? void 0 : options.isRegisteringCurrentSkill) !== false;
74
74
  isRegisteringCurrentSkill && this.assertInSkill();
75
- name = values.name, slug = values.slug, description = values.description;
75
+ name = values.name, slug = values.slug, description = values.description, isPublished = values.isPublished;
76
76
  _context.next = 5;
77
77
  return this.connectToApi();
78
78
 
@@ -83,7 +83,8 @@ var SkillStore = /*#__PURE__*/function (_AbstractStore) {
83
83
  payload: {
84
84
  name: name,
85
85
  slug: slug,
86
- description: description
86
+ description: description,
87
+ isPublished: isPublished
87
88
  }
88
89
  });
89
90
 
@@ -1 +1 @@
1
- {"version":3,"file":"SkillStore.js","names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport interface CreateSkill {\n\tname: string\n\tslug: string\n\tdescription?: string\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\t...query,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SkillStore.js","names":["SkillStore","values","options","isRegisteringCurrentSkill","assertInSkill","name","slug","description","isPublished","connectToApi","client","emit","payload","results","eventResponseUtil","getFirstResponseOrThrow","skill","setCurrentSkillsNamespace","Service","updateCurrentSkill","isInstalled","isMarkedAsInstalled","SpruceError","code","currentSkill","getCurrentSkill","shouldAuthAsCurrentSkill","target","skillId","id","response","namespacePascal","namesUtil","toPascal","isRegistered","apiKey","getNamespaceFromPkg","getEventNamespaceForNotRegistered","getSkillDescriptionFromPkg","loadCurrentSkill","pkg","nameFromPackage","get","Error","fallback","current","namespace","isCurrentSkillRegistered","friendlyMessage","updateCurrentSkillNamespace","undefined","logoutCurrentSkill","fetchAllSkills","shouldOnlyShowMine","query","skills","AbstractStore"],"sources":["../../../../src/features/skill/stores/SkillStore.ts"],"sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport SpruceError from '../../../errors/SpruceError'\nimport AbstractStore from '../../../stores/AbstractStore'\nimport { CurrentSkill, RegisteredSkill } from '../../../types/cli.types'\n\nexport default class SkillStore extends AbstractStore {\n\tpublic readonly name = 'skill'\n\tprivate static currentSkill?: CurrentSkill\n\n\tpublic static clearCurrentSkill() {\n\t\tthis.currentSkill = undefined\n\t}\n\n\tpublic async register(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions\n\t): Promise<RegisteredSkill> {\n\t\tconst isRegisteringCurrentSkill =\n\t\t\toptions?.isRegisteringCurrentSkill !== false\n\n\t\tisRegisteringCurrentSkill && this.assertInSkill()\n\n\t\tconst { name, slug, description, isPublished } = values\n\t\tconst client = await this.connectToApi()\n\n\t\tconst results = await client.emit('register-skill::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\tname,\n\t\t\t\tslug,\n\t\t\t\tdescription,\n\t\t\t\tisPublished,\n\t\t\t},\n\t\t})\n\n\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(results)\n\n\t\tif (isRegisteringCurrentSkill) {\n\t\t\tawait this.setCurrentSkillsNamespace(skill.slug)\n\t\t\tthis.Service('auth').updateCurrentSkill(skill)\n\t\t}\n\n\t\treturn skill\n\t}\n\n\tprivate assertInSkill() {\n\t\tconst isInstalled = this.Service('settings').isMarkedAsInstalled('skill')\n\n\t\tif (!isInstalled) {\n\t\t\tthrow new SpruceError({ code: 'DIRECTORY_NOT_SKILL' })\n\t\t}\n\t}\n\n\tpublic async loadCurrentSkill(): Promise<CurrentSkill> {\n\t\tif (SkillStore.currentSkill) {\n\t\t\treturn SkillStore.currentSkill\n\t\t}\n\n\t\tthis.assertInSkill()\n\n\t\tconst currentSkill = this.Service('auth').getCurrentSkill()\n\n\t\tif (currentSkill) {\n\t\t\tconst client = await this.connectToApi({ shouldAuthAsCurrentSkill: true })\n\n\t\t\tconst response = await client.emit('get-skill::v2020_12_25', {\n\t\t\t\ttarget: {\n\t\t\t\t\tskillId: currentSkill.id,\n\t\t\t\t},\n\t\t\t})\n\n\t\t\tconst { skill } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\t\tSkillStore.currentSkill = {\n\t\t\t\t...skill,\n\t\t\t\tnamespacePascal: namesUtil.toPascal(skill.slug),\n\t\t\t\tisRegistered: true,\n\t\t\t\tapiKey: currentSkill.apiKey,\n\t\t\t}\n\n\t\t\treturn SkillStore.currentSkill as CurrentSkill\n\t\t}\n\n\t\treturn {\n\t\t\tname: this.getNamespaceFromPkg(),\n\t\t\tnamespacePascal: this.getEventNamespaceForNotRegistered(),\n\t\t\tdescription: this.getSkillDescriptionFromPkg(),\n\t\t\tisRegistered: false,\n\t\t}\n\t}\n\n\tpublic async isCurrentSkillRegistered() {\n\t\tconst skill = await this.loadCurrentSkill()\n\t\treturn skill.isRegistered\n\t}\n\n\tprivate getNamespaceFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\tconst nameFromPackage = pkg.get('skill.namespace')\n\t\tif (!nameFromPackage) {\n\t\t\tthrow new Error(\n\t\t\t\t'You need need to set skill.namespace in the package.json'\n\t\t\t)\n\t\t}\n\t\treturn nameFromPackage\n\t}\n\n\tpublic async loadCurrentSkillsNamespace() {\n\t\tconst fallback = namesUtil.toPascal(this.getNamespaceFromPkg())\n\n\t\tif (this.Service('auth').getCurrentSkill()) {\n\t\t\tconst current = await this.loadCurrentSkill()\n\t\t\treturn namesUtil.toPascal(current.slug ?? fallback)\n\t\t}\n\n\t\treturn fallback\n\t}\n\n\tpublic async setCurrentSkillsNamespace(namespace: string) {\n\t\tlet isRegistered = false\n\t\ttry {\n\t\t\tisRegistered = await this.isCurrentSkillRegistered()\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch {}\n\n\t\tif (isRegistered) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'GENERIC',\n\t\t\t\tfriendlyMessage: `You can't set the namespace of a skill that is registered.`,\n\t\t\t})\n\t\t}\n\n\t\tthis.Service('auth').updateCurrentSkillNamespace(namespace)\n\t}\n\n\tprivate getEventNamespaceForNotRegistered() {\n\t\treturn namesUtil.toPascal(this.getNamespaceFromPkg())\n\t}\n\n\tprivate getSkillDescriptionFromPkg() {\n\t\tconst pkg = this.Service('pkg')\n\t\treturn pkg.get('description')\n\t}\n\n\tpublic async unregisterSkill(skillId: string) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('unregister-skill::v2020_12_25', {\n\t\t\ttarget: {\n\t\t\t\tskillId,\n\t\t\t},\n\t\t})\n\n\t\teventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\tif (SkillStore.currentSkill?.id === skillId) {\n\t\t\tSkillStore.currentSkill = undefined\n\t\t\tthis.Service('auth').logoutCurrentSkill()\n\t\t}\n\t}\n\n\tpublic async fetchMySkills() {\n\t\treturn this.fetchAllSkills({ shouldOnlyShowMine: true })\n\t}\n\n\tpublic async fetchAllSkills(query?: {\n\t\tshouldOnlyShowMine?: boolean\n\t\tnamespaces?: string[]\n\t}) {\n\t\tconst client = await this.connectToApi()\n\n\t\tconst response = await client.emit('list-skills::v2020_12_25', {\n\t\t\tpayload: {\n\t\t\t\t...query,\n\t\t\t},\n\t\t})\n\n\t\tconst { skills } = eventResponseUtil.getFirstResponseOrThrow(response)\n\n\t\treturn skills\n\t}\n}\n\nexport interface CreateSkill {\n\tname: string\n\tslug?: string\n\tdescription?: string\n\tisPublished?: boolean\n}\n\nexport interface RegisterSkillOptions {\n\tisRegisteringCurrentSkill?: boolean\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { EventContract, SpruceSchemas } from '@sprucelabs/mercury-types';
2
- import { RegisterSkillOptions } from '../../features/skill/stores/SkillStore';
2
+ import { CreateSkill, RegisterSkillOptions } from '../../features/skill/stores/SkillStore';
3
3
  import StoreFactory from '../../stores/StoreFactory';
4
4
  import { ApiClientFactory, ApiClientFactoryOptions } from '../../types/apiClient.types';
5
5
  import PersonFixture from './PersonFixture';
@@ -9,15 +9,10 @@ export default class SkillFixture {
9
9
  private personFixture;
10
10
  private static skillCount;
11
11
  constructor(personFixture: PersonFixture, storeFactory: StoreFactory, apiClientFactory: ApiClientFactory);
12
- seedDemoSkill(values: {
13
- name: string;
14
- }, options?: {
12
+ seedDemoSkill(values: CreateSkill, options?: {
15
13
  phone?: string;
16
14
  }): Promise<import("../../types/cli.types").RegisteredSkill>;
17
- registerCurrentSkill(values: {
18
- name: string;
19
- slug?: string;
20
- }, options?: RegisterSkillOptions & {
15
+ registerCurrentSkill(values: CreateSkill, options?: RegisterSkillOptions & {
21
16
  phone?: string;
22
17
  }): Promise<import("../../types/cli.types").RegisteredSkill>;
23
18
  private generateSkillSlug;
@@ -1 +1 @@
1
- {"version":3,"file":"SkillFixture.js","names":["SkillFixture","personFixture","storeFactory","apiClientFactory","values","options","registerCurrentSkill","isRegisteringCurrentSkill","loginAsDemoPerson","phone","Store","register","slug","generateSkillSlug","name","skillCount","namesUtil","toKebab","Date","getTime","auth","contract","skillAuth","apiClientUtil","skillOrAuthToAuth","client","eventStore","registerEventContract","eventContract","unRegisterEvents","skillStore","fetchMySkills","skills","skill","unregisterSkill","id","length","Math","round","random"],"sources":["../../../src/tests/fixtures/SkillFixture.ts"],"sourcesContent":["import { EventContract, SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport { RegisterSkillOptions } from '../../features/skill/stores/SkillStore'\nimport StoreFactory from '../../stores/StoreFactory'\nimport {\n\tApiClientFactory,\n\tApiClientFactoryOptions,\n} from '../../types/apiClient.types'\nimport apiClientUtil from '../../utilities/apiClient.utility'\nimport PersonFixture from './PersonFixture'\n\nexport default class SkillFixture {\n\tprivate storeFactory: StoreFactory\n\tprivate apiClientFactory: ApiClientFactory\n\tprivate personFixture: PersonFixture\n\n\tprivate static skillCount = Math.round(Math.random() * 100)\n\n\tpublic constructor(\n\t\tpersonFixture: PersonFixture,\n\t\tstoreFactory: StoreFactory,\n\t\tapiClientFactory: ApiClientFactory\n\t) {\n\t\tthis.personFixture = personFixture\n\t\tthis.storeFactory = storeFactory\n\t\tthis.apiClientFactory = apiClientFactory\n\t}\n\n\tpublic async seedDemoSkill(\n\t\tvalues: { name: string },\n\t\toptions?: { phone?: string }\n\t) {\n\t\treturn this.registerCurrentSkill(values, {\n\t\t\tisRegisteringCurrentSkill: false,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tpublic async registerCurrentSkill(\n\t\tvalues: { name: string; slug?: string },\n\t\toptions?: RegisterSkillOptions & { phone?: string }\n\t) {\n\t\tawait this.personFixture.loginAsDemoPerson(options?.phone)\n\n\t\treturn this.storeFactory.Store('skill').register(\n\t\t\t{\n\t\t\t\tslug: values.slug ?? this.generateSkillSlug(values.name),\n\t\t\t\t...values,\n\t\t\t},\n\t\t\toptions\n\t\t)\n\t}\n\n\tprivate generateSkillSlug(name: string): string {\n\t\tSkillFixture.skillCount++\n\t\treturn `${namesUtil.toKebab(name)}-${new Date().getTime()}-count-${\n\t\t\tSkillFixture.skillCount\n\t\t}-cli-test`\n\t}\n\n\tpublic async registerEventContract(\n\t\tauth: ApiClientFactoryOptions | SpruceSchemas.Spruce.v2020_07_22.Skill,\n\t\tcontract: EventContract\n\t) {\n\t\tconst skillAuth = apiClientUtil.skillOrAuthToAuth(auth)\n\t\tconst client = await this.apiClientFactory(skillAuth)\n\n\t\tconst eventStore = this.storeFactory.Store('event', {\n\t\t\tapiClientFactory: async () => {\n\t\t\t\treturn client\n\t\t\t},\n\t\t})\n\n\t\tawait eventStore.registerEventContract({\n\t\t\teventContract: contract,\n\t\t})\n\t}\n\n\tpublic async unRegisterEvents(\n\t\tauth: ApiClientFactoryOptions | SpruceSchemas.Spruce.v2020_07_22.Skill,\n\t\toptions: SpruceSchemas.Mercury.v2020_12_25.UnregisterEventsEmitPayload\n\t) {\n\t\tconst skillAuth = apiClientUtil.skillOrAuthToAuth(auth)\n\t\tconst client = await this.apiClientFactory(skillAuth)\n\n\t\tconst eventStore = this.storeFactory.Store('event', {\n\t\t\tapiClientFactory: async () => {\n\t\t\t\treturn client\n\t\t\t},\n\t\t})\n\n\t\tawait eventStore.unRegisterEvents(options)\n\t}\n\n\tpublic async clearAllSkills() {\n\t\tawait this.personFixture.loginAsDemoPerson()\n\n\t\tconst skillStore = this.storeFactory.Store('skill')\n\t\tconst skills = await skillStore.fetchMySkills()\n\n\t\tfor (const skill of skills) {\n\t\t\tawait skillStore.unregisterSkill(skill.id)\n\t\t}\n\n\t\treturn skills.length\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SkillFixture.js","names":["SkillFixture","personFixture","storeFactory","apiClientFactory","values","options","registerCurrentSkill","isRegisteringCurrentSkill","loginAsDemoPerson","phone","Store","register","slug","generateSkillSlug","name","skillCount","namesUtil","toKebab","Date","getTime","auth","contract","skillAuth","apiClientUtil","skillOrAuthToAuth","client","eventStore","registerEventContract","eventContract","unRegisterEvents","skillStore","fetchMySkills","skills","skill","unregisterSkill","id","length","Math","round","random"],"sources":["../../../src/tests/fixtures/SkillFixture.ts"],"sourcesContent":["import { EventContract, SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { namesUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tCreateSkill,\n\tRegisterSkillOptions,\n} from '../../features/skill/stores/SkillStore'\nimport StoreFactory from '../../stores/StoreFactory'\nimport {\n\tApiClientFactory,\n\tApiClientFactoryOptions,\n} from '../../types/apiClient.types'\nimport apiClientUtil from '../../utilities/apiClient.utility'\nimport PersonFixture from './PersonFixture'\n\nexport default class SkillFixture {\n\tprivate storeFactory: StoreFactory\n\tprivate apiClientFactory: ApiClientFactory\n\tprivate personFixture: PersonFixture\n\n\tprivate static skillCount = Math.round(Math.random() * 100)\n\n\tpublic constructor(\n\t\tpersonFixture: PersonFixture,\n\t\tstoreFactory: StoreFactory,\n\t\tapiClientFactory: ApiClientFactory\n\t) {\n\t\tthis.personFixture = personFixture\n\t\tthis.storeFactory = storeFactory\n\t\tthis.apiClientFactory = apiClientFactory\n\t}\n\n\tpublic async seedDemoSkill(\n\t\tvalues: CreateSkill,\n\t\toptions?: { phone?: string }\n\t) {\n\t\treturn this.registerCurrentSkill(values, {\n\t\t\tisRegisteringCurrentSkill: false,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tpublic async registerCurrentSkill(\n\t\tvalues: CreateSkill,\n\t\toptions?: RegisterSkillOptions & { phone?: string }\n\t) {\n\t\tawait this.personFixture.loginAsDemoPerson(options?.phone)\n\n\t\treturn this.storeFactory.Store('skill').register(\n\t\t\t{\n\t\t\t\tslug: values.slug ?? this.generateSkillSlug(values.name),\n\t\t\t\t...values,\n\t\t\t},\n\t\t\toptions\n\t\t)\n\t}\n\n\tprivate generateSkillSlug(name: string): string {\n\t\tSkillFixture.skillCount++\n\t\treturn `${namesUtil.toKebab(name)}-${new Date().getTime()}-count-${\n\t\t\tSkillFixture.skillCount\n\t\t}-cli-test`\n\t}\n\n\tpublic async registerEventContract(\n\t\tauth: ApiClientFactoryOptions | SpruceSchemas.Spruce.v2020_07_22.Skill,\n\t\tcontract: EventContract\n\t) {\n\t\tconst skillAuth = apiClientUtil.skillOrAuthToAuth(auth)\n\t\tconst client = await this.apiClientFactory(skillAuth)\n\n\t\tconst eventStore = this.storeFactory.Store('event', {\n\t\t\tapiClientFactory: async () => {\n\t\t\t\treturn client\n\t\t\t},\n\t\t})\n\n\t\tawait eventStore.registerEventContract({\n\t\t\teventContract: contract,\n\t\t})\n\t}\n\n\tpublic async unRegisterEvents(\n\t\tauth: ApiClientFactoryOptions | SpruceSchemas.Spruce.v2020_07_22.Skill,\n\t\toptions: SpruceSchemas.Mercury.v2020_12_25.UnregisterEventsEmitPayload\n\t) {\n\t\tconst skillAuth = apiClientUtil.skillOrAuthToAuth(auth)\n\t\tconst client = await this.apiClientFactory(skillAuth)\n\n\t\tconst eventStore = this.storeFactory.Store('event', {\n\t\t\tapiClientFactory: async () => {\n\t\t\t\treturn client\n\t\t\t},\n\t\t})\n\n\t\tawait eventStore.unRegisterEvents(options)\n\t}\n\n\tpublic async clearAllSkills() {\n\t\tawait this.personFixture.loginAsDemoPerson()\n\n\t\tconst skillStore = this.storeFactory.Store('skill')\n\t\tconst skills = await skillStore.fetchMySkills()\n\n\t\tfor (const skill of skills) {\n\t\t\tawait skillStore.unregisterSkill(skill.id)\n\t\t}\n\n\t\treturn skills.length\n\t}\n}\n"],"mappings":"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"}
@@ -41,8 +41,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
41
41
 
42
42
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
43
 
44
- var TkBaseWidget = /*#__PURE__*/function (_AbstractEventEmitter) {
45
- (0, _inherits2["default"])(TkBaseWidget, _AbstractEventEmitter);
44
+ var TkBaseWidget = /*#__PURE__*/function (_ref) {
45
+ (0, _inherits2["default"])(TkBaseWidget, _ref);
46
46
 
47
47
  var _super = _createSuper(TkBaseWidget);
48
48
 
@@ -164,38 +164,29 @@ var TkBaseWidget = /*#__PURE__*/function (_AbstractEventEmitter) {
164
164
  value: function sizeLockedChildren() {
165
165
  var newFrame = this.getFrame();
166
166
 
167
- var _iterator = _createForOfIteratorHelper(this.children),
168
- _step;
169
-
170
- try {
171
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
172
- var child = _step.value;
173
- child.handleParentResize(newFrame);
174
- }
175
- } catch (err) {
176
- _iterator.e(err);
177
- } finally {
178
- _iterator.f();
167
+ for (var _i = 0, _arr = this.children; _i < _arr.length; _i++) {
168
+ var child = _arr[_i];
169
+ child.handleParentResize(newFrame);
179
170
  }
180
171
  }
181
172
  }, {
182
173
  key: "getChildById",
183
174
  value: function getChildById(id) {
184
- var _iterator2 = _createForOfIteratorHelper(this.getChildren()),
185
- _step2;
175
+ var _iterator = _createForOfIteratorHelper(this.getChildren()),
176
+ _step;
186
177
 
187
178
  try {
188
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
189
- var child = _step2.value;
179
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
180
+ var child = _step.value;
190
181
 
191
182
  if (child.getId() === id) {
192
183
  return child;
193
184
  }
194
185
  }
195
186
  } catch (err) {
196
- _iterator2.e(err);
187
+ _iterator.e(err);
197
188
  } finally {
198
- _iterator2.f();
189
+ _iterator.f();
199
190
  }
200
191
 
201
192
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"TkBaseWidget.js","names":["TkBaseWidget","options","eventContract","eventSignatures","leftDelta","widthDelta","topDelta","heightDelta","rightDelta","bottomDelta","parent","term","id","shouldLockHeightWithParent","shouldLockWidthWithParent","shouldLockRightWithParent","shouldLockBottomWithParent","padding","left","top","right","bottom","addChild","children","child","push","element","getTermKitElement","outputX","outputY","width","outputWidth","height","outputHeight","Error","type","frame","resize","x","y","sizeLockedChildren","draw","newFrame","getFrame","handleParentResize","getChildren","getId","filter","c","parentFrame","updatedFrame","shouldSetFrame","frameLockDeltas","setFrame","destroy","getParent","removeChild","AbstractEventEmitter"],"sources":["../../../src/widgets/terminalKit/TkBaseWidget.ts"],"sourcesContent":["import { AbstractEventEmitter } from '@sprucelabs/mercury-event-emitter'\nimport { EventContract } from '@sprucelabs/mercury-types'\nimport { Terminal } from 'terminal-kit'\nimport {\n\tBaseWidget,\n\tUniversalWidgetOptions,\n\tWidgetFrame,\n\tWidgetFrameCalculated,\n\tWidgetPadding,\n} from '../types/widgets.types'\n\nexport type BaseWidgetWithTermKitAddons = BaseWidget & {\n\tgetTermKitElement: () => any | null\n}\n\nexport type TkWidgetOptions = UniversalWidgetOptions & {\n\tterm: Terminal\n\tparent: BaseWidgetWithTermKitAddons\n}\n\nexport default abstract class TkBaseWidget<Contract extends EventContract = any>\n\textends AbstractEventEmitter<Contract>\n\timplements BaseWidget<Contract>\n{\n\tpublic type = 'abstract'\n\tprotected parent: BaseWidgetWithTermKitAddons | null\n\tprotected term: Terminal\n\tprivate id: string | null\n\tprivate children: BaseWidget[] = []\n\tprotected shouldLockWidthWithParent = false\n\tprotected shouldLockHeightWithParent = false\n\tprotected shouldLockRightWithParent = false\n\tprotected shouldLockBottomWithParent = false\n\tprotected padding: WidgetPadding = {}\n\tprivate frameLockDeltas: {\n\t\tleftDelta: number\n\t\twidthDelta: number\n\t\ttopDelta: number\n\t\theightDelta: number\n\t\trightDelta: number\n\t\tbottomDelta: number\n\t} = {\n\t\tleftDelta: 0,\n\t\twidthDelta: 0,\n\t\ttopDelta: 0,\n\t\theightDelta: 0,\n\t\trightDelta: 0,\n\t\tbottomDelta: 0,\n\t}\n\n\tpublic constructor(options: TkWidgetOptions) {\n\t\tsuper(options.eventContract ?? { eventSignatures: {} })\n\n\t\tthis.parent = options.parent ?? null\n\t\tthis.term = options.term\n\t\tthis.id = options.id ?? null\n\t\tthis.shouldLockHeightWithParent =\n\t\t\toptions.shouldLockHeightWithParent ?? false\n\t\tthis.shouldLockWidthWithParent = options.shouldLockWidthWithParent ?? false\n\t\tthis.shouldLockRightWithParent = options.shouldLockRightWithParent ?? false\n\t\tthis.shouldLockBottomWithParent =\n\t\t\toptions.shouldLockBottomWithParent ?? false\n\n\t\tthis.padding = {\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\t...options.padding,\n\t\t}\n\n\t\tif (this.parent) {\n\t\t\tthis.parent.addChild(this as TkBaseWidget)\n\t\t}\n\t}\n\n\tpublic getChildren(): BaseWidget[] {\n\t\treturn this.children\n\t}\n\n\tpublic addChild(child: BaseWidget): void {\n\t\tthis.children.push(child)\n\t}\n\n\tpublic getId(): string | null {\n\t\treturn this.id\n\t}\n\n\tpublic getParent(): BaseWidget | null {\n\t\treturn this.parent\n\t}\n\n\tpublic getFrame(): WidgetFrameCalculated {\n\t\tconst element = this.getTermKitElement()\n\t\tif (element) {\n\t\t\treturn {\n\t\t\t\tleft: element.outputX,\n\t\t\t\ttop: element.outputY,\n\t\t\t\twidth: element.outputWidth,\n\t\t\t\theight: element.outputHeight,\n\t\t\t}\n\t\t}\n\t\tthrow new Error(\n\t\t\telement\n\t\t\t\t? `${this.type} does not implement getFrame()`\n\t\t\t\t: `${this.type} does not implement getTermKitElement()`\n\t\t)\n\t}\n\n\tpublic setFrame(frame: Partial<WidgetFrame>): void {\n\t\tconst element = this.getTermKitElement()\n\n\t\tif (element) {\n\t\t\tif (element.resize) {\n\t\t\t\telement.resize({\n\t\t\t\t\tx: frame.left,\n\t\t\t\t\ty: frame.top,\n\t\t\t\t\twidth: frame.width,\n\t\t\t\t\theight: frame.height,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\telement.outputX = frame.left ?? element.outputX\n\t\t\t\telement.outputY = frame.top ?? element.outputY\n\t\t\t\telement.outputWidth = frame.width ?? element.outputWidth\n\t\t\t\telement.outputHeight = frame.height ?? element.outputHeight\n\t\t\t}\n\n\t\t\tthis.sizeLockedChildren()\n\n\t\t\telement.draw()\n\n\t\t\treturn\n\t\t}\n\n\t\tthrow new Error(`${this.type} does not implement getTermKitElement()`)\n\t}\n\n\tprotected sizeLockedChildren() {\n\t\tconst newFrame = this.getFrame()\n\t\tfor (const child of this.children as TkBaseWidget[]) {\n\t\t\tchild.handleParentResize(newFrame)\n\t\t}\n\t}\n\n\tpublic getChildById(id?: string): BaseWidget | null {\n\t\tfor (const child of this.getChildren()) {\n\t\t\tif (child.getId() === id) {\n\t\t\t\treturn child\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic removeChild(child: BaseWidget) {\n\t\tthis.children = this.children.filter((c) => c !== child)\n\t}\n\n\tprotected handleParentResize(parentFrame: WidgetFrameCalculated): void {\n\t\tconst updatedFrame = this.getFrame()\n\t\tlet shouldSetFrame = false\n\n\t\tif (this.shouldLockHeightWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.height =\n\t\t\t\tparentFrame.height - this.frameLockDeltas.heightDelta\n\t\t}\n\n\t\tif (this.shouldLockWidthWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.width = parentFrame.width - this.frameLockDeltas.widthDelta\n\t\t}\n\n\t\tif (this.shouldLockRightWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.left =\n\t\t\t\tparentFrame.width - this.frameLockDeltas.rightDelta - updatedFrame.width\n\t\t}\n\n\t\tif (this.shouldLockBottomWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.top =\n\t\t\t\tparentFrame.height -\n\t\t\t\tupdatedFrame.height -\n\t\t\t\tthis.frameLockDeltas.bottomDelta\n\t\t}\n\n\t\tif (shouldSetFrame) {\n\t\t\tthis.setFrame(updatedFrame)\n\t\t}\n\t}\n\n\tpublic async destroy() {\n\t\tthis.getTermKitElement()?.destroy()\n\t\tthis.getParent()?.removeChild(this as BaseWidget)\n\t}\n\n\tpublic getTermKitElement(): any | null {\n\t\treturn null\n\t}\n\n\tprotected calculateSizeLockDeltas() {\n\t\tconst frame = this.getFrame()\n\t\tconst parentFrame = this.getParent()?.getFrame()\n\n\t\tif (!parentFrame) {\n\t\t\treturn\n\t\t}\n\n\t\tlet leftDelta = 0\n\t\tlet widthDelta = 0\n\t\tlet topDelta = 0\n\t\tlet heightDelta = 0\n\t\tlet rightDelta = 0\n\t\tlet bottomDelta = 0\n\n\t\tif (this.shouldLockWidthWithParent) {\n\t\t\tleftDelta = frame.left\n\t\t\twidthDelta = parentFrame.width - frame.width\n\t\t}\n\n\t\tif (this.shouldLockHeightWithParent) {\n\t\t\ttopDelta = frame.top\n\t\t\theightDelta = parentFrame.height - frame.height\n\t\t}\n\n\t\tif (this.shouldLockRightWithParent) {\n\t\t\trightDelta = frame.left + frame.width - parentFrame.width\n\t\t}\n\n\t\tif (this.shouldLockBottomWithParent) {\n\t\t\tbottomDelta = parentFrame.height - (frame.top + frame.height)\n\t\t}\n\n\t\tthis.frameLockDeltas = {\n\t\t\tleftDelta,\n\t\t\twidthDelta,\n\t\t\ttopDelta,\n\t\t\theightDelta,\n\t\t\trightDelta,\n\t\t\tbottomDelta,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;IAoB8BA,Y;;;;;EA8B7B,sBAAmBC,OAAnB,EAA6C;IAAA;;IAAA;;IAAA;IAC5C,mDAAMA,OAAO,CAACC,aAAd,yEAA+B;MAAEC,eAAe,EAAE;IAAnB,CAA/B;IAD4C,yFA1B/B,UA0B+B;IAAA;IAAA;IAAA;IAAA,6FAtBZ,EAsBY;IAAA,8GArBP,KAqBO;IAAA,+GApBN,KAoBM;IAAA,8GAnBP,KAmBO;IAAA,+GAlBN,KAkBM;IAAA,4FAjBV,EAiBU;IAAA,oGATzC;MACHC,SAAS,EAAE,CADR;MAEHC,UAAU,EAAE,CAFT;MAGHC,QAAQ,EAAE,CAHP;MAIHC,WAAW,EAAE,CAJV;MAKHC,UAAU,EAAE,CALT;MAMHC,WAAW,EAAE;IANV,CASyC;IAG5C,MAAKC,MAAL,sBAAcT,OAAO,CAACS,MAAtB,6DAAgC,IAAhC;IACA,MAAKC,IAAL,GAAYV,OAAO,CAACU,IAApB;IACA,MAAKC,EAAL,kBAAUX,OAAO,CAACW,EAAlB,qDAAwB,IAAxB;IACA,MAAKC,0BAAL,4BACCZ,OAAO,CAACY,0BADT,yEACuC,KADvC;IAEA,MAAKC,yBAAL,4BAAiCb,OAAO,CAACa,yBAAzC,yEAAsE,KAAtE;IACA,MAAKC,yBAAL,4BAAiCd,OAAO,CAACc,yBAAzC,yEAAsE,KAAtE;IACA,MAAKC,0BAAL,4BACCf,OAAO,CAACe,0BADT,yEACuC,KADvC;IAGA,MAAKC,OAAL;MACCC,IAAI,EAAE,CADP;MAECC,GAAG,EAAE,CAFN;MAGCC,KAAK,EAAE,CAHR;MAICC,MAAM,EAAE;IAJT,GAKIpB,OAAO,CAACgB,OALZ;;IAQA,IAAI,MAAKP,MAAT,EAAiB;MAChB,MAAKA,MAAL,CAAYY,QAAZ;IACA;;IAvB2C;EAwB5C;;;;WAED,uBAAmC;MAClC,OAAO,KAAKC,QAAZ;IACA;;;WAED,kBAAgBC,KAAhB,EAAyC;MACxC,KAAKD,QAAL,CAAcE,IAAd,CAAmBD,KAAnB;IACA;;;WAED,iBAA8B;MAC7B,OAAO,KAAKZ,EAAZ;IACA;;;WAED,qBAAsC;MACrC,OAAO,KAAKF,MAAZ;IACA;;;WAED,oBAAyC;MACxC,IAAMgB,OAAO,GAAG,KAAKC,iBAAL,EAAhB;;MACA,IAAID,OAAJ,EAAa;QACZ,OAAO;UACNR,IAAI,EAAEQ,OAAO,CAACE,OADR;UAENT,GAAG,EAAEO,OAAO,CAACG,OAFP;UAGNC,KAAK,EAAEJ,OAAO,CAACK,WAHT;UAINC,MAAM,EAAEN,OAAO,CAACO;QAJV,CAAP;MAMA;;MACD,MAAM,IAAIC,KAAJ,CACLR,OAAO,aACD,KAAKS,IADJ,gDAED,KAAKA,IAFJ,4CADF,CAAN;IAKA;;;WAED,kBAAgBC,KAAhB,EAAmD;MAClD,IAAMV,OAAO,GAAG,KAAKC,iBAAL,EAAhB;;MAEA,IAAID,OAAJ,EAAa;QACZ,IAAIA,OAAO,CAACW,MAAZ,EAAoB;UACnBX,OAAO,CAACW,MAAR,CAAe;YACdC,CAAC,EAAEF,KAAK,CAAClB,IADK;YAEdqB,CAAC,EAAEH,KAAK,CAACjB,GAFK;YAGdW,KAAK,EAAEM,KAAK,CAACN,KAHC;YAIdE,MAAM,EAAEI,KAAK,CAACJ;UAJA,CAAf;QAMA,CAPD,MAOO;UAAA;;UACNN,OAAO,CAACE,OAAR,kBAAkBQ,KAAK,CAAClB,IAAxB,qDAAgCQ,OAAO,CAACE,OAAxC;UACAF,OAAO,CAACG,OAAR,iBAAkBO,KAAK,CAACjB,GAAxB,mDAA+BO,OAAO,CAACG,OAAvC;UACAH,OAAO,CAACK,WAAR,mBAAsBK,KAAK,CAACN,KAA5B,uDAAqCJ,OAAO,CAACK,WAA7C;UACAL,OAAO,CAACO,YAAR,oBAAuBG,KAAK,CAACJ,MAA7B,yDAAuCN,OAAO,CAACO,YAA/C;QACA;;QAED,KAAKO,kBAAL;QAEAd,OAAO,CAACe,IAAR;QAEA;MACA;;MAED,MAAM,IAAIP,KAAJ,WAAa,KAAKC,IAAlB,6CAAN;IACA;;;WAED,8BAA+B;MAC9B,IAAMO,QAAQ,GAAG,KAAKC,QAAL,EAAjB;;MAD8B,2CAEV,KAAKpB,QAFK;MAAA;;MAAA;QAE9B,oDAAqD;UAAA,IAA1CC,KAA0C;UACpDA,KAAK,CAACoB,kBAAN,CAAyBF,QAAzB;QACA;MAJ6B;QAAA;MAAA;QAAA;MAAA;IAK9B;;;WAED,sBAAoB9B,EAApB,EAAoD;MAAA,4CAC/B,KAAKiC,WAAL,EAD+B;MAAA;;MAAA;QACnD,uDAAwC;UAAA,IAA7BrB,KAA6B;;UACvC,IAAIA,KAAK,CAACsB,KAAN,OAAkBlC,EAAtB,EAA0B;YACzB,OAAOY,KAAP;UACA;QACD;MALkD;QAAA;MAAA;QAAA;MAAA;;MAOnD,OAAO,IAAP;IACA;;;WAED,qBAAmBA,KAAnB,EAAsC;MACrC,KAAKD,QAAL,GAAgB,KAAKA,QAAL,CAAcwB,MAAd,CAAqB,UAACC,CAAD;QAAA,OAAOA,CAAC,KAAKxB,KAAb;MAAA,CAArB,CAAhB;IACA;;;WAED,4BAA6ByB,WAA7B,EAAuE;MACtE,IAAMC,YAAY,GAAG,KAAKP,QAAL,EAArB;MACA,IAAIQ,cAAc,GAAG,KAArB;;MAEA,IAAI,KAAKtC,0BAAT,EAAqC;QACpCsC,cAAc,GAAG,IAAjB;QACAD,YAAY,CAAClB,MAAb,GACCiB,WAAW,CAACjB,MAAZ,GAAqB,KAAKoB,eAAL,CAAqB7C,WAD3C;MAEA;;MAED,IAAI,KAAKO,yBAAT,EAAoC;QACnCqC,cAAc,GAAG,IAAjB;QACAD,YAAY,CAACpB,KAAb,GAAqBmB,WAAW,CAACnB,KAAZ,GAAoB,KAAKsB,eAAL,CAAqB/C,UAA9D;MACA;;MAED,IAAI,KAAKU,yBAAT,EAAoC;QACnCoC,cAAc,GAAG,IAAjB;QACAD,YAAY,CAAChC,IAAb,GACC+B,WAAW,CAACnB,KAAZ,GAAoB,KAAKsB,eAAL,CAAqB5C,UAAzC,GAAsD0C,YAAY,CAACpB,KADpE;MAEA;;MAED,IAAI,KAAKd,0BAAT,EAAqC;QACpCmC,cAAc,GAAG,IAAjB;QACAD,YAAY,CAAC/B,GAAb,GACC8B,WAAW,CAACjB,MAAZ,GACAkB,YAAY,CAAClB,MADb,GAEA,KAAKoB,eAAL,CAAqB3C,WAHtB;MAIA;;MAED,IAAI0C,cAAJ,EAAoB;QACnB,KAAKE,QAAL,CAAcH,YAAd;MACA;IACD;;;;mGAED;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACC,8BAAKvB,iBAAL,kFAA0B2B,OAA1B;gBACA,wBAAKC,SAAL,sEAAkBC,WAAlB,CAA8B,IAA9B;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAKA,6BAAuC;MACtC,OAAO,IAAP;IACA;;;WAED,mCAAoC;MAAA;;MACnC,IAAMpB,KAAK,GAAG,KAAKO,QAAL,EAAd;MACA,IAAMM,WAAW,uBAAG,KAAKM,SAAL,EAAH,qDAAG,iBAAkBZ,QAAlB,EAApB;;MAEA,IAAI,CAACM,WAAL,EAAkB;QACjB;MACA;;MAED,IAAI7C,SAAS,GAAG,CAAhB;MACA,IAAIC,UAAU,GAAG,CAAjB;MACA,IAAIC,QAAQ,GAAG,CAAf;MACA,IAAIC,WAAW,GAAG,CAAlB;MACA,IAAIC,UAAU,GAAG,CAAjB;MACA,IAAIC,WAAW,GAAG,CAAlB;;MAEA,IAAI,KAAKK,yBAAT,EAAoC;QACnCV,SAAS,GAAGgC,KAAK,CAAClB,IAAlB;QACAb,UAAU,GAAG4C,WAAW,CAACnB,KAAZ,GAAoBM,KAAK,CAACN,KAAvC;MACA;;MAED,IAAI,KAAKjB,0BAAT,EAAqC;QACpCP,QAAQ,GAAG8B,KAAK,CAACjB,GAAjB;QACAZ,WAAW,GAAG0C,WAAW,CAACjB,MAAZ,GAAqBI,KAAK,CAACJ,MAAzC;MACA;;MAED,IAAI,KAAKjB,yBAAT,EAAoC;QACnCP,UAAU,GAAG4B,KAAK,CAAClB,IAAN,GAAakB,KAAK,CAACN,KAAnB,GAA2BmB,WAAW,CAACnB,KAApD;MACA;;MAED,IAAI,KAAKd,0BAAT,EAAqC;QACpCP,WAAW,GAAGwC,WAAW,CAACjB,MAAZ,IAAsBI,KAAK,CAACjB,GAAN,GAAYiB,KAAK,CAACJ,MAAxC,CAAd;MACA;;MAED,KAAKoB,eAAL,GAAuB;QACtBhD,SAAS,EAATA,SADsB;QAEtBC,UAAU,EAAVA,UAFsB;QAGtBC,QAAQ,EAARA,QAHsB;QAItBC,WAAW,EAAXA,WAJsB;QAKtBC,UAAU,EAAVA,UALsB;QAMtBC,WAAW,EAAXA;MANsB,CAAvB;IAQA;;;EA7NOgD,yC"}
1
+ {"version":3,"file":"TkBaseWidget.js","names":["TkBaseWidget","options","eventContract","eventSignatures","leftDelta","widthDelta","topDelta","heightDelta","rightDelta","bottomDelta","parent","term","id","shouldLockHeightWithParent","shouldLockWidthWithParent","shouldLockRightWithParent","shouldLockBottomWithParent","padding","left","top","right","bottom","addChild","children","child","push","element","getTermKitElement","outputX","outputY","width","outputWidth","height","outputHeight","Error","type","frame","resize","x","y","sizeLockedChildren","draw","newFrame","getFrame","handleParentResize","getChildren","getId","filter","c","parentFrame","updatedFrame","shouldSetFrame","frameLockDeltas","setFrame","destroy","getParent","removeChild","AbstractEventEmitter"],"sources":["../../../src/widgets/terminalKit/TkBaseWidget.ts"],"sourcesContent":["import { AbstractEventEmitter } from '@sprucelabs/mercury-event-emitter'\nimport { EventContract } from '@sprucelabs/mercury-types'\nimport { Terminal } from 'terminal-kit'\nimport {\n\tBaseWidget,\n\tUniversalWidgetOptions,\n\tWidgetFrame,\n\tWidgetFrameCalculated,\n\tWidgetPadding,\n} from '../types/widgets.types'\n\nexport type BaseWidgetWithTermKitAddons = BaseWidget & {\n\tgetTermKitElement: () => any | null\n}\n\nexport type TkWidgetOptions = UniversalWidgetOptions & {\n\tterm: Terminal\n\tparent: BaseWidgetWithTermKitAddons\n}\n\nexport default abstract class TkBaseWidget<Contract extends EventContract = any>\n\textends AbstractEventEmitter<Contract>\n\timplements BaseWidget<Contract>\n{\n\tpublic type = 'abstract'\n\tprotected parent: BaseWidgetWithTermKitAddons | null\n\tprotected term: Terminal\n\tprivate id: string | null\n\tprivate children: BaseWidget[] = []\n\tprotected shouldLockWidthWithParent = false\n\tprotected shouldLockHeightWithParent = false\n\tprotected shouldLockRightWithParent = false\n\tprotected shouldLockBottomWithParent = false\n\tprotected padding: WidgetPadding = {}\n\tprivate frameLockDeltas: {\n\t\tleftDelta: number\n\t\twidthDelta: number\n\t\ttopDelta: number\n\t\theightDelta: number\n\t\trightDelta: number\n\t\tbottomDelta: number\n\t} = {\n\t\tleftDelta: 0,\n\t\twidthDelta: 0,\n\t\ttopDelta: 0,\n\t\theightDelta: 0,\n\t\trightDelta: 0,\n\t\tbottomDelta: 0,\n\t}\n\n\tpublic constructor(options: TkWidgetOptions) {\n\t\tsuper(options.eventContract ?? { eventSignatures: {} })\n\n\t\tthis.parent = options.parent ?? null\n\t\tthis.term = options.term\n\t\tthis.id = options.id ?? null\n\t\tthis.shouldLockHeightWithParent =\n\t\t\toptions.shouldLockHeightWithParent ?? false\n\t\tthis.shouldLockWidthWithParent = options.shouldLockWidthWithParent ?? false\n\t\tthis.shouldLockRightWithParent = options.shouldLockRightWithParent ?? false\n\t\tthis.shouldLockBottomWithParent =\n\t\t\toptions.shouldLockBottomWithParent ?? false\n\n\t\tthis.padding = {\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\t...options.padding,\n\t\t}\n\n\t\tif (this.parent) {\n\t\t\tthis.parent.addChild(this as TkBaseWidget)\n\t\t}\n\t}\n\n\tpublic getChildren(): BaseWidget[] {\n\t\treturn this.children\n\t}\n\n\tpublic addChild(child: BaseWidget): void {\n\t\tthis.children.push(child)\n\t}\n\n\tpublic getId(): string | null {\n\t\treturn this.id\n\t}\n\n\tpublic getParent(): BaseWidget | null {\n\t\treturn this.parent\n\t}\n\n\tpublic getFrame(): WidgetFrameCalculated {\n\t\tconst element = this.getTermKitElement()\n\t\tif (element) {\n\t\t\treturn {\n\t\t\t\tleft: element.outputX,\n\t\t\t\ttop: element.outputY,\n\t\t\t\twidth: element.outputWidth,\n\t\t\t\theight: element.outputHeight,\n\t\t\t}\n\t\t}\n\t\tthrow new Error(\n\t\t\telement\n\t\t\t\t? `${this.type} does not implement getFrame()`\n\t\t\t\t: `${this.type} does not implement getTermKitElement()`\n\t\t)\n\t}\n\n\tpublic setFrame(frame: Partial<WidgetFrame>): void {\n\t\tconst element = this.getTermKitElement()\n\n\t\tif (element) {\n\t\t\tif (element.resize) {\n\t\t\t\telement.resize({\n\t\t\t\t\tx: frame.left,\n\t\t\t\t\ty: frame.top,\n\t\t\t\t\twidth: frame.width,\n\t\t\t\t\theight: frame.height,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\telement.outputX = frame.left ?? element.outputX\n\t\t\t\telement.outputY = frame.top ?? element.outputY\n\t\t\t\telement.outputWidth = frame.width ?? element.outputWidth\n\t\t\t\telement.outputHeight = frame.height ?? element.outputHeight\n\t\t\t}\n\n\t\t\tthis.sizeLockedChildren()\n\n\t\t\telement.draw()\n\n\t\t\treturn\n\t\t}\n\n\t\tthrow new Error(`${this.type} does not implement getTermKitElement()`)\n\t}\n\n\tprotected sizeLockedChildren() {\n\t\tconst newFrame = this.getFrame()\n\t\tfor (const child of this.children as TkBaseWidget[]) {\n\t\t\tchild.handleParentResize(newFrame)\n\t\t}\n\t}\n\n\tpublic getChildById(id?: string): BaseWidget | null {\n\t\tfor (const child of this.getChildren()) {\n\t\t\tif (child.getId() === id) {\n\t\t\t\treturn child\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic removeChild(child: BaseWidget) {\n\t\tthis.children = this.children.filter((c) => c !== child)\n\t}\n\n\tprotected handleParentResize(parentFrame: WidgetFrameCalculated): void {\n\t\tconst updatedFrame = this.getFrame()\n\t\tlet shouldSetFrame = false\n\n\t\tif (this.shouldLockHeightWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.height =\n\t\t\t\tparentFrame.height - this.frameLockDeltas.heightDelta\n\t\t}\n\n\t\tif (this.shouldLockWidthWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.width = parentFrame.width - this.frameLockDeltas.widthDelta\n\t\t}\n\n\t\tif (this.shouldLockRightWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.left =\n\t\t\t\tparentFrame.width - this.frameLockDeltas.rightDelta - updatedFrame.width\n\t\t}\n\n\t\tif (this.shouldLockBottomWithParent) {\n\t\t\tshouldSetFrame = true\n\t\t\tupdatedFrame.top =\n\t\t\t\tparentFrame.height -\n\t\t\t\tupdatedFrame.height -\n\t\t\t\tthis.frameLockDeltas.bottomDelta\n\t\t}\n\n\t\tif (shouldSetFrame) {\n\t\t\tthis.setFrame(updatedFrame)\n\t\t}\n\t}\n\n\tpublic async destroy() {\n\t\tthis.getTermKitElement()?.destroy()\n\t\tthis.getParent()?.removeChild(this as BaseWidget)\n\t}\n\n\tpublic getTermKitElement(): any | null {\n\t\treturn null\n\t}\n\n\tprotected calculateSizeLockDeltas() {\n\t\tconst frame = this.getFrame()\n\t\tconst parentFrame = this.getParent()?.getFrame()\n\n\t\tif (!parentFrame) {\n\t\t\treturn\n\t\t}\n\n\t\tlet leftDelta = 0\n\t\tlet widthDelta = 0\n\t\tlet topDelta = 0\n\t\tlet heightDelta = 0\n\t\tlet rightDelta = 0\n\t\tlet bottomDelta = 0\n\n\t\tif (this.shouldLockWidthWithParent) {\n\t\t\tleftDelta = frame.left\n\t\t\twidthDelta = parentFrame.width - frame.width\n\t\t}\n\n\t\tif (this.shouldLockHeightWithParent) {\n\t\t\ttopDelta = frame.top\n\t\t\theightDelta = parentFrame.height - frame.height\n\t\t}\n\n\t\tif (this.shouldLockRightWithParent) {\n\t\t\trightDelta = frame.left + frame.width - parentFrame.width\n\t\t}\n\n\t\tif (this.shouldLockBottomWithParent) {\n\t\t\tbottomDelta = parentFrame.height - (frame.top + frame.height)\n\t\t}\n\n\t\tthis.frameLockDeltas = {\n\t\t\tleftDelta,\n\t\t\twidthDelta,\n\t\t\ttopDelta,\n\t\t\theightDelta,\n\t\t\trightDelta,\n\t\t\tbottomDelta,\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ import ErrorWriter from '../features/error/writers/ErrorWriter';
6
6
  import EventWriter from '../features/event/writers/EventWriter';
7
7
  import LogWriter from '../features/log/writers/LogWriter';
8
8
  import NodeWriter from '../features/node/writers/NodeWriter';
9
+ import PolishWriter from '../features/polish/writers/PolishWriter';
9
10
  import SandboxWriter from '../features/sandbox/writers/SandboxWriter';
10
11
  import SchemaWriter from '../features/schema/writers/SchemaWriter';
11
12
  import SkillGenerator from '../features/skill/writers/SkillWriter';
@@ -31,6 +32,7 @@ export interface WriterMap {
31
32
  store: StoreWriter;
32
33
  view: ViewWriter;
33
34
  log: LogWriter;
35
+ polish: PolishWriter;
34
36
  }
35
37
  export declare type WriterCode = keyof WriterMap;
36
38
  export default class WriterFactory {