@sprucelabs/spruce-cli 19.2.2 → 19.2.4

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 (620) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/GlobalEmitter.js +2 -3
  3. package/build/GlobalEmitter.js.map +1 -1
  4. package/build/InFlightEntertainment.js +1 -2
  5. package/build/InFlightEntertainment.js.map +1 -1
  6. package/build/__tests__/behavioral/AddingADependency.test.js +2 -3
  7. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  8. package/build/__tests__/behavioral/BlockingCommands.test.js +2 -3
  9. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  10. package/build/__tests__/behavioral/BootingTheCli.test.js +2 -3
  11. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  12. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +2 -3
  13. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  14. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +2 -3
  15. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  16. package/build/__tests__/behavioral/DeployingASkill.test.js +2 -3
  17. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  18. package/build/__tests__/behavioral/DeployingToSandbox.test.js +2 -3
  19. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  20. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +2 -3
  21. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  22. package/build/__tests__/behavioral/GettingCliVersion.test.js +2 -3
  23. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  24. package/build/__tests__/behavioral/ManagingDependencies.test.js +2 -3
  25. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  26. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +2 -3
  27. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  28. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +2 -3
  29. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  30. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +2 -3
  31. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  32. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +2 -3
  33. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  34. package/build/__tests__/behavioral/SettingRemote.test.js +2 -3
  35. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  36. package/build/__tests__/behavioral/SettingUpVscode.test.js +2 -3
  37. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  38. package/build/__tests__/behavioral/TestingAConversation.test.js +2 -3
  39. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  40. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +2 -3
  41. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  42. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +2 -3
  43. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  44. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +2 -3
  45. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  46. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +2 -3
  47. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  48. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +2 -3
  49. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  50. package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -3
  51. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  52. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +2 -3
  53. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  54. package/build/__tests__/behavioral/events/EventWriter.test.js +2 -3
  55. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  56. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +2 -3
  57. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  58. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +2 -3
  59. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  60. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +2 -3
  61. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  62. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +2 -3
  63. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  64. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +2 -3
  65. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  66. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +2 -3
  67. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  68. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +2 -3
  69. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  70. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +2 -3
  71. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  72. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +2 -3
  73. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  74. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +2 -3
  75. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  76. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +2 -3
  77. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  78. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +5 -7
  79. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  80. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +2 -3
  81. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  82. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +2 -3
  83. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  84. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +2 -3
  85. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  86. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +2 -3
  87. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  88. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +2 -3
  89. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  90. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +4 -6
  91. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  92. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +2 -3
  93. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  94. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +2 -3
  95. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  96. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +2 -3
  97. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  98. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +2 -3
  99. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  100. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +2 -3
  101. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  102. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +2 -3
  103. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  104. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +2 -3
  105. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  106. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +2 -3
  107. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  108. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +2 -3
  109. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  110. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +2 -3
  111. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  112. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +2 -3
  113. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  114. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +2 -3
  115. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  116. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +2 -3
  117. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  118. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +2 -3
  119. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  120. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +3 -4
  121. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  122. package/build/__tests__/behavioral/skill/BootingASkill.test.js +2 -3
  123. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  124. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +2 -3
  125. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  126. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +2 -3
  127. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  128. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +2 -3
  129. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  130. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +2 -3
  131. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  132. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +2 -3
  133. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  134. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +2 -3
  135. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  136. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +2 -3
  137. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  138. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +2 -3
  139. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  140. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -3
  141. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  142. package/build/__tests__/behavioral/tests/RunningTests.test.js +2 -3
  143. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  144. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +2 -3
  145. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  146. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +2 -3
  147. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  148. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +2 -3
  149. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  150. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +2 -3
  151. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  152. package/build/__tests__/behavioral/tests/TestingDataStores.test.js +2 -3
  153. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  154. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +2 -3
  155. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  156. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +2 -3
  157. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  158. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +2 -3
  159. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  160. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +2 -3
  161. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  162. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +2 -3
  163. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  164. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -3
  165. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  166. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +2 -3
  167. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  168. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +5 -8
  169. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  170. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +2 -3
  171. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  172. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +2 -3
  173. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  174. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +2 -3
  175. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  176. package/build/__tests__/behavioral/views/CreatingATheme.test.js +2 -3
  177. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  178. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +2 -3
  179. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  180. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +2 -3
  181. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  182. package/build/__tests__/behavioral/views/SettingUpViews.test.js +2 -3
  183. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  184. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +2 -3
  185. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  186. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +2 -3
  187. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  188. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js +2 -3
  189. package/build/__tests__/behavioral/views/plugins/CreatingAViewPlugin.test.js.map +1 -1
  190. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +2 -3
  191. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  192. package/build/__tests__/implementation/ActionExecuter.test.js +2 -3
  193. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  194. package/build/__tests__/implementation/ActionExecuter2.test.js +2 -3
  195. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  196. package/build/__tests__/implementation/ActionExecuter3.test.js +2 -3
  197. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  198. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -3
  199. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  200. package/build/__tests__/implementation/ArgParser.test.js +3 -4
  201. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  202. package/build/__tests__/implementation/BuildService.test.js +2 -3
  203. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  204. package/build/__tests__/implementation/BulkImporting.test.js +3 -4
  205. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  206. package/build/__tests__/implementation/CachingImports.test.js +2 -3
  207. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  208. package/build/__tests__/implementation/CommandOptionBuilder.test.js +2 -3
  209. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  210. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +3 -4
  211. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  212. package/build/__tests__/implementation/DataStoreStore.test.js +2 -3
  213. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  214. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +2 -3
  215. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  216. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +3 -4
  217. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  218. package/build/__tests__/implementation/EventStore.test.js +2 -3
  219. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  220. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +2 -3
  221. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  222. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +2 -3
  223. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  224. package/build/__tests__/implementation/FeatureFixture.test.js +2 -3
  225. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  226. package/build/__tests__/implementation/FeatureInstaller.test.js +2 -3
  227. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  228. package/build/__tests__/implementation/FeaturesUtil.test.js +3 -4
  229. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  230. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +2 -3
  231. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  232. package/build/__tests__/implementation/GlobalEmitter.test.js +2 -3
  233. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  234. package/build/__tests__/implementation/Introspection.test.js +2 -3
  235. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  236. package/build/__tests__/implementation/JestJsonParser.test.js +3 -4
  237. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  238. package/build/__tests__/implementation/LintService.test.js +2 -3
  239. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  240. package/build/__tests__/implementation/ListenerStore.test.js +2 -3
  241. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  242. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +2 -3
  243. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  244. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +2 -3
  245. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  246. package/build/__tests__/implementation/OnboardingStore.test.js +2 -3
  247. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  248. package/build/__tests__/implementation/OrganizationStore.test.js +2 -3
  249. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  250. package/build/__tests__/implementation/ParentTestFinder.test.js +2 -3
  251. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  252. package/build/__tests__/implementation/PkgService.test.js +2 -3
  253. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  254. package/build/__tests__/implementation/SchemaStore.test.js +2 -3
  255. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  256. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +2 -3
  257. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  258. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +2 -3
  259. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  260. package/build/__tests__/implementation/ServiceFactory.test.js +2 -3
  261. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  262. package/build/__tests__/implementation/SettingUpANodeModule.test.js +2 -3
  263. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  264. package/build/__tests__/implementation/SkillStore.test.js +2 -3
  265. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  266. package/build/__tests__/implementation/StoreFeature.test.js +2 -3
  267. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  268. package/build/__tests__/implementation/TestReporter.test.js +2 -3
  269. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  270. package/build/__tests__/implementation/TestRunner.test.js +2 -3
  271. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  272. package/build/__tests__/implementation/ValueTypeMapping.test.js +2 -3
  273. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  274. package/build/__tests__/implementation/Widgets.test.js +2 -3
  275. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  276. package/build/__tests__/support/EventFaker.js +1 -2
  277. package/build/__tests__/support/EventFaker.js.map +1 -1
  278. package/build/cli/Cli.js +1 -2
  279. package/build/cli/Cli.js.map +1 -1
  280. package/build/components/AbstractComponent.js +1 -2
  281. package/build/components/AbstractComponent.js.map +1 -1
  282. package/build/components/FormComponent.js +4 -6
  283. package/build/components/FormComponent.js.map +1 -1
  284. package/build/components/QuizComponent.js +1 -2
  285. package/build/components/QuizComponent.js.map +1 -1
  286. package/build/errors/SpruceError.js +2 -3
  287. package/build/errors/SpruceError.js.map +1 -1
  288. package/build/features/AbstractAction.js +1 -2
  289. package/build/features/AbstractAction.js.map +1 -1
  290. package/build/features/AbstractFeature.js +1 -2
  291. package/build/features/AbstractFeature.js.map +1 -1
  292. package/build/features/ActionExecuter.js +1 -2
  293. package/build/features/ActionExecuter.js.map +1 -1
  294. package/build/features/ActionFactory.js +1 -2
  295. package/build/features/ActionFactory.js.map +1 -1
  296. package/build/features/ActionQuestionAsker.js +1 -2
  297. package/build/features/ActionQuestionAsker.js.map +1 -1
  298. package/build/features/FeatureCommandAttacher.js +1 -2
  299. package/build/features/FeatureCommandAttacher.js.map +1 -1
  300. package/build/features/FeatureInstaller.js +1 -2
  301. package/build/features/FeatureInstaller.js.map +1 -1
  302. package/build/features/FeatureInstallerFactory.js +1 -2
  303. package/build/features/FeatureInstallerFactory.js.map +1 -1
  304. package/build/features/OverrideActionDecorator.js +1 -2
  305. package/build/features/OverrideActionDecorator.js.map +1 -1
  306. package/build/features/cache/CacheFeature.js +6 -8
  307. package/build/features/cache/CacheFeature.js.map +1 -1
  308. package/build/features/cache/actions/DisableAction.js +5 -7
  309. package/build/features/cache/actions/DisableAction.js.map +1 -1
  310. package/build/features/cache/actions/EnableAction.js +5 -7
  311. package/build/features/cache/actions/EnableAction.js.map +1 -1
  312. package/build/features/conversation/ConversationFeature.js +9 -11
  313. package/build/features/conversation/ConversationFeature.js.map +1 -1
  314. package/build/features/conversation/actions/CreateAction.js +4 -6
  315. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  316. package/build/features/conversation/actions/TestAction.js +6 -8
  317. package/build/features/conversation/actions/TestAction.js.map +1 -1
  318. package/build/features/conversation/stores/ConversationStore.js +3 -5
  319. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  320. package/build/features/conversation/writers/ConversationWriter.js +2 -3
  321. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  322. package/build/features/dependencies/DependencyFeature.js +8 -10
  323. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  324. package/build/features/dependencies/actions/AddAction.js +5 -7
  325. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  326. package/build/features/dependencies/actions/ManageAction.js +5 -7
  327. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  328. package/build/features/deploy/DeployFeature.js +8 -10
  329. package/build/features/deploy/DeployFeature.js.map +1 -1
  330. package/build/features/deploy/actions/HerokuAction.js +5 -7
  331. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  332. package/build/features/deploy/writers/DeployWriter.js +2 -3
  333. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  334. package/build/features/error/ErrorFeature.js +9 -11
  335. package/build/features/error/ErrorFeature.js.map +1 -1
  336. package/build/features/error/ParentTestFinder.js +1 -2
  337. package/build/features/error/ParentTestFinder.js.map +1 -1
  338. package/build/features/error/actions/CreateAction.js +4 -6
  339. package/build/features/error/actions/CreateAction.js.map +1 -1
  340. package/build/features/error/actions/SyncAction.js +5 -7
  341. package/build/features/error/actions/SyncAction.js.map +1 -1
  342. package/build/features/error/writers/ErrorWriter.js +2 -3
  343. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  344. package/build/features/event/EventFeature.js +14 -16
  345. package/build/features/event/EventFeature.js.map +1 -1
  346. package/build/features/event/actions/CreateAction.js +4 -6
  347. package/build/features/event/actions/CreateAction.js.map +1 -1
  348. package/build/features/event/actions/ListenAction.js +5 -7
  349. package/build/features/event/actions/ListenAction.js.map +1 -1
  350. package/build/features/event/actions/SetRemoteAction.js +5 -7
  351. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  352. package/build/features/event/actions/SyncAction.js +5 -7
  353. package/build/features/event/actions/SyncAction.js.map +1 -1
  354. package/build/features/event/actions/SyncListenersAction.js +5 -7
  355. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  356. package/build/features/event/builders/EventContractBuilder.js +1 -2
  357. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  358. package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -2
  359. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  360. package/build/features/event/services/EventSettingsService.js +1 -2
  361. package/build/features/event/services/EventSettingsService.js.map +1 -1
  362. package/build/features/event/stores/EventStore.js +3 -5
  363. package/build/features/event/stores/EventStore.js.map +1 -1
  364. package/build/features/event/stores/ListenerStore.js +3 -5
  365. package/build/features/event/stores/ListenerStore.js.map +1 -1
  366. package/build/features/event/writers/EventWriter.js +2 -3
  367. package/build/features/event/writers/EventWriter.js.map +1 -1
  368. package/build/features/eventContract/EventContractFeature.js +9 -10
  369. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  370. package/build/features/eventContract/actions/PullAction.js +5 -7
  371. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  372. package/build/features/log/LogFeature.js +7 -9
  373. package/build/features/log/LogFeature.js.map +1 -1
  374. package/build/features/log/actions/CreateTransportAction.js +5 -7
  375. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  376. package/build/features/log/writers/LogWriter.js +2 -3
  377. package/build/features/log/writers/LogWriter.js.map +1 -1
  378. package/build/features/node/NodeFeature.js +12 -14
  379. package/build/features/node/NodeFeature.js.map +1 -1
  380. package/build/features/node/actions/CreateAction.js +5 -7
  381. package/build/features/node/actions/CreateAction.js.map +1 -1
  382. package/build/features/node/actions/UpdateDependenciesAction.js +6 -8
  383. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  384. package/build/features/node/actions/UpgradeAction.js +5 -7
  385. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  386. package/build/features/node/writers/NodeWriter.js +2 -3
  387. package/build/features/node/writers/NodeWriter.js.map +1 -1
  388. package/build/features/onboard/OnboardFeature.js +13 -15
  389. package/build/features/onboard/OnboardFeature.js.map +1 -1
  390. package/build/features/onboard/ScriptLoader.js +1 -2
  391. package/build/features/onboard/ScriptLoader.js.map +1 -1
  392. package/build/features/onboard/ScriptPlayer.js +1 -2
  393. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  394. package/build/features/onboard/actions/OnboardAction.js +4 -6
  395. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  396. package/build/features/onboard/stores/OnboardingStore.js +3 -5
  397. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  398. package/build/features/organization/OrganizationFeature.js +7 -8
  399. package/build/features/organization/OrganizationFeature.js.map +1 -1
  400. package/build/features/organization/actions/CreateAction.js +4 -6
  401. package/build/features/organization/actions/CreateAction.js.map +1 -1
  402. package/build/features/organization/actions/InstallAction.js +5 -7
  403. package/build/features/organization/actions/InstallAction.js.map +1 -1
  404. package/build/features/organization/stores/OrganizationStore.js +3 -5
  405. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  406. package/build/features/permission/PermissionFeature.js +10 -12
  407. package/build/features/permission/PermissionFeature.js.map +1 -1
  408. package/build/features/permission/actions/CreateAction.js +5 -7
  409. package/build/features/permission/actions/CreateAction.js.map +1 -1
  410. package/build/features/permission/actions/SyncAction.js +7 -9
  411. package/build/features/permission/actions/SyncAction.js.map +1 -1
  412. package/build/features/permission/stores/PermissionStore.js +3 -5
  413. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  414. package/build/features/permission/writers/PermissionWriter.js +2 -3
  415. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  416. package/build/features/person/PersonFeature.js +8 -9
  417. package/build/features/person/PersonFeature.js.map +1 -1
  418. package/build/features/person/actions/LoginAction.js +5 -7
  419. package/build/features/person/actions/LoginAction.js.map +1 -1
  420. package/build/features/person/actions/LogoutAction.js +5 -7
  421. package/build/features/person/actions/LogoutAction.js.map +1 -1
  422. package/build/features/person/actions/WhoamiAction.js +5 -7
  423. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  424. package/build/features/polish/PolishFeature.js +8 -9
  425. package/build/features/polish/PolishFeature.js.map +1 -1
  426. package/build/features/polish/actions/SetupAction.js +4 -6
  427. package/build/features/polish/actions/SetupAction.js.map +1 -1
  428. package/build/features/polish/writers/PolishWriter.js +2 -3
  429. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  430. package/build/features/sandbox/SandboxFeature.js +7 -8
  431. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  432. package/build/features/sandbox/actions/SetupAction.js +4 -6
  433. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  434. package/build/features/sandbox/writers/SandboxWriter.js +2 -3
  435. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  436. package/build/features/schema/SchemaFeature.js +10 -12
  437. package/build/features/schema/SchemaFeature.js.map +1 -1
  438. package/build/features/schema/ValueTypeBuilder.js +1 -2
  439. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  440. package/build/features/schema/actions/CreateAction.js +4 -6
  441. package/build/features/schema/actions/CreateAction.js.map +1 -1
  442. package/build/features/schema/actions/SyncAction.js +7 -9
  443. package/build/features/schema/actions/SyncAction.js.map +1 -1
  444. package/build/features/schema/actions/SyncFieldsAction.js +5 -7
  445. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  446. package/build/features/schema/services/SchemaService.js +2 -3
  447. package/build/features/schema/services/SchemaService.js.map +1 -1
  448. package/build/features/schema/stores/SchemaStore.js +3 -5
  449. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  450. package/build/features/schema/writers/SchemaWriter.js +3 -5
  451. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  452. package/build/features/skill/SkillFeature.js +14 -16
  453. package/build/features/skill/SkillFeature.js.map +1 -1
  454. package/build/features/skill/actions/BootAction.js +7 -9
  455. package/build/features/skill/actions/BootAction.js.map +1 -1
  456. package/build/features/skill/actions/CreateAction.js +5 -7
  457. package/build/features/skill/actions/CreateAction.js.map +1 -1
  458. package/build/features/skill/actions/DashboardAction.js +5 -7
  459. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  460. package/build/features/skill/actions/LoginAction.js +5 -7
  461. package/build/features/skill/actions/LoginAction.js.map +1 -1
  462. package/build/features/skill/actions/RebuildAction.js +5 -7
  463. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  464. package/build/features/skill/actions/RegisterAction.js +5 -7
  465. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  466. package/build/features/skill/stores/SkillStore.js +3 -5
  467. package/build/features/skill/stores/SkillStore.js.map +1 -1
  468. package/build/features/skill/updaters/Updater.js +1 -2
  469. package/build/features/skill/updaters/Updater.js.map +1 -1
  470. package/build/features/skill/writers/SkillWriter.js +2 -3
  471. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  472. package/build/features/store/StoreFeature.js +10 -12
  473. package/build/features/store/StoreFeature.js.map +1 -1
  474. package/build/features/store/actions/CreateAction.js +4 -6
  475. package/build/features/store/actions/CreateAction.js.map +1 -1
  476. package/build/features/store/actions/SyncAction.js +5 -7
  477. package/build/features/store/actions/SyncAction.js.map +1 -1
  478. package/build/features/store/stores/StoreStore.js +3 -5
  479. package/build/features/store/stores/StoreStore.js.map +1 -1
  480. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -2
  481. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  482. package/build/features/store/writers/StoreWriter.js +2 -3
  483. package/build/features/store/writers/StoreWriter.js.map +1 -1
  484. package/build/features/test/TestFeature.js +8 -10
  485. package/build/features/test/TestFeature.js.map +1 -1
  486. package/build/features/test/TestLogItemGenerator.js +1 -2
  487. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  488. package/build/features/test/TestReporter.js +1 -2
  489. package/build/features/test/TestReporter.js.map +1 -1
  490. package/build/features/test/TestRunner.js +6 -8
  491. package/build/features/test/TestRunner.js.map +1 -1
  492. package/build/features/test/actions/CreateAction.js +4 -6
  493. package/build/features/test/actions/CreateAction.js.map +1 -1
  494. package/build/features/test/actions/SetupAction.js +5 -7
  495. package/build/features/test/actions/SetupAction.js.map +1 -1
  496. package/build/features/test/actions/TestAction.js +17 -19
  497. package/build/features/test/actions/TestAction.js.map +1 -1
  498. package/build/features/test/writers/TestWriter.js +2 -3
  499. package/build/features/test/writers/TestWriter.js.map +1 -1
  500. package/build/features/view/ViewFeature.js +8 -10
  501. package/build/features/view/ViewFeature.js.map +1 -1
  502. package/build/features/view/actions/CreateAction.js +5 -7
  503. package/build/features/view/actions/CreateAction.js.map +1 -1
  504. package/build/features/view/actions/CreatePluginAction.js +5 -7
  505. package/build/features/view/actions/CreatePluginAction.js.map +1 -1
  506. package/build/features/view/actions/CreateThemeAction.js +5 -7
  507. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  508. package/build/features/view/actions/SyncAction.js +5 -7
  509. package/build/features/view/actions/SyncAction.js.map +1 -1
  510. package/build/features/view/actions/WatchAction.js +7 -9
  511. package/build/features/view/actions/WatchAction.js.map +1 -1
  512. package/build/features/view/stores/ViewStore.js +3 -5
  513. package/build/features/view/stores/ViewStore.js.map +1 -1
  514. package/build/features/view/writers/ViewWriter.js +2 -3
  515. package/build/features/view/writers/ViewWriter.js.map +1 -1
  516. package/build/features/vscode/VsCodeFeature.js +7 -8
  517. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  518. package/build/features/vscode/actions/SetupAction.js +6 -8
  519. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  520. package/build/features/vscode/services/VsCodeService.js +2 -3
  521. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  522. package/build/features/vscode/writers/VsCodeWriter.js +2 -3
  523. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  524. package/build/features/watch/WatchFeature.js +9 -11
  525. package/build/features/watch/WatchFeature.js.map +1 -1
  526. package/build/interfaces/SpyInterface.js +1 -2
  527. package/build/interfaces/SpyInterface.js.map +1 -1
  528. package/build/interfaces/TerminalInterface.js +2 -3
  529. package/build/interfaces/TerminalInterface.js.map +1 -1
  530. package/build/services/BuildService.js +1 -2
  531. package/build/services/BuildService.js.map +1 -1
  532. package/build/services/CommandService.js +1 -2
  533. package/build/services/CommandService.js.map +1 -1
  534. package/build/services/DependencyService.js +1 -2
  535. package/build/services/DependencyService.js.map +1 -1
  536. package/build/services/GameService.js +1 -2
  537. package/build/services/GameService.js.map +1 -1
  538. package/build/services/ImportService.js +1 -2
  539. package/build/services/ImportService.js.map +1 -1
  540. package/build/services/LintService.js +1 -2
  541. package/build/services/LintService.js.map +1 -1
  542. package/build/services/PkgService.js +3 -5
  543. package/build/services/PkgService.js.map +1 -1
  544. package/build/services/ServiceFactory.js +1 -2
  545. package/build/services/ServiceFactory.js.map +1 -1
  546. package/build/stores/AbstractLocalStore.js +2 -3
  547. package/build/stores/AbstractLocalStore.js.map +1 -1
  548. package/build/stores/AbstractStore.js +1 -2
  549. package/build/stores/AbstractStore.js.map +1 -1
  550. package/build/stores/StoreFactory.js +1 -2
  551. package/build/stores/StoreFactory.js.map +1 -1
  552. package/build/templateItemBuilders/EventTemplateItemBuilder.js +1 -2
  553. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  554. package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -2
  555. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  556. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +1 -2
  557. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  558. package/build/tests/AbstractCliTest.js +3 -4
  559. package/build/tests/AbstractCliTest.js.map +1 -1
  560. package/build/tests/AbstractErrorTest.js +2 -3
  561. package/build/tests/AbstractErrorTest.js.map +1 -1
  562. package/build/tests/AbstractEventTest.js +2 -3
  563. package/build/tests/AbstractEventTest.js.map +1 -1
  564. package/build/tests/AbstractSchemaTest.js +2 -3
  565. package/build/tests/AbstractSchemaTest.js.map +1 -1
  566. package/build/tests/AbstractSkillTest.js +2 -3
  567. package/build/tests/AbstractSkillTest.js.map +1 -1
  568. package/build/tests/AbstractTestTest.js +2 -3
  569. package/build/tests/AbstractTestTest.js.map +1 -1
  570. package/build/tests/CommandFaker.js +1 -2
  571. package/build/tests/CommandFaker.js.map +1 -1
  572. package/build/tests/JestJsonParser.js +1 -2
  573. package/build/tests/JestJsonParser.js.map +1 -1
  574. package/build/tests/MockProgramFactory.js +1 -2
  575. package/build/tests/MockProgramFactory.js.map +1 -1
  576. package/build/tests/cleanTestData.js +1 -1
  577. package/build/tests/cleanTestData.js.map +1 -1
  578. package/build/tests/fixtures/FeatureFixture.js +1 -2
  579. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  580. package/build/tests/fixtures/MercuryFixture.js +1 -2
  581. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  582. package/build/tests/fixtures/OrganizationFixture.js +1 -2
  583. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  584. package/build/tests/fixtures/PersonFixture.js +1 -2
  585. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  586. package/build/tests/fixtures/SkillFixture.js +1 -2
  587. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  588. package/build/tests/fixtures/ViewFixture.js +1 -2
  589. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  590. package/build/updaters/ScriptUpdater.js +1 -2
  591. package/build/updaters/ScriptUpdater.js.map +1 -1
  592. package/build/utilities/introspection.utility.js +1 -1
  593. package/build/utilities/introspection.utility.js.map +1 -1
  594. package/build/widgets/WidgetFactory.js +1 -2
  595. package/build/widgets/WidgetFactory.js.map +1 -1
  596. package/build/widgets/terminalKit/TKButtonWidget.js +6 -8
  597. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  598. package/build/widgets/terminalKit/TkBaseWidget.js +14 -16
  599. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  600. package/build/widgets/terminalKit/TkInputWidget.js +7 -9
  601. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  602. package/build/widgets/terminalKit/TkLayoutCellWidget.js +5 -7
  603. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  604. package/build/widgets/terminalKit/TkLayoutWidget.js +5 -7
  605. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  606. package/build/widgets/terminalKit/TkMenuBarWidget.js +6 -8
  607. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  608. package/build/widgets/terminalKit/TkPopupWidget.js +5 -7
  609. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  610. package/build/widgets/terminalKit/TkProgressBarWidget.js +5 -7
  611. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  612. package/build/widgets/terminalKit/TkTextWidget.js +7 -9
  613. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  614. package/build/widgets/terminalKit/TkWindowWidget.js +15 -17
  615. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  616. package/build/writers/AbstractWriter.js +1 -2
  617. package/build/writers/AbstractWriter.js.map +1 -1
  618. package/build/writers/WriterFactory.js +1 -2
  619. package/build/writers/WriterFactory.js.map +1 -1
  620. package/package.json +27 -27
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaTemplateItemBuilder.test.js","names":["_schema","require","_spruceSkillUtils","_testUtils","_SchemaTemplateItemBuilder","_interopRequireDefault","_AbstractCliTest2","_nestedMercuryContrac","_nestedMercuryContrac2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_class","_SchemaTemplateItemBuilderTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","cowbellV1","id","version","name","fields","radius","type","cowbellV1TemplateItem","namespace","CORE_NAMESPACE","importFrom","nameCamel","namePascal","nameReadable","schema","isNested","destinationDir","cowbellV1NestedTemplateItem","cowbellV2","owner","options","schemaId","cowbellV2TemplateItem","schemaIds","cowbellV2NestedTemplateItem","personV1","personV1TemplateItem","personV2","favoriteVehicle","make","personV2TemplateItem","personV3","relatedField","schemas","personV3TemplateItem","vehicleV1TemplateItem","personV4","importsWhenLocal","importsWhenRemote","cowbells","personV4TemplateItem","imports","nestedMercuryContract","description","dynamicFieldSignature","keyName","responsePayload","valueType","emitPayload","listenPermissionsAny","emitPermissionsAny","nestedMercuryContractArray","mercuryTemplateItem","eventSignatureTemplateItem","mercuryTemplateItemArray","eventSignatureTemplateItem2","schemaWithManyNestedSchemas","firstLayer","secondLayer","lastLayer","pass","manyNestedTemplateItem","firstLayerTemplateItem","secondLayerTemplateItem","lastLayerTemplateItem","mercurySchemas","eventSignatures","isRequired","isArray","fullyQualifiedEventName","listenPermissions","emitPermissions","requireAllPermissions","defaultValue","permissions","label","hint","requireAllStatuses","defaults","groupManager","manager","teammate","guest","can","clockedIn","clockedOut","onPrem","offPrem","mercuryTemplateItems","localSchema","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","exports","test","_AbstractCliTest","_inherits2","_classCallCheck2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","stop","beforeEach","canInstantiate","assert","isTruthy","hasGenerateFunction","isFunction","buildTemplateItems","turnsSingleDefinitionIntoTemplateItem","results","actual","isEqualDeep","generationTests","expected","localNamespace","undefined","isLength","idx","match","concat","setsImports","firstName","bringsImportsFromRemoteFromRelatedSchemas","remote","local","AbstractCliTest","_applyDecoratedDescriptor2"],"sources":["../../../src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts"],"sourcesContent":["import { buildSchema, Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst cowbellV1: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_01',\n\tname: 'Cowbell test',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n}\n\nconst cowbellV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV1NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV2: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_02',\n\tname: 'Cowbell test two!',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t\towner: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaId: { id: 'person', version: '2020_06_03' },\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV1: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person test',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n}\n\nconst personV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV1.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test',\n\tschema: { ...personV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst personV2: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person version 2',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t\tfavoriteVehicle: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'vehicle',\n\t\t\t\t\tname: 'Vehicle v1',\n\t\t\t\t\tversion: '2020_06_01',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tmake: {\n\t\t\t\t\t\t\ttype: 'text',\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},\n}\n\nconst personV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: personV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person version 2',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_01',\n\t\tname: 'Person version 2',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tname: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\tfavoriteVehicle: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'vehicle', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3: Schema = {\n\tid: 'person',\n\tversion: '2020_06_03',\n\tname: 'Person test the 3rd',\n\tfields: {\n\t\trelatedField: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemas: [cowbellV1, cowbellV2],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV3.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the 3rd',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_03',\n\t\tname: 'Person test the 3rd',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\trelatedField: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst vehicleV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: 'vehicle',\n\tnameCamel: 'vehicle',\n\tnamePascal: 'Vehicle',\n\tnameReadable: 'Vehicle v1',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'vehicle',\n\t\tname: 'Vehicle v1',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_06_01',\n\t\tfields: {\n\t\t\tmake: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4: Schema = {\n\tid: 'person',\n\tversion: '2020_06_04',\n\tname: 'Person test the last',\n\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\timportsWhenRemote: [\n\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t],\n\tfields: {\n\t\tcowbells: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01' },\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV4.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the last',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_04',\n\t\tname: 'Person test the last',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\t\timportsWhenRemote: [\n\t\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t\t],\n\t\tfields: {\n\t\t\tcowbells: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\timports: [\"import BaseParent from '@sprucelabs/spruce-core-schemas'\"],\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst nestedMercuryContract: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschema: {\n\t\t\t\tid: 'eventSignature',\n\t\t\t\tname: 'Event Signature',\n\t\t\t\tdescription: '',\n\t\t\t\tfields: {\n\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\temitPayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionsAny: {\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\nconst nestedMercuryContractArray: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschemas: [\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\tname: 'Event Signature2',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\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},\n}\n\nconst mercuryTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: nestedMercuryContract.id,\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable: nestedMercuryContract.name ?? nestedMercuryContract.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_09_01',\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'eventSignature',\n\tnamePascal: 'EventSignature',\n\tnameReadable: 'Event Signature',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature',\n\t\tname: 'Event Signature',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\nconst mercuryTemplateItemArray: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: nestedMercuryContractArray.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable:\n\t\tnestedMercuryContractArray.name ?? nestedMercuryContractArray.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem2: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature2',\n\tnameCamel: 'eventSignature2',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnamePascal: 'EventSignature2',\n\tnameReadable: 'Event Signature2',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature2',\n\t\tname: 'Event Signature2',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst schemaWithManyNestedSchemas: Schema = {\n\tid: 'manyNested',\n\tversion: '2020_09_01',\n\tfields: {\n\t\tfirstLayer: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tsecondLayer: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\tlastLayer: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\t\t},\n\t\t},\n\t},\n}\n\nconst manyNestedTemplateItem: SchemaTemplateItem = {\n\tid: 'manyNested',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'manyNested',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tfirstLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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},\n\tnameReadable: 'manyNested',\n\tnameCamel: 'manyNested',\n\tnamePascal: 'ManyNested',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst firstLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'firstLayer',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'firstLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tsecondLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\tversion: '2020_09_01',\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},\n\tnameReadable: 'firstLayer',\n\tnameCamel: 'firstLayer',\n\tnamePascal: 'FirstLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst secondLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'secondLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'secondLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: 'OutsideNamespace',\n\t\tfields: {\n\t\t\tlastLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\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},\n\tnameReadable: 'secondLayer',\n\tnameCamel: 'secondLayer',\n\tnamePascal: 'SecondLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst lastLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'lastLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'lastLayer',\n\t\tnamespace: 'OutsideNamespace',\n\t\tversion: '2020_09_01',\n\t\tfields: { pass: { type: 'boolean' } },\n\t},\n\tnameReadable: 'lastLayer',\n\tnameCamel: 'lastLayer',\n\tnamePascal: 'LastLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst mercurySchemas = [\n\t{\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\teventSignatures: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfullyQualifiedEventName: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\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\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tname: 'Permission Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\tpermissions: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\tname: 'Permission',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequireAllStatuses: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\towner: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tguest: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcan: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tclockedIn: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tclockedOut: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\toffPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n]\n\nconst mercuryTemplateItems = [\n\t{\n\t\tid: 'statusFlags',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'statusFlags',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\tclockedIn: {\n\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tclockedOut: {\n\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tonPrem: {\n\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\toffPrem: {\n\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'statusFlags',\n\t\tnameCamel: 'statusFlags',\n\t\tnamePascal: 'StatusFlags',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'defaultsByRole',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'defaultsByRole',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\towner: { type: 'boolean' },\n\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\tguest: { type: 'boolean' },\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'defaultsByRole',\n\t\tnameCamel: 'defaultsByRole',\n\t\tnamePascal: 'DefaultsByRole',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permission',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'permission',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t},\n\t\t\t\trequireAllStatuses: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tdefaults: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t\tcan: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t\tname: 'Permission',\n\t\t},\n\t\tnameReadable: 'Permission',\n\t\tnameCamel: 'permission',\n\t\tnamePascal: 'Permission',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'permissionContract',\n\t\t\tname: 'Permission Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\t\tpermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Permission Contract',\n\t\tnameCamel: 'permissionContract',\n\t\tnamePascal: 'PermissionContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'eventSignature',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'eventSignature',\n\t\t\tname: 'Event Signature',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\tfullyQualifiedEventName: { type: 'text', isRequired: true },\n\t\t\t\tresponsePayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\temitPayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\tlistenPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t\temitPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t},\n\t\tnameReadable: 'Event Signature',\n\t\tnameCamel: 'eventSignature',\n\t\tnamePascal: 'EventSignature',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'mercuryContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'mercuryContract',\n\t\t\tname: 'Mercury Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Mercury Contract',\n\t\tnameCamel: 'mercuryContract',\n\t\tnamePascal: 'MercuryContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n]\n\nconst localSchema = buildSchema({\n\tid: 'localNamespaceSchema',\n\tnamespace: 'Mercury',\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst localSchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'Mercury',\n\tid: 'localNamespaceSchema',\n\tnameCamel: 'localNamespaceSchema',\n\tnamePascal: 'LocalNamespaceSchema',\n\tnameReadable: 'localNamespaceSchema',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: localSchema,\n}\n\nexport default class SchemaTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: SchemaTemplateItemBuilder\n\n\tprivate static readonly LOCAL_NAMESPACE = 'LocalNamespace'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(this.LOCAL_NAMESPACE)\n\t}\n\n\t@test()\n\tprotected static canInstantiate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleDefinitionIntoTemplateItem() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{ [CORE_NAMESPACE]: [personV1] },\n\t\t\t'#spruce/schemas'\n\t\t)\n\t\tconst actual = results[0]\n\n\t\tassert.isEqualDeep(actual, personV1TemplateItem)\n\t}\n\n\t@test(\n\t\t'turns 2 definitions into 2 template items',\n\t\t[cowbellV1, personV1],\n\t\t[personV1TemplateItem, cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'turns one nested definition into 2 items',\n\t\t[personV2],\n\t\t[vehicleV1TemplateItem, personV2TemplateItem]\n\t)\n\t@test(\n\t\t'handles recursion without looping forever',\n\t\t[personV3],\n\t\t[\n\t\t\tcowbellV1NestedTemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tcowbellV2NestedTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles duplication',\n\t\t[cowbellV1, cowbellV1, cowbellV1],\n\t\t[cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'handles resolving by id and version',\n\t\t[personV4, personV3, cowbellV1, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles resolving by id and version in different order',\n\t\t[cowbellV1, personV4, personV3, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles nested schema in dynamic key signature',\n\t\t[nestedMercuryContract],\n\t\t[eventSignatureTemplateItem, mercuryTemplateItem]\n\t)\n\t@test(\n\t\t'handles nested schemas in dynamic key signature',\n\t\t[nestedMercuryContractArray],\n\t\t[\n\t\t\teventSignatureTemplateItem2,\n\t\t\teventSignatureTemplateItem,\n\t\t\tmercuryTemplateItemArray,\n\t\t]\n\t)\n\t@test(\n\t\t'handles many layers of nested schemas',\n\t\t[schemaWithManyNestedSchemas],\n\t\t[\n\t\t\tlastLayerTemplateItem,\n\t\t\tsecondLayerTemplateItem,\n\t\t\tfirstLayerTemplateItem,\n\t\t\tmanyNestedTemplateItem,\n\t\t]\n\t)\n\t@test('can import event contracts', mercurySchemas, mercuryTemplateItems)\n\t@test(\n\t\t'import from not set if matching local namespace',\n\t\t[localSchema],\n\t\t[localSchemaTemplateItem],\n\t\t'Mercury'\n\t)\n\tprotected static generationTests(\n\t\tschemas: Schema[],\n\t\texpected: SchemaTemplateItem[],\n\t\tlocalNamespace = this.LOCAL_NAMESPACE\n\t) {\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(localNamespace)\n\n\t\tconst results = this.itemBuilder.buildTemplateItems({\n\t\t\t[CORE_NAMESPACE]: schemas,\n\t\t})\n\n\t\tassert.isLength(results, expected.length)\n\n\t\texpected.forEach((expected, idx) => {\n\t\t\tconst match = results[idx]\n\t\t\tassert.isTruthy(match, `Did not find a template item for ${expected.id}`)\n\t\t\tassert.isEqualDeep(match, expected)\n\t\t})\n\t}\n\n\t@test()\n\tprotected static setsImports() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\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\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: [`import local from \"local\"`],\n\t\t\t\t\timportsWhenRemote: [`import remote from \"remote\"`],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [`import local from \"local\"`],\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static bringsImportsFromRemoteFromRelatedSchemas() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'local', namespace: this.LOCAL_NAMESPACE },\n\t\t\t\t\t\t\t\t},\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\tbuildSchema({\n\t\t\t\t\t\tid: 'local2',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\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\t\t\t\tAnotherNamespace: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'remote',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\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\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'remote',\n\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'remote',\n\t\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\tfields: { firstName: { type: 'text' } },\n\t\t\t\t},\n\t\t\t\tnameReadable: 'remote',\n\t\t\t\tnameCamel: 'remote',\n\t\t\t\tnamePascal: 'Remote',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local2',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\tid: 'local2',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\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\t\t\t\tnameReadable: 'local2',\n\t\t\t\tnameCamel: 'local2',\n\t\t\t\tnamePascal: 'Local2',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [\n\t\t\t\t\t'import local2 from \"local2\"',\n\t\t\t\t\t'import remote3 from \"remote3\"',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'local', namespace: 'LocalNamespace' }],\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\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import local from \"local\"', 'import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SchemaTemplateItemBuilder.test.js","names":["_schema","require","_spruceSkillUtils","_testUtils","_SchemaTemplateItemBuilder","_interopRequireDefault","_AbstractCliTest2","_nestedMercuryContrac","_nestedMercuryContrac2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_class","_SchemaTemplateItemBuilderTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","cowbellV1","id","version","name","fields","radius","type","cowbellV1TemplateItem","namespace","CORE_NAMESPACE","importFrom","nameCamel","namePascal","nameReadable","schema","isNested","destinationDir","cowbellV1NestedTemplateItem","cowbellV2","owner","options","schemaId","cowbellV2TemplateItem","schemaIds","cowbellV2NestedTemplateItem","personV1","personV1TemplateItem","personV2","favoriteVehicle","make","personV2TemplateItem","personV3","relatedField","schemas","personV3TemplateItem","vehicleV1TemplateItem","personV4","importsWhenLocal","importsWhenRemote","cowbells","personV4TemplateItem","imports","nestedMercuryContract","description","dynamicFieldSignature","keyName","responsePayload","valueType","emitPayload","listenPermissionsAny","emitPermissionsAny","nestedMercuryContractArray","mercuryTemplateItem","eventSignatureTemplateItem","mercuryTemplateItemArray","eventSignatureTemplateItem2","schemaWithManyNestedSchemas","firstLayer","secondLayer","lastLayer","pass","manyNestedTemplateItem","firstLayerTemplateItem","secondLayerTemplateItem","lastLayerTemplateItem","mercurySchemas","eventSignatures","isRequired","isArray","fullyQualifiedEventName","listenPermissions","emitPermissions","requireAllPermissions","defaultValue","permissions","label","hint","requireAllStatuses","defaults","groupManager","manager","teammate","guest","can","clockedIn","clockedOut","onPrem","offPrem","mercuryTemplateItems","localSchema","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","exports","test","_AbstractCliTest","_classCallCheck2","_inherits2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","stop","beforeEach","canInstantiate","assert","isTruthy","hasGenerateFunction","isFunction","buildTemplateItems","turnsSingleDefinitionIntoTemplateItem","results","actual","isEqualDeep","generationTests","expected","localNamespace","undefined","isLength","idx","match","concat","setsImports","firstName","bringsImportsFromRemoteFromRelatedSchemas","remote","local","AbstractCliTest","_applyDecoratedDescriptor2"],"sources":["../../../src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts"],"sourcesContent":["import { buildSchema, Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst cowbellV1: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_01',\n\tname: 'Cowbell test',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n}\n\nconst cowbellV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV1NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV2: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_02',\n\tname: 'Cowbell test two!',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t\towner: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaId: { id: 'person', version: '2020_06_03' },\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV1: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person test',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n}\n\nconst personV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV1.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test',\n\tschema: { ...personV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst personV2: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person version 2',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t\tfavoriteVehicle: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'vehicle',\n\t\t\t\t\tname: 'Vehicle v1',\n\t\t\t\t\tversion: '2020_06_01',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tmake: {\n\t\t\t\t\t\t\ttype: 'text',\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},\n}\n\nconst personV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: personV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person version 2',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_01',\n\t\tname: 'Person version 2',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tname: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\tfavoriteVehicle: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'vehicle', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3: Schema = {\n\tid: 'person',\n\tversion: '2020_06_03',\n\tname: 'Person test the 3rd',\n\tfields: {\n\t\trelatedField: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemas: [cowbellV1, cowbellV2],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV3.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the 3rd',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_03',\n\t\tname: 'Person test the 3rd',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\trelatedField: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst vehicleV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: 'vehicle',\n\tnameCamel: 'vehicle',\n\tnamePascal: 'Vehicle',\n\tnameReadable: 'Vehicle v1',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'vehicle',\n\t\tname: 'Vehicle v1',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_06_01',\n\t\tfields: {\n\t\t\tmake: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4: Schema = {\n\tid: 'person',\n\tversion: '2020_06_04',\n\tname: 'Person test the last',\n\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\timportsWhenRemote: [\n\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t],\n\tfields: {\n\t\tcowbells: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01' },\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV4.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the last',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_04',\n\t\tname: 'Person test the last',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\t\timportsWhenRemote: [\n\t\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t\t],\n\t\tfields: {\n\t\t\tcowbells: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\timports: [\"import BaseParent from '@sprucelabs/spruce-core-schemas'\"],\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst nestedMercuryContract: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschema: {\n\t\t\t\tid: 'eventSignature',\n\t\t\t\tname: 'Event Signature',\n\t\t\t\tdescription: '',\n\t\t\t\tfields: {\n\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\temitPayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionsAny: {\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\nconst nestedMercuryContractArray: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschemas: [\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\tname: 'Event Signature2',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\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},\n}\n\nconst mercuryTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: nestedMercuryContract.id,\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable: nestedMercuryContract.name ?? nestedMercuryContract.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_09_01',\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'eventSignature',\n\tnamePascal: 'EventSignature',\n\tnameReadable: 'Event Signature',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature',\n\t\tname: 'Event Signature',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\nconst mercuryTemplateItemArray: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: nestedMercuryContractArray.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable:\n\t\tnestedMercuryContractArray.name ?? nestedMercuryContractArray.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem2: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature2',\n\tnameCamel: 'eventSignature2',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnamePascal: 'EventSignature2',\n\tnameReadable: 'Event Signature2',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature2',\n\t\tname: 'Event Signature2',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst schemaWithManyNestedSchemas: Schema = {\n\tid: 'manyNested',\n\tversion: '2020_09_01',\n\tfields: {\n\t\tfirstLayer: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tsecondLayer: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\tlastLayer: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\t\t},\n\t\t},\n\t},\n}\n\nconst manyNestedTemplateItem: SchemaTemplateItem = {\n\tid: 'manyNested',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'manyNested',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tfirstLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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},\n\tnameReadable: 'manyNested',\n\tnameCamel: 'manyNested',\n\tnamePascal: 'ManyNested',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst firstLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'firstLayer',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'firstLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tsecondLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\tversion: '2020_09_01',\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},\n\tnameReadable: 'firstLayer',\n\tnameCamel: 'firstLayer',\n\tnamePascal: 'FirstLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst secondLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'secondLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'secondLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: 'OutsideNamespace',\n\t\tfields: {\n\t\t\tlastLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\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},\n\tnameReadable: 'secondLayer',\n\tnameCamel: 'secondLayer',\n\tnamePascal: 'SecondLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst lastLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'lastLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'lastLayer',\n\t\tnamespace: 'OutsideNamespace',\n\t\tversion: '2020_09_01',\n\t\tfields: { pass: { type: 'boolean' } },\n\t},\n\tnameReadable: 'lastLayer',\n\tnameCamel: 'lastLayer',\n\tnamePascal: 'LastLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst mercurySchemas = [\n\t{\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\teventSignatures: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfullyQualifiedEventName: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\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\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tname: 'Permission Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\tpermissions: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\tname: 'Permission',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequireAllStatuses: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\towner: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tguest: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcan: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tclockedIn: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tclockedOut: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\toffPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\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\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n]\n\nconst mercuryTemplateItems = [\n\t{\n\t\tid: 'statusFlags',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'statusFlags',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\tclockedIn: {\n\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tclockedOut: {\n\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tonPrem: {\n\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\toffPrem: {\n\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'statusFlags',\n\t\tnameCamel: 'statusFlags',\n\t\tnamePascal: 'StatusFlags',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'defaultsByRole',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'defaultsByRole',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\towner: { type: 'boolean' },\n\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\tguest: { type: 'boolean' },\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'defaultsByRole',\n\t\tnameCamel: 'defaultsByRole',\n\t\tnamePascal: 'DefaultsByRole',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permission',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'permission',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t},\n\t\t\t\trequireAllStatuses: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tdefaults: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t\tcan: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t\tname: 'Permission',\n\t\t},\n\t\tnameReadable: 'Permission',\n\t\tnameCamel: 'permission',\n\t\tnamePascal: 'Permission',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'permissionContract',\n\t\t\tname: 'Permission Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\t\tpermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Permission Contract',\n\t\tnameCamel: 'permissionContract',\n\t\tnamePascal: 'PermissionContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'eventSignature',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'eventSignature',\n\t\t\tname: 'Event Signature',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\tfullyQualifiedEventName: { type: 'text', isRequired: true },\n\t\t\t\tresponsePayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\temitPayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\tlistenPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t\temitPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t},\n\t\tnameReadable: 'Event Signature',\n\t\tnameCamel: 'eventSignature',\n\t\tnamePascal: 'EventSignature',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'mercuryContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'mercuryContract',\n\t\t\tname: 'Mercury Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\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\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Mercury Contract',\n\t\tnameCamel: 'mercuryContract',\n\t\tnamePascal: 'MercuryContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n]\n\nconst localSchema = buildSchema({\n\tid: 'localNamespaceSchema',\n\tnamespace: 'Mercury',\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst localSchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'Mercury',\n\tid: 'localNamespaceSchema',\n\tnameCamel: 'localNamespaceSchema',\n\tnamePascal: 'LocalNamespaceSchema',\n\tnameReadable: 'localNamespaceSchema',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: localSchema,\n}\n\nexport default class SchemaTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: SchemaTemplateItemBuilder\n\n\tprivate static readonly LOCAL_NAMESPACE = 'LocalNamespace'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(this.LOCAL_NAMESPACE)\n\t}\n\n\t@test()\n\tprotected static canInstantiate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleDefinitionIntoTemplateItem() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{ [CORE_NAMESPACE]: [personV1] },\n\t\t\t'#spruce/schemas'\n\t\t)\n\t\tconst actual = results[0]\n\n\t\tassert.isEqualDeep(actual, personV1TemplateItem)\n\t}\n\n\t@test(\n\t\t'turns 2 definitions into 2 template items',\n\t\t[cowbellV1, personV1],\n\t\t[personV1TemplateItem, cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'turns one nested definition into 2 items',\n\t\t[personV2],\n\t\t[vehicleV1TemplateItem, personV2TemplateItem]\n\t)\n\t@test(\n\t\t'handles recursion without looping forever',\n\t\t[personV3],\n\t\t[\n\t\t\tcowbellV1NestedTemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tcowbellV2NestedTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles duplication',\n\t\t[cowbellV1, cowbellV1, cowbellV1],\n\t\t[cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'handles resolving by id and version',\n\t\t[personV4, personV3, cowbellV1, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles resolving by id and version in different order',\n\t\t[cowbellV1, personV4, personV3, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles nested schema in dynamic key signature',\n\t\t[nestedMercuryContract],\n\t\t[eventSignatureTemplateItem, mercuryTemplateItem]\n\t)\n\t@test(\n\t\t'handles nested schemas in dynamic key signature',\n\t\t[nestedMercuryContractArray],\n\t\t[\n\t\t\teventSignatureTemplateItem2,\n\t\t\teventSignatureTemplateItem,\n\t\t\tmercuryTemplateItemArray,\n\t\t]\n\t)\n\t@test(\n\t\t'handles many layers of nested schemas',\n\t\t[schemaWithManyNestedSchemas],\n\t\t[\n\t\t\tlastLayerTemplateItem,\n\t\t\tsecondLayerTemplateItem,\n\t\t\tfirstLayerTemplateItem,\n\t\t\tmanyNestedTemplateItem,\n\t\t]\n\t)\n\t@test('can import event contracts', mercurySchemas, mercuryTemplateItems)\n\t@test(\n\t\t'import from not set if matching local namespace',\n\t\t[localSchema],\n\t\t[localSchemaTemplateItem],\n\t\t'Mercury'\n\t)\n\tprotected static generationTests(\n\t\tschemas: Schema[],\n\t\texpected: SchemaTemplateItem[],\n\t\tlocalNamespace = this.LOCAL_NAMESPACE\n\t) {\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(localNamespace)\n\n\t\tconst results = this.itemBuilder.buildTemplateItems({\n\t\t\t[CORE_NAMESPACE]: schemas,\n\t\t})\n\n\t\tassert.isLength(results, expected.length)\n\n\t\texpected.forEach((expected, idx) => {\n\t\t\tconst match = results[idx]\n\t\t\tassert.isTruthy(match, `Did not find a template item for ${expected.id}`)\n\t\t\tassert.isEqualDeep(match, expected)\n\t\t})\n\t}\n\n\t@test()\n\tprotected static setsImports() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\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\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: [`import local from \"local\"`],\n\t\t\t\t\timportsWhenRemote: [`import remote from \"remote\"`],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [`import local from \"local\"`],\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static bringsImportsFromRemoteFromRelatedSchemas() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'local', namespace: this.LOCAL_NAMESPACE },\n\t\t\t\t\t\t\t\t},\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\tbuildSchema({\n\t\t\t\t\t\tid: 'local2',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\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\t\t\t\tAnotherNamespace: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'remote',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\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\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'remote',\n\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'remote',\n\t\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\tfields: { firstName: { type: 'text' } },\n\t\t\t\t},\n\t\t\t\tnameReadable: 'remote',\n\t\t\t\tnameCamel: 'remote',\n\t\t\t\tnamePascal: 'Remote',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local2',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\tid: 'local2',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\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\t\t\t\tnameReadable: 'local2',\n\t\t\t\tnameCamel: 'local2',\n\t\t\t\tnamePascal: 'Local2',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [\n\t\t\t\t\t'import local2 from \"local2\"',\n\t\t\t\t\t'import remote3 from \"remote3\"',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'local', namespace: 'LocalNamespace' }],\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\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import local from \"local\"', 'import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,12 +40,12 @@ var SchemaValueTypeGenerationTest = exports["default"] = (_dec = (0, _testUtils.
40
40
  value: '[eventSignatureSchema_v2020_07_22, eventSignature2Schema_v2020_07_22]',
41
41
  schemaType: "(SpruceSchemas.".concat(LOCAL_NAMESPACE, ".v2020_07_22.EventSignatureSchema | SpruceSchemas.").concat(LOCAL_NAMESPACE, ".v2020_07_22.EventSignature2Schema)[]")
42
42
  }), (_class = (_SchemaValueTypeGenerationTest = /*#__PURE__*/function (_AbstractSchemaTest) {
43
- (0, _inherits2["default"])(SchemaValueTypeGenerationTest, _AbstractSchemaTest);
44
43
  function SchemaValueTypeGenerationTest() {
45
44
  (0, _classCallCheck2["default"])(this, SchemaValueTypeGenerationTest);
46
45
  return _callSuper(this, SchemaValueTypeGenerationTest, arguments);
47
46
  }
48
- (0, _createClass2["default"])(SchemaValueTypeGenerationTest, null, [{
47
+ (0, _inherits2["default"])(SchemaValueTypeGenerationTest, _AbstractSchemaTest);
48
+ return (0, _createClass2["default"])(SchemaValueTypeGenerationTest, null, [{
49
49
  key: "beforeEach",
50
50
  value: function () {
51
51
  var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
@@ -271,6 +271,5 @@ var SchemaValueTypeGenerationTest = exports["default"] = (_dec = (0, _testUtils.
271
271
  return fetchAllTemplateItems;
272
272
  }()
273
273
  }]);
274
- return SchemaValueTypeGenerationTest;
275
274
  }(_AbstractSchemaTest2["default"]), (0, _defineProperty2["default"])(_SchemaValueTypeGenerationTest, "generator", void 0), _SchemaValueTypeGenerationTest), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasGenerateMethod", [_dec], Object.getOwnPropertyDescriptor(_class, "hasGenerateMethod"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "runsWithoutBreakingWithNoArgs", [_dec2], Object.getOwnPropertyDescriptor(_class, "runsWithoutBreakingWithNoArgs"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidTypesFile", [_dec3], Object.getOwnPropertyDescriptor(_class, "generatesValidTypesFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "importsTypes", [_dec4, _dec5, _dec6], Object.getOwnPropertyDescriptor(_class, "importsTypes"), _class)), _class));
276
275
  //# sourceMappingURL=SchemaValueTypeWriter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaValueTypeWriter.test.js","names":["_spruceSkillUtils","require","_spruceTemplates","_testUtils","_SchemaWriter","_interopRequireDefault","_FieldTemplateItemBuilder","_SchemaTemplateItemBuilder","_AbstractSchemaTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_SchemaValueTypeGenerationTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","LOCAL_NAMESPACE","SchemaValueTypeGenerationTest","exports","test","concat","CORE_NAMESPACE","CORE_SCHEMA_VERSION","constValue","type","value","schemaType","_AbstractSchemaTest","_inherits2","_classCallCheck2","arguments","_createClass2","key","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","schemasDir","wrap","_callee$","_context","prev","next","_get2","generator","SchemaWriter","templates","term","ui","fileDescriptions","linter","Service","settings","installSchemaFeature","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","stop","beforeEach","_hasGenerateMethod","_callee2","_callee2$","_context2","assert","isFunction","writeValueTypes","hasGenerateMethod","_runsWithoutBreakingWithNoArgs","_callee3","results","_callee3$","_context3","resolveHashSprucePath","schemaTemplateItems","fieldTemplateItems","sent","isTruthy","runsWithoutBreakingWithNoArgs","_generatesValidTypesFile","_callee4","first","_callee4$","_context4","generateValueTypes","isAbove","length","path","isTrue","doesFileExist","check","generatesValidTypesFile","_importsTypes","_callee5","expected","valueTypes","_callee5$","_context5","importDefault","isObject","Object","keys","doesInclude","_defineProperty2","importsTypes","_x","_x2","_generateValueTypes","_callee6","_yield$this$fetchAllT","_callee6$","_context6","fetchAllTemplateItems","writeFieldTypes","abrupt","_fetchAllTemplateItems","_callee7","schemaStore","_yield$Promise$all","_yield$Promise$all2","_yield$Promise$all2$","schemasByNamespace","schemaErrors","_yield$Promise$all2$2","fields","fieldErrors","schemaBuilder","fieldBuilder","_callee7$","_context7","StoreFactory","Store","Promise","all","fetchSchemas","localNamespace","fetchFields","_slicedToArray2","errors","isLength","SchemaTemplateItemBuilder","buildTemplateItems","FieldTemplateItemBuilder","generateTemplateItems","AbstractSchemaTest","_applyDecoratedDescriptor2","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/implementation/SchemaValueTypeWriter.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tCORE_NAMESPACE,\n\tCORE_SCHEMA_VERSION,\n} from '@sprucelabs/spruce-skill-utils'\nimport { templates, ValueTypes } from '@sprucelabs/spruce-templates'\nimport { assert, test } from '@sprucelabs/test-utils'\nimport SchemaWriter from '../../features/schema/writers/SchemaWriter'\nimport FieldTemplateItemBuilder from '../../templateItemBuilders/FieldTemplateItemBuilder'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TacoBell'\n\nexport default class SchemaValueTypeGenerationTest extends AbstractSchemaTest {\n\tprivate static generator: SchemaWriter\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.generator = new SchemaWriter({\n\t\t\ttemplates,\n\t\t\tterm: this.ui,\n\t\t\tfileDescriptions: [],\n\t\t\tlinter: this.Service('lint'),\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath('related_schemas'), schemasDir)\n\t\tawait diskUtil.copyDir(this.resolveTestPath('test_builders'), schemasDir)\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('dynamic_key_schemas'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tawait this.Action('schema', 'sync').execute({})\n\t}\n\n\t@test()\n\tprotected static async hasGenerateMethod() {\n\t\tassert.isFunction(this.generator.writeValueTypes)\n\t}\n\n\t@test()\n\tprotected static async runsWithoutBreakingWithNoArgs() {\n\t\tconst results = await this.generator.writeValueTypes(\n\t\t\tthis.resolveHashSprucePath('tmp'),\n\t\t\t{\n\t\t\t\tschemaTemplateItems: [],\n\t\t\t\tfieldTemplateItems: [],\n\t\t\t}\n\t\t)\n\n\t\tassert.isTruthy(results)\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypesFile() {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tassert.isAbove(results.length, 0)\n\n\t\tconst first = results[0].path\n\t\tassert.isTrue(diskUtil.doesFileExist(first))\n\n\t\tawait this.Service('typeChecker').check(first)\n\t}\n\n\t@test(\n\t\t'generates person.firstName value type (string)',\n\t\t`${CORE_NAMESPACE}.person.${CORE_SCHEMA_VERSION.constValue}.firstName.valueTypes`,\n\t\t{\n\t\t\ttype: 'string',\n\t\t\tvalue: 'string',\n\t\t\tschemaType: 'string',\n\t\t}\n\t)\n\t@test(\n\t\t'generates skill.creators value type (schema)',\n\t\t`${CORE_NAMESPACE}.skill.${CORE_SCHEMA_VERSION.constValue}.creators.valueTypes`,\n\t\t{\n\t\t\ttype: `SpruceSchemas.Spruce.v2020_07_22.SkillCreator[]`,\n\t\t\tvalue: 'skillCreatorSchema_v2020_07_22',\n\t\t\tschemaType: `SpruceSchemas.Spruce.v2020_07_22.SkillCreatorSchema`,\n\t\t}\n\t)\n\t@test(\n\t\t'generates dynamic field with nested schemas',\n\t\t`${LOCAL_NAMESPACE}.mercuryContract.${CORE_SCHEMA_VERSION.constValue}.__dynamicFieldSignature.valueTypes`,\n\t\t{\n\t\t\ttype: `{ schemaId: 'eventSignature', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature } | { schemaId: 'eventSignature2', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2 }`,\n\t\t\tvalue:\n\t\t\t\t'[eventSignatureSchema_v2020_07_22, eventSignature2Schema_v2020_07_22]',\n\t\t\tschemaType: `(SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignatureSchema | SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2Schema)[]`,\n\t\t}\n\t)\n\tprotected static async importsTypes(\n\t\tpath: string,\n\t\texpected: Record<string, any>\n\t) {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tconst valueTypes = await this.Service('import').importDefault<ValueTypes>(\n\t\t\tresults[0].path\n\t\t)\n\n\t\tassert.isObject(valueTypes)\n\t\tassert.isAbove(\n\t\t\tObject.keys(valueTypes).length,\n\t\t\t0,\n\t\t\t'Value types came back as empty object'\n\t\t)\n\n\t\tassert.doesInclude(valueTypes, {\n\t\t\t[path]: expected,\n\t\t})\n\t}\n\n\tprivate static async generateValueTypes() {\n\t\tconst { fieldTemplateItems, schemaTemplateItems } =\n\t\t\tawait this.fetchAllTemplateItems()\n\n\t\tawait this.generator.writeFieldTypes(\n\t\t\tthis.resolveHashSprucePath('schemas'),\n\t\t\t{\n\t\t\t\tfieldTemplateItems,\n\t\t\t}\n\t\t)\n\n\t\treturn this.generator.writeValueTypes(this.resolveHashSprucePath('tmp'), {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t})\n\t}\n\n\tprivate static async fetchAllTemplateItems() {\n\t\tconst schemaStore = this.StoreFactory().Store('schema')\n\n\t\tconst [\n\t\t\t{ schemasByNamespace, errors: schemaErrors },\n\t\t\t{ fields, errors: fieldErrors },\n\t\t] = await Promise.all([\n\t\t\tschemaStore.fetchSchemas({ localNamespace: LOCAL_NAMESPACE }),\n\t\t\tschemaStore.fetchFields(),\n\t\t])\n\n\t\tassert.isLength(schemaErrors, 0)\n\t\tassert.isLength(fieldErrors, 0)\n\n\t\tconst schemaBuilder = new SchemaTemplateItemBuilder('LocalNamespace')\n\t\tconst schemaTemplateItems = schemaBuilder.buildTemplateItems(\n\t\t\tschemasByNamespace,\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tconst fieldBuilder = new FieldTemplateItemBuilder()\n\t\tconst fieldTemplateItems = fieldBuilder.generateTemplateItems(fields)\n\n\t\treturn {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SchemaValueTypeWriter.test.js","names":["_spruceSkillUtils","require","_spruceTemplates","_testUtils","_SchemaWriter","_interopRequireDefault","_FieldTemplateItemBuilder","_SchemaTemplateItemBuilder","_AbstractSchemaTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_SchemaValueTypeGenerationTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","LOCAL_NAMESPACE","SchemaValueTypeGenerationTest","exports","test","concat","CORE_NAMESPACE","CORE_SCHEMA_VERSION","constValue","type","value","schemaType","_AbstractSchemaTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","schemasDir","wrap","_callee$","_context","prev","next","_get2","generator","SchemaWriter","templates","term","ui","fileDescriptions","linter","Service","settings","installSchemaFeature","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","stop","beforeEach","_hasGenerateMethod","_callee2","_callee2$","_context2","assert","isFunction","writeValueTypes","hasGenerateMethod","_runsWithoutBreakingWithNoArgs","_callee3","results","_callee3$","_context3","resolveHashSprucePath","schemaTemplateItems","fieldTemplateItems","sent","isTruthy","runsWithoutBreakingWithNoArgs","_generatesValidTypesFile","_callee4","first","_callee4$","_context4","generateValueTypes","isAbove","length","path","isTrue","doesFileExist","check","generatesValidTypesFile","_importsTypes","_callee5","expected","valueTypes","_callee5$","_context5","importDefault","isObject","Object","keys","doesInclude","_defineProperty2","importsTypes","_x","_x2","_generateValueTypes","_callee6","_yield$this$fetchAllT","_callee6$","_context6","fetchAllTemplateItems","writeFieldTypes","abrupt","_fetchAllTemplateItems","_callee7","schemaStore","_yield$Promise$all","_yield$Promise$all2","_yield$Promise$all2$","schemasByNamespace","schemaErrors","_yield$Promise$all2$2","fields","fieldErrors","schemaBuilder","fieldBuilder","_callee7$","_context7","StoreFactory","Store","Promise","all","fetchSchemas","localNamespace","fetchFields","_slicedToArray2","errors","isLength","SchemaTemplateItemBuilder","buildTemplateItems","FieldTemplateItemBuilder","generateTemplateItems","AbstractSchemaTest","_applyDecoratedDescriptor2","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/implementation/SchemaValueTypeWriter.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tCORE_NAMESPACE,\n\tCORE_SCHEMA_VERSION,\n} from '@sprucelabs/spruce-skill-utils'\nimport { templates, ValueTypes } from '@sprucelabs/spruce-templates'\nimport { assert, test } from '@sprucelabs/test-utils'\nimport SchemaWriter from '../../features/schema/writers/SchemaWriter'\nimport FieldTemplateItemBuilder from '../../templateItemBuilders/FieldTemplateItemBuilder'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TacoBell'\n\nexport default class SchemaValueTypeGenerationTest extends AbstractSchemaTest {\n\tprivate static generator: SchemaWriter\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.generator = new SchemaWriter({\n\t\t\ttemplates,\n\t\t\tterm: this.ui,\n\t\t\tfileDescriptions: [],\n\t\t\tlinter: this.Service('lint'),\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath('related_schemas'), schemasDir)\n\t\tawait diskUtil.copyDir(this.resolveTestPath('test_builders'), schemasDir)\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('dynamic_key_schemas'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tawait this.Action('schema', 'sync').execute({})\n\t}\n\n\t@test()\n\tprotected static async hasGenerateMethod() {\n\t\tassert.isFunction(this.generator.writeValueTypes)\n\t}\n\n\t@test()\n\tprotected static async runsWithoutBreakingWithNoArgs() {\n\t\tconst results = await this.generator.writeValueTypes(\n\t\t\tthis.resolveHashSprucePath('tmp'),\n\t\t\t{\n\t\t\t\tschemaTemplateItems: [],\n\t\t\t\tfieldTemplateItems: [],\n\t\t\t}\n\t\t)\n\n\t\tassert.isTruthy(results)\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypesFile() {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tassert.isAbove(results.length, 0)\n\n\t\tconst first = results[0].path\n\t\tassert.isTrue(diskUtil.doesFileExist(first))\n\n\t\tawait this.Service('typeChecker').check(first)\n\t}\n\n\t@test(\n\t\t'generates person.firstName value type (string)',\n\t\t`${CORE_NAMESPACE}.person.${CORE_SCHEMA_VERSION.constValue}.firstName.valueTypes`,\n\t\t{\n\t\t\ttype: 'string',\n\t\t\tvalue: 'string',\n\t\t\tschemaType: 'string',\n\t\t}\n\t)\n\t@test(\n\t\t'generates skill.creators value type (schema)',\n\t\t`${CORE_NAMESPACE}.skill.${CORE_SCHEMA_VERSION.constValue}.creators.valueTypes`,\n\t\t{\n\t\t\ttype: `SpruceSchemas.Spruce.v2020_07_22.SkillCreator[]`,\n\t\t\tvalue: 'skillCreatorSchema_v2020_07_22',\n\t\t\tschemaType: `SpruceSchemas.Spruce.v2020_07_22.SkillCreatorSchema`,\n\t\t}\n\t)\n\t@test(\n\t\t'generates dynamic field with nested schemas',\n\t\t`${LOCAL_NAMESPACE}.mercuryContract.${CORE_SCHEMA_VERSION.constValue}.__dynamicFieldSignature.valueTypes`,\n\t\t{\n\t\t\ttype: `{ schemaId: 'eventSignature', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature } | { schemaId: 'eventSignature2', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2 }`,\n\t\t\tvalue:\n\t\t\t\t'[eventSignatureSchema_v2020_07_22, eventSignature2Schema_v2020_07_22]',\n\t\t\tschemaType: `(SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignatureSchema | SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2Schema)[]`,\n\t\t}\n\t)\n\tprotected static async importsTypes(\n\t\tpath: string,\n\t\texpected: Record<string, any>\n\t) {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tconst valueTypes = await this.Service('import').importDefault<ValueTypes>(\n\t\t\tresults[0].path\n\t\t)\n\n\t\tassert.isObject(valueTypes)\n\t\tassert.isAbove(\n\t\t\tObject.keys(valueTypes).length,\n\t\t\t0,\n\t\t\t'Value types came back as empty object'\n\t\t)\n\n\t\tassert.doesInclude(valueTypes, {\n\t\t\t[path]: expected,\n\t\t})\n\t}\n\n\tprivate static async generateValueTypes() {\n\t\tconst { fieldTemplateItems, schemaTemplateItems } =\n\t\t\tawait this.fetchAllTemplateItems()\n\n\t\tawait this.generator.writeFieldTypes(\n\t\t\tthis.resolveHashSprucePath('schemas'),\n\t\t\t{\n\t\t\t\tfieldTemplateItems,\n\t\t\t}\n\t\t)\n\n\t\treturn this.generator.writeValueTypes(this.resolveHashSprucePath('tmp'), {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t})\n\t}\n\n\tprivate static async fetchAllTemplateItems() {\n\t\tconst schemaStore = this.StoreFactory().Store('schema')\n\n\t\tconst [\n\t\t\t{ schemasByNamespace, errors: schemaErrors },\n\t\t\t{ fields, errors: fieldErrors },\n\t\t] = await Promise.all([\n\t\t\tschemaStore.fetchSchemas({ localNamespace: LOCAL_NAMESPACE }),\n\t\t\tschemaStore.fetchFields(),\n\t\t])\n\n\t\tassert.isLength(schemaErrors, 0)\n\t\tassert.isLength(fieldErrors, 0)\n\n\t\tconst schemaBuilder = new SchemaTemplateItemBuilder('LocalNamespace')\n\t\tconst schemaTemplateItems = schemaBuilder.buildTemplateItems(\n\t\t\tschemasByNamespace,\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tconst fieldBuilder = new FieldTemplateItemBuilder()\n\t\tconst fieldTemplateItems = fieldBuilder.generateTemplateItems(fields)\n\n\t\treturn {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,12 +22,12 @@ var _dec, _dec2, _class, _ServiceFactoryTest;
22
22
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
23
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
24
24
  var ServiceFactoryTest = exports["default"] = (_dec = (0, _testUtils.test)('can build pin service', 'pkg', 'readPackage'), _dec2 = (0, _testUtils.test)('can build pin service', 'vsCode', 'installExtensions'), (_class = (_ServiceFactoryTest = /*#__PURE__*/function (_AbstractCliTest) {
25
- (0, _inherits2["default"])(ServiceFactoryTest, _AbstractCliTest);
26
25
  function ServiceFactoryTest() {
27
26
  (0, _classCallCheck2["default"])(this, ServiceFactoryTest);
28
27
  return _callSuper(this, ServiceFactoryTest, arguments);
29
28
  }
30
- (0, _createClass2["default"])(ServiceFactoryTest, null, [{
29
+ (0, _inherits2["default"])(ServiceFactoryTest, _AbstractCliTest);
30
+ return (0, _createClass2["default"])(ServiceFactoryTest, null, [{
31
31
  key: "beforeEach",
32
32
  value: function () {
33
33
  var _beforeEach = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
@@ -55,6 +55,5 @@ var ServiceFactoryTest = exports["default"] = (_dec = (0, _testUtils.test)('can
55
55
  _testUtils.assert.hasAllFunctions(service, [functionName]);
56
56
  }
57
57
  }]);
58
- return ServiceFactoryTest;
59
58
  }(_AbstractCliTest2["default"]), (0, _defineProperty2["default"])(_ServiceFactoryTest, "factory", void 0), _ServiceFactoryTest), ((0, _applyDecoratedDescriptor2["default"])(_class, "canBuild", [_dec, _dec2], Object.getOwnPropertyDescriptor(_class, "canBuild"), _class)), _class));
60
59
  //# sourceMappingURL=ServiceFactory.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFactory.test.js","names":["_testUtils","require","_ServiceFactory","_interopRequireDefault","_AbstractCliTest2","_dec","_dec2","_class","_ServiceFactoryTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ServiceFactoryTest","exports","test","_AbstractCliTest","_inherits2","_classCallCheck2","arguments","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","factory","ServiceFactory","_get2","stop","beforeEach","canBuild","type","functionName","service","Service","cwd","assert","hasAllFunctions","AbstractCliTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/implementation/ServiceFactory.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport ServiceFactory, { Service } from '../../services/ServiceFactory'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class ServiceFactoryTest extends AbstractCliTest {\n\tprivate static factory: ServiceFactory\n\n\tprotected static async beforeEach() {\n\t\tthis.factory = new ServiceFactory()\n\t\tawait super.beforeEach()\n\t}\n\n\t@test('can build pin service', 'pkg', 'readPackage')\n\t@test('can build pin service', 'vsCode', 'installExtensions')\n\tprotected static canBuild(type: Service, functionName: string) {\n\t\tconst service = this.factory.Service(this.cwd, type)\n\t\tassert.hasAllFunctions(service, [functionName])\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAyD,IAAAI,IAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,mBAAA;AAAA,SAAAC,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,IAEpCc,kBAAkB,GAAAC,OAAA,eAAApB,IAAA,GAQrC,IAAAqB,eAAI,EAAC,uBAAuB,EAAE,KAAK,EAAE,aAAa,CAAC,EAAApB,KAAA,GACnD,IAAAoB,eAAI,EAAC,uBAAuB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,GAAAnB,MAAA,IAAAC,mBAAA,0BAAAmB,gBAAA;EAAA,IAAAC,UAAA,aAAAJ,kBAAA,EAAAG,gBAAA;EAAA,SAAAH,mBAAA;IAAA,IAAAK,gBAAA,mBAAAL,kBAAA;IAAA,OAAAf,UAAA,OAAAe,kBAAA,EAAAM,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAP,kBAAA;IAAAQ,GAAA;IAAAC,KAAA;MAAA,IAAAC,WAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAN7D,SAAAC,QAAA;QAAA,OAAAF,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACC,IAAI,CAACC,OAAO,GAAG,IAAIC,0BAAc,CAAC,CAAC;cAAAJ,QAAA,CAAAE,IAAA;cAAA,WAAAG,KAAA,iBAAAjC,gBAAA,aAAAW,kBAAA,uBAAAD,IAAA;YAAA;YAAA;cAAA,OAAAkB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAEnC;MAAA,SAAAU,WAAA;QAAA,OAAAd,WAAA,CAAAf,KAAA,OAAAW,SAAA;MAAA;MAAA,OAAAkB,UAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAgB,SAE0BC,IAAa,EAAEC,YAAoB,EAAE;MAC9D,IAAMC,OAAO,GAAG,IAAI,CAACR,OAAO,CAACS,OAAO,CAAC,IAAI,CAACC,GAAG,EAAEJ,IAAI,CAAC;MACpDK,iBAAM,CAACC,eAAe,CAACJ,OAAO,EAAE,CAACD,YAAY,CAAC,CAAC;IAChD;EAAC;EAAA,OAAA3B,kBAAA;AAAA,EAb8CiC,4BAAe,OAAAC,gBAAA,aAAAlD,mBAAA,sBAAAA,mBAAA,QAAAmD,0BAAA,aAAApD,MAAA,eAAAF,IAAA,EAAAC,KAAA,GAAAsD,MAAA,CAAAC,wBAAA,CAAAtD,MAAA,eAAAA,MAAA,IAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"ServiceFactory.test.js","names":["_testUtils","require","_ServiceFactory","_interopRequireDefault","_AbstractCliTest2","_dec","_dec2","_class","_ServiceFactoryTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ServiceFactoryTest","exports","test","_AbstractCliTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","factory","ServiceFactory","_get2","stop","beforeEach","canBuild","type","functionName","service","Service","cwd","assert","hasAllFunctions","AbstractCliTest","_defineProperty2","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/implementation/ServiceFactory.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport ServiceFactory, { Service } from '../../services/ServiceFactory'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class ServiceFactoryTest extends AbstractCliTest {\n\tprivate static factory: ServiceFactory\n\n\tprotected static async beforeEach() {\n\t\tthis.factory = new ServiceFactory()\n\t\tawait super.beforeEach()\n\t}\n\n\t@test('can build pin service', 'pkg', 'readPackage')\n\t@test('can build pin service', 'vsCode', 'installExtensions')\n\tprotected static canBuild(type: Service, functionName: string) {\n\t\tconst service = this.factory.Service(this.cwd, type)\n\t\tassert.hasAllFunctions(service, [functionName])\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAyD,IAAAI,IAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,mBAAA;AAAA,SAAAC,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,IAEpCc,kBAAkB,GAAAC,OAAA,eAAApB,IAAA,GAQrC,IAAAqB,eAAI,EAAC,uBAAuB,EAAE,KAAK,EAAE,aAAa,CAAC,EAAApB,KAAA,GACnD,IAAAoB,eAAI,EAAC,uBAAuB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,GAAAnB,MAAA,IAAAC,mBAAA,0BAAAmB,gBAAA;EAAA,SAAAH,mBAAA;IAAA,IAAAI,gBAAA,mBAAAJ,kBAAA;IAAA,OAAAf,UAAA,OAAAe,kBAAA,EAAAK,SAAA;EAAA;EAAA,IAAAC,UAAA,aAAAN,kBAAA,EAAAG,gBAAA;EAAA,WAAAI,aAAA,aAAAP,kBAAA;IAAAQ,GAAA;IAAAC,KAAA;MAAA,IAAAC,WAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAN7D,SAAAC,QAAA;QAAA,OAAAF,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cACC,IAAI,CAACC,OAAO,GAAG,IAAIC,0BAAc,CAAC,CAAC;cAAAJ,QAAA,CAAAE,IAAA;cAAA,WAAAG,KAAA,iBAAAjC,gBAAA,aAAAW,kBAAA,uBAAAD,IAAA;YAAA;YAAA;cAAA,OAAAkB,QAAA,CAAAM,IAAA;UAAA;QAAA,GAAAT,OAAA;MAAA,CAEnC;MAAA,SAAAU,WAAA;QAAA,OAAAd,WAAA,CAAAf,KAAA,OAAAU,SAAA;MAAA;MAAA,OAAAmB,UAAA;IAAA;EAAA;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAgB,SAE0BC,IAAa,EAAEC,YAAoB,EAAE;MAC9D,IAAMC,OAAO,GAAG,IAAI,CAACR,OAAO,CAACS,OAAO,CAAC,IAAI,CAACC,GAAG,EAAEJ,IAAI,CAAC;MACpDK,iBAAM,CAACC,eAAe,CAACJ,OAAO,EAAE,CAACD,YAAY,CAAC,CAAC;IAChD;EAAC;AAAA,EAb8CM,4BAAe,OAAAC,gBAAA,aAAAlD,mBAAA,sBAAAA,mBAAA,QAAAmD,0BAAA,aAAApD,MAAA,eAAAF,IAAA,EAAAC,KAAA,GAAAsD,MAAA,CAAAC,wBAAA,CAAAtD,MAAA,eAAAA,MAAA,IAAAA,MAAA","ignoreList":[]}
@@ -19,12 +19,12 @@ var _dec, _dec2, _dec3, _class;
19
19
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
20
20
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
21
21
  var SettingUpANodeModuleTest = exports["default"] = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractCliTest) {
22
- (0, _inherits2["default"])(SettingUpANodeModuleTest, _AbstractCliTest);
23
22
  function SettingUpANodeModuleTest() {
24
23
  (0, _classCallCheck2["default"])(this, SettingUpANodeModuleTest);
25
24
  return _callSuper(this, SettingUpANodeModuleTest, arguments);
26
25
  }
27
- (0, _createClass2["default"])(SettingUpANodeModuleTest, null, [{
26
+ (0, _inherits2["default"])(SettingUpANodeModuleTest, _AbstractCliTest);
27
+ return (0, _createClass2["default"])(SettingUpANodeModuleTest, null, [{
28
28
  key: "settingUpANodeModule",
29
29
  value: function () {
30
30
  var _settingUpANodeModule = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
@@ -127,6 +127,5 @@ var SettingUpANodeModuleTest = exports["default"] = (_dec = (0, _testUtils.test)
127
127
  return installsNodeModuleWithCleanedUpPackageJson;
128
128
  }()
129
129
  }]);
130
- return SettingUpANodeModuleTest;
131
130
  }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "settingUpANodeModule", [_dec], Object.getOwnPropertyDescriptor(_class, "settingUpANodeModule"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canTellIfNotInstalled", [_dec2], Object.getOwnPropertyDescriptor(_class, "canTellIfNotInstalled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "installsNodeModuleWithCleanedUpPackageJson", [_dec3], Object.getOwnPropertyDescriptor(_class, "installsNodeModuleWithCleanedUpPackageJson"), _class)), _class));
132
131
  //# sourceMappingURL=SettingUpANodeModule.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingUpANodeModule.test.js","names":["_testUtils","require","_AbstractCliTest2","_interopRequireDefault","_dec","_dec2","_dec3","_class","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","SettingUpANodeModuleTest","exports","test","_AbstractCliTest","_inherits2","_classCallCheck2","arguments","_createClass2","key","value","_settingUpANodeModule","_asyncToGenerator2","_regenerator","mark","_callee","cli","err","wrap","_callee$","_context","prev","next","Cli","sent","assert","doesThrowAsync","installFeatures","features","code","options","errorAssert","assertError","stop","settingUpANodeModule","_canTellIfNotInstalled","_callee2","installer","isInstalled","_callee2$","_context2","featureInstaller","isFalse","canTellIfNotInstalled","_installsNodeModuleWithCleanedUpPackageJson","_callee3","pkgService","contents","_callee3$","_context3","name","description","Service","readPackage","doesInclude","version","installsNodeModuleWithCleanedUpPackageJson","AbstractCliTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/implementation/SettingUpANodeModule.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class SettingUpANodeModuleTest extends AbstractCliTest {\n\t@test()\n\tprotected static async settingUpANodeModule() {\n\t\tconst cli = await this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tcli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'node',\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\toptions: {},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async canTellIfNotInstalled() {\n\t\tconst installer = this.featureInstaller\n\t\tconst isInstalled = await installer.isInstalled('node')\n\t\tassert.isFalse(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async installsNodeModuleWithCleanedUpPackageJson() {\n\t\tconst cli = await this.Cli()\n\n\t\tawait cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'node',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Test module',\n\t\t\t\t\t\tdescription: 'so great!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tconst pkgService = this.Service('pkg')\n\t\tconst contents = pkgService.readPackage()\n\n\t\tassert.doesInclude(contents, {\n\t\t\tname: 'test-module',\n\t\t\tdescription: 'so great!',\n\t\t\tversion: '0.0.1',\n\t\t})\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SettingUpANodeModule.test.js","names":["_testUtils","require","_AbstractCliTest2","_interopRequireDefault","_dec","_dec2","_dec3","_class","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","SettingUpANodeModuleTest","exports","test","_AbstractCliTest","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","_settingUpANodeModule","_asyncToGenerator2","_regenerator","mark","_callee","cli","err","wrap","_callee$","_context","prev","next","Cli","sent","assert","doesThrowAsync","installFeatures","features","code","options","errorAssert","assertError","stop","settingUpANodeModule","_canTellIfNotInstalled","_callee2","installer","isInstalled","_callee2$","_context2","featureInstaller","isFalse","canTellIfNotInstalled","_installsNodeModuleWithCleanedUpPackageJson","_callee3","pkgService","contents","_callee3$","_context3","name","description","Service","readPackage","doesInclude","version","installsNodeModuleWithCleanedUpPackageJson","AbstractCliTest","_applyDecoratedDescriptor2","Object","getOwnPropertyDescriptor"],"sources":["../../../src/__tests__/implementation/SettingUpANodeModule.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class SettingUpANodeModuleTest extends AbstractCliTest {\n\t@test()\n\tprotected static async settingUpANodeModule() {\n\t\tconst cli = await this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tcli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'node',\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\toptions: {},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async canTellIfNotInstalled() {\n\t\tconst installer = this.featureInstaller\n\t\tconst isInstalled = await installer.isInstalled('node')\n\t\tassert.isFalse(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async installsNodeModuleWithCleanedUpPackageJson() {\n\t\tconst cli = await this.Cli()\n\n\t\tawait cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'node',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Test module',\n\t\t\t\t\t\tdescription: 'so great!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tconst pkgService = this.Service('pkg')\n\t\tconst contents = pkgService.readPackage()\n\n\t\tassert.doesInclude(contents, {\n\t\t\tname: 'test-module',\n\t\t\tdescription: 'so great!',\n\t\t\tversion: '0.0.1',\n\t\t})\n\t}\n}\n"],"mappings":"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","ignoreList":[]}