@sprucelabs/spruce-cli 15.2.24 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/.spruce/errors/errors.types.js.map +1 -1
  3. package/build/.spruce/errors/options.types.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  45. package/build/.spruce/events/events.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  52. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  70. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  71. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  112. package/build/.spruce/skill.types.js.map +1 -1
  113. package/build/GlobalEmitter.js.map +1 -1
  114. package/build/InFlightEntertainment.js.map +1 -1
  115. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  116. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  119. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  121. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  123. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  124. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  125. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  126. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  127. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  129. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  130. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  131. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  132. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  133. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  134. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  136. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  138. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  139. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  140. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  141. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  142. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  143. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  144. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  145. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  146. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  147. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  148. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  149. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  150. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  151. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  152. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  153. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  155. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  156. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  159. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  160. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  161. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  162. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  163. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  164. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  165. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  166. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  167. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  168. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  169. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  171. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  172. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  173. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  174. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  175. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  176. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  177. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  178. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  179. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  180. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  181. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
  182. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
  183. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  184. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  187. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  188. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  190. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  191. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  192. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  193. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  194. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  195. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  196. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  197. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  198. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  199. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  200. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  201. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  202. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  203. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  204. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  205. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  206. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  207. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  208. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  209. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  210. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  211. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  212. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  213. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  214. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  216. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  217. package/build/__tests__/implementation/EventStore.test.js +61 -33
  218. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  219. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  220. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  221. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  222. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  223. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  224. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  225. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  226. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  227. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  228. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  229. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  230. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  231. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  232. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  233. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  234. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  235. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  236. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  237. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  238. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  239. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  240. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  241. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  242. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  243. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  244. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  245. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  246. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  247. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  248. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  249. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  250. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  251. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  252. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  253. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  254. package/build/addons/filePrompt.addon.js.map +1 -1
  255. package/build/cli.js.map +1 -1
  256. package/build/components/AbstractComponent.js.map +1 -1
  257. package/build/components/FormComponent.js.map +1 -1
  258. package/build/components/QuizComponent.js.map +1 -1
  259. package/build/constants.js.map +1 -1
  260. package/build/errors/SpruceError.js.map +1 -1
  261. package/build/errors/actionCancelled.builder.js.map +1 -1
  262. package/build/errors/bootError.builder.js.map +1 -1
  263. package/build/errors/buildFailed.builder.js.map +1 -1
  264. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  265. package/build/errors/commandAborted.builder.js.map +1 -1
  266. package/build/errors/commandBlocked.builder.js.map +1 -1
  267. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  268. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  269. package/build/errors/dependencyExists.builder.js.map +1 -1
  270. package/build/errors/deployFailed.builder.js.map +1 -1
  271. package/build/errors/directoryEmpty.builder.js.map +1 -1
  272. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  273. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  274. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  275. package/build/errors/failedToImport.builder.js.map +1 -1
  276. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  277. package/build/errors/fileExists.builder.js.map +1 -1
  278. package/build/errors/generic.builder.js.map +1 -1
  279. package/build/errors/invalidCommand.builder.js.map +1 -1
  280. package/build/errors/invalidEventContract.builder.js.map +1 -1
  281. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  282. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  283. package/build/errors/lintFailed.builder.js.map +1 -1
  284. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  285. package/build/errors/missingDependencies.builder.js.map +1 -1
  286. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  287. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  288. package/build/errors/notImplemented.builder.js.map +1 -1
  289. package/build/errors/notLoggedIn.builder.js.map +1 -1
  290. package/build/errors/schemaExists.builder.js.map +1 -1
  291. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  292. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  293. package/build/errors/skillNotFound.builder.js.map +1 -1
  294. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  295. package/build/errors/skillViewExists.builder.js.map +1 -1
  296. package/build/errors/storeExists.builder.js.map +1 -1
  297. package/build/errors/testFailed.builder.js.map +1 -1
  298. package/build/errors/themeExists.builder.js.map +1 -1
  299. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  300. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  301. package/build/features/AbstractAction.js.map +1 -1
  302. package/build/features/AbstractFeature.js.map +1 -1
  303. package/build/features/ActionExecuter.js.map +1 -1
  304. package/build/features/ActionFactory.js.map +1 -1
  305. package/build/features/ActionQuestionAsker.js.map +1 -1
  306. package/build/features/FeatureCommandAttacher.js.map +1 -1
  307. package/build/features/FeatureInstaller.js.map +1 -1
  308. package/build/features/FeatureInstallerFactory.js.map +1 -1
  309. package/build/features/OverrideActionDecorator.js.map +1 -1
  310. package/build/features/cache/CacheFeature.js.map +1 -1
  311. package/build/features/cache/actions/DisableAction.js.map +1 -1
  312. package/build/features/cache/actions/EnableAction.js.map +1 -1
  313. package/build/features/cache/constants.js.map +1 -1
  314. package/build/features/conversation/ConversationFeature.js.map +1 -1
  315. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  316. package/build/features/conversation/actions/TestAction.js.map +1 -1
  317. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  318. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  319. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  320. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  321. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  322. package/build/features/deploy/DeployFeature.js.map +1 -1
  323. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  324. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  325. package/build/features/error/ErrorFeature.js.map +1 -1
  326. package/build/features/error/ParentTestFinder.js.map +1 -1
  327. package/build/features/error/actions/CreateAction.js.map +1 -1
  328. package/build/features/error/actions/SyncAction.js.map +1 -1
  329. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  330. package/build/features/event/EventFeature.js.map +1 -1
  331. package/build/features/event/actions/CreateAction.js.map +1 -1
  332. package/build/features/event/actions/ListenAction.js.map +1 -1
  333. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  334. package/build/features/event/actions/SyncAction.js.map +1 -1
  335. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  336. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  337. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  338. package/build/features/event/services/EventSettingsService.js.map +1 -1
  339. package/build/features/event/services/RemoteService.js.map +1 -1
  340. package/build/features/event/stores/EventStore.d.ts +1 -0
  341. package/build/features/event/stores/EventStore.js +6 -1
  342. package/build/features/event/stores/EventStore.js.map +1 -1
  343. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  344. package/build/features/event/stores/ListenerStore.js +6 -1
  345. package/build/features/event/stores/ListenerStore.js.map +1 -1
  346. package/build/features/event/writers/EventWriter.js +1 -1
  347. package/build/features/event/writers/EventWriter.js.map +1 -1
  348. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  349. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  350. package/build/features/feature.utilities.js.map +1 -1
  351. package/build/features/features.types.js.map +1 -1
  352. package/build/features/log/LogFeature.js.map +1 -1
  353. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  354. package/build/features/log/writers/LogWriter.js.map +1 -1
  355. package/build/features/node/NodeFeature.js.map +1 -1
  356. package/build/features/node/actions/CreateAction.js.map +1 -1
  357. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  358. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  359. package/build/features/node/writers/NodeWriter.js.map +1 -1
  360. package/build/features/onboard/OnboardFeature.js.map +1 -1
  361. package/build/features/onboard/ScriptLoader.js.map +1 -1
  362. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  363. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  364. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  365. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  366. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  367. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  368. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  369. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  370. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  371. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  372. package/build/features/organization/OrganizationFeature.js.map +1 -1
  373. package/build/features/organization/actions/CreateAction.js.map +1 -1
  374. package/build/features/organization/actions/InstallAction.js.map +1 -1
  375. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  376. package/build/features/person/PersonFeature.js.map +1 -1
  377. package/build/features/person/actions/LoginAction.js.map +1 -1
  378. package/build/features/person/actions/LogoutAction.js.map +1 -1
  379. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  380. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  381. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  382. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  383. package/build/features/schema/SchemaFeature.js.map +1 -1
  384. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  385. package/build/features/schema/actions/CreateAction.js.map +1 -1
  386. package/build/features/schema/actions/SyncAction.js.map +1 -1
  387. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  388. package/build/features/schema/services/SchemaService.js.map +1 -1
  389. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  390. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  391. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  392. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  393. package/build/features/schema/writers/SchemaWriter.js +1 -1
  394. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  395. package/build/features/skill/SkillFeature.js.map +1 -1
  396. package/build/features/skill/actions/BootAction.js.map +1 -1
  397. package/build/features/skill/actions/CreateAction.js.map +1 -1
  398. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  399. package/build/features/skill/actions/LoginAction.js.map +1 -1
  400. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  401. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  402. package/build/features/skill/stores/SkillStore.js.map +1 -1
  403. package/build/features/skill/updaters/Updater.js.map +1 -1
  404. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  405. package/build/features/store/StoreFeature.js +1 -1
  406. package/build/features/store/StoreFeature.js.map +1 -1
  407. package/build/features/store/actions/CreateAction.js.map +1 -1
  408. package/build/features/store/actions/SyncAction.js.map +1 -1
  409. package/build/features/store/stores/StoreStore.d.ts +1 -0
  410. package/build/features/store/stores/StoreStore.js +6 -1
  411. package/build/features/store/stores/StoreStore.js.map +1 -1
  412. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  413. package/build/features/store/writers/StoreWriter.js.map +1 -1
  414. package/build/features/test/TestFeature.js.map +1 -1
  415. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  416. package/build/features/test/TestReporter.js.map +1 -1
  417. package/build/features/test/TestRunner.js.map +1 -1
  418. package/build/features/test/actions/CreateAction.js +1 -1
  419. package/build/features/test/actions/CreateAction.js.map +1 -1
  420. package/build/features/test/actions/SetupAction.js.map +1 -1
  421. package/build/features/test/actions/TestAction.js.map +1 -1
  422. package/build/features/test/test.types.js.map +1 -1
  423. package/build/features/test/writers/TestWriter.js.map +1 -1
  424. package/build/features/universalDevDependencies.js.map +1 -1
  425. package/build/features/universalFileDescriptions.js.map +1 -1
  426. package/build/features/universalScripts.js.map +1 -1
  427. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  428. package/build/features/validateAndNormalize.utility.js +2 -2
  429. package/build/features/validateAndNormalize.utility.js.map +1 -1
  430. package/build/features/view/ViewFeature.js.map +1 -1
  431. package/build/features/view/actions/CreateAction.js.map +1 -1
  432. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  433. package/build/features/view/actions/SyncAction.js.map +1 -1
  434. package/build/features/view/actions/WatchAction.js.map +1 -1
  435. package/build/features/view/stores/ViewStore.js.map +1 -1
  436. package/build/features/view/writers/ViewWriter.js +1 -3
  437. package/build/features/view/writers/ViewWriter.js.map +1 -1
  438. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  439. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  440. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  441. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  442. package/build/features/watch/WatchFeature.js.map +1 -1
  443. package/build/index.js.map +1 -1
  444. package/build/interfaces/SpyInterface.js.map +1 -1
  445. package/build/interfaces/TerminalInterface.js.map +1 -1
  446. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  447. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  448. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  449. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  450. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  451. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  452. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  453. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  454. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  455. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  456. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  457. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  458. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  459. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  460. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  461. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  462. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  463. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  464. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  465. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  466. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  467. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  468. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  469. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  470. package/build/services/BuildService.js.map +1 -1
  471. package/build/services/CommandService.js.map +1 -1
  472. package/build/services/DependencyService.js.map +1 -1
  473. package/build/services/GameService.js.map +1 -1
  474. package/build/services/ImportService.js.map +1 -1
  475. package/build/services/LintService.js.map +1 -1
  476. package/build/services/PkgService.js.map +1 -1
  477. package/build/services/ServiceFactory.js.map +1 -1
  478. package/build/services/TypeCheckerService.js.map +1 -1
  479. package/build/stores/AbstractLocalStore.js.map +1 -1
  480. package/build/stores/AbstractStore.js.map +1 -1
  481. package/build/stores/StoreFactory.js.map +1 -1
  482. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  483. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  484. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  485. package/build/tests/AbstractCliTest.js.map +1 -1
  486. package/build/tests/AbstractErrorTest.js.map +1 -1
  487. package/build/tests/AbstractEventTest.js.map +1 -1
  488. package/build/tests/AbstractSchemaTest.js.map +1 -1
  489. package/build/tests/AbstractSkillTest.js.map +1 -1
  490. package/build/tests/AbstractTestTest.js.map +1 -1
  491. package/build/tests/CommandFaker.d.ts +2 -1
  492. package/build/tests/CommandFaker.js +13 -7
  493. package/build/tests/CommandFaker.js.map +1 -1
  494. package/build/tests/JestJsonParser.js.map +1 -1
  495. package/build/tests/MockProgramFactory.js.map +1 -1
  496. package/build/tests/buildTestCache.js.map +1 -1
  497. package/build/tests/cleanTestCache.js.map +1 -1
  498. package/build/tests/cleanTestData.js.map +1 -1
  499. package/build/tests/constants.js.map +1 -1
  500. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  501. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  502. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  503. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  504. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  505. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  506. package/build/tests/utilities/test.utility.js.map +1 -1
  507. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  508. package/build/types/apiClient.types.js.map +1 -1
  509. package/build/types/cli.types.js.map +1 -1
  510. package/build/types/graphicsInterface.types.js.map +1 -1
  511. package/build/updaters/ScriptUpdater.js.map +1 -1
  512. package/build/utilities/action.utility.js.map +1 -1
  513. package/build/utilities/apiClient.utility.js.map +1 -1
  514. package/build/utilities/argParser.utility.js.map +1 -1
  515. package/build/utilities/commander.utility.js.map +1 -1
  516. package/build/utilities/duration.utility.js.map +1 -1
  517. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  518. package/build/utilities/form.utility.js.map +1 -1
  519. package/build/utilities/introspection.utility.js.map +1 -1
  520. package/build/utilities/isCi.js.map +1 -1
  521. package/build/utilities/tsConfig.utility.js.map +1 -1
  522. package/build/utilities/ui.utility.js.map +1 -1
  523. package/build/widgets/Theme.js.map +1 -1
  524. package/build/widgets/WidgetFactory.js.map +1 -1
  525. package/build/widgets/keySelectChoices.js.map +1 -1
  526. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  527. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  528. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  529. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  530. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  531. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  532. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  533. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  534. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  535. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  536. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  537. package/build/widgets/types/button.types.js.map +1 -1
  538. package/build/widgets/types/factory.types.js.map +1 -1
  539. package/build/widgets/types/input.types.js.map +1 -1
  540. package/build/widgets/types/layout.types.js.map +1 -1
  541. package/build/widgets/types/menuBar.types.js.map +1 -1
  542. package/build/widgets/types/popup.types.js.map +1 -1
  543. package/build/widgets/types/progressBar.types.js.map +1 -1
  544. package/build/widgets/types/table.types.js.map +1 -1
  545. package/build/widgets/types/text.types.js.map +1 -1
  546. package/build/widgets/types/widgets.types.js.map +1 -1
  547. package/build/widgets/types/window.types.js.map +1 -1
  548. package/build/widgets/widget.utilities.js.map +1 -1
  549. package/build/writers/AbstractWriter.js.map +1 -1
  550. package/build/writers/WriterFactory.js.map +1 -1
  551. package/package.json +36 -36
  552. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
  553. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  554. package/src/__tests__/implementation/EventStore.test.ts +14 -0
  555. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  556. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  557. package/src/features/AbstractAction.ts +2 -2
  558. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  559. package/src/features/event/stores/EventStore.ts +11 -8
  560. package/src/features/event/stores/ListenerStore.ts +5 -3
  561. package/src/features/event/writers/EventWriter.ts +1 -1
  562. package/src/features/schema/writers/SchemaWriter.ts +1 -1
  563. package/src/features/store/StoreFeature.ts +1 -1
  564. package/src/features/store/stores/StoreStore.ts +5 -1
  565. package/src/features/test/actions/CreateAction.ts +1 -1
  566. package/src/features/validateAndNormalize.utility.ts +2 -2
  567. package/src/features/view/writers/ViewWriter.ts +3 -2
  568. package/src/tests/CommandFaker.ts +9 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/terminalKit/TkMenuBarWidget.ts"],"names":["termKit","terminal_kit","TkMenuBarWidget","options","frame","termKitUtil","buildFrame","parent","items","mapItemsToTkItems","menu","DropDownMenu","getTermKitElement","separator","backgroundAttr","bgColor","color","buttonBlurAttr","buttonFocusAttr","separatorAttr","calculateSizeLockDeltas","__widget","on","handleMenuSubmit","bind","value","text","buttonItem","getButtonByValue","buttons","itemsDef","item","subItem","content","buildItemText","Error","setContent","button","def","clearColumnMenu","emit","map","label","topSubmit","length","undefined","TkBaseWidget"],"mappings":"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","sourcesContent":["import terminal_kit from 'terminal-kit'\nconst termKit = terminal_kit as any\nimport {\n\tMenuBarWidget,\n\tMenuBarWidgetItem,\n\tMenuBarWidgetOptions,\n} from '../types/menuBar.types'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\n\nexport default class TkMenuBarWidget\n\textends TkBaseWidget\n\timplements MenuBarWidget\n{\n\tpublic readonly type = 'menuBar'\n\n\tprivate menu: any\n\n\tpublic constructor(options: TkWidgetOptions & MenuBarWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst frame = termKitUtil.buildFrame(options, options.parent)\n\t\tconst items = this.mapItemsToTkItems(options.items)\n\n\t\tthis.menu = new termKit.DropDownMenu({\n\t\t\tparent: options.parent.getTermKitElement(),\n\t\t\tseparator: '|',\n\t\t\titems,\n\t\t\tbackgroundAttr: { bgColor: 'black', color: 'white' },\n\t\t\tbuttonBlurAttr: { bgColor: 'black', color: 'yellow' },\n\t\t\tbuttonFocusAttr: { bgColor: 'yellow', color: 'black' },\n\t\t\tseparatorAttr: { bgColor: 'black', color: 'yellow' },\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.calculateSizeLockDeltas()\n\n\t\tthis.menu.__widget = this\n\t\tthis.menu.on('submit', this.handleMenuSubmit.bind(this))\n\t}\n\n\tpublic setTextForItem(value: string, text: string): void {\n\t\tlet buttonItem = this.getButtonByValue(value, this.menu.buttons)\n\n\t\tif (!buttonItem) {\n\t\t\tfor (const item of this.menu.itemsDef) {\n\t\t\t\tfor (const subItem of item.items ?? []) {\n\t\t\t\t\tif (subItem.value === value) {\n\t\t\t\t\t\tsubItem.content = this.buildItemText(text)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!buttonItem) {\n\t\t\tthrow new Error(`No menu item with value of ${value}`)\n\t\t}\n\n\t\tbuttonItem.setContent(this.buildItemText(text), true)\n\t}\n\n\tprivate getButtonByValue(value: string, buttons: any[]) {\n\t\tlet button: any\n\t\tfor (const button of buttons) {\n\t\t\tif (button.def.value === value) {\n\t\t\t\treturn button\n\t\t\t}\n\t\t}\n\n\t\treturn button\n\t}\n\n\tprivate handleMenuSubmit(value: string) {\n\t\tthis.menu.clearColumnMenu()\n\t\tvoid (this as MenuBarWidget).emit('select', { value })\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.menu\n\t}\n\n\tprivate mapItemsToTkItems(items: MenuBarWidgetItem[]): any {\n\t\treturn items.map((item) => ({\n\t\t\tvalue: item.value,\n\t\t\tcontent: this.buildItemText(item.label),\n\t\t\ttopSubmit: !item.items || item.items.length === 0,\n\t\t\titems: item.items ? this.mapItemsToTkItems(item.items) : undefined,\n\t\t}))\n\t}\n\n\tprivate buildItemText(text: string): string {\n\t\treturn ` ${text} `\n\t}\n}\n"],"file":"TkMenuBarWidget.js"}
1
+ {"version":3,"file":"TkMenuBarWidget.js","names":["termKit","terminal_kit","TkMenuBarWidget","options","frame","termKitUtil","buildFrame","parent","items","mapItemsToTkItems","menu","DropDownMenu","getTermKitElement","separator","backgroundAttr","bgColor","color","buttonBlurAttr","buttonFocusAttr","separatorAttr","calculateSizeLockDeltas","__widget","on","handleMenuSubmit","bind","value","text","buttonItem","getButtonByValue","buttons","itemsDef","item","subItem","content","buildItemText","Error","setContent","button","def","clearColumnMenu","emit","map","label","topSubmit","length","undefined","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkMenuBarWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nconst termKit = terminal_kit as any\nimport {\n\tMenuBarWidget,\n\tMenuBarWidgetItem,\n\tMenuBarWidgetOptions,\n} from '../types/menuBar.types'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\n\nexport default class TkMenuBarWidget\n\textends TkBaseWidget\n\timplements MenuBarWidget\n{\n\tpublic readonly type = 'menuBar'\n\n\tprivate menu: any\n\n\tpublic constructor(options: TkWidgetOptions & MenuBarWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst frame = termKitUtil.buildFrame(options, options.parent)\n\t\tconst items = this.mapItemsToTkItems(options.items)\n\n\t\tthis.menu = new termKit.DropDownMenu({\n\t\t\tparent: options.parent.getTermKitElement(),\n\t\t\tseparator: '|',\n\t\t\titems,\n\t\t\tbackgroundAttr: { bgColor: 'black', color: 'white' },\n\t\t\tbuttonBlurAttr: { bgColor: 'black', color: 'yellow' },\n\t\t\tbuttonFocusAttr: { bgColor: 'yellow', color: 'black' },\n\t\t\tseparatorAttr: { bgColor: 'black', color: 'yellow' },\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.calculateSizeLockDeltas()\n\n\t\tthis.menu.__widget = this\n\t\tthis.menu.on('submit', this.handleMenuSubmit.bind(this))\n\t}\n\n\tpublic setTextForItem(value: string, text: string): void {\n\t\tlet buttonItem = this.getButtonByValue(value, this.menu.buttons)\n\n\t\tif (!buttonItem) {\n\t\t\tfor (const item of this.menu.itemsDef) {\n\t\t\t\tfor (const subItem of item.items ?? []) {\n\t\t\t\t\tif (subItem.value === value) {\n\t\t\t\t\t\tsubItem.content = this.buildItemText(text)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!buttonItem) {\n\t\t\tthrow new Error(`No menu item with value of ${value}`)\n\t\t}\n\n\t\tbuttonItem.setContent(this.buildItemText(text), true)\n\t}\n\n\tprivate getButtonByValue(value: string, buttons: any[]) {\n\t\tlet button: any\n\t\tfor (const button of buttons) {\n\t\t\tif (button.def.value === value) {\n\t\t\t\treturn button\n\t\t\t}\n\t\t}\n\n\t\treturn button\n\t}\n\n\tprivate handleMenuSubmit(value: string) {\n\t\tthis.menu.clearColumnMenu()\n\t\tvoid (this as MenuBarWidget).emit('select', { value })\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.menu\n\t}\n\n\tprivate mapItemsToTkItems(items: MenuBarWidgetItem[]): any {\n\t\treturn items.map((item) => ({\n\t\t\tvalue: item.value,\n\t\t\tcontent: this.buildItemText(item.label),\n\t\t\ttopSubmit: !item.items || item.items.length === 0,\n\t\t\titems: item.items ? this.mapItemsToTkItems(item.items) : undefined,\n\t\t}))\n\t}\n\n\tprivate buildItemText(text: string): string {\n\t\treturn ` ${text} `\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/terminalKit/TkPopupWidget.ts"],"names":["termKit","terminal_kit","TkPopupWidget","options","shouldLockHeightWithParent","shouldLockWidthWithParent","parent","rest","frame","termKitUtil","buildFrame","popup","Window","getTermKitElement","undefined","movable","__widget","left","outputDst","x","top","y","width","inputWidth","height","inputHeight","TkBaseWidget"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAGC,uBAAhB;;IAEqBC,a;;;;;AAKpB,yBACCC,OADD,EAEE;AAAA;;AAAA;AACD;AACCC,MAAAA,0BAA0B,EAAE,IAD7B;AAECC,MAAAA,yBAAyB,EAAE;AAF5B,OAGIF,OAHJ;AADC;AAAA,6FAJqB,OAIrB;AAOD,QAAQG,MAAR,GAA4BH,OAA5B,CAAQG,MAAR;AAAA,QAAmBC,IAAnB,6CAA4BJ,OAA5B;;AAEA,QAAMK,KAAK,GAAGC,oBAAYC,UAAZ,CAAuBP,OAAvB,EAAgCG,MAAhC,CAAd;;AAEA,UAAKK,KAAL,GAAa,IAAIX,OAAO,CAACY,MAAZ;AACZN,MAAAA,MAAM,EAAEA,MAAM,GAAGA,MAAM,CAACO,iBAAP,EAAH,GAAgCC,SADlC;AAEZC,MAAAA,OAAO,EAAE;AAFG,OAGTR,IAHS,GAITC,KAJS,EAAb;AAOA,UAAKG,KAAL,CAAWK,QAAX;AAlBC;AAmBD;;;;WAED,6BAA2B;AAC1B,aAAO,KAAKL,KAAZ;AACA;;;WAED,oBAAkB;AACjB,aAAO;AACNM,QAAAA,IAAI,EAAE,KAAKN,KAAL,CAAWO,SAAX,CAAqBC,CADrB;AAENC,QAAAA,GAAG,EAAE,KAAKT,KAAL,CAAWO,SAAX,CAAqBG,CAFpB;AAGNC,QAAAA,KAAK,EAAE,KAAKX,KAAL,CAAWY,UAHZ;AAINC,QAAAA,MAAM,EAAE,KAAKb,KAAL,CAAWc;AAJb,OAAP;AAMA;;;EAvCyCC,yB","sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { PopupWidget, PopupWidgetOptions } from '../types/popup.types'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkPopupWidget extends TkBaseWidget implements PopupWidget {\n\tprivate popup: any\n\n\tpublic readonly type = 'popup'\n\n\tpublic constructor(\n\t\toptions: TkWidgetOptions & PopupWidgetOptions & { termKitElement: any }\n\t) {\n\t\tsuper({\n\t\t\tshouldLockHeightWithParent: true,\n\t\t\tshouldLockWidthWithParent: true,\n\t\t\t...options,\n\t\t})\n\n\t\tconst { parent, ...rest } = options\n\n\t\tconst frame = termKitUtil.buildFrame(options, parent)\n\n\t\tthis.popup = new termKit.Window({\n\t\t\tparent: parent ? parent.getTermKitElement() : undefined,\n\t\t\tmovable: true,\n\t\t\t...rest,\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.popup.__widget = this\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.popup\n\t}\n\n\tpublic getFrame() {\n\t\treturn {\n\t\t\tleft: this.popup.outputDst.x,\n\t\t\ttop: this.popup.outputDst.y,\n\t\t\twidth: this.popup.inputWidth,\n\t\t\theight: this.popup.inputHeight,\n\t\t}\n\t}\n}\n"],"file":"TkPopupWidget.js"}
1
+ {"version":3,"file":"TkPopupWidget.js","names":["termKit","terminal_kit","TkPopupWidget","options","shouldLockHeightWithParent","shouldLockWidthWithParent","parent","rest","frame","termKitUtil","buildFrame","popup","Window","getTermKitElement","undefined","movable","__widget","left","outputDst","x","top","y","width","inputWidth","height","inputHeight","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkPopupWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { PopupWidget, PopupWidgetOptions } from '../types/popup.types'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkPopupWidget extends TkBaseWidget implements PopupWidget {\n\tprivate popup: any\n\n\tpublic readonly type = 'popup'\n\n\tpublic constructor(\n\t\toptions: TkWidgetOptions & PopupWidgetOptions & { termKitElement: any }\n\t) {\n\t\tsuper({\n\t\t\tshouldLockHeightWithParent: true,\n\t\t\tshouldLockWidthWithParent: true,\n\t\t\t...options,\n\t\t})\n\n\t\tconst { parent, ...rest } = options\n\n\t\tconst frame = termKitUtil.buildFrame(options, parent)\n\n\t\tthis.popup = new termKit.Window({\n\t\t\tparent: parent ? parent.getTermKitElement() : undefined,\n\t\t\tmovable: true,\n\t\t\t...rest,\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.popup.__widget = this\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.popup\n\t}\n\n\tpublic getFrame() {\n\t\treturn {\n\t\t\tleft: this.popup.outputDst.x,\n\t\t\ttop: this.popup.outputDst.y,\n\t\t\twidth: this.popup.inputWidth,\n\t\t\theight: this.popup.inputHeight,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAGC,uBAAhB;;IAEqBC,a;;;;;EAKpB,uBACCC,OADD,EAEE;IAAA;;IAAA;IACD;MACCC,0BAA0B,EAAE,IAD7B;MAECC,yBAAyB,EAAE;IAF5B,GAGIF,OAHJ;IADC;IAAA,yFAJqB,OAIrB;IAOD,IAAQG,MAAR,GAA4BH,OAA5B,CAAQG,MAAR;IAAA,IAAmBC,IAAnB,6CAA4BJ,OAA5B;;IAEA,IAAMK,KAAK,GAAGC,oBAAYC,UAAZ,CAAuBP,OAAvB,EAAgCG,MAAhC,CAAd;;IAEA,MAAKK,KAAL,GAAa,IAAIX,OAAO,CAACY,MAAZ;MACZN,MAAM,EAAEA,MAAM,GAAGA,MAAM,CAACO,iBAAP,EAAH,GAAgCC,SADlC;MAEZC,OAAO,EAAE;IAFG,GAGTR,IAHS,GAITC,KAJS,EAAb;IAOA,MAAKG,KAAL,CAAWK,QAAX;IAlBC;EAmBD;;;;WAED,6BAA2B;MAC1B,OAAO,KAAKL,KAAZ;IACA;;;WAED,oBAAkB;MACjB,OAAO;QACNM,IAAI,EAAE,KAAKN,KAAL,CAAWO,SAAX,CAAqBC,CADrB;QAENC,GAAG,EAAE,KAAKT,KAAL,CAAWO,SAAX,CAAqBG,CAFpB;QAGNC,KAAK,EAAE,KAAKX,KAAL,CAAWY,UAHZ;QAINC,MAAM,EAAE,KAAKb,KAAL,CAAWc;MAJb,CAAP;IAMA;;;EAvCyCC,yB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/terminalKit/TkProgressBarWidget.ts"],"names":["termKit","terminal_kit","TkProgressBarWidget","options","parent","label","left","top","progress","barOptions","bar","Bar","getTermKitElement","content","undefined","x","y","barChars","bodyAttr","bgColor","dim","color","overTextFullAttr","overTextEmptyAttr","value","__widget","calculateSizeLockDeltas","setValue","setContent","TkBaseWidget"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAGC,uBAAhB;;IAEqBC,mB;;;;;AAQpB,+BAAmBC,OAAnB,EAAwE;AAAA;;AAAA;AACvE,8BAAMA,OAAN;AADuE,6FAJjD,aAIiD;AAAA;AAGvE,QAAQC,MAAR,GAA8DD,OAA9D,CAAQC,MAAR;AAAA,QAAgBC,KAAhB,GAA8DF,OAA9D,CAAgBE,KAAhB;AAAA,QAAuBC,IAAvB,GAA8DH,OAA9D,CAAuBG,IAAvB;AAAA,QAA6BC,GAA7B,GAA8DJ,OAA9D,CAA6BI,GAA7B;AAAA,QAAkCC,QAAlC,GAA8DL,OAA9D,CAAkCK,QAAlC;AAAA,QAA+CC,UAA/C,6CAA8DN,OAA9D;AAEA,UAAKO,GAAL,GAAW,IAAIV,OAAO,CAACW,GAAZ;AACVP,MAAAA,MAAM,EAAEA,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEQ,iBAAR,EADE;AAEVC,MAAAA,OAAO,EAAER,KAAK,cAAOA,KAAP,IAAiBS,SAFrB;AAGVC,MAAAA,CAAC,EAAET,IAHO;AAIVU,MAAAA,CAAC,EAAET,GAJO;AAKVU,MAAAA,QAAQ,EAAE,OALA;AAMVC,MAAAA,QAAQ,EAAE;AAAEC,QAAAA,OAAO,EAAE,QAAX;AAAqBC,QAAAA,GAAG,EAAE,KAA1B;AAAiCC,QAAAA,KAAK,EAAE;AAAxC,OANA;AAOVC,MAAAA,gBAAgB,EAAE;AAAEH,QAAAA,OAAO,EAAE,QAAX;AAAqBE,QAAAA,KAAK,EAAE,OAA5B;AAAqCD,QAAAA,GAAG,EAAE;AAA1C,OAPR;AAQVG,MAAAA,iBAAiB,EAAE;AAAEJ,QAAAA,OAAO,EAAE,QAAX;AAAqBE,QAAAA,KAAK,EAAE,OAA5B;AAAqCD,QAAAA,GAAG,EAAE;AAA1C,OART;AASVI,MAAAA,KAAK,EAAEhB;AATG,OAUPC,UAVO,EAAX;AAaA,UAAKC,GAAL,CAASe,QAAT;;AACA,UAAKC,uBAAL;;AAnBuE;AAoBvE;;;;WAED,qBAAmBlB,QAAnB,EAA2C;AAC1C,WAAKE,GAAL,CAASiB,QAAT,CAAkBnB,QAAlB;AACA;;;WAED,kBAAgBH,KAAhB,EAAsC;AACrC,WAAKK,GAAL,CAASkB,UAAT,CAAoBvB,KAAK,cAAOA,KAAP,IAAiB,EAA1C;AACA;;;WAED,6BAA2B;AAC1B,aAAO,KAAKK,GAAZ;AACA;;;EAvCOmB,yB","sourcesContent":["import terminal_kit from 'terminal-kit'\nimport {\n\tProgressBarWidget,\n\tProgressBarWidgetOptions,\n} from '../types/progressBar.types'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkProgressBarWidget\n\textends TkBaseWidget\n\timplements ProgressBarWidget\n{\n\tpublic readonly type = 'progressBar'\n\n\tprivate bar: any\n\n\tpublic constructor(options: TkWidgetOptions & ProgressBarWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst { parent, label, left, top, progress, ...barOptions } = options\n\n\t\tthis.bar = new termKit.Bar({\n\t\t\tparent: parent?.getTermKitElement(),\n\t\t\tcontent: label ? ` ${label}` : undefined,\n\t\t\tx: left,\n\t\t\ty: top,\n\t\t\tbarChars: 'solid',\n\t\t\tbodyAttr: { bgColor: 'yellow', dim: false, color: 'yellow' },\n\t\t\toverTextFullAttr: { bgColor: 'yellow', color: 'black', dim: false },\n\t\t\toverTextEmptyAttr: { bgColor: 'yellow', color: 'black', dim: false },\n\t\t\tvalue: progress,\n\t\t\t...barOptions,\n\t\t})\n\n\t\tthis.bar.__widget = this\n\t\tthis.calculateSizeLockDeltas()\n\t}\n\n\tpublic setProgress(progress: number): void {\n\t\tthis.bar.setValue(progress)\n\t}\n\n\tpublic setLabel(label?: string): void {\n\t\tthis.bar.setContent(label ? ` ${label}` : '')\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.bar\n\t}\n}\n"],"file":"TkProgressBarWidget.js"}
1
+ {"version":3,"file":"TkProgressBarWidget.js","names":["termKit","terminal_kit","TkProgressBarWidget","options","parent","label","left","top","progress","barOptions","bar","Bar","getTermKitElement","content","undefined","x","y","barChars","bodyAttr","bgColor","dim","color","overTextFullAttr","overTextEmptyAttr","value","__widget","calculateSizeLockDeltas","setValue","setContent","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkProgressBarWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport {\n\tProgressBarWidget,\n\tProgressBarWidgetOptions,\n} from '../types/progressBar.types'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkProgressBarWidget\n\textends TkBaseWidget\n\timplements ProgressBarWidget\n{\n\tpublic readonly type = 'progressBar'\n\n\tprivate bar: any\n\n\tpublic constructor(options: TkWidgetOptions & ProgressBarWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst { parent, label, left, top, progress, ...barOptions } = options\n\n\t\tthis.bar = new termKit.Bar({\n\t\t\tparent: parent?.getTermKitElement(),\n\t\t\tcontent: label ? ` ${label}` : undefined,\n\t\t\tx: left,\n\t\t\ty: top,\n\t\t\tbarChars: 'solid',\n\t\t\tbodyAttr: { bgColor: 'yellow', dim: false, color: 'yellow' },\n\t\t\toverTextFullAttr: { bgColor: 'yellow', color: 'black', dim: false },\n\t\t\toverTextEmptyAttr: { bgColor: 'yellow', color: 'black', dim: false },\n\t\t\tvalue: progress,\n\t\t\t...barOptions,\n\t\t})\n\n\t\tthis.bar.__widget = this\n\t\tthis.calculateSizeLockDeltas()\n\t}\n\n\tpublic setProgress(progress: number): void {\n\t\tthis.bar.setValue(progress)\n\t}\n\n\tpublic setLabel(label?: string): void {\n\t\tthis.bar.setContent(label ? ` ${label}` : '')\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.bar\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAGC,uBAAhB;;IAEqBC,mB;;;;;EAQpB,6BAAmBC,OAAnB,EAAwE;IAAA;;IAAA;IACvE,0BAAMA,OAAN;IADuE,yFAJjD,aAIiD;IAAA;IAGvE,IAAQC,MAAR,GAA8DD,OAA9D,CAAQC,MAAR;IAAA,IAAgBC,KAAhB,GAA8DF,OAA9D,CAAgBE,KAAhB;IAAA,IAAuBC,IAAvB,GAA8DH,OAA9D,CAAuBG,IAAvB;IAAA,IAA6BC,GAA7B,GAA8DJ,OAA9D,CAA6BI,GAA7B;IAAA,IAAkCC,QAAlC,GAA8DL,OAA9D,CAAkCK,QAAlC;IAAA,IAA+CC,UAA/C,6CAA8DN,OAA9D;IAEA,MAAKO,GAAL,GAAW,IAAIV,OAAO,CAACW,GAAZ;MACVP,MAAM,EAAEA,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEQ,iBAAR,EADE;MAEVC,OAAO,EAAER,KAAK,cAAOA,KAAP,IAAiBS,SAFrB;MAGVC,CAAC,EAAET,IAHO;MAIVU,CAAC,EAAET,GAJO;MAKVU,QAAQ,EAAE,OALA;MAMVC,QAAQ,EAAE;QAAEC,OAAO,EAAE,QAAX;QAAqBC,GAAG,EAAE,KAA1B;QAAiCC,KAAK,EAAE;MAAxC,CANA;MAOVC,gBAAgB,EAAE;QAAEH,OAAO,EAAE,QAAX;QAAqBE,KAAK,EAAE,OAA5B;QAAqCD,GAAG,EAAE;MAA1C,CAPR;MAQVG,iBAAiB,EAAE;QAAEJ,OAAO,EAAE,QAAX;QAAqBE,KAAK,EAAE,OAA5B;QAAqCD,GAAG,EAAE;MAA1C,CART;MASVI,KAAK,EAAEhB;IATG,GAUPC,UAVO,EAAX;IAaA,MAAKC,GAAL,CAASe,QAAT;;IACA,MAAKC,uBAAL;;IAnBuE;EAoBvE;;;;WAED,qBAAmBlB,QAAnB,EAA2C;MAC1C,KAAKE,GAAL,CAASiB,QAAT,CAAkBnB,QAAlB;IACA;;;WAED,kBAAgBH,KAAhB,EAAsC;MACrC,KAAKK,GAAL,CAASkB,UAAT,CAAoBvB,KAAK,cAAOA,KAAP,IAAiB,EAA1C;IACA;;;WAED,6BAA2B;MAC1B,OAAO,KAAKK,GAAZ;IACA;;;EAvCOmB,yB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/terminalKit/TkTextWidget.ts"],"names":["termKit","terminal_kit","TkTextWidget","options","parent","text","isScrollEnabled","enableScroll","shouldAutoScrollWhenAppendingContent","rest","frame","termKitUtil","buildFrame","TextBox","getTermKitElement","undefined","scrollable","vScrollBar","hScrollBar","wordWrap","content","mapWidgetOptionsToTermKitOptions","calculateSizeLockDeltas","__widget","on","handleMouseDown","bind","position","x","y","line","split","emit","row","column","oldFrame","getFrame","newFrame","widgetUtil","setSizeAndPosition","left","top","width","height","draw","scrollDistance","getScrollY","contentHeight","textBuffer","cy","visibleHeight","textAreaHeight","maxScrollDistance","Math","max","isScrolledAllTheWay","scrollY","scrollX","getText","isLogScrolledAllTheWay","logSelection","selectionRegion","markupType","setContent","setSelectionRegion","scrollToBottom","match","exec","TkBaseWidget"],"mappings":"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","sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { TextWidget, TextWidgetOptions } from '../types/text.types'\nimport { WidgetFrame } from '../types/widgets.types'\nimport widgetUtil from '../widget.utilities'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkTextWidget extends TkBaseWidget implements TextWidget {\n\tpublic readonly type = 'text'\n\n\tprivate text: any\n\tprivate shouldAutoScrollWhenAppendingContent: boolean\n\n\tpublic constructor(options: TkWidgetOptions & TextWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst {\n\t\t\tparent,\n\t\t\ttext,\n\t\t\tisScrollEnabled: enableScroll = false,\n\t\t\tshouldAutoScrollWhenAppendingContent = true,\n\t\t\t...rest\n\t\t} = options\n\n\t\tthis.shouldAutoScrollWhenAppendingContent =\n\t\t\tshouldAutoScrollWhenAppendingContent\n\n\t\tconst frame = termKitUtil.buildFrame(options, parent)\n\n\t\tthis.text = new termKit.TextBox({\n\t\t\tparent: parent ? parent.getTermKitElement() : undefined,\n\t\t\tscrollable: enableScroll,\n\t\t\tvScrollBar: enableScroll,\n\t\t\thScrollBar: enableScroll && !rest.wordWrap,\n\t\t\tcontent: text,\n\t\t\twordWrap: true,\n\t\t\t...termKitUtil.mapWidgetOptionsToTermKitOptions(rest),\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.calculateSizeLockDeltas()\n\n\t\tthis.text.__widget = this\n\t\tthis.text.on('click', this.handleMouseDown.bind(this))\n\t}\n\n\tprivate async handleMouseDown(position: { x: number; y: number }) {\n\t\tconst { x, y } = position\n\n\t\tconst line = this.text.content.split('\\n')[y]\n\n\t\tawait (this as TextWidget).emit('click', {\n\t\t\ttext: line,\n\t\t\trow: y,\n\t\t\tcolumn: x,\n\t\t})\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.text\n\t}\n\n\tpublic setFrame(frame: WidgetFrame) {\n\t\tconst oldFrame = this.getFrame()\n\t\tconst newFrame = widgetUtil.buildFrame(frame, this.parent)\n\n\t\tthis.text.setSizeAndPosition({\n\t\t\tx: newFrame.left ?? oldFrame.left,\n\t\t\ty: newFrame.top ?? oldFrame.top,\n\t\t\twidth: newFrame.width ?? oldFrame.width,\n\t\t\theight: newFrame.height ?? oldFrame.height,\n\t\t})\n\t\tthis.text.draw()\n\t}\n\n\tpublic getText(): string {\n\t\treturn this.text.content\n\t}\n\n\tprivate isLogScrolledAllTheWay() {\n\t\tconst scrollDistance = this.getScrollY() * -1\n\t\tconst contentHeight = this.text.textBuffer.cy\n\t\tconst visibleHeight = this.text.textAreaHeight\n\t\tconst maxScrollDistance =\n\t\t\tMath.max(contentHeight, visibleHeight) - visibleHeight\n\t\tconst isScrolledAllTheWay = scrollDistance >= maxScrollDistance\n\n\t\treturn isScrolledAllTheWay\n\t}\n\n\tpublic getScrollY() {\n\t\treturn this.text.scrollY\n\t}\n\n\tpublic getScrollX() {\n\t\treturn this.text.scrollX\n\t}\n\n\tpublic setText(content: string): void {\n\t\tif (this.getText() === content) {\n\t\t\treturn\n\t\t}\n\n\t\tconst isScrolledAllTheWay = this.isLogScrolledAllTheWay()\n\t\tconst logSelection = this.text.textBuffer.selectionRegion\n\t\tconst markupType = this.markupType(content)\n\n\t\tthis.text.setContent(content, markupType)\n\n\t\tif (logSelection) {\n\t\t\tthis.text.textBuffer.setSelectionRegion(logSelection)\n\t\t}\n\n\t\tif (this.shouldAutoScrollWhenAppendingContent && isScrolledAllTheWay) {\n\t\t\tthis.text.scrollToBottom()\n\t\t}\n\t}\n\n\tprivate markupType(content: string) {\n\t\t// eslint-disable-next-line no-control-regex\n\t\tconst match = /\\x1b\\[([0-9;]+)m|(.[^\\x1b]+)/g.exec(content)\n\t\tconst markupType = match && match[1] ? 'ansi' : true\n\t\treturn markupType\n\t}\n}\n"],"file":"TkTextWidget.js"}
1
+ {"version":3,"file":"TkTextWidget.js","names":["termKit","terminal_kit","TkTextWidget","options","parent","text","isScrollEnabled","enableScroll","shouldAutoScrollWhenAppendingContent","rest","frame","termKitUtil","buildFrame","TextBox","getTermKitElement","undefined","scrollable","vScrollBar","hScrollBar","wordWrap","content","mapWidgetOptionsToTermKitOptions","calculateSizeLockDeltas","__widget","on","handleMouseDown","bind","position","x","y","line","split","emit","row","column","oldFrame","getFrame","newFrame","widgetUtil","setSizeAndPosition","left","top","width","height","draw","scrollDistance","getScrollY","contentHeight","textBuffer","cy","visibleHeight","textAreaHeight","maxScrollDistance","Math","max","isScrolledAllTheWay","scrollY","scrollX","getText","isLogScrolledAllTheWay","logSelection","selectionRegion","markupType","setContent","setSelectionRegion","scrollToBottom","match","exec","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkTextWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { TextWidget, TextWidgetOptions } from '../types/text.types'\nimport { WidgetFrame } from '../types/widgets.types'\nimport widgetUtil from '../widget.utilities'\nimport termKitUtil from './termKit.utility'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkTextWidget extends TkBaseWidget implements TextWidget {\n\tpublic readonly type = 'text'\n\n\tprivate text: any\n\tprivate shouldAutoScrollWhenAppendingContent: boolean\n\n\tpublic constructor(options: TkWidgetOptions & TextWidgetOptions) {\n\t\tsuper(options)\n\n\t\tconst {\n\t\t\tparent,\n\t\t\ttext,\n\t\t\tisScrollEnabled: enableScroll = false,\n\t\t\tshouldAutoScrollWhenAppendingContent = true,\n\t\t\t...rest\n\t\t} = options\n\n\t\tthis.shouldAutoScrollWhenAppendingContent =\n\t\t\tshouldAutoScrollWhenAppendingContent\n\n\t\tconst frame = termKitUtil.buildFrame(options, parent)\n\n\t\tthis.text = new termKit.TextBox({\n\t\t\tparent: parent ? parent.getTermKitElement() : undefined,\n\t\t\tscrollable: enableScroll,\n\t\t\tvScrollBar: enableScroll,\n\t\t\thScrollBar: enableScroll && !rest.wordWrap,\n\t\t\tcontent: text,\n\t\t\twordWrap: true,\n\t\t\t...termKitUtil.mapWidgetOptionsToTermKitOptions(rest),\n\t\t\t...frame,\n\t\t})\n\n\t\tthis.calculateSizeLockDeltas()\n\n\t\tthis.text.__widget = this\n\t\tthis.text.on('click', this.handleMouseDown.bind(this))\n\t}\n\n\tprivate async handleMouseDown(position: { x: number; y: number }) {\n\t\tconst { x, y } = position\n\n\t\tconst line = this.text.content.split('\\n')[y]\n\n\t\tawait (this as TextWidget).emit('click', {\n\t\t\ttext: line,\n\t\t\trow: y,\n\t\t\tcolumn: x,\n\t\t})\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.text\n\t}\n\n\tpublic setFrame(frame: WidgetFrame) {\n\t\tconst oldFrame = this.getFrame()\n\t\tconst newFrame = widgetUtil.buildFrame(frame, this.parent)\n\n\t\tthis.text.setSizeAndPosition({\n\t\t\tx: newFrame.left ?? oldFrame.left,\n\t\t\ty: newFrame.top ?? oldFrame.top,\n\t\t\twidth: newFrame.width ?? oldFrame.width,\n\t\t\theight: newFrame.height ?? oldFrame.height,\n\t\t})\n\t\tthis.text.draw()\n\t}\n\n\tpublic getText(): string {\n\t\treturn this.text.content\n\t}\n\n\tprivate isLogScrolledAllTheWay() {\n\t\tconst scrollDistance = this.getScrollY() * -1\n\t\tconst contentHeight = this.text.textBuffer.cy\n\t\tconst visibleHeight = this.text.textAreaHeight\n\t\tconst maxScrollDistance =\n\t\t\tMath.max(contentHeight, visibleHeight) - visibleHeight\n\t\tconst isScrolledAllTheWay = scrollDistance >= maxScrollDistance\n\n\t\treturn isScrolledAllTheWay\n\t}\n\n\tpublic getScrollY() {\n\t\treturn this.text.scrollY\n\t}\n\n\tpublic getScrollX() {\n\t\treturn this.text.scrollX\n\t}\n\n\tpublic setText(content: string): void {\n\t\tif (this.getText() === content) {\n\t\t\treturn\n\t\t}\n\n\t\tconst isScrolledAllTheWay = this.isLogScrolledAllTheWay()\n\t\tconst logSelection = this.text.textBuffer.selectionRegion\n\t\tconst markupType = this.markupType(content)\n\n\t\tthis.text.setContent(content, markupType)\n\n\t\tif (logSelection) {\n\t\t\tthis.text.textBuffer.setSelectionRegion(logSelection)\n\t\t}\n\n\t\tif (this.shouldAutoScrollWhenAppendingContent && isScrolledAllTheWay) {\n\t\t\tthis.text.scrollToBottom()\n\t\t}\n\t}\n\n\tprivate markupType(content: string) {\n\t\t// eslint-disable-next-line no-control-regex\n\t\tconst match = /\\x1b\\[([0-9;]+)m|(.[^\\x1b]+)/g.exec(content)\n\t\tconst markupType = match && match[1] ? 'ansi' : true\n\t\treturn markupType\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/terminalKit/TkWindowWidget.ts"],"names":["termKit","terminal_kit","TkWindowWidget","options","document","term","createDocument","palette","Palette","eventSource","on","handleParentResize","frame","getFrame","emit","width","height","__widget","handleKeyPress","bind","process","code","focusElement","key","sizeLockedChildren","title","windowTitle","hideCursor","left","top","inputWidth","inputHeight","showCursor","removeAllListeners","styleReset","grabInput","destroy","clear","TkBaseWidget"],"mappings":"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","sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { Key } from '../keySelectChoices'\nimport { BaseWidget } from '../types/widgets.types'\nimport { WindowWidget, WindowWidgetOptions } from '../types/window.types'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkWindowWidget\n\textends TkBaseWidget\n\timplements WindowWidget\n{\n\tpublic readonly type = 'window'\n\n\tprivate document: any\n\n\tpublic constructor(options: TkWidgetOptions & WindowWidgetOptions) {\n\t\tsuper(options)\n\n\t\t//@ts-ignore\n\t\tthis.document = this.term.createDocument({\n\t\t\tpalette: new termKit.Palette(),\n\t\t})\n\n\t\tthis.document.eventSource.on('resize', async () => {\n\t\t\tthis.handleParentResize()\n\t\t\tconst frame = this.getFrame()\n\t\t\tawait (this as WindowWidget).emit('resize', {\n\t\t\t\twidth: frame.width,\n\t\t\t\theight: frame.height,\n\t\t\t})\n\t\t})\n\n\t\tthis.document.__widget = this\n\n\t\toptions.term.on('key', this.handleKeyPress.bind(this))\n\n\t\tprocess.on('exit', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGQUIT', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('kill', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGINT', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGTERM', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGUSR1', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGUSR2', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('uncaughtException', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\t}\n\n\tpublic getFocusedWidget(): BaseWidget<any> | null {\n\t\treturn this.document.focusElement.__widget\n\t}\n\n\tprivate async handleKeyPress(key: Key) {\n\t\tawait (this as WindowWidget).emit('key', { key })\n\t}\n\n\tprotected handleParentResize() {\n\t\tthis.sizeLockedChildren()\n\t}\n\n\tpublic setTitle(title: string) {\n\t\tthis.term.windowTitle(title)\n\t}\n\n\tpublic hideCursor() {\n\t\tthis.term.hideCursor(true)\n\t}\n\n\tpublic showCursor() {\n\t\tthis.term.hideCursor(false)\n\t}\n\n\tpublic getFrame() {\n\t\treturn {\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\twidth: this.document.inputWidth,\n\t\t\theight: this.document.inputHeight,\n\t\t}\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.document\n\t}\n\n\tpublic async destroy() {\n\t\tthis.showCursor()\n\t\t//@ts-ignore\n\t\tthis.term.removeAllListeners()\n\n\t\tthis.term.styleReset()\n\n\t\tawait this.term.grabInput(false, true)\n\n\t\t// termkit destroys all children, so we don't need to call for each children\n\t\t// this may change if destroy is required in other widgets and there appears\n\t\t// to be no penalty for calling destroy multiple times\n\t\tthis.document.destroy()\n\n\t\tthis.term.clear()\n\n\t\tthis.term(`\\n`)\n\t}\n}\n"],"file":"TkWindowWidget.js"}
1
+ {"version":3,"file":"TkWindowWidget.js","names":["termKit","terminal_kit","TkWindowWidget","options","document","term","createDocument","palette","Palette","eventSource","on","handleParentResize","frame","getFrame","emit","width","height","__widget","handleKeyPress","bind","process","code","focusElement","key","sizeLockedChildren","title","windowTitle","hideCursor","left","top","inputWidth","inputHeight","showCursor","removeAllListeners","styleReset","grabInput","destroy","clear","TkBaseWidget"],"sources":["../../../src/widgets/terminalKit/TkWindowWidget.ts"],"sourcesContent":["import terminal_kit from 'terminal-kit'\nimport { Key } from '../keySelectChoices'\nimport { BaseWidget } from '../types/widgets.types'\nimport { WindowWidget, WindowWidgetOptions } from '../types/window.types'\nimport TkBaseWidget, { TkWidgetOptions } from './TkBaseWidget'\nconst termKit = terminal_kit as any\n\nexport default class TkWindowWidget\n\textends TkBaseWidget\n\timplements WindowWidget\n{\n\tpublic readonly type = 'window'\n\n\tprivate document: any\n\n\tpublic constructor(options: TkWidgetOptions & WindowWidgetOptions) {\n\t\tsuper(options)\n\n\t\t//@ts-ignore\n\t\tthis.document = this.term.createDocument({\n\t\t\tpalette: new termKit.Palette(),\n\t\t})\n\n\t\tthis.document.eventSource.on('resize', async () => {\n\t\t\tthis.handleParentResize()\n\t\t\tconst frame = this.getFrame()\n\t\t\tawait (this as WindowWidget).emit('resize', {\n\t\t\t\twidth: frame.width,\n\t\t\t\theight: frame.height,\n\t\t\t})\n\t\t})\n\n\t\tthis.document.__widget = this\n\n\t\toptions.term.on('key', this.handleKeyPress.bind(this))\n\n\t\tprocess.on('exit', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGQUIT', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('kill', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGINT', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGTERM', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGUSR1', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('SIGUSR2', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\n\t\tprocess.on('uncaughtException', (code: number) => {\n\t\t\tvoid (this as WindowWidget).emit('kill', { code })\n\t\t})\n\t}\n\n\tpublic getFocusedWidget(): BaseWidget<any> | null {\n\t\treturn this.document.focusElement.__widget\n\t}\n\n\tprivate async handleKeyPress(key: Key) {\n\t\tawait (this as WindowWidget).emit('key', { key })\n\t}\n\n\tprotected handleParentResize() {\n\t\tthis.sizeLockedChildren()\n\t}\n\n\tpublic setTitle(title: string) {\n\t\tthis.term.windowTitle(title)\n\t}\n\n\tpublic hideCursor() {\n\t\tthis.term.hideCursor(true)\n\t}\n\n\tpublic showCursor() {\n\t\tthis.term.hideCursor(false)\n\t}\n\n\tpublic getFrame() {\n\t\treturn {\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\twidth: this.document.inputWidth,\n\t\t\theight: this.document.inputHeight,\n\t\t}\n\t}\n\n\tpublic getTermKitElement() {\n\t\treturn this.document\n\t}\n\n\tpublic async destroy() {\n\t\tthis.showCursor()\n\t\t//@ts-ignore\n\t\tthis.term.removeAllListeners()\n\n\t\tthis.term.styleReset()\n\n\t\tawait this.term.grabInput(false, true)\n\n\t\t// termkit destroys all children, so we don't need to call for each children\n\t\t// this may change if destroy is required in other widgets and there appears\n\t\t// to be no penalty for calling destroy multiple times\n\t\tthis.document.destroy()\n\n\t\tthis.term.clear()\n\n\t\tthis.term(`\\n`)\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/terminalKit/termKit.utility.ts"],"names":["termKitUtil","buildFrame","frame","parent","calculated","widgetUtil","x","left","y","top","width","height","mapWidgetOptionsToTermKitOptions","options","mapped","keys","Object","ignores","backgroundColor","attr","bgColor","foregroundColor","color","key","item","Array","isArray","i","push","widthPercent","parseInt","heightPercent","getTermKitElement","indexOf","mapTermKitOptionsToWidgetOptions"],"mappings":"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","sourcesContent":["import { isObject } from 'lodash'\nimport { BaseWidget, WidgetFrame } from '../types/widgets.types'\nimport widgetUtil from '../widget.utilities'\n\nconst termKitUtil = {\n\tbuildFrame(frame: Partial<WidgetFrame>, parent?: BaseWidget | null) {\n\t\tconst calculated = widgetUtil.buildFrame(frame, parent)\n\t\treturn {\n\t\t\tx: calculated.left,\n\t\t\ty: calculated.top,\n\t\t\twidth: calculated.width,\n\t\t\theight: calculated.height,\n\t\t}\n\t},\n\n\tmapWidgetOptionsToTermKitOptions(options: Record<string, any>) {\n\t\tconst mapped: Record<string, any> = {}\n\t\tconst keys = Object.keys(options)\n\t\tconst ignores = [\n\t\t\t'shouldLockHeightWithParent',\n\t\t\t'shouldLockWidthWithParent',\n\t\t\t'shouldLockBottomWithParent',\n\t\t\t'term',\n\t\t]\n\n\t\tif (options.backgroundColor) {\n\t\t\tmapped.attr = {\n\t\t\t\t...mapped.attr,\n\t\t\t\tbgColor: options.backgroundColor,\n\t\t\t}\n\t\t}\n\n\t\tif (options.foregroundColor) {\n\t\t\tmapped.attr = {\n\t\t\t\t...mapped.attr,\n\t\t\t\tcolor: options.foregroundColor,\n\t\t\t}\n\t\t}\n\n\t\tfor (const key of keys) {\n\t\t\tconst item = options[key]\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tmapped[key] = []\n\t\t\t\tfor (const i of item) {\n\t\t\t\t\tmapped[key].push(this.mapWidgetOptionsToTermKitOptions(i))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tmapped.x = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'top':\n\t\t\t\t\t\tmapped.y = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'width':\n\t\t\t\t\t\tif (typeof item === 'string') {\n\t\t\t\t\t\t\tmapped.widthPercent = parseInt(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped.width = item\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'height':\n\t\t\t\t\t\tif (typeof item === 'string') {\n\t\t\t\t\t\t\tmapped.heightPercent = parseInt(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped.height = item\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'parent':\n\t\t\t\t\t\tmapped.parent = item.getTermKitElement()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (ignores.indexOf(key) > -1) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof item !== 'function' && isObject(item)) {\n\t\t\t\t\t\t\tmapped[key] = this.mapWidgetOptionsToTermKitOptions(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped[key] = item\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn mapped\n\t},\n\n\tmapTermKitOptionsToWidgetOptions(options: Record<string, any>) {\n\t\tconst mapped: Record<string, any> = {}\n\t\tconst keys = Object.keys(options)\n\n\t\tfor (const key of keys) {\n\t\t\tconst item = options[key]\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tmapped[key] = []\n\t\t\t\tfor (const i of item) {\n\t\t\t\t\tmapped[key].push(this.mapTermKitOptionsToWidgetOptions(i))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tmapped.x = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'top':\n\t\t\t\t\t\tmapped.y = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'widthPercent':\n\t\t\t\t\t\tmapped.width = `${item}%`\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'heightPercent':\n\t\t\t\t\t\tmapped.height = `${item}%`\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'parent':\n\t\t\t\t\t\tmapped.parent = item.getTermKitElement()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (typeof item !== 'function' && isObject(item)) {\n\t\t\t\t\t\t\tmapped[key] = this.mapTermKitOptionsToWidgetOptions(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped[key] = item\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn mapped\n\t},\n}\n\nexport default termKitUtil\n"],"file":"termKit.utility.js"}
1
+ {"version":3,"file":"termKit.utility.js","names":["termKitUtil","buildFrame","frame","parent","calculated","widgetUtil","x","left","y","top","width","height","mapWidgetOptionsToTermKitOptions","options","mapped","keys","Object","ignores","backgroundColor","attr","bgColor","foregroundColor","color","key","item","Array","isArray","i","push","widthPercent","parseInt","heightPercent","getTermKitElement","indexOf","mapTermKitOptionsToWidgetOptions"],"sources":["../../../src/widgets/terminalKit/termKit.utility.ts"],"sourcesContent":["import { isObject } from 'lodash'\nimport { BaseWidget, WidgetFrame } from '../types/widgets.types'\nimport widgetUtil from '../widget.utilities'\n\nconst termKitUtil = {\n\tbuildFrame(frame: Partial<WidgetFrame>, parent?: BaseWidget | null) {\n\t\tconst calculated = widgetUtil.buildFrame(frame, parent)\n\t\treturn {\n\t\t\tx: calculated.left,\n\t\t\ty: calculated.top,\n\t\t\twidth: calculated.width,\n\t\t\theight: calculated.height,\n\t\t}\n\t},\n\n\tmapWidgetOptionsToTermKitOptions(options: Record<string, any>) {\n\t\tconst mapped: Record<string, any> = {}\n\t\tconst keys = Object.keys(options)\n\t\tconst ignores = [\n\t\t\t'shouldLockHeightWithParent',\n\t\t\t'shouldLockWidthWithParent',\n\t\t\t'shouldLockBottomWithParent',\n\t\t\t'term',\n\t\t]\n\n\t\tif (options.backgroundColor) {\n\t\t\tmapped.attr = {\n\t\t\t\t...mapped.attr,\n\t\t\t\tbgColor: options.backgroundColor,\n\t\t\t}\n\t\t}\n\n\t\tif (options.foregroundColor) {\n\t\t\tmapped.attr = {\n\t\t\t\t...mapped.attr,\n\t\t\t\tcolor: options.foregroundColor,\n\t\t\t}\n\t\t}\n\n\t\tfor (const key of keys) {\n\t\t\tconst item = options[key]\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tmapped[key] = []\n\t\t\t\tfor (const i of item) {\n\t\t\t\t\tmapped[key].push(this.mapWidgetOptionsToTermKitOptions(i))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tmapped.x = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'top':\n\t\t\t\t\t\tmapped.y = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'width':\n\t\t\t\t\t\tif (typeof item === 'string') {\n\t\t\t\t\t\t\tmapped.widthPercent = parseInt(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped.width = item\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'height':\n\t\t\t\t\t\tif (typeof item === 'string') {\n\t\t\t\t\t\t\tmapped.heightPercent = parseInt(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped.height = item\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'parent':\n\t\t\t\t\t\tmapped.parent = item.getTermKitElement()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (ignores.indexOf(key) > -1) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof item !== 'function' && isObject(item)) {\n\t\t\t\t\t\t\tmapped[key] = this.mapWidgetOptionsToTermKitOptions(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped[key] = item\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn mapped\n\t},\n\n\tmapTermKitOptionsToWidgetOptions(options: Record<string, any>) {\n\t\tconst mapped: Record<string, any> = {}\n\t\tconst keys = Object.keys(options)\n\n\t\tfor (const key of keys) {\n\t\t\tconst item = options[key]\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tmapped[key] = []\n\t\t\t\tfor (const i of item) {\n\t\t\t\t\tmapped[key].push(this.mapTermKitOptionsToWidgetOptions(i))\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (key) {\n\t\t\t\t\tcase 'left':\n\t\t\t\t\t\tmapped.x = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'top':\n\t\t\t\t\t\tmapped.y = item\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'widthPercent':\n\t\t\t\t\t\tmapped.width = `${item}%`\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'heightPercent':\n\t\t\t\t\t\tmapped.height = `${item}%`\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 'parent':\n\t\t\t\t\t\tmapped.parent = item.getTermKitElement()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (typeof item !== 'function' && isObject(item)) {\n\t\t\t\t\t\t\tmapped[key] = this.mapTermKitOptionsToWidgetOptions(item)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmapped[key] = item\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn mapped\n\t},\n}\n\nexport default termKitUtil\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/types/button.types.ts"],"names":["buttonEventContract","eventSignatures","click"],"mappings":";;;;;;AAEO,IAAMA,mBAAmB,GAAG;AAClCC,EAAAA,eAAe,EAAE;AAChBC,IAAAA,KAAK,EAAE;AADS;AADiB,CAA5B","sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport const buttonEventContract = {\n\teventSignatures: {\n\t\tclick: {},\n\t},\n}\n\nexport type ButtonEventContract = typeof buttonEventContract\n\nexport interface ButtonWidgetOptions {\n\ttext?: string\n}\n\nexport interface ButtonWidget extends BaseWidget<ButtonEventContract> {\n\treadonly type: 'button'\n\tgetText(): string\n\tsetText(content: string): void\n}\n"],"file":"button.types.js"}
1
+ {"version":3,"file":"button.types.js","names":["buttonEventContract","eventSignatures","click"],"sources":["../../../src/widgets/types/button.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport const buttonEventContract = {\n\teventSignatures: {\n\t\tclick: {},\n\t},\n}\n\nexport type ButtonEventContract = typeof buttonEventContract\n\nexport interface ButtonWidgetOptions {\n\ttext?: string\n}\n\nexport interface ButtonWidget extends BaseWidget<ButtonEventContract> {\n\treadonly type: 'button'\n\tgetText(): string\n\tsetText(content: string): void\n}\n"],"mappings":";;;;;;AAEO,IAAMA,mBAAmB,GAAG;EAClCC,eAAe,EAAE;IAChBC,KAAK,EAAE;EADS;AADiB,CAA5B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/types/factory.types.ts"],"names":["widgetRegistry","window","TkWindowWidget","text","TkTextWidget","layout","TkLayoutWidget","layoutCell","TkLayoutCellWidget","progressBar","TkProgressBarWidget","menuBar","TkMenuBarWidget","popup","TkPopupWidget","button","TKButtonWidget","input","TkInputWidget","contractRegistry","windowEventContract","textEventContract","menuBarEventContract","buttonEventContract","inputEventContract"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAWA;;AAUA;;AAEA;;AAqCO,IAAMA,cAAc,GAAG;AAC7BC,EAAAA,MAAM,EAAEC,0BADqB;AAE7BC,EAAAA,IAAI,EAAEC,wBAFuB;AAG7BC,EAAAA,MAAM,EAAEC,0BAHqB;AAI7BC,EAAAA,UAAU,EAAEC,8BAJiB;AAK7BC,EAAAA,WAAW,EAAEC,+BALgB;AAM7BC,EAAAA,OAAO,EAAEC,2BANoB;AAO7BC,EAAAA,KAAK,EAAEC,yBAPsB;AAQ7BC,EAAAA,MAAM,EAAEC,0BARqB;AAS7BC,EAAAA,KAAK,EAAEC;AATsB,CAAvB;;AAYA,IAAMC,gBAAgB,GAAG;AAC/BlB,EAAAA,MAAM,EAAEmB,2BADuB;AAE/BjB,EAAAA,IAAI,EAAEkB,uBAFyB;AAG/BhB,EAAAA,MAAM,EAAE,IAHuB;AAI/BE,EAAAA,UAAU,EAAE,IAJmB;AAK/BE,EAAAA,WAAW,EAAE,IALkB;AAM/BE,EAAAA,OAAO,EAAEW,6BANsB;AAO/BT,EAAAA,KAAK,EAAE,IAPwB;AAQ/BE,EAAAA,MAAM,EAAEQ,2BARuB;AAS/BN,EAAAA,KAAK,EAAEO;AATwB,CAAzB","sourcesContent":["import TKButtonWidget from '../terminalKit/TKButtonWidget'\nimport TkInputWidget from '../terminalKit/TkInputWidget'\nimport TkLayoutCellWidget from '../terminalKit/TkLayoutCellWidget'\nimport TkLayoutWidget from '../terminalKit/TkLayoutWidget'\nimport TkMenuBarWidget from '../terminalKit/TkMenuBarWidget'\nimport TkPopupWidget from '../terminalKit/TkPopupWidget'\nimport TkProgressBarWidget from '../terminalKit/TkProgressBarWidget'\nimport TkTextWidget from '../terminalKit/TkTextWidget'\nimport TkWindowWidget from '../terminalKit/TkWindowWidget'\nimport {\n\tbuttonEventContract,\n\tButtonWidget,\n\tButtonWidgetOptions,\n} from './button.types'\nimport {\n\tinputEventContract,\n\tInputWidget,\n\tInputWidgetOptions,\n} from './input.types'\nimport {\n\tLayoutWidgetOptions,\n\tLayoutWidget,\n\tLayoutCellWidgetOptions,\n\tLayoutCellWidget,\n} from './layout.types'\nimport {\n\tMenuBarWidgetOptions,\n\tMenuBarWidget,\n\tmenuBarEventContract,\n} from './menuBar.types'\nimport { PopupWidget, PopupWidgetOptions } from './popup.types'\nimport {\n\tProgressBarWidgetOptions,\n\tProgressBarWidget,\n} from './progressBar.types'\nimport { TextWidgetOptions, TextWidget, textEventContract } from './text.types'\nimport { UniversalWidgetOptions } from './widgets.types'\nimport {\n\tWindowWidgetOptions,\n\tWindowWidget,\n\twindowEventContract,\n} from './window.types'\n\nexport type WidgetType = keyof WidgetRegistry\n\nexport type Widget<T extends WidgetType = WidgetType> = WidgetRegistry[T]\n\nexport type FactoryOptions<T extends WidgetType> = UniversalWidgetOptions &\n\tOptionsMap[T]\n\ninterface OptionsMap {\n\ttext: TextWidgetOptions\n\twindow: WindowWidgetOptions\n\tlayout: LayoutWidgetOptions\n\tlayoutCell: LayoutCellWidgetOptions\n\tprogressBar: ProgressBarWidgetOptions\n\tmenuBar: MenuBarWidgetOptions\n\tpopup: PopupWidgetOptions\n\tbutton: ButtonWidgetOptions\n\tinput: InputWidgetOptions\n}\n\nexport interface WidgetRegistry {\n\ttext: TextWidget\n\twindow: WindowWidget\n\tlayout: LayoutWidget\n\tlayoutCell: LayoutCellWidget\n\tprogressBar: ProgressBarWidget\n\tmenuBar: MenuBarWidget\n\tpopup: PopupWidget\n\tbutton: ButtonWidget\n\tinput: InputWidget\n}\n\nexport const widgetRegistry = {\n\twindow: TkWindowWidget,\n\ttext: TkTextWidget,\n\tlayout: TkLayoutWidget,\n\tlayoutCell: TkLayoutCellWidget,\n\tprogressBar: TkProgressBarWidget,\n\tmenuBar: TkMenuBarWidget,\n\tpopup: TkPopupWidget,\n\tbutton: TKButtonWidget,\n\tinput: TkInputWidget,\n}\n\nexport const contractRegistry = {\n\twindow: windowEventContract,\n\ttext: textEventContract,\n\tlayout: null,\n\tlayoutCell: null,\n\tprogressBar: null,\n\tmenuBar: menuBarEventContract,\n\tpopup: null,\n\tbutton: buttonEventContract,\n\tinput: inputEventContract,\n}\n"],"file":"factory.types.js"}
1
+ {"version":3,"file":"factory.types.js","names":["widgetRegistry","window","TkWindowWidget","text","TkTextWidget","layout","TkLayoutWidget","layoutCell","TkLayoutCellWidget","progressBar","TkProgressBarWidget","menuBar","TkMenuBarWidget","popup","TkPopupWidget","button","TKButtonWidget","input","TkInputWidget","contractRegistry","windowEventContract","textEventContract","menuBarEventContract","buttonEventContract","inputEventContract"],"sources":["../../../src/widgets/types/factory.types.ts"],"sourcesContent":["import TKButtonWidget from '../terminalKit/TKButtonWidget'\nimport TkInputWidget from '../terminalKit/TkInputWidget'\nimport TkLayoutCellWidget from '../terminalKit/TkLayoutCellWidget'\nimport TkLayoutWidget from '../terminalKit/TkLayoutWidget'\nimport TkMenuBarWidget from '../terminalKit/TkMenuBarWidget'\nimport TkPopupWidget from '../terminalKit/TkPopupWidget'\nimport TkProgressBarWidget from '../terminalKit/TkProgressBarWidget'\nimport TkTextWidget from '../terminalKit/TkTextWidget'\nimport TkWindowWidget from '../terminalKit/TkWindowWidget'\nimport {\n\tbuttonEventContract,\n\tButtonWidget,\n\tButtonWidgetOptions,\n} from './button.types'\nimport {\n\tinputEventContract,\n\tInputWidget,\n\tInputWidgetOptions,\n} from './input.types'\nimport {\n\tLayoutWidgetOptions,\n\tLayoutWidget,\n\tLayoutCellWidgetOptions,\n\tLayoutCellWidget,\n} from './layout.types'\nimport {\n\tMenuBarWidgetOptions,\n\tMenuBarWidget,\n\tmenuBarEventContract,\n} from './menuBar.types'\nimport { PopupWidget, PopupWidgetOptions } from './popup.types'\nimport {\n\tProgressBarWidgetOptions,\n\tProgressBarWidget,\n} from './progressBar.types'\nimport { TextWidgetOptions, TextWidget, textEventContract } from './text.types'\nimport { UniversalWidgetOptions } from './widgets.types'\nimport {\n\tWindowWidgetOptions,\n\tWindowWidget,\n\twindowEventContract,\n} from './window.types'\n\nexport type WidgetType = keyof WidgetRegistry\n\nexport type Widget<T extends WidgetType = WidgetType> = WidgetRegistry[T]\n\nexport type FactoryOptions<T extends WidgetType> = UniversalWidgetOptions &\n\tOptionsMap[T]\n\ninterface OptionsMap {\n\ttext: TextWidgetOptions\n\twindow: WindowWidgetOptions\n\tlayout: LayoutWidgetOptions\n\tlayoutCell: LayoutCellWidgetOptions\n\tprogressBar: ProgressBarWidgetOptions\n\tmenuBar: MenuBarWidgetOptions\n\tpopup: PopupWidgetOptions\n\tbutton: ButtonWidgetOptions\n\tinput: InputWidgetOptions\n}\n\nexport interface WidgetRegistry {\n\ttext: TextWidget\n\twindow: WindowWidget\n\tlayout: LayoutWidget\n\tlayoutCell: LayoutCellWidget\n\tprogressBar: ProgressBarWidget\n\tmenuBar: MenuBarWidget\n\tpopup: PopupWidget\n\tbutton: ButtonWidget\n\tinput: InputWidget\n}\n\nexport const widgetRegistry = {\n\twindow: TkWindowWidget,\n\ttext: TkTextWidget,\n\tlayout: TkLayoutWidget,\n\tlayoutCell: TkLayoutCellWidget,\n\tprogressBar: TkProgressBarWidget,\n\tmenuBar: TkMenuBarWidget,\n\tpopup: TkPopupWidget,\n\tbutton: TKButtonWidget,\n\tinput: TkInputWidget,\n}\n\nexport const contractRegistry = {\n\twindow: windowEventContract,\n\ttext: textEventContract,\n\tlayout: null,\n\tlayoutCell: null,\n\tprogressBar: null,\n\tmenuBar: menuBarEventContract,\n\tpopup: null,\n\tbutton: buttonEventContract,\n\tinput: inputEventContract,\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAWA;;AAUA;;AAEA;;AAqCO,IAAMA,cAAc,GAAG;EAC7BC,MAAM,EAAEC,0BADqB;EAE7BC,IAAI,EAAEC,wBAFuB;EAG7BC,MAAM,EAAEC,0BAHqB;EAI7BC,UAAU,EAAEC,8BAJiB;EAK7BC,WAAW,EAAEC,+BALgB;EAM7BC,OAAO,EAAEC,2BANoB;EAO7BC,KAAK,EAAEC,yBAPsB;EAQ7BC,MAAM,EAAEC,0BARqB;EAS7BC,KAAK,EAAEC;AATsB,CAAvB;;AAYA,IAAMC,gBAAgB,GAAG;EAC/BlB,MAAM,EAAEmB,2BADuB;EAE/BjB,IAAI,EAAEkB,uBAFyB;EAG/BhB,MAAM,EAAE,IAHuB;EAI/BE,UAAU,EAAE,IAJmB;EAK/BE,WAAW,EAAE,IALkB;EAM/BE,OAAO,EAAEW,6BANsB;EAO/BT,KAAK,EAAE,IAPwB;EAQ/BE,MAAM,EAAEQ,2BARuB;EAS/BN,KAAK,EAAEO;AATwB,CAAzB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/types/input.types.ts"],"names":["inputEventContract","eventSignatures","submit","emitPayloadSchema","id","fields","value","type","isRequired","options","valueType","cancel"],"mappings":";;;;;;;AAAA;;AAGO,IAAMA,kBAAkB,GAAG;AACjCC,EAAAA,eAAe,EAAE;AAChBC,IAAAA,MAAM,EAAE;AACPC,MAAAA,iBAAiB,EAAE,yBAAY;AAC9BC,QAAAA,EAAE,EAAE,wBAD0B;AAE9BC,QAAAA,MAAM,EAAE;AACPC,UAAAA,KAAK,EAAE;AACNC,YAAAA,IAAI,EAAE,KADA;AAENC,YAAAA,UAAU,EAAE,IAFN;AAGNC,YAAAA,OAAO,EAAE;AACRC,cAAAA,SAAS,EAAE;AADH;AAHH;AADA;AAFsB,OAAZ;AADZ,KADQ;AAehBC,IAAAA,MAAM,EAAE;AAfQ;AADgB,CAA3B","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\nexport const inputEventContract = {\n\teventSignatures: {\n\t\tsubmit: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'inputSubmitEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'string | undefined',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tcancel: {},\n\t},\n}\n\nexport type InputEventContract = typeof inputEventContract\n\nexport interface InputWidgetOptions {\n\tvalue?: string\n\tlabel?: string\n\tplaceholder?: string\n}\n\nexport interface InputWidget extends BaseWidget<InputEventContract> {\n\treadonly type: 'input'\n\tgetValue(): string | undefined\n\tsetValue(value: string): void\n}\n"],"file":"input.types.js"}
1
+ {"version":3,"file":"input.types.js","names":["inputEventContract","eventSignatures","submit","emitPayloadSchema","id","fields","value","type","isRequired","options","valueType","cancel"],"sources":["../../../src/widgets/types/input.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\nexport const inputEventContract = {\n\teventSignatures: {\n\t\tsubmit: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'inputSubmitEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tvalueType: 'string | undefined',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tcancel: {},\n\t},\n}\n\nexport type InputEventContract = typeof inputEventContract\n\nexport interface InputWidgetOptions {\n\tvalue?: string\n\tlabel?: string\n\tplaceholder?: string\n}\n\nexport interface InputWidget extends BaseWidget<InputEventContract> {\n\treadonly type: 'input'\n\tgetValue(): string | undefined\n\tsetValue(value: string): void\n}\n"],"mappings":";;;;;;;AAAA;;AAGO,IAAMA,kBAAkB,GAAG;EACjCC,eAAe,EAAE;IAChBC,MAAM,EAAE;MACPC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,wBAD0B;QAE9BC,MAAM,EAAE;UACPC,KAAK,EAAE;YACNC,IAAI,EAAE,KADA;YAENC,UAAU,EAAE,IAFN;YAGNC,OAAO,EAAE;cACRC,SAAS,EAAE;YADH;UAHH;QADA;MAFsB,CAAZ;IADZ,CADQ;IAehBC,MAAM,EAAE;EAfQ;AADgB,CAA3B"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"layout.types.js"}
1
+ {"version":3,"file":"layout.types.js","names":[],"sources":["../../../src/widgets/types/layout.types.ts"],"sourcesContent":["import { WidgetFrameAttribute, BaseWidget } from './widgets.types'\n\n// ** Layout Widget ** //\n\nexport interface LayoutWidgetOptions {\n\trows: LayoutRow[]\n}\n\nexport type LayoutRow = {\n\tid?: string\n\tcolumns: LayoutColumn[]\n\theight?: WidgetFrameAttribute\n}\n\nexport type LayoutColumn = {\n\tid: string\n\twidth?: WidgetFrameAttribute\n}\n\nexport interface LayoutWidget extends BaseWidget {\n\treadonly type: 'layout'\n\tgetRows(): any[]\n\taddRow(row: LayoutRow): void\n\taddColumn(rowIdx: number, colunm: LayoutColumn): void\n\tremoveRow(rowIdx: number): void\n\tremoveColumn(rowIdx: number, columnIdx: number): void\n\tsetRowHeight(rowIdx: number, height: WidgetFrameAttribute): void\n\tsetColumnWidth(options: {\n\t\trowIdx: number\n\t\tcolumnIdx: number\n\t\twidth: WidgetFrameAttribute\n\t}): void\n\tupdateLayout(): void\n}\n\nexport interface LayoutCellWidgetOptions {}\n\nexport interface LayoutCellWidget extends BaseWidget {\n\treadonly type: 'layoutCell'\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/types/menuBar.types.ts"],"names":["menuBarEventContract","eventSignatures","select","emitPayloadSchema","id","fields","value","type","isRequired"],"mappings":";;;;;;;AAAA;;AAGA;AACA;AAEO,IAAMA,oBAAoB,GAAG;AACnCC,EAAAA,eAAe,EAAE;AAChBC,IAAAA,MAAM,EAAE;AACPC,MAAAA,iBAAiB,EAAE,yBAAY;AAC9BC,QAAAA,EAAE,EAAE,0BAD0B;AAE9BC,QAAAA,MAAM,EAAE;AACPC,UAAAA,KAAK,EAAE;AACNC,YAAAA,IAAI,EAAE,MADA;AAENC,YAAAA,UAAU,EAAE;AAFN;AADA;AAFsB,OAAZ;AADZ;AADQ;AADkB,CAA7B","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\n// **** //\n// ** Menu Bar **/\n\nexport const menuBarEventContract = {\n\teventSignatures: {\n\t\tselect: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'menuBarSelectEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type MenuBarEventContract = typeof menuBarEventContract\n\nexport interface MenuBarWidgetOptions {\n\titems: MenuBarWidgetItem[]\n}\n\nexport interface MenuBarWidgetItem {\n\tlabel: string\n\tvalue: string\n\titems?: MenuBarWidgetItem[]\n}\n\nexport interface MenuBarWidget extends BaseWidget<MenuBarEventContract> {\n\tsetTextForItem(value: string, text: string): void\n\treadonly type: 'menuBar'\n}\n"],"file":"menuBar.types.js"}
1
+ {"version":3,"file":"menuBar.types.js","names":["menuBarEventContract","eventSignatures","select","emitPayloadSchema","id","fields","value","type","isRequired"],"sources":["../../../src/widgets/types/menuBar.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\n// **** //\n// ** Menu Bar **/\n\nexport const menuBarEventContract = {\n\teventSignatures: {\n\t\tselect: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'menuBarSelectEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tvalue: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type MenuBarEventContract = typeof menuBarEventContract\n\nexport interface MenuBarWidgetOptions {\n\titems: MenuBarWidgetItem[]\n}\n\nexport interface MenuBarWidgetItem {\n\tlabel: string\n\tvalue: string\n\titems?: MenuBarWidgetItem[]\n}\n\nexport interface MenuBarWidget extends BaseWidget<MenuBarEventContract> {\n\tsetTextForItem(value: string, text: string): void\n\treadonly type: 'menuBar'\n}\n"],"mappings":";;;;;;;AAAA;;AAGA;AACA;AAEO,IAAMA,oBAAoB,GAAG;EACnCC,eAAe,EAAE;IAChBC,MAAM,EAAE;MACPC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,0BAD0B;QAE9BC,MAAM,EAAE;UACPC,KAAK,EAAE;YACNC,IAAI,EAAE,MADA;YAENC,UAAU,EAAE;UAFN;QADA;MAFsB,CAAZ;IADZ;EADQ;AADkB,CAA7B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/types/popup.types.ts"],"names":["popupEventContract","eventSignatures","close"],"mappings":";;;;;;AAEO,IAAMA,kBAAkB,GAAG;AACjCC,EAAAA,eAAe,EAAE;AAChBC,IAAAA,KAAK,EAAE;AADS;AADgB,CAA3B","sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport const popupEventContract = {\n\teventSignatures: {\n\t\tclose: {},\n\t},\n}\n\nexport type PopupEventContract = typeof popupEventContract\n\nexport interface PopupWidgetOptions {\n\ttitle?: string\n}\n\nexport interface PopupWidget extends BaseWidget<PopupEventContract> {\n\treadonly type: 'popup'\n}\n"],"file":"popup.types.js"}
1
+ {"version":3,"file":"popup.types.js","names":["popupEventContract","eventSignatures","close"],"sources":["../../../src/widgets/types/popup.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport const popupEventContract = {\n\teventSignatures: {\n\t\tclose: {},\n\t},\n}\n\nexport type PopupEventContract = typeof popupEventContract\n\nexport interface PopupWidgetOptions {\n\ttitle?: string\n}\n\nexport interface PopupWidget extends BaseWidget<PopupEventContract> {\n\treadonly type: 'popup'\n}\n"],"mappings":";;;;;;AAEO,IAAMA,kBAAkB,GAAG;EACjCC,eAAe,EAAE;IAChBC,KAAK,EAAE;EADS;AADgB,CAA3B"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"progressBar.types.js"}
1
+ {"version":3,"file":"progressBar.types.js","names":[],"sources":["../../../src/widgets/types/progressBar.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\nexport interface ProgressBarWidgetOptions {\n\tlabel?: string\n\tprogress: number\n}\n\nexport interface ProgressBarWidget extends BaseWidget {\n\treadonly type: 'progressBar'\n\n\tsetLabel(label?: string): void\n\tsetProgress(progress: number): void\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"table.types.js"}
1
+ {"version":3,"file":"table.types.js","names":[],"sources":["../../../src/widgets/types/table.types.ts"],"sourcesContent":["import { BaseWidget } from './widgets.types'\n\n// ** Table Widget **//\n\nexport interface TableWidgetOptions {}\n\nexport interface TableWidget extends BaseWidget {\n\ttype: 'table'\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/types/text.types.ts"],"names":["textEventContract","eventSignatures","click","emitPayloadSchema","id","fields","column","type","isRequired","row","text"],"mappings":";;;;;;;AAAA;;AAGA;AAEO,IAAMA,iBAAiB,GAAG;AAChCC,EAAAA,eAAe,EAAE;AAChBC,IAAAA,KAAK,EAAE;AACNC,MAAAA,iBAAiB,EAAE,yBAAY;AAC9BC,QAAAA,EAAE,EAAE,sBAD0B;AAE9BC,QAAAA,MAAM,EAAE;AACPC,UAAAA,MAAM,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,UAAU,EAAE;AAFL,WADD;AAKPC,UAAAA,GAAG,EAAE;AACJF,YAAAA,IAAI,EAAE,QADF;AAEJC,YAAAA,UAAU,EAAE;AAFR,WALE;AASPE,UAAAA,IAAI,EAAE;AACLH,YAAAA,IAAI,EAAE;AADD;AATC;AAFsB,OAAZ;AADb;AADS;AADe,CAA1B","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\n// ** Text Widget ** //\n\nexport const textEventContract = {\n\teventSignatures: {\n\t\tclick: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'textClickEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tcolumn: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\trow: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type TextEventContract = typeof textEventContract\n\nexport interface TextWidgetOptions {\n\tisScrollEnabled?: boolean\n\tshouldAutoScrollWhenAppendingContent?: boolean\n\twordWrap?: boolean\n\ttext?: string\n}\n\nexport interface TextWidget extends BaseWidget<TextEventContract> {\n\treadonly type: 'text'\n\tgetText(): string\n\tsetText(content: string): void\n\tgetScrollX(): number\n\tgetScrollY(): number\n}\n"],"file":"text.types.js"}
1
+ {"version":3,"file":"text.types.js","names":["textEventContract","eventSignatures","click","emitPayloadSchema","id","fields","column","type","isRequired","row","text"],"sources":["../../../src/widgets/types/text.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\nimport { BaseWidget } from './widgets.types'\n\n// ** Text Widget ** //\n\nexport const textEventContract = {\n\teventSignatures: {\n\t\tclick: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'textClickEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tcolumn: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\trow: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type TextEventContract = typeof textEventContract\n\nexport interface TextWidgetOptions {\n\tisScrollEnabled?: boolean\n\tshouldAutoScrollWhenAppendingContent?: boolean\n\twordWrap?: boolean\n\ttext?: string\n}\n\nexport interface TextWidget extends BaseWidget<TextEventContract> {\n\treadonly type: 'text'\n\tgetText(): string\n\tsetText(content: string): void\n\tgetScrollX(): number\n\tgetScrollY(): number\n}\n"],"mappings":";;;;;;;AAAA;;AAGA;AAEO,IAAMA,iBAAiB,GAAG;EAChCC,eAAe,EAAE;IAChBC,KAAK,EAAE;MACNC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,sBAD0B;QAE9BC,MAAM,EAAE;UACPC,MAAM,EAAE;YACPC,IAAI,EAAE,QADC;YAEPC,UAAU,EAAE;UAFL,CADD;UAKPC,GAAG,EAAE;YACJF,IAAI,EAAE,QADF;YAEJC,UAAU,EAAE;UAFR,CALE;UASPE,IAAI,EAAE;YACLH,IAAI,EAAE;UADD;QATC;MAFsB,CAAZ;IADb;EADS;AADe,CAA1B"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"widgets.types.js"}
1
+ {"version":3,"file":"widgets.types.js","names":[],"sources":["../../../src/widgets/types/widgets.types.ts"],"sourcesContent":["import { EventContract, MercuryEventEmitter } from '@sprucelabs/mercury-types'\n\nexport interface WidgetPadding {\n\ttop?: number\n\tleft?: number\n\tbottom?: number\n\tright?: number\n}\n\nexport interface WidgetButton {\n\tlabel: string\n\tonClick?: (cb: () => void) => void\n}\n\nexport interface BaseWidget<Contract extends EventContract = any>\n\textends MercuryEventEmitter<Contract> {\n\ttype: string\n\tgetId(): string | null\n\tgetFrame(): WidgetFrameCalculated\n\tsetFrame(frame: Partial<WidgetFrame>): void\n\tgetParent(): BaseWidget | null\n\tdestroy(): Promise<void>\n\tgetChildById(id?: string): BaseWidget | null\n\tgetChildren(): BaseWidget[]\n\taddChild(child: BaseWidget): void\n\tremoveChild(child: BaseWidget): void\n}\n\nexport type Color =\n\t| 'black'\n\t| 'red'\n\t| 'green'\n\t| 'yellow'\n\t| 'blue'\n\t| 'magenta'\n\t| 'cyan'\n\t| 'white'\n\t| 'gray'\n\t| 'brightRed'\n\t| 'brightGreen'\n\t| 'brightYellow'\n\t| 'brightBlue'\n\t| 'brightMagenta'\n\t| 'brightCyan'\n\t| 'brightWhite'\n\nexport interface UniversalWidgetOptions {\n\tid?: string\n\twidth?: WidgetFrameAttribute\n\theight?: WidgetFrameAttribute\n\tleft?: WidgetFrameAttribute\n\ttop?: WidgetFrameAttribute\n\tparent?: BaseWidget\n\tpadding?: WidgetPadding\n\tshouldLockWidthWithParent?: boolean\n\tshouldLockHeightWithParent?: boolean\n\tshouldLockRightWithParent?: boolean\n\tshouldLockBottomWithParent?: boolean\n\teventContract?: EventContract\n\tbackgroundColor?: Color\n\tforegroundColor?: Color\n}\n\nexport interface WidgetFrame {\n\tleft: WidgetFrameAttribute\n\ttop: WidgetFrameAttribute\n\twidth: WidgetFrameAttribute\n\theight: WidgetFrameAttribute\n}\n\nexport interface WidgetFrameCalculated {\n\tleft: number\n\ttop: number\n\twidth: number\n\theight: number\n}\n\nexport type WidgetFrameAttribute = number | string\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/widgets/types/window.types.ts"],"names":["windowEventContract","eventSignatures","key","emitPayloadSchema","id","fields","type","isRequired","kill","code","resize","width","height"],"mappings":";;;;;;;AAAA;;AAIA;AACO,IAAMA,mBAAmB,GAAG;AAClCC,EAAAA,eAAe,EAAE;AAChBC,IAAAA,GAAG,EAAE;AACJC,MAAAA,iBAAiB,EAAE,yBAAY;AAC9BC,QAAAA,EAAE,EAAE,sBAD0B;AAE9BC,QAAAA,MAAM,EAAE;AACPH,UAAAA,GAAG,EAAE;AACJI,YAAAA,IAAI,EAAE,MADF;AAEJC,YAAAA,UAAU,EAAE;AAFR;AADE;AAFsB,OAAZ;AADf,KADW;AAYhBC,IAAAA,IAAI,EAAE;AACLL,MAAAA,iBAAiB,EAAE,yBAAY;AAC9BC,QAAAA,EAAE,EAAE,iBAD0B;AAE9BC,QAAAA,MAAM,EAAE;AACPI,UAAAA,IAAI,EAAE;AACLH,YAAAA,IAAI,EAAE,QADD;AAELC,YAAAA,UAAU,EAAE;AAFP;AADC;AAFsB,OAAZ;AADd,KAZU;AAuBhBG,IAAAA,MAAM,EAAE;AACPP,MAAAA,iBAAiB,EAAE,yBAAY;AAC9BC,QAAAA,EAAE,EAAE,mBAD0B;AAE9BC,QAAAA,MAAM,EAAE;AACPM,UAAAA,KAAK,EAAE;AACNL,YAAAA,IAAI,EAAE,QADA;AAENC,YAAAA,UAAU,EAAE;AAFN,WADA;AAKPK,UAAAA,MAAM,EAAE;AACPN,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,UAAU,EAAE;AAFL;AALD;AAFsB,OAAZ;AADZ;AAvBQ;AADiB,CAA5B","sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n// import keySelectChoices from '../keySelectChoices'\nimport { BaseWidget } from './widgets.types'\n\n// ** Window Widget ** //\nexport const windowEventContract = {\n\teventSignatures: {\n\t\tkey: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'windowKeyEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tkey: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tkill: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'killEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tcode: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tresize: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'resizeEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\twidth: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\theight: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type WindowEventContract = typeof windowEventContract\n\nexport interface WindowWidgetOptions {}\n\nexport interface WindowWidget extends BaseWidget<WindowEventContract> {\n\treadonly type: 'window'\n\thideCursor: () => void\n\tshowCursor: () => void\n\tsetTitle: (title: string) => void\n\tgetFocusedWidget(): BaseWidget | null\n}\n"],"file":"window.types.js"}
1
+ {"version":3,"file":"window.types.js","names":["windowEventContract","eventSignatures","key","emitPayloadSchema","id","fields","type","isRequired","kill","code","resize","width","height"],"sources":["../../../src/widgets/types/window.types.ts"],"sourcesContent":["import { buildSchema } from '@sprucelabs/schema'\n// import keySelectChoices from '../keySelectChoices'\nimport { BaseWidget } from './widgets.types'\n\n// ** Window Widget ** //\nexport const windowEventContract = {\n\teventSignatures: {\n\t\tkey: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'windowKeyEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tkey: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tkill: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'killEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\tcode: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\tresize: {\n\t\t\temitPayloadSchema: buildSchema({\n\t\t\t\tid: 'resizeEmitPayload',\n\t\t\t\tfields: {\n\t\t\t\t\twidth: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t\theight: {\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t},\n}\n\nexport type WindowEventContract = typeof windowEventContract\n\nexport interface WindowWidgetOptions {}\n\nexport interface WindowWidget extends BaseWidget<WindowEventContract> {\n\treadonly type: 'window'\n\thideCursor: () => void\n\tshowCursor: () => void\n\tsetTitle: (title: string) => void\n\tgetFocusedWidget(): BaseWidget | null\n}\n"],"mappings":";;;;;;;AAAA;;AAIA;AACO,IAAMA,mBAAmB,GAAG;EAClCC,eAAe,EAAE;IAChBC,GAAG,EAAE;MACJC,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,sBAD0B;QAE9BC,MAAM,EAAE;UACPH,GAAG,EAAE;YACJI,IAAI,EAAE,MADF;YAEJC,UAAU,EAAE;UAFR;QADE;MAFsB,CAAZ;IADf,CADW;IAYhBC,IAAI,EAAE;MACLL,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,iBAD0B;QAE9BC,MAAM,EAAE;UACPI,IAAI,EAAE;YACLH,IAAI,EAAE,QADD;YAELC,UAAU,EAAE;UAFP;QADC;MAFsB,CAAZ;IADd,CAZU;IAuBhBG,MAAM,EAAE;MACPP,iBAAiB,EAAE,yBAAY;QAC9BC,EAAE,EAAE,mBAD0B;QAE9BC,MAAM,EAAE;UACPM,KAAK,EAAE;YACNL,IAAI,EAAE,QADA;YAENC,UAAU,EAAE;UAFN,CADA;UAKPK,MAAM,EAAE;YACPN,IAAI,EAAE,QADC;YAEPC,UAAU,EAAE;UAFL;QALD;MAFsB,CAAZ;IADZ;EAvBQ;AADiB,CAA5B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/widgets/widget.utilities.ts"],"names":["widgetUtil","buildFrame","frame","parent","left","top","height","width","Error","getFrame","parseInt"],"mappings":";;;;;;AAMA,IAAMA,UAAU,GAAG;AAClBC,EAAAA,UADkB,sBACPC,KADO,EACuBC,MADvB,EACmD;AACpE,eAAmCD,KAAK,IAAI,EAA5C;AAAA,QAAME,IAAN,QAAMA,IAAN;AAAA,QAAYC,GAAZ,QAAYA,GAAZ;AAAA,QAAiBC,MAAjB,QAAiBA,MAAjB;AAAA,QAAyBC,KAAzB,QAAyBA,KAAzB;;AAEA,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC9B,UAAI,CAACJ,MAAL,EAAa;AACZ,cAAM,IAAIK,KAAJ,CACL,8DADK,CAAN;AAGA,OAL6B,CAO9B;;;AACAD,MAAAA,KAAK,GAAGJ,MAAM,CAACM,QAAP,GAAkBF,KAAlB,IAA2BG,QAAQ,CAACH,KAAD,EAAQ,EAAR,CAAR,GAAsB,GAAjD,CAAR;AACA;;AAED,QAAI,OAAOD,MAAP,KAAkB,QAAtB,EAAgC;AAC/B,UAAI,CAACH,MAAL,EAAa;AACZ,cAAM,IAAIK,KAAJ,CACL,8DADK,CAAN;AAGA;;AAEDF,MAAAA,MAAM,GAAGH,MAAM,CAACM,QAAP,GAAkBH,MAAlB,IAA4BI,QAAQ,CAACJ,MAAD,EAAS,EAAT,CAAR,GAAuB,GAAnD,CAAT;AACA;;AAED,WAAO;AAAEF,MAAAA,IAAI,EAAJA,IAAF;AAAQC,MAAAA,GAAG,EAAHA,GAAR;AAAaC,MAAAA,MAAM,EAANA,MAAb;AAAqBC,MAAAA,KAAK,EAALA;AAArB,KAAP;AACA;AA1BiB,CAAnB;eA6BeP,U","sourcesContent":["import {\n\tBaseWidget,\n\tWidgetFrame,\n\tWidgetFrameCalculated,\n} from './types/widgets.types'\n\nconst widgetUtil = {\n\tbuildFrame(frame?: Partial<WidgetFrame>, parent?: BaseWidget | null) {\n\t\tlet { left, top, height, width } = frame || {}\n\n\t\tif (typeof width === 'string') {\n\t\t\tif (!parent) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'I can only calculate percentage sizes if a parent is passed.'\n\t\t\t\t)\n\t\t\t}\n\n\t\t\t// -2 is for border width, add border support to basewidget when this causes problems\n\t\t\twidth = parent.getFrame().width * (parseInt(width, 10) / 100)\n\t\t}\n\n\t\tif (typeof height === 'string') {\n\t\t\tif (!parent) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'I can only calculate percentage sizes if a parent is passed.'\n\t\t\t\t)\n\t\t\t}\n\n\t\t\theight = parent.getFrame().height * (parseInt(height, 10) / 100)\n\t\t}\n\n\t\treturn { left, top, height, width } as Partial<WidgetFrameCalculated>\n\t},\n}\n\nexport default widgetUtil\n"],"file":"widget.utilities.js"}
1
+ {"version":3,"file":"widget.utilities.js","names":["widgetUtil","buildFrame","frame","parent","left","top","height","width","Error","getFrame","parseInt"],"sources":["../../src/widgets/widget.utilities.ts"],"sourcesContent":["import {\n\tBaseWidget,\n\tWidgetFrame,\n\tWidgetFrameCalculated,\n} from './types/widgets.types'\n\nconst widgetUtil = {\n\tbuildFrame(frame?: Partial<WidgetFrame>, parent?: BaseWidget | null) {\n\t\tlet { left, top, height, width } = frame || {}\n\n\t\tif (typeof width === 'string') {\n\t\t\tif (!parent) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'I can only calculate percentage sizes if a parent is passed.'\n\t\t\t\t)\n\t\t\t}\n\n\t\t\t// -2 is for border width, add border support to basewidget when this causes problems\n\t\t\twidth = parent.getFrame().width * (parseInt(width, 10) / 100)\n\t\t}\n\n\t\tif (typeof height === 'string') {\n\t\t\tif (!parent) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'I can only calculate percentage sizes if a parent is passed.'\n\t\t\t\t)\n\t\t\t}\n\n\t\t\theight = parent.getFrame().height * (parseInt(height, 10) / 100)\n\t\t}\n\n\t\treturn { left, top, height, width } as Partial<WidgetFrameCalculated>\n\t},\n}\n\nexport default widgetUtil\n"],"mappings":";;;;;;AAMA,IAAMA,UAAU,GAAG;EAClBC,UADkB,sBACPC,KADO,EACuBC,MADvB,EACmD;IACpE,WAAmCD,KAAK,IAAI,EAA5C;IAAA,IAAME,IAAN,QAAMA,IAAN;IAAA,IAAYC,GAAZ,QAAYA,GAAZ;IAAA,IAAiBC,MAAjB,QAAiBA,MAAjB;IAAA,IAAyBC,KAAzB,QAAyBA,KAAzB;;IAEA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;MAC9B,IAAI,CAACJ,MAAL,EAAa;QACZ,MAAM,IAAIK,KAAJ,CACL,8DADK,CAAN;MAGA,CAL6B,CAO9B;;;MACAD,KAAK,GAAGJ,MAAM,CAACM,QAAP,GAAkBF,KAAlB,IAA2BG,QAAQ,CAACH,KAAD,EAAQ,EAAR,CAAR,GAAsB,GAAjD,CAAR;IACA;;IAED,IAAI,OAAOD,MAAP,KAAkB,QAAtB,EAAgC;MAC/B,IAAI,CAACH,MAAL,EAAa;QACZ,MAAM,IAAIK,KAAJ,CACL,8DADK,CAAN;MAGA;;MAEDF,MAAM,GAAGH,MAAM,CAACM,QAAP,GAAkBH,MAAlB,IAA4BI,QAAQ,CAACJ,MAAD,EAAS,EAAT,CAAR,GAAuB,GAAnD,CAAT;IACA;;IAED,OAAO;MAAEF,IAAI,EAAJA,IAAF;MAAQC,GAAG,EAAHA,GAAR;MAAaC,MAAM,EAANA,MAAb;MAAqBC,KAAK,EAALA;IAArB,CAAP;EACA;AA1BiB,CAAnB;eA6BeP,U"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/writers/AbstractWriter.ts"],"names":["AbstractWriter","options","templates","ui","term","upgradeMode","fileDescriptions","linter","settings","file","startLoading","pathUtil","basename","fix","context","destinationDir","filesToWrite","filesToSkip","shouldConfirmBeforeWriting","firstFileWriteMessage","hasShownFirstWriteMessage","directoryTemplate","kind","code","files","results","generated","shouldWrite","indexOf","filename","shouldSkip","writeFileIfChangedMixinResults","join","relativePath","contents","destination","description","cwd","myResults","desc","name","action","diskUtil","isDir","Error","fileDescription","getFileDescription","doesFileExist","write","confirmPromptOnFirstWrite","stopLoading","confirm","writeFile","isFileDifferent","shouldOverwriteIfChanged","cleanedName","cleanFilename","skipped","get","isAlwaysSkipped","shouldAskForOverwrite","renderLine","prompt","type","label","choices","value","FILE_ACTION_OVERWRITE","FILE_ACTION_SKIP","FILE_ACTION_ALWAYS_SKIP","answer","push","set","replace","path","relativeFile","sep","substr","shouldOverwriteWhenChanged","lower","toLowerCase","d","search","undefined","dirOrFile","fallbackFileName","doesDirExist","fs","lstatSync","isDirectory","extname","length","resolvePath"],"mappings":"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","sourcesContent":["import fs from 'fs'\nimport pathUtil from 'path'\nimport { diskUtil, SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport { DirectoryTemplateCode, Templates } from '@sprucelabs/spruce-templates'\nimport {\n\tFILE_ACTION_ALWAYS_SKIP,\n\tFILE_ACTION_OVERWRITE,\n\tFILE_ACTION_SKIP,\n} from '../constants'\nimport LintService from '../services/LintService'\nimport { FileDescription, GeneratedFile, UpgradeMode } from '../types/cli.types'\nimport { GraphicsInterface } from '../types/cli.types'\n\nexport type WriteResults = GeneratedFile[]\n\nexport interface WriterOptions {\n\ttemplates: Templates\n\tterm: GraphicsInterface\n\tupgradeMode?: UpgradeMode\n\tfileDescriptions: FileDescription[]\n\tlinter?: LintService\n\tsettings: SettingsService\n}\n\nexport interface WriteDirectoryTemplateOptions {\n\tdestinationDir: string\n\tcode: DirectoryTemplateCode\n\tfilesToWrite?: string[]\n\tfilesToSkip?: string[]\n\tcontext: any\n\tshouldConfirmBeforeWriting?: boolean\n\tfirstFileWriteMessage?: string\n}\n\nexport default abstract class AbstractWriter {\n\tprotected templates: Templates\n\tprotected ui: GraphicsInterface\n\tprivate linter?: LintService\n\tprivate upgradeMode: UpgradeMode\n\tprivate fileDescriptions: FileDescription[] = []\n\tprivate shouldConfirmBeforeWriting = true\n\tprivate firstFileWriteMessage?: string\n\tprivate hasShownFirstWriteMessage = false\n\tprivate settings: SettingsService<string>\n\n\tpublic constructor(options: WriterOptions) {\n\t\tthis.templates = options.templates\n\t\tthis.ui = options.term\n\t\tthis.upgradeMode = options.upgradeMode\n\t\tthis.fileDescriptions = options.fileDescriptions\n\t\tthis.linter = options.linter\n\t\tthis.settings = options.settings\n\t}\n\n\tprotected async lint(file: string) {\n\t\tthis.ui.startLoading(`Linting ${pathUtil.basename(file)}...`)\n\t\tawait this.linter?.fix(file).catch(() => {})\n\t}\n\n\tprotected async writeDirectoryTemplate(\n\t\toptions: WriteDirectoryTemplateOptions\n\t) {\n\t\tconst {\n\t\t\tcontext,\n\t\t\tdestinationDir,\n\t\t\tfilesToWrite,\n\t\t\tfilesToSkip,\n\t\t\tshouldConfirmBeforeWriting = true,\n\t\t\tfirstFileWriteMessage,\n\t\t} = options\n\n\t\tthis.shouldConfirmBeforeWriting = shouldConfirmBeforeWriting\n\t\tthis.firstFileWriteMessage = firstFileWriteMessage\n\t\tthis.hasShownFirstWriteMessage = false\n\n\t\tconst files = await this.templates.directoryTemplate({\n\t\t\tkind: options.code,\n\t\t\tcontext: context ?? {},\n\t\t})\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const generated of files) {\n\t\t\tconst shouldWrite =\n\t\t\t\t!filesToWrite || filesToWrite.indexOf(generated.filename) > -1\n\t\t\tconst shouldSkip =\n\t\t\t\tfilesToSkip && filesToSkip.indexOf(generated.filename) > -1\n\n\t\t\tif (shouldWrite && !shouldSkip) {\n\t\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\t\tpathUtil.join(destinationDir, generated.relativePath),\n\t\t\t\t\tgenerated.contents,\n\t\t\t\t\t'',\n\t\t\t\t\tresults,\n\t\t\t\t\tdestinationDir\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprotected async writeFileIfChangedMixinResults(\n\t\tdestination: string,\n\t\tcontents: string,\n\t\tdescription: string,\n\t\tresults?: WriteResults,\n\t\tcwd = ''\n\t): Promise<WriteResults> {\n\t\tconst myResults: WriteResults = results ?? []\n\t\tlet desc: string | undefined = description\n\n\t\tconst name = pathUtil.basename(destination)\n\t\tlet action: GeneratedFile['action'] = 'skipped'\n\n\t\tif (diskUtil.isDir(destination)) {\n\t\t\tthrow new Error(`Can't write to a directory ${destination}.`)\n\t\t}\n\n\t\tconst fileDescription = this.getFileDescription(destination)\n\n\t\tif (!diskUtil.doesFileExist(destination)) {\n\t\t\tlet write = true\n\n\t\t\tif (\n\t\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\t\tfileDescription?.confirmPromptOnFirstWrite\n\t\t\t) {\n\t\t\t\tthis.ui.stopLoading()\n\t\t\t\twrite = await this.ui.confirm(fileDescription.confirmPromptOnFirstWrite)\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'generated'\n\t\t\t}\n\t\t} else if (\n\t\t\tthis.isFileDifferent(destination, contents) &&\n\t\t\tthis.shouldOverwriteIfChanged(destination)\n\t\t) {\n\t\t\tconst cleanedName = this.cleanFilename(destination, cwd)\n\t\t\tconst settings = { skipped: [], ...this.settings.get('writer') }\n\t\t\tconst isAlwaysSkipped = settings.skipped.indexOf(cleanedName) > -1\n\t\t\tlet write = !isAlwaysSkipped\n\n\t\t\tif (!isAlwaysSkipped && this.shouldAskForOverwrite()) {\n\t\t\t\tif (!this.hasShownFirstWriteMessage && this.firstFileWriteMessage) {\n\t\t\t\t\tthis.hasShownFirstWriteMessage = true\n\t\t\t\t\tthis.ui.renderLine(this.firstFileWriteMessage)\n\t\t\t\t\tthis.ui.renderLine('')\n\t\t\t\t}\n\n\t\t\t\tconst answer = await this.ui.prompt({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tlabel: `${cleanedName}`,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tchoices: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_OVERWRITE,\n\t\t\t\t\t\t\t\tlabel: 'Overwrite',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_ALWAYS_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tif (answer === FILE_ACTION_ALWAYS_SKIP) {\n\t\t\t\t\tsettings.skipped.push(cleanedName)\n\t\t\t\t\tthis.settings.set('writer', settings)\n\t\t\t\t}\n\n\t\t\t\twrite = answer === FILE_ACTION_OVERWRITE\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'updated'\n\t\t\t}\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tdesc = fileDescription?.description\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tthrow new Error(\n\t\t\t\t`No FileDescription provided for ${destination.replace(\n\t\t\t\t\tcwd,\n\t\t\t\t\t''\n\t\t\t\t)}. Check your feature's fileDescriptions property.`\n\t\t\t)\n\t\t}\n\n\t\tmyResults.push({ name, description: desc, path: destination, action })\n\n\t\treturn myResults\n\t}\n\n\tprivate isFileDifferent(destination: string, contents: string) {\n\t\treturn diskUtil.isFileDifferent(destination, contents)\n\t}\n\n\tprivate cleanFilename(destination: string, cwd: string) {\n\t\tlet relativeFile = destination.replace(cwd, '')\n\t\tif (relativeFile[0] === pathUtil.sep) {\n\t\t\trelativeFile = relativeFile.substr(1)\n\t\t}\n\t\treturn relativeFile\n\t}\n\n\tprivate shouldOverwriteIfChanged(destination: string): boolean {\n\t\tif (!this.upgradeMode) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (this.upgradeMode === 'forceEverything') {\n\t\t\treturn true\n\t\t}\n\n\t\tlet description: FileDescription | undefined =\n\t\t\tthis.getFileDescription(destination)\n\n\t\treturn description?.shouldOverwriteWhenChanged ?? false\n\t}\n\n\tprivate getFileDescription(destination: string): FileDescription | undefined {\n\t\tconst lower = destination.toLowerCase()\n\t\tfor (const d of this.fileDescriptions ?? []) {\n\t\t\tif (lower.search(d.path.toLowerCase()) > -1) {\n\t\t\t\treturn d\n\t\t\t}\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate shouldAskForOverwrite() {\n\t\tif (\n\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\tthis.upgradeMode === 'askForChanged'\n\t\t) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprotected resolveFilenameWithFallback(\n\t\tdirOrFile: string,\n\t\tfallbackFileName: string\n\t) {\n\t\tconst isDir =\n\t\t\tdiskUtil.doesDirExist(dirOrFile) &&\n\t\t\tfs.lstatSync(dirOrFile).isDirectory() &&\n\t\t\tpathUtil.extname(dirOrFile).length === 0\n\t\treturn isDir ? diskUtil.resolvePath(dirOrFile, fallbackFileName) : dirOrFile\n\t}\n}\n"],"file":"AbstractWriter.js"}
1
+ {"version":3,"file":"AbstractWriter.js","names":["AbstractWriter","options","templates","ui","term","upgradeMode","fileDescriptions","linter","settings","file","startLoading","pathUtil","basename","fix","context","destinationDir","filesToWrite","filesToSkip","shouldConfirmBeforeWriting","firstFileWriteMessage","hasShownFirstWriteMessage","directoryTemplate","kind","code","files","results","generated","shouldWrite","indexOf","filename","shouldSkip","writeFileIfChangedMixinResults","join","relativePath","contents","destination","description","cwd","myResults","desc","name","action","diskUtil","isDir","Error","fileDescription","getFileDescription","doesFileExist","write","confirmPromptOnFirstWrite","stopLoading","confirm","writeFile","isFileDifferent","shouldOverwriteIfChanged","cleanedName","cleanFilename","skipped","get","isAlwaysSkipped","shouldAskForOverwrite","renderLine","prompt","type","label","choices","value","FILE_ACTION_OVERWRITE","FILE_ACTION_SKIP","FILE_ACTION_ALWAYS_SKIP","answer","push","set","replace","path","relativeFile","sep","substr","shouldOverwriteWhenChanged","lower","toLowerCase","d","search","undefined","dirOrFile","fallbackFileName","doesDirExist","fs","lstatSync","isDirectory","extname","length","resolvePath"],"sources":["../../src/writers/AbstractWriter.ts"],"sourcesContent":["import fs from 'fs'\nimport pathUtil from 'path'\nimport { diskUtil, SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport { DirectoryTemplateCode, Templates } from '@sprucelabs/spruce-templates'\nimport {\n\tFILE_ACTION_ALWAYS_SKIP,\n\tFILE_ACTION_OVERWRITE,\n\tFILE_ACTION_SKIP,\n} from '../constants'\nimport LintService from '../services/LintService'\nimport { FileDescription, GeneratedFile, UpgradeMode } from '../types/cli.types'\nimport { GraphicsInterface } from '../types/cli.types'\n\nexport type WriteResults = GeneratedFile[]\n\nexport interface WriterOptions {\n\ttemplates: Templates\n\tterm: GraphicsInterface\n\tupgradeMode?: UpgradeMode\n\tfileDescriptions: FileDescription[]\n\tlinter?: LintService\n\tsettings: SettingsService\n}\n\nexport interface WriteDirectoryTemplateOptions {\n\tdestinationDir: string\n\tcode: DirectoryTemplateCode\n\tfilesToWrite?: string[]\n\tfilesToSkip?: string[]\n\tcontext: any\n\tshouldConfirmBeforeWriting?: boolean\n\tfirstFileWriteMessage?: string\n}\n\nexport default abstract class AbstractWriter {\n\tprotected templates: Templates\n\tprotected ui: GraphicsInterface\n\tprivate linter?: LintService\n\tprivate upgradeMode: UpgradeMode\n\tprivate fileDescriptions: FileDescription[] = []\n\tprivate shouldConfirmBeforeWriting = true\n\tprivate firstFileWriteMessage?: string\n\tprivate hasShownFirstWriteMessage = false\n\tprivate settings: SettingsService<string>\n\n\tpublic constructor(options: WriterOptions) {\n\t\tthis.templates = options.templates\n\t\tthis.ui = options.term\n\t\tthis.upgradeMode = options.upgradeMode\n\t\tthis.fileDescriptions = options.fileDescriptions\n\t\tthis.linter = options.linter\n\t\tthis.settings = options.settings\n\t}\n\n\tprotected async lint(file: string) {\n\t\tthis.ui.startLoading(`Linting ${pathUtil.basename(file)}...`)\n\t\tawait this.linter?.fix(file).catch(() => {})\n\t}\n\n\tprotected async writeDirectoryTemplate(\n\t\toptions: WriteDirectoryTemplateOptions\n\t) {\n\t\tconst {\n\t\t\tcontext,\n\t\t\tdestinationDir,\n\t\t\tfilesToWrite,\n\t\t\tfilesToSkip,\n\t\t\tshouldConfirmBeforeWriting = true,\n\t\t\tfirstFileWriteMessage,\n\t\t} = options\n\n\t\tthis.shouldConfirmBeforeWriting = shouldConfirmBeforeWriting\n\t\tthis.firstFileWriteMessage = firstFileWriteMessage\n\t\tthis.hasShownFirstWriteMessage = false\n\n\t\tconst files = await this.templates.directoryTemplate({\n\t\t\tkind: options.code,\n\t\t\tcontext: context ?? {},\n\t\t})\n\n\t\tlet results: WriteResults = []\n\n\t\tfor (const generated of files) {\n\t\t\tconst shouldWrite =\n\t\t\t\t!filesToWrite || filesToWrite.indexOf(generated.filename) > -1\n\t\t\tconst shouldSkip =\n\t\t\t\tfilesToSkip && filesToSkip.indexOf(generated.filename) > -1\n\n\t\t\tif (shouldWrite && !shouldSkip) {\n\t\t\t\tresults = await this.writeFileIfChangedMixinResults(\n\t\t\t\t\tpathUtil.join(destinationDir, generated.relativePath),\n\t\t\t\t\tgenerated.contents,\n\t\t\t\t\t'',\n\t\t\t\t\tresults,\n\t\t\t\t\tdestinationDir\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn results\n\t}\n\n\tprotected async writeFileIfChangedMixinResults(\n\t\tdestination: string,\n\t\tcontents: string,\n\t\tdescription: string,\n\t\tresults?: WriteResults,\n\t\tcwd = ''\n\t): Promise<WriteResults> {\n\t\tconst myResults: WriteResults = results ?? []\n\t\tlet desc: string | undefined = description\n\n\t\tconst name = pathUtil.basename(destination)\n\t\tlet action: GeneratedFile['action'] = 'skipped'\n\n\t\tif (diskUtil.isDir(destination)) {\n\t\t\tthrow new Error(`Can't write to a directory ${destination}.`)\n\t\t}\n\n\t\tconst fileDescription = this.getFileDescription(destination)\n\n\t\tif (!diskUtil.doesFileExist(destination)) {\n\t\t\tlet write = true\n\n\t\t\tif (\n\t\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\t\tfileDescription?.confirmPromptOnFirstWrite\n\t\t\t) {\n\t\t\t\tthis.ui.stopLoading()\n\t\t\t\twrite = await this.ui.confirm(fileDescription.confirmPromptOnFirstWrite)\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'generated'\n\t\t\t}\n\t\t} else if (\n\t\t\tthis.isFileDifferent(destination, contents) &&\n\t\t\tthis.shouldOverwriteIfChanged(destination)\n\t\t) {\n\t\t\tconst cleanedName = this.cleanFilename(destination, cwd)\n\t\t\tconst settings = { skipped: [], ...this.settings.get('writer') }\n\t\t\tconst isAlwaysSkipped = settings.skipped.indexOf(cleanedName) > -1\n\t\t\tlet write = !isAlwaysSkipped\n\n\t\t\tif (!isAlwaysSkipped && this.shouldAskForOverwrite()) {\n\t\t\t\tif (!this.hasShownFirstWriteMessage && this.firstFileWriteMessage) {\n\t\t\t\t\tthis.hasShownFirstWriteMessage = true\n\t\t\t\t\tthis.ui.renderLine(this.firstFileWriteMessage)\n\t\t\t\t\tthis.ui.renderLine('')\n\t\t\t\t}\n\n\t\t\t\tconst answer = await this.ui.prompt({\n\t\t\t\t\ttype: 'select',\n\t\t\t\t\tlabel: `${cleanedName}`,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tchoices: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_OVERWRITE,\n\t\t\t\t\t\t\t\tlabel: 'Overwrite',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: FILE_ACTION_ALWAYS_SKIP,\n\t\t\t\t\t\t\t\tlabel: 'Always skip',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tif (answer === FILE_ACTION_ALWAYS_SKIP) {\n\t\t\t\t\tsettings.skipped.push(cleanedName)\n\t\t\t\t\tthis.settings.set('writer', settings)\n\t\t\t\t}\n\n\t\t\t\twrite = answer === FILE_ACTION_OVERWRITE\n\t\t\t}\n\n\t\t\tif (write) {\n\t\t\t\tdiskUtil.writeFile(destination, contents)\n\t\t\t\taction = 'updated'\n\t\t\t}\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tdesc = fileDescription?.description\n\t\t}\n\n\t\tif (!desc) {\n\t\t\tthrow new Error(\n\t\t\t\t`No FileDescription provided for ${destination.replace(\n\t\t\t\t\tcwd,\n\t\t\t\t\t''\n\t\t\t\t)}. Check your feature's fileDescriptions property.`\n\t\t\t)\n\t\t}\n\n\t\tmyResults.push({ name, description: desc, path: destination, action })\n\n\t\treturn myResults\n\t}\n\n\tprivate isFileDifferent(destination: string, contents: string) {\n\t\treturn diskUtil.isFileDifferent(destination, contents)\n\t}\n\n\tprivate cleanFilename(destination: string, cwd: string) {\n\t\tlet relativeFile = destination.replace(cwd, '')\n\t\tif (relativeFile[0] === pathUtil.sep) {\n\t\t\trelativeFile = relativeFile.substr(1)\n\t\t}\n\t\treturn relativeFile\n\t}\n\n\tprivate shouldOverwriteIfChanged(destination: string): boolean {\n\t\tif (!this.upgradeMode) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (this.upgradeMode === 'forceEverything') {\n\t\t\treturn true\n\t\t}\n\n\t\tlet description: FileDescription | undefined =\n\t\t\tthis.getFileDescription(destination)\n\n\t\treturn description?.shouldOverwriteWhenChanged ?? false\n\t}\n\n\tprivate getFileDescription(destination: string): FileDescription | undefined {\n\t\tconst lower = destination.toLowerCase()\n\t\tfor (const d of this.fileDescriptions ?? []) {\n\t\t\tif (lower.search(d.path.toLowerCase()) > -1) {\n\t\t\t\treturn d\n\t\t\t}\n\t\t}\n\n\t\treturn undefined\n\t}\n\n\tprivate shouldAskForOverwrite() {\n\t\tif (\n\t\t\tthis.shouldConfirmBeforeWriting &&\n\t\t\tthis.upgradeMode === 'askForChanged'\n\t\t) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprotected resolveFilenameWithFallback(\n\t\tdirOrFile: string,\n\t\tfallbackFileName: string\n\t) {\n\t\tconst isDir =\n\t\t\tdiskUtil.doesDirExist(dirOrFile) &&\n\t\t\tfs.lstatSync(dirOrFile).isDirectory() &&\n\t\t\tpathUtil.extname(dirOrFile).length === 0\n\t\treturn isDir ? diskUtil.resolvePath(dirOrFile, fallbackFileName) : dirOrFile\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;IA8B8BA,c;EAW7B,wBAAmBC,OAAnB,EAA2C;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,2DANG,EAMH;IAAA,qEALN,IAKM;IAAA;IAAA,oEAHP,KAGO;IAAA;IAC1C,KAAKC,SAAL,GAAiBD,OAAO,CAACC,SAAzB;IACA,KAAKC,EAAL,GAAUF,OAAO,CAACG,IAAlB;IACA,KAAKC,WAAL,GAAmBJ,OAAO,CAACI,WAA3B;IACA,KAAKC,gBAAL,GAAwBL,OAAO,CAACK,gBAAhC;IACA,KAAKC,MAAL,GAAcN,OAAO,CAACM,MAAtB;IACA,KAAKC,QAAL,GAAgBP,OAAO,CAACO,QAAxB;EACA;;;;;gGAED,iBAAqBC,IAArB;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACC,KAAKN,EAAL,CAAQO,YAAR,mBAAgCC,iBAASC,QAAT,CAAkBH,IAAlB,CAAhC;gBADD;gBAAA,uBAEO,KAAKF,MAFZ,iDAEO,aAAaM,GAAb,CAAiBJ,IAAjB,WAA6B,YAAM,CAAE,CAArC,CAFP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;kHAKA,kBACCR,OADD;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAIEa,OAJF,GAUKb,OAVL,CAIEa,OAJF,EAKEC,cALF,GAUKd,OAVL,CAKEc,cALF,EAMEC,YANF,GAUKf,OAVL,CAMEe,YANF,EAOEC,WAPF,GAUKhB,OAVL,CAOEgB,WAPF,0BAUKhB,OAVL,CAQEiB,0BARF,EAQEA,0BARF,sCAQ+B,IAR/B,0BASEC,qBATF,GAUKlB,OAVL,CASEkB,qBATF;gBAYC,KAAKD,0BAAL,GAAkCA,0BAAlC;gBACA,KAAKC,qBAAL,GAA6BA,qBAA7B;gBACA,KAAKC,yBAAL,GAAiC,KAAjC;gBAdD;gBAAA,OAgBqB,KAAKlB,SAAL,CAAemB,iBAAf,CAAiC;kBACpDC,IAAI,EAAErB,OAAO,CAACsB,IADsC;kBAEpDT,OAAO,EAAEA,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAa;gBAFgC,CAAjC,CAhBrB;;cAAA;gBAgBOU,KAhBP;gBAqBKC,OArBL,GAqB6B,EArB7B;gBAAA,uCAuByBD,KAvBzB;gBAAA;;gBAAA;;cAAA;gBAAA;kBAAA;kBAAA;gBAAA;;gBAuBYE,SAvBZ;gBAwBQC,WAxBR,GAyBG,CAACX,YAAD,IAAiBA,YAAY,CAACY,OAAb,CAAqBF,SAAS,CAACG,QAA/B,IAA2C,CAAC,CAzBhE;gBA0BQC,UA1BR,GA2BGb,WAAW,IAAIA,WAAW,CAACW,OAAZ,CAAoBF,SAAS,CAACG,QAA9B,IAA0C,CAAC,CA3B7D;;gBAAA,MA6BMF,WAAW,IAAI,CAACG,UA7BtB;kBAAA;kBAAA;gBAAA;;gBAAA;gBAAA,OA8BmB,KAAKC,8BAAL,CACfpB,iBAASqB,IAAT,CAAcjB,cAAd,EAA8BW,SAAS,CAACO,YAAxC,CADe,EAEfP,SAAS,CAACQ,QAFK,EAGf,EAHe,EAIfT,OAJe,EAKfV,cALe,CA9BnB;;cAAA;gBA8BGU,OA9BH;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;;cAAA;gBAAA;gBAAA;;gBAAA;;cAAA;gBAAA;;gBAAA;;gBAAA;;cAAA;gBAAA,kCAwCQA,OAxCR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;0HA2CA,kBACCU,WADD,EAECD,QAFD,EAGCE,WAHD,EAICX,OAJD;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAKCY,GALD,8DAKO,EALP;gBAOOC,SAPP,GAOiCb,OAPjC,aAOiCA,OAPjC,cAOiCA,OAPjC,GAO4C,EAP5C;gBAQKc,IARL,GAQgCH,WARhC;gBAUOI,IAVP,GAUc7B,iBAASC,QAAT,CAAkBuB,WAAlB,CAVd;gBAWKM,MAXL,GAWuC,SAXvC;;gBAAA,KAaKC,2BAASC,KAAT,CAAeR,WAAf,CAbL;kBAAA;kBAAA;gBAAA;;gBAAA,MAcQ,IAAIS,KAAJ,sCAAwCT,WAAxC,OAdR;;cAAA;gBAiBOU,eAjBP,GAiByB,KAAKC,kBAAL,CAAwBX,WAAxB,CAjBzB;;gBAAA,IAmBMO,2BAASK,aAAT,CAAuBZ,WAAvB,CAnBN;kBAAA;kBAAA;gBAAA;;gBAoBMa,KApBN,GAoBc,IApBd;;gBAAA,MAuBG,KAAK9B,0BAAL,IACA2B,eADA,aACAA,eADA,eACAA,eAAe,CAAEI,yBAxBpB;kBAAA;kBAAA;gBAAA;;gBA0BG,KAAK9C,EAAL,CAAQ+C,WAAR;gBA1BH;gBAAA,OA2BiB,KAAK/C,EAAL,CAAQgD,OAAR,CAAgBN,eAAe,CAACI,yBAAhC,CA3BjB;;cAAA;gBA2BGD,KA3BH;;cAAA;gBA8BE,IAAIA,KAAJ,EAAW;kBACVN,2BAASU,SAAT,CAAmBjB,WAAnB,EAAgCD,QAAhC;;kBACAO,MAAM,GAAG,WAAT;gBACA;;gBAjCH;gBAAA;;cAAA;gBAAA,MAmCE,KAAKY,eAAL,CAAqBlB,WAArB,EAAkCD,QAAlC,KACA,KAAKoB,wBAAL,CAA8BnB,WAA9B,CApCF;kBAAA;kBAAA;gBAAA;;gBAsCQoB,WAtCR,GAsCsB,KAAKC,aAAL,CAAmBrB,WAAnB,EAAgCE,GAAhC,CAtCtB;gBAuCQ7B,QAvCR;kBAuCqBiD,OAAO,EAAE;gBAvC9B,GAuCqC,KAAKjD,QAAL,CAAckD,GAAd,CAAkB,QAAlB,CAvCrC;gBAwCQC,eAxCR,GAwC0BnD,QAAQ,CAACiD,OAAT,CAAiB7B,OAAjB,CAAyB2B,WAAzB,IAAwC,CAAC,CAxCnE;gBAyCMP,MAzCN,GAyCc,CAACW,eAzCf;;gBAAA,MA2CM,CAACA,eAAD,IAAoB,KAAKC,qBAAL,EA3C1B;kBAAA;kBAAA;gBAAA;;gBA4CG,IAAI,CAAC,KAAKxC,yBAAN,IAAmC,KAAKD,qBAA5C,EAAmE;kBAClE,KAAKC,yBAAL,GAAiC,IAAjC;kBACA,KAAKjB,EAAL,CAAQ0D,UAAR,CAAmB,KAAK1C,qBAAxB;kBACA,KAAKhB,EAAL,CAAQ0D,UAAR,CAAmB,EAAnB;gBACA;;gBAhDJ;gBAAA,OAkDwB,KAAK1D,EAAL,CAAQ2D,MAAR,CAAe;kBACnCC,IAAI,EAAE,QAD6B;kBAEnCC,KAAK,YAAKT,WAAL,CAF8B;kBAGnCtD,OAAO,EAAE;oBACRgE,OAAO,EAAE,CACR;sBACCC,KAAK,EAAEC,gCADR;sBAECH,KAAK,EAAE;oBAFR,CADQ,EAKR;sBACCE,KAAK,EAAEE,2BADR;sBAECJ,KAAK,EAAE;oBAFR,CALQ,EASR;sBACCE,KAAK,EAAEG,kCADR;sBAECL,KAAK,EAAE;oBAFR,CATQ;kBADD;gBAH0B,CAAf,CAlDxB;;cAAA;gBAkDSM,MAlDT;;gBAuEG,IAAIA,MAAM,KAAKD,kCAAf,EAAwC;kBACvC7D,QAAQ,CAACiD,OAAT,CAAiBc,IAAjB,CAAsBhB,WAAtB;kBACA,KAAK/C,QAAL,CAAcgE,GAAd,CAAkB,QAAlB,EAA4BhE,QAA5B;gBACA;;gBAEDwC,MAAK,GAAGsB,MAAM,KAAKH,gCAAnB;;cA5EH;gBA+EE,IAAInB,MAAJ,EAAW;kBACVN,2BAASU,SAAT,CAAmBjB,WAAnB,EAAgCD,QAAhC;;kBACAO,MAAM,GAAG,SAAT;gBACA;;cAlFH;gBAqFC,IAAI,CAACF,IAAL,EAAW;kBACVA,IAAI,GAAGM,eAAH,aAAGA,eAAH,uBAAGA,eAAe,CAAET,WAAxB;gBACA;;gBAvFF,IAyFMG,IAzFN;kBAAA;kBAAA;gBAAA;;gBAAA,MA0FQ,IAAIK,KAAJ,2CAC8BT,WAAW,CAACsC,OAAZ,CAClCpC,GADkC,EAElC,EAFkC,CAD9B,uDA1FR;;cAAA;gBAkGCC,SAAS,CAACiC,IAAV,CAAe;kBAAE/B,IAAI,EAAJA,IAAF;kBAAQJ,WAAW,EAAEG,IAArB;kBAA2BmC,IAAI,EAAEvC,WAAjC;kBAA8CM,MAAM,EAANA;gBAA9C,CAAf;gBAlGD,kCAoGQH,SApGR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAuGA,yBAAwBH,WAAxB,EAA6CD,QAA7C,EAA+D;MAC9D,OAAOQ,2BAASW,eAAT,CAAyBlB,WAAzB,EAAsCD,QAAtC,CAAP;IACA;;;WAED,uBAAsBC,WAAtB,EAA2CE,GAA3C,EAAwD;MACvD,IAAIsC,YAAY,GAAGxC,WAAW,CAACsC,OAAZ,CAAoBpC,GAApB,EAAyB,EAAzB,CAAnB;;MACA,IAAIsC,YAAY,CAAC,CAAD,CAAZ,KAAoBhE,iBAASiE,GAAjC,EAAsC;QACrCD,YAAY,GAAGA,YAAY,CAACE,MAAb,CAAoB,CAApB,CAAf;MACA;;MACD,OAAOF,YAAP;IACA;;;WAED,kCAAiCxC,WAAjC,EAA+D;MAAA;;MAC9D,IAAI,CAAC,KAAK9B,WAAV,EAAuB;QACtB,OAAO,IAAP;MACA;;MAED,IAAI,KAAKA,WAAL,KAAqB,iBAAzB,EAA4C;QAC3C,OAAO,IAAP;MACA;;MAED,IAAI+B,WAAwC,GAC3C,KAAKU,kBAAL,CAAwBX,WAAxB,CADD;MAGA,gCAAOC,WAAP,aAAOA,WAAP,uBAAOA,WAAW,CAAE0C,0BAApB,yEAAkD,KAAlD;IACA;;;WAED,4BAA2B3C,WAA3B,EAA6E;MAAA;;MAC5E,IAAM4C,KAAK,GAAG5C,WAAW,CAAC6C,WAAZ,EAAd;;MAD4E,qEAE5D,KAAK1E,gBAFuD,yEAEnC,EAFmC;MAAA;;MAAA;QAE5E,uDAA6C;UAAA,IAAlC2E,CAAkC;;UAC5C,IAAIF,KAAK,CAACG,MAAN,CAAaD,CAAC,CAACP,IAAF,CAAOM,WAAP,EAAb,IAAqC,CAAC,CAA1C,EAA6C;YAC5C,OAAOC,CAAP;UACA;QACD;MAN2E;QAAA;MAAA;QAAA;MAAA;;MAQ5E,OAAOE,SAAP;IACA;;;WAED,iCAAgC;MAC/B,IACC,KAAKjE,0BAAL,IACA,KAAKb,WAAL,KAAqB,eAFtB,EAGE;QACD,OAAO,IAAP;MACA;;MAED,OAAO,KAAP;IACA;;;WAED,qCACC+E,SADD,EAECC,gBAFD,EAGE;MACD,IAAM1C,KAAK,GACVD,2BAAS4C,YAAT,CAAsBF,SAAtB,KACAG,eAAGC,SAAH,CAAaJ,SAAb,EAAwBK,WAAxB,EADA,IAEA9E,iBAAS+E,OAAT,CAAiBN,SAAjB,EAA4BO,MAA5B,KAAuC,CAHxC;MAIA,OAAOhD,KAAK,GAAGD,2BAASkD,WAAT,CAAqBR,SAArB,EAAgCC,gBAAhC,CAAH,GAAuDD,SAAnE;IACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/writers/WriterFactory.ts"],"names":["classMap","error","ErrorWriter","event","EventWriter","schema","SchemaWriter","skill","SkillGenerator","test","TestGenerator","node","NodeWriter","vscode","VsCodeWriter","conversation","ConversationWriter","deploy","DeployWriter","sandbox","SandboxWriter","store","StoreWriter","view","ViewWriter","log","LogWriter","WriterFactory","options","templates","ui","linter","settings","code","Class","term"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAMA,IAAMA,QAAQ,GAAG;AAChBC,EAAAA,KAAK,EAAEC,uBADS;AAEhBC,EAAAA,KAAK,EAAEC,uBAFS;AAGhBC,EAAAA,MAAM,EAAEC,wBAHQ;AAIhBC,EAAAA,KAAK,EAAEC,uBAJS;AAKhBC,EAAAA,IAAI,EAAEC,sBALU;AAMhBC,EAAAA,IAAI,EAAEC,sBANU;AAOhBC,EAAAA,MAAM,EAAEC,wBAPQ;AAQhBC,EAAAA,YAAY,EAAEC,8BARE;AAShBC,EAAAA,MAAM,EAAEC,wBATQ;AAUhBC,EAAAA,OAAO,EAAEC,yBAVO;AAWhBC,EAAAA,KAAK,EAAEC,uBAXS;AAYhBC,EAAAA,IAAI,EAAEC,sBAZU;AAahBC,EAAAA,GAAG,EAAEC;AAbW,CAAjB;;IAkCqBC,a;AAMpB,yBAAmBC,OAAnB,EAKG;AAAA;AAAA;AAAA;AAAA;AAAA;AACF,QAAQC,SAAR,GAA4CD,OAA5C,CAAQC,SAAR;AAAA,QAAmBC,EAAnB,GAA4CF,OAA5C,CAAmBE,EAAnB;AAAA,QAAuBC,MAAvB,GAA4CH,OAA5C,CAAuBG,MAAvB;AAAA,QAA+BC,QAA/B,GAA4CJ,OAA5C,CAA+BI,QAA/B;AAEA,SAAKH,SAAL,GAAiBA,SAAjB;AACA,SAAKC,EAAL,GAAUA,EAAV;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA;;;;WAED,gBACCC,IADD,EAECL,OAFD,EAGgB;AACf,UAAMM,KAAK,GAAGlC,QAAQ,CAACiC,IAAD,CAAtB;AACA,aAAO,IAAIC,KAAJ;AACNL,QAAAA,SAAS,EAAE,KAAKA,SADV;AAENM,QAAAA,IAAI,EAAE,KAAKL,EAFL;AAGNC,QAAAA,MAAM,EAAE,KAAKA,MAHP;AAINC,QAAAA,QAAQ,EAAE,KAAKA;AAJT,SAKFJ,OAAO,IAAI,EALT,EAAP;AAOA","sourcesContent":["import { SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport { Templates } from '@sprucelabs/spruce-templates'\nimport ConversationWriter from '../features/conversation/writers/ConversationWriter'\nimport DeployWriter from '../features/deploy/writers/DeployWriter'\nimport ErrorWriter from '../features/error/writers/ErrorWriter'\nimport EventWriter from '../features/event/writers/EventWriter'\nimport LogWriter from '../features/log/writers/LogWriter'\nimport NodeWriter from '../features/node/writers/NodeWriter'\nimport SandboxWriter from '../features/sandbox/writers/SandboxWriter'\nimport SchemaWriter from '../features/schema/writers/SchemaWriter'\nimport SkillGenerator from '../features/skill/writers/SkillWriter'\nimport StoreWriter from '../features/store/writers/StoreWriter'\nimport TestGenerator from '../features/test/writers/TestWriter'\nimport ViewWriter from '../features/view/writers/ViewWriter'\nimport VsCodeWriter from '../features/vscode/writers/VsCodeWriter'\nimport LintService from '../services/LintService'\nimport { FileDescription } from '../types/cli.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { WriterOptions } from './AbstractWriter'\n\nconst classMap = {\n\terror: ErrorWriter,\n\tevent: EventWriter,\n\tschema: SchemaWriter,\n\tskill: SkillGenerator,\n\ttest: TestGenerator,\n\tnode: NodeWriter,\n\tvscode: VsCodeWriter,\n\tconversation: ConversationWriter,\n\tdeploy: DeployWriter,\n\tsandbox: SandboxWriter,\n\tstore: StoreWriter,\n\tview: ViewWriter,\n\tlog: LogWriter,\n}\n\nexport interface WriterMap {\n\terror: ErrorWriter\n\tevent: EventWriter\n\tschema: SchemaWriter\n\tskill: SkillGenerator\n\ttest: TestGenerator\n\tnode: NodeWriter\n\tvscode: VsCodeWriter\n\tconversation: ConversationWriter\n\tdeploy: DeployWriter\n\tsandbox: SandboxWriter\n\tstore: StoreWriter\n\tview: ViewWriter\n\tlog: LogWriter\n}\n\nexport type WriterCode = keyof WriterMap\n\nexport default class WriterFactory {\n\tprivate templates: Templates\n\tprivate ui: GraphicsInterface\n\tprivate linter?: LintService\n\tprivate settings: SettingsService<string>\n\n\tpublic constructor(options: {\n\t\ttemplates: Templates\n\t\tui: GraphicsInterface\n\t\tlinter?: LintService\n\t\tsettings: SettingsService\n\t}) {\n\t\tconst { templates, ui, linter, settings } = options\n\n\t\tthis.templates = templates\n\t\tthis.ui = ui\n\t\tthis.linter = linter\n\t\tthis.settings = settings\n\t}\n\n\tpublic Writer<C extends WriterCode>(\n\t\tcode: C,\n\t\toptions: Partial<WriterOptions> & { fileDescriptions: FileDescription[] }\n\t): WriterMap[C] {\n\t\tconst Class = classMap[code]\n\t\treturn new Class({\n\t\t\ttemplates: this.templates,\n\t\t\tterm: this.ui,\n\t\t\tlinter: this.linter,\n\t\t\tsettings: this.settings,\n\t\t\t...(options || {}),\n\t\t}) as WriterMap[C]\n\t}\n}\n"],"file":"WriterFactory.js"}
1
+ {"version":3,"file":"WriterFactory.js","names":["classMap","error","ErrorWriter","event","EventWriter","schema","SchemaWriter","skill","SkillGenerator","test","TestGenerator","node","NodeWriter","vscode","VsCodeWriter","conversation","ConversationWriter","deploy","DeployWriter","sandbox","SandboxWriter","store","StoreWriter","view","ViewWriter","log","LogWriter","WriterFactory","options","templates","ui","linter","settings","code","Class","term"],"sources":["../../src/writers/WriterFactory.ts"],"sourcesContent":["import { SettingsService } from '@sprucelabs/spruce-skill-utils'\nimport { Templates } from '@sprucelabs/spruce-templates'\nimport ConversationWriter from '../features/conversation/writers/ConversationWriter'\nimport DeployWriter from '../features/deploy/writers/DeployWriter'\nimport ErrorWriter from '../features/error/writers/ErrorWriter'\nimport EventWriter from '../features/event/writers/EventWriter'\nimport LogWriter from '../features/log/writers/LogWriter'\nimport NodeWriter from '../features/node/writers/NodeWriter'\nimport SandboxWriter from '../features/sandbox/writers/SandboxWriter'\nimport SchemaWriter from '../features/schema/writers/SchemaWriter'\nimport SkillGenerator from '../features/skill/writers/SkillWriter'\nimport StoreWriter from '../features/store/writers/StoreWriter'\nimport TestGenerator from '../features/test/writers/TestWriter'\nimport ViewWriter from '../features/view/writers/ViewWriter'\nimport VsCodeWriter from '../features/vscode/writers/VsCodeWriter'\nimport LintService from '../services/LintService'\nimport { FileDescription } from '../types/cli.types'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { WriterOptions } from './AbstractWriter'\n\nconst classMap = {\n\terror: ErrorWriter,\n\tevent: EventWriter,\n\tschema: SchemaWriter,\n\tskill: SkillGenerator,\n\ttest: TestGenerator,\n\tnode: NodeWriter,\n\tvscode: VsCodeWriter,\n\tconversation: ConversationWriter,\n\tdeploy: DeployWriter,\n\tsandbox: SandboxWriter,\n\tstore: StoreWriter,\n\tview: ViewWriter,\n\tlog: LogWriter,\n}\n\nexport interface WriterMap {\n\terror: ErrorWriter\n\tevent: EventWriter\n\tschema: SchemaWriter\n\tskill: SkillGenerator\n\ttest: TestGenerator\n\tnode: NodeWriter\n\tvscode: VsCodeWriter\n\tconversation: ConversationWriter\n\tdeploy: DeployWriter\n\tsandbox: SandboxWriter\n\tstore: StoreWriter\n\tview: ViewWriter\n\tlog: LogWriter\n}\n\nexport type WriterCode = keyof WriterMap\n\nexport default class WriterFactory {\n\tprivate templates: Templates\n\tprivate ui: GraphicsInterface\n\tprivate linter?: LintService\n\tprivate settings: SettingsService<string>\n\n\tpublic constructor(options: {\n\t\ttemplates: Templates\n\t\tui: GraphicsInterface\n\t\tlinter?: LintService\n\t\tsettings: SettingsService\n\t}) {\n\t\tconst { templates, ui, linter, settings } = options\n\n\t\tthis.templates = templates\n\t\tthis.ui = ui\n\t\tthis.linter = linter\n\t\tthis.settings = settings\n\t}\n\n\tpublic Writer<C extends WriterCode>(\n\t\tcode: C,\n\t\toptions: Partial<WriterOptions> & { fileDescriptions: FileDescription[] }\n\t): WriterMap[C] {\n\t\tconst Class = classMap[code]\n\t\treturn new Class({\n\t\t\ttemplates: this.templates,\n\t\t\tterm: this.ui,\n\t\t\tlinter: this.linter,\n\t\t\tsettings: this.settings,\n\t\t\t...(options || {}),\n\t\t}) as WriterMap[C]\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAMA,IAAMA,QAAQ,GAAG;EAChBC,KAAK,EAAEC,uBADS;EAEhBC,KAAK,EAAEC,uBAFS;EAGhBC,MAAM,EAAEC,wBAHQ;EAIhBC,KAAK,EAAEC,uBAJS;EAKhBC,IAAI,EAAEC,sBALU;EAMhBC,IAAI,EAAEC,sBANU;EAOhBC,MAAM,EAAEC,wBAPQ;EAQhBC,YAAY,EAAEC,8BARE;EAShBC,MAAM,EAAEC,wBATQ;EAUhBC,OAAO,EAAEC,yBAVO;EAWhBC,KAAK,EAAEC,uBAXS;EAYhBC,IAAI,EAAEC,sBAZU;EAahBC,GAAG,EAAEC;AAbW,CAAjB;;IAkCqBC,a;EAMpB,uBAAmBC,OAAnB,EAKG;IAAA;IAAA;IAAA;IAAA;IAAA;IACF,IAAQC,SAAR,GAA4CD,OAA5C,CAAQC,SAAR;IAAA,IAAmBC,EAAnB,GAA4CF,OAA5C,CAAmBE,EAAnB;IAAA,IAAuBC,MAAvB,GAA4CH,OAA5C,CAAuBG,MAAvB;IAAA,IAA+BC,QAA/B,GAA4CJ,OAA5C,CAA+BI,QAA/B;IAEA,KAAKH,SAAL,GAAiBA,SAAjB;IACA,KAAKC,EAAL,GAAUA,EAAV;IACA,KAAKC,MAAL,GAAcA,MAAd;IACA,KAAKC,QAAL,GAAgBA,QAAhB;EACA;;;;WAED,gBACCC,IADD,EAECL,OAFD,EAGgB;MACf,IAAMM,KAAK,GAAGlC,QAAQ,CAACiC,IAAD,CAAtB;MACA,OAAO,IAAIC,KAAJ;QACNL,SAAS,EAAE,KAAKA,SADV;QAENM,IAAI,EAAE,KAAKL,EAFL;QAGNC,MAAM,EAAE,KAAKA,MAHP;QAINC,QAAQ,EAAE,KAAKA;MAJT,GAKFJ,OAAO,IAAI,EALT,EAAP;IAOA"}
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  ]
19
19
  },
20
20
  "license": "MIT",
21
- "version": "15.2.24",
21
+ "version": "15.4.1",
22
22
  "bin": {
23
23
  "spruce": "./build/index.js"
24
24
  },
@@ -72,23 +72,23 @@
72
72
  "watch.tsc": "tsc -w --sourceMap"
73
73
  },
74
74
  "dependencies": {
75
- "@babel/cli": "^7.17.6",
75
+ "@babel/cli": "^7.17.10",
76
76
  "@babel/plugin-proposal-decorators": "^7.17.9",
77
77
  "@babel/runtime": "^7.17.9",
78
- "@jest/reporters": "^27.5.1",
79
- "@sprucelabs/error": "^5.0.440",
80
- "@sprucelabs/heartwood-view-controllers": "^70.14.10",
81
- "@sprucelabs/jest-json-reporter": "^6.0.361",
82
- "@sprucelabs/mercury-client": "^22.2.58",
83
- "@sprucelabs/mercury-event-emitter": "^22.2.58",
84
- "@sprucelabs/mercury-types": "^27.0.228",
85
- "@sprucelabs/schema": "^27.1.49",
86
- "@sprucelabs/spruce-core-schemas": "^25.0.84",
87
- "@sprucelabs/spruce-event-plugin": "^30.4.12",
88
- "@sprucelabs/spruce-event-utils": "^19.1.86",
89
- "@sprucelabs/spruce-skill-booter": "^30.4.12",
90
- "@sprucelabs/spruce-skill-utils": "^25.0.83",
91
- "@sprucelabs/spruce-templates": "^15.2.24",
78
+ "@jest/reporters": "^28.0.3",
79
+ "@sprucelabs/error": "^5.0.448",
80
+ "@sprucelabs/heartwood-view-controllers": "^70.15.38",
81
+ "@sprucelabs/jest-json-reporter": "^6.0.371",
82
+ "@sprucelabs/mercury-client": "^22.2.86",
83
+ "@sprucelabs/mercury-event-emitter": "^22.2.86",
84
+ "@sprucelabs/mercury-types": "^27.0.252",
85
+ "@sprucelabs/schema": "^27.1.66",
86
+ "@sprucelabs/spruce-core-schemas": "^25.0.107",
87
+ "@sprucelabs/spruce-event-plugin": "^30.4.41",
88
+ "@sprucelabs/spruce-event-utils": "^19.1.113",
89
+ "@sprucelabs/spruce-skill-booter": "^30.4.41",
90
+ "@sprucelabs/spruce-skill-utils": "^25.1.0",
91
+ "@sprucelabs/spruce-templates": "^15.4.1",
92
92
  "@typescript-eslint/eslint-plugin": "^5.17.0",
93
93
  "@typescript-eslint/parser": "^5.17.0",
94
94
  "cfonts": "^2.10.1",
@@ -96,13 +96,13 @@
96
96
  "chokidar": "^3.5.3",
97
97
  "cli-table3": "^0.6.2",
98
98
  "commander": "7.2.0",
99
- "core-js": "^3.22.0",
99
+ "core-js": "^3.22.4",
100
100
  "emphasize": "4.2.0",
101
101
  "fs-extra": "^10.1.0",
102
102
  "gifwrap": "^0.10.1",
103
103
  "globby": "11.0.4",
104
104
  "inflection": "^1.13.2",
105
- "inquirer": "^8.2.2",
105
+ "inquirer": "^8.2.4",
106
106
  "inquirer-file-tree-selection-prompt": "1.0.18",
107
107
  "js-tetris-cli": "^0.0.3",
108
108
  "jsonwebtoken": "^8.5.1",
@@ -119,16 +119,16 @@
119
119
  "uuid": "^8.3.2"
120
120
  },
121
121
  "devDependencies": {
122
- "@sprucelabs/data-stores": "^9.0.92",
123
- "@sprucelabs/jest-sheets-reporter": "^1.3.41",
124
- "@sprucelabs/mercury-core-events": "^3.2.7",
125
- "@sprucelabs/resolve-path-aliases": "^1.1.30",
126
- "@sprucelabs/spruce-conversation-plugin": "^30.4.12",
127
- "@sprucelabs/spruce-deploy-plugin": "^30.4.12",
128
- "@sprucelabs/spruce-store-plugin": "^30.4.12",
129
- "@sprucelabs/spruce-test-fixtures": "^30.4.12",
130
- "@sprucelabs/test": "^7.7.304",
131
- "@sprucelabs/test-utils": "^3.0.521",
122
+ "@sprucelabs/data-stores": "^9.0.121",
123
+ "@sprucelabs/jest-sheets-reporter": "^1.3.43",
124
+ "@sprucelabs/mercury-core-events": "^3.2.36",
125
+ "@sprucelabs/resolve-path-aliases": "^1.1.35",
126
+ "@sprucelabs/spruce-conversation-plugin": "^30.4.41",
127
+ "@sprucelabs/spruce-deploy-plugin": "^30.4.41",
128
+ "@sprucelabs/spruce-store-plugin": "^30.4.41",
129
+ "@sprucelabs/spruce-test-fixtures": "^30.4.41",
130
+ "@sprucelabs/test": "^7.7.309",
131
+ "@sprucelabs/test-utils": "^3.0.536",
132
132
  "@types/blessed": "^0.1.19",
133
133
  "@types/eslint": "^8.4.1",
134
134
  "@types/fs-extra": "^9.0.13",
@@ -138,7 +138,7 @@
138
138
  "@types/lodash": "^4.14.182",
139
139
  "@types/md5": "^2.3.2",
140
140
  "@types/mkdirp": "^1.0.2",
141
- "@types/node": "^17.0.25",
141
+ "@types/node": "^17.0.31",
142
142
  "@types/promise.allsettled": "^1.0.3",
143
143
  "@types/ps-node": "^0.1.1",
144
144
  "@types/rimraf": "^3.0.2",
@@ -152,12 +152,12 @@
152
152
  "concurrently": "^7.1.0",
153
153
  "conventional-changelog-sprucelabs": "^1.1.2",
154
154
  "dotenv": "^16.0.0",
155
- "eslint": "^8.13.0",
155
+ "eslint": "^8.14.0",
156
156
  "eslint-config-spruce": "^10.11.2",
157
157
  "find-process": "^1.4.7",
158
- "jest": "^27.5.1",
159
- "jest-circus": "^27.5.1",
160
- "jest-junit": "^13.1.0",
158
+ "jest": "^28.0.3",
159
+ "jest-circus": "^28.0.3",
160
+ "jest-junit": "^13.2.0",
161
161
  "jest-reporters": "^0.0.2",
162
162
  "prettier": "^2.6.2",
163
163
  "ps-node": "^0.1.6",
@@ -165,8 +165,8 @@
165
165
  "ts-jest": "^27.1.4",
166
166
  "ts-node": "^10.7.0",
167
167
  "tsc-watch": "^5.0.3",
168
- "tsconfig-paths": "^3.14.1",
169
- "typescript": "^4.6.3"
168
+ "tsconfig-paths": "^4.0.0",
169
+ "typescript": "^4.6.4"
170
170
  },
171
171
  "testSkillCache": {
172
172
  "everything": [
@@ -597,5 +597,5 @@
597
597
  "terminal-kit"
598
598
  ]
599
599
  },
600
- "gitHead": "27c86037a4943f6068d64dab887ce9f6ba287f31"
600
+ "gitHead": "926bdf965fc379cccc504fe6aa987c0948675c68"
601
601
  }